Merge pull request #94 from revsys/92-environment

⬆️ Add django-admin-env-notice
This commit is contained in:
Frank Wiles
2023-01-17 16:53:11 -06:00
committed by GitHub
5 changed files with 52 additions and 11 deletions

View File

@@ -1,6 +1,7 @@
import environs
import logging
import structlog
import subprocess
import sys
from django.core.exceptions import ImproperlyConfigured
@@ -46,6 +47,7 @@ ALLOWED_HOSTS = [el.strip() for el in host_list]
INSTALLED_APPS = [
"django_admin_env_notice", # Third-party
"django.contrib.admin",
"django.contrib.auth",
"django.contrib.contenttypes",
@@ -122,6 +124,9 @@ TEMPLATES = [
],
"OPTIONS": {
"context_processors": [
# Django Admin Env Notice
"django_admin_env_notice.context_processors.from_settings",
# Django stuff
"django.template.context_processors.debug",
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
@@ -308,3 +313,22 @@ if all(
SECURE_PROXY_SSL_HEADER_NAME,
SECURE_PROXY_SSL_HEADER_VALUE,
)
# Admin banner configuration
ENV_NAME = env("ENVIRONMENT_NAME", default="Unknown Environment")
IMAGE_TAG = env("IMAGE_TAG", default="Unknown Version")
if LOCAL_DEVELOPMENT:
output = subprocess.check_output(
["git", "describe", "--tags"], universal_newlines=True
)
IMAGE_TAG = str(output.strip())
ENVIRONMENT_NAME = f"{ENV_NAME} - {IMAGE_TAG}"
ENVIRONMENT_COLOR = "#718096" # Gray for unknown
if ENV_NAME == "Development Environment":
ENVIRONMENT_COLOR = "#38A169" # Green
elif ENV_NAME == "Production Environment":
ENVIRONMENT_COLOR = "#E53E3E"

View File

@@ -87,17 +87,8 @@ Env:
secretKeyRef:
name: django-secret-key
key: key
# - name: SECURE_PROXY_SSL_HEADER_NAME
# value: "HTTP_X_FORWARDED_PROTO"
# - name: SECURE_PROXY_SSL_HEADER_VALUE
# value: "https"
# - name: SECURE_SSL_REDIRECT
# value: "false"
# - name: SECRET_KEY
# valueFrom:
# secretKeyRef:
# name: django-secret-key
# key: key
- name: ENVIRONMENT_NAME
value: "Development Environment"
# Bucket is setup already, but not using storages just yet
# - name: AWS_ACCESS_KEY_ID
# valueFrom:

View File

@@ -1,5 +1,6 @@
Django<4.0
bumpversion
django-admin-env-notice==0.4
django-allauth==0.51.0
django-db-geventpool
django-extensions

View File

@@ -82,6 +82,8 @@ django==3.2.2
# django-rest-auth
# djangorestframework
# model-bakery
django-admin-env-notice==0.4
# via -r ./requirements.in
django-allauth==0.51.0
# via -r ./requirements.in
django-bakery==0.12.7

View File

@@ -3,6 +3,29 @@
{% block title %}{{ title }} | {% trans 'boost.org admin' %}{% endblock %}
{% block extrastyle %}{{ block.super }}
{% if ENVIRONMENT_NAME and ENVIRONMENT_COLOR %}
<!-- Environment notice -->
<style type="text/css"{% if request.csp_nonce %} nonce="{{ request.csp_nonce }}"{% endif %}>
{{ ENVIRONMENT_ADMIN_SELECTOR }}:before {
display: block;
line-height: 35px;
text-align: center;
font-weight: bold;
text-transform: uppercase;
color: {{ ENVIRONMENT_TEXT_COLOR }};
content: "{{ ENVIRONMENT_NAME }}";
background-color: {{ ENVIRONMENT_COLOR }};
{% if ENVIRONMENT_FLOAT %}
position: sticky;
top: 0;
z-index: 1000;
{% endif %}
}
</style>
{% endif %}
{% endblock %}
{% block branding %}
<h1 id="site-name">{% trans 'boost.org administration' %}</h1>
{% endblock %}