From cfb4bf6be1b18ec15cddbec1ea37e76176b1050b Mon Sep 17 00:00:00 2001 From: ckonstanski Date: Thu, 30 Jul 2026 17:56:41 -0600 Subject: initial commit --- src/far_edge_ops_api/settings.py.wclab | 314 +++++++++++++++++++++++++++++++++ 1 file changed, 314 insertions(+) create mode 100644 src/far_edge_ops_api/settings.py.wclab (limited to 'src/far_edge_ops_api/settings.py.wclab') diff --git a/src/far_edge_ops_api/settings.py.wclab b/src/far_edge_ops_api/settings.py.wclab new file mode 100644 index 0000000..b403a2f --- /dev/null +++ b/src/far_edge_ops_api/settings.py.wclab @@ -0,0 +1,314 @@ +""" +Django settings for far_edge_ops_api project. + +Generated by 'django-admin startproject' using Django 3.0.5. + +For more information on this file, see +https://docs.djangoproject.com/en/3.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/3.0/ref/settings/ +""" + +import os +from pathlib import Path + +# Build paths inside the project like this: os.path.join(BASE_DIR, ...) +BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/3.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = '_%q*cv!0fu&z%#17ved2zq-6y^*#^1pt#gma))h6g(=jw!q14o' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['*'] + + +# Application definition + +INSTALLED_APPS = [ + 'caas.apps.CaasConfig', + 'orchestration.apps.OrchestrationConfig', + # 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'django_db_views', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware' +] + +ROOT_URLCONF = 'far_edge_ops_api.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + # 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages' + ] + } + } +] + +WSGI_APPLICATION = 'far_edge_ops_api.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/3.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': 'faredge', + 'HOST': 'localhost', + 'PORT': '5432', + 'USER': 'faredge', + 'PASSWORD': 'neweboy' + }, + # 'default': { + # 'ENGINE': 'django.db.backends.mysql', + # 'NAME': 'faredge', + # 'HOST': 'localhost', + # 'PORT': '3306', + # 'USER': 'faredge', + # 'PASSWORD': 'neweboy' + # }, + # 'opstracker': { + # 'ENGINE': 'django.db.backends.postgresql', + # 'NAME': 'faredge', + # 'HOST': 'localhost', + # 'PORT': '5432', + # 'USER': 'faredge', + # 'PASSWORD': 'neweboy' + # } +} + + +# Password validation +# https://docs.djangoproject.com/en/3.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator' + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator' + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator' + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator' + } +] + + +# Internationalization +# https://docs.djangoproject.com/en/3.0/topics/i18n/ + +LANGUAGE_CODE = 'de-DE' + +TIME_ZONE = 'America/Boise' + +USE_I18N = True + +USE_L10N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/3.0/howto/static-files/ + +STATIC_URL = '/static/' +STATIC_ROOT = "%s/static/" % BASE_DIR + + +# caas section +# ansible-queue services +ANSIBLE = { + "vault": "/etc/far-edge-ops-api/.ansible_pass.far_edge", + "icinga": { + "target": "build.hqplan.lab", + "git": "git@gitlab.verizon.com:vcp/webscale/far-edge/caas/icinga.git", + "branch": "master", + "playbook": "icinga.yaml", + "zmq": "tcp://127.0.0.1:5555" + }, + "bmc": { + "git": "git@gitlab.verizon.com:vcp/webscale/far-edge/caas/bmc.git", + "branch": "master", + "playbook": "bmc.yaml", + "playbook_adminpassword": "adminpassword.yaml", + "zmq": "tcp://127.0.0.1:5556" + }, + "nic": { + "git": "NULL", + "branch": "master", + "playbook": "nic.yaml", + "zmq": "tcp://127.0.0.1:5557" + }, + "wr": { + "git": "git@gitlab.verizon.com:vcp/webscale/far-edge/caas/wr-installer.git", + "branch": "master", + "playbook": "wr_remote.yaml", + "playbook_central": "wr_central.yaml", + "playbook_firmware": "firmware_upgrade.yaml", + "zmq": "tcp://127.0.0.1:5558" + }, + "dns": { + "git": "git@gitlab.verizon.com:vcp/webscale/far-edge/caas/dns.git", + "branch": "master", + "playbook": "dns.yaml", + "zmq": "tcp://127.0.0.1:5559" + } +} + +ZEROMQ_IPV6 = False +SYSLOG_SERVER = "" +WR_MAX_CHILD_CLUSTERS = 200 +INTEL_NIC_FIRMWARE_VERSION = "1.2585.0" +CAAS_MIDDLEWARE_ENDPOINT = "http://middleware.local" +CAAS_MIDDLEWARE_USERNAME = "middlewareuser" +CAAS_MIDDLEWARE_PASSWORD = "middlewarepassword" +BMC_USERNAME = "ospctl" +DNS_DOMAIN = "vcpfe.vzwops.com" +INFOBLOX_USERNAME = "openbook" +INFOBLOX_PASSWORD = "Zylz3fdMSd8SVihwL9NyZLzT" +FIRMWARE_ISO = "intel-firmware-upgrade-1.2585.0.iso" +DNS_SERVERS = ["fd00:4888:2000:0001::24", "fd00:4888:2000:0001::25"] +NTP_SERVERS = ["fd00:4888:2000:0001::22"] +WR_BMC_USERNAME = "SVC-Far-Edge" +WR_BMC_PASSWORD = "QxbV44IU4P7t7rN44dxK4xyPB" +WR_REGISTRY_SERVER = "docker-registry-advanced.hqplan.lab:443" +WR_REGISTRY_USERNAME = "admin" +WR_REGISTRY_PASSWORD = "@Ims2018" +WR_WEBDAV_SERVER = "http://webdav.hqplan.lab" +WR_WEBDAV_USERNAME = "far_edge_infra" +WR_WEBDAV_PASSWORD = "FarEdge2020" +WR_DOCKER_HTTP_PROXY = "http://[fd00:4888:2000:1:0:0:0:5]:3128" +WR_DOCKER_HTTPS_PROXY = "http://[fd00:4888:2000:1:0:0:0:5]:3128" +WR_DOCKER_NO_PROXY = ["docker-registry-advanced.hqplan.lab"] +WR_SSL_CA_CERT = """-----BEGIN CERTIFICATE----- +MIIGiTCCBHGgAwIBAgIJAKn7X/5mnmAjMA0GCSqGSIb3DQEBCwUAMIHaMQswCQYD +VQQGEwJVUzETMBEGA1UECAwKTmV3IEplcnNleTEWMBQGA1UEBwwNQmFza2luZyBS +aWRnZTEZMBcGA1UECgwQVmVyaXpvbiBXaXJlbGVzczEfMB0GA1UECwwWVmVyaXpv +biBDbG91ZCBQbGF0Zm9ybTEsMCoGA1UEAwwjZG9ja2VyLXJlZ2lzdHJ5LWFkdmFu +Y2VkLmhxcGxhbi5sYWIxNDAyBgkqhkiG9w0BCQEWJWNhcmxvcy5rb25zdGFuc2tp +QHZlcml6b253aXJlbGVzcy5jb20wHhcNMTkxMjEzMTc1NDMzWhcNMjkxMjEwMTc1 +NDMzWjCB2jELMAkGA1UEBhMCVVMxEzARBgNVBAgMCk5ldyBKZXJzZXkxFjAUBgNV +BAcMDUJhc2tpbmcgUmlkZ2UxGTAXBgNVBAoMEFZlcml6b24gV2lyZWxlc3MxHzAd +BgNVBAsMFlZlcml6b24gQ2xvdWQgUGxhdGZvcm0xLDAqBgNVBAMMI2RvY2tlci1y +ZWdpc3RyeS1hZHZhbmNlZC5ocXBsYW4ubGFiMTQwMgYJKoZIhvcNAQkBFiVjYXJs +b3Mua29uc3RhbnNraUB2ZXJpem9ud2lyZWxlc3MuY29tMIICIjANBgkqhkiG9w0B +AQEFAAOCAg8AMIICCgKCAgEAtBNmifVpEH6rnI/G31SOYQ6NT9QyVaWuKj9KRjGe +2L8QHBtAhL18KNuK+D9NjcJvIh8iBML+tcYT8o18rlx1z9DszwzkED4BKSaZSvbP +28SVanGnleXI4Z0Ti8SJTb5lTw3rm6uy6ziFxaOsEYIhNUCdXAAjOLZap+CAWwdg +hQ/tx/cnJrVJ2e51hja89fe6Ts3qiPw6DrtJu1Czt0Cm5fhWsJkPZPfxgCFWZiVu +uIGVVrhBzJAApGIUPGlcDlo1VWEy04OaSwToC5cIdTK/C5c/ckh2mhZkSbsX1HKG +XgkDz49So4a1T+n7MDrp7Gb55nkB7MDWxSN9VW84ZZH9MOcyDG9XksCX9GuPU/j1 +67ypLj/DN7xlxPR7wva8L0vhrgpKDyNmwHU1AiIvswtDeXBkempR80jrE1FJkvpC +pPKmaJ99q+55e9SuBrRD6ZUWMl9sBdiRnt9MSz0WhBmYx81ZNMZ4cmmDbI4UjCLF +ocCpe8UzBj0AbmA3dqDGp7CKNIOd2m0ACB6mkp0AVYS2pgnfgIsEytPb6PKBkifv +9ruwndlLehLQ/gxdJkRzE3A3LeXl4N0RbOw4UQr7DZFF+IlWwQPs71UsGBMDVTuo +HzJHoaqIJC5r/gNb6bwH62FYKlpNL0ksa8PNnAbFQ3Zb6VTu0pgc2fceY5poouvq +yHMCAwEAAaNQME4wHQYDVR0OBBYEFJWwFFkRXFP+msuzXRYLHorjGRINMB8GA1Ud +IwQYMBaAFJWwFFkRXFP+msuzXRYLHorjGRINMAwGA1UdEwQFMAMBAf8wDQYJKoZI +hvcNAQELBQADggIBAHo6zLCSGNsiOmEPT4OxqPUpIraBkKJ+FhwzoTILLPfX4ciq +nu6RXtpB0eQ3UDbKSnYL2y4QBVZV6aLW8NJm885cfadvIgBuWdthIdoJ1hE3AK9f +ayaitS3z4/kcuB1fwCsw8bzz01dA4u5+knKS//esRxjyykfkstOP1W9vkJFuK9cA +uirje5SEkeHkRmYsMDTGo8msZ7ojp9wy4P2/Gyru4C1/eFY11UCuTxssGCtSnbBr +NmUMt2ghdYlLiip+vibAslGmHjBNowIv4C5FeI7mdZnQN68uWdyfdj9Px2oqoCJN +ntRZYwAf+xpW4XSyhuYTiwqgFlsZOWdzXg+7f6l4kbdpq6kY/f7Db8/gEvec/0+8 +WJx7tCw08SWmxFU/XN2rr+nDX1aKODyOskLsK2lAJ/iRE1wnkx7/gNZlPl2OyWts +xC7o4E6JnRJQCxyEusBksR3sOyEa/SXMkBi9WTta1Bh+tFhRo2AGFui//VDtLmRH +y/nNseBRH6eErB4FjoUTyDwJtUGMJUmSbVdlhVBcN5vojEfz5QDtSPMEqrWfjNmq +JVRyYfPCqVYU+qA2gH7LhgdkbLUAZSFmrJ6WcteeGh+/4xNBalcLWRe6VEDj63uK +eBRGcDB6NhKa5QzcbOCCmyfuO5e2xDAN3OFjJaJBTzem5Vzg0wdwAK7HazRk +-----END CERTIFICATE-----""" + + +# orchestration section +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'formatters': { + 'verbose': { + 'format': '{levelname} {asctime} {filename} {funcName} {lineno} {message}', + 'style': '{', + }, + }, + 'handlers': { + 'orchestration': { + 'level':'DEBUG', + 'class':'logging.handlers.RotatingFileHandler', + 'filename': '/var/log/far-edge-ops-api/orchestration.log', + 'maxBytes': 10000, + 'backupCount': 10, + 'formatter': 'verbose', + }, + }, + 'loggers': { + 'orchestration': { + 'handlers': ['orchestration'], + 'level': 'DEBUG', + }, + }, +} + +MIDDLEWARE_ENDPOINT = "http://middleware.hqplan.lab" + +VMB = { + 'SERVICE_URL': 'pulsar+ssl://vmb-aws-us-east-1-nonprod.verizon.com:6651/', + 'CERTS_PATH': '/etc/ssl/certs', + 'TLS_CERT_FILE': 'faredge-vmb-i1wv.cert.pem', + 'TLS_KEY_FILE': 'faredge-vmb-i1wv.key-pk8.pem', + 'TLS_TRUST_CERTS_FILE_PATH': 'faredge-vmb-ca.cert.pem', + 'VMB_TOPICS': { + 'TOPIC_CLUSTER_STATUS': 'persistent://i1wv/vcpfe-cluster-status/VCPFarEdgeAutomation-VCPFE-Cluster-Status-On-Demand', + 'TOPIC_NAMESPACE_CREATION': 'persistent://i1wv/vcpfe-namespace-creation/VCPFarEdgeAutomation-VCPFE-Namespace-Creation-On-Demand', + 'TOPIC_KUBECONFIG_TOKEN': 'persistent://i1wv/vcpfe-kubeconfig-token/VCPFarEdgeAutomation-VCPFE-Kubeconfig-Token-On-Demand', + 'TOPIC_IMAGE_STATUS': 'persistent://i1wv/vcpfe-image-status/VCPFarEdgeAutomation-VCPFE-Image-Status-On-Demand', + }, +} + +TIMEOUT = { + 'central': 600, + 'remote': 3600, +} + +ARTIFACTORY_CREDS = { + 'username': '', + 'password': '', +} + +HOST_CREDS = { + 'username': '', + 'password': '', +} + +CENTRAL_DR_CREDS = { + 'username': '', + 'password': '' +} -- cgit v1.3