From 00c03ee09e848ca3b6c48b9039b2288e7f12c749 Mon Sep 17 00:00:00 2001 From: Curtis McCully Date: Fri, 6 Dec 2024 12:05:30 -0500 Subject: [PATCH] More deployment fixes. --- Dockerfile | 2 ++ banzai_floyds_ui/settings.py | 36 ++++++++++++++++++++++++------------ k8s/base/deploy-server.yaml | 4 ++-- k8s/base/kustomization.yaml | 1 + 4 files changed, 29 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index b30d7d5..0db2ebe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,8 @@ WORKDIR /banzai-floyds-ui/banzai_floyds_ui RUN python manage.py collectstatic +RUN python manage.py createcachetable + RUN python manage.py makemigrations RUN python manage.py migrate diff --git a/banzai_floyds_ui/settings.py b/banzai_floyds_ui/settings.py index b263e2d..7d3706d 100644 --- a/banzai_floyds_ui/settings.py +++ b/banzai_floyds_ui/settings.py @@ -25,7 +25,7 @@ SECRET_KEY = os.getenv('SECRET_KEY', 'django-insecure-0*$4nwm8zd$jcc*xlwm$2nm_=r6bn5rv@#k7jrta^dy&c*3)(y') # SECURITY WARNING: don't run with debug turned on in production! -DEBUG = eval(os.getenv('DEBUG', False)) +DEBUG = eval(os.getenv('DEBUG', 'False')) ALLOWED_HOSTS = os.getenv('ALLOWED_HOSTS', '*').split(',') @@ -49,7 +49,8 @@ 'bootstrap4', 'django_plotly_dash.apps.DjangoPlotlyDashConfig', 'dpd_static_support', - 'fontawesomefree' + 'fontawesomefree', + 'django_redis' ] MIDDLEWARE = [ @@ -66,6 +67,7 @@ ] SESSION_ENGINE = "django.contrib.sessions.backends.cache" +SESSION_CACHE_ALIAS = "default" ROOT_URLCONF = 'banzai_floyds_ui.gui.urls' @@ -90,8 +92,8 @@ if os.environ.get('REDIS_HOST') is None: CACHES = { "default": { - "BACKEND": "django.core.cache.backends.locmem.LocMemCache", - "LOCATION": "unique-snowflake", + "BACKEND": "django.core.cache.backends.db.DatabaseCache", + "LOCATION": "django_cache_table", } } else: @@ -99,7 +101,7 @@ 'default': { 'BACKEND': 'django_redis.cache.RedisCache', - "LOCATION": f"redis://{os.environ['REDIS_HOST']}/{os.environ['REDIS_PORT']}", + "LOCATION": f"redis://{os.environ['REDIS_HOST']}:{os.environ['REDIS_PORT']}", 'OPTIONS': {'CLIENT_CLASS': 'django_redis.client.DefaultClient'} } } @@ -108,14 +110,24 @@ # Database # https://docs.djangoproject.com/en/4.1/ref/settings/#databases -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': BASE_DIR / 'db.sqlite3', +if os.getenv('FLOYDS_UI_DB_HOST') is None: + DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } + } +else: + DATABASES = { + 'default': { + 'ENGINE': os.getenv('FLOYDS_UI_DB_ENGINE', 'django.db.backends.postgresql'), + 'NAME': os.environ['FLOYDS_UI_DB_NAME'], + 'USER': os.environ['FLOYDS_UI_DB_USER'], + 'PASSWORD': os.environ['FLOYDS_UI_DB_PASSWORD'], + 'HOST': os.environ['FLOYDS_UI_DB_HOST'], + 'PORT': os.getenv('FLOYDS_UI_DB_PORT', '5432'), + } } -} - - # Password validation # https://docs.djangoproject.com/en/4.1/ref/settings/#auth-password-validators diff --git a/k8s/base/deploy-server.yaml b/k8s/base/deploy-server.yaml index 0ecc8b5..c32e242 100644 --- a/k8s/base/deploy-server.yaml +++ b/k8s/base/deploy-server.yaml @@ -58,11 +58,11 @@ spec: initialDelaySeconds: 15 timeoutSeconds: 3 httpGet: - path: /status/ + path: status port: http readinessProbe: initialDelaySeconds: 15 timeoutSeconds: 3 httpGet: - path: /status/ + path: status port: http diff --git a/k8s/base/kustomization.yaml b/k8s/base/kustomization.yaml index 573d617..b0b85b7 100644 --- a/k8s/base/kustomization.yaml +++ b/k8s/base/kustomization.yaml @@ -17,3 +17,4 @@ configMapGenerator: - REDIS_PORT=6379 - DEBUG=1 - DB_ADDRESS=sqlite:///test.db + - OPENTSDB_PYTHON_METRICS_TEST_MODE=1