Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions app/backend/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,18 @@ RUN python3 -m pip install -r requirements.txt
RUN mkdir -p /app/backend/staticfiles && \
chmod -R 777 /app/backend/staticfiles

CMD sh -c "python3 manage.py migrate --noinput && \
./load_fixtures.sh all && \
python3 manage.py createinitialrevisions && \
python3 manage.py collectstatic --noinput && \
# python3 manage.py export --cleanup=1 --upload=1 && \
CMD sh -c "python3 manage.py collectstatic --noinput && \
python3 manage.py runserver 0.0.0.0:8000"

# Ask Micheal about this in prod


# CMD sh -c "python3 manage.py migrate --noinput && \
# ./load_fixtures.sh all && \
# python3 manage.py createinitialrevisions && \
# python3 manage.py collectstatic --noinput && \
# python3 manage.py runserver 0.0.0.0:8000"

EXPOSE 8000

USER 1001
1 change: 1 addition & 0 deletions app/tileserve/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
FROM pramsey/pg_tileserv:20231005
5 changes: 4 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,10 @@ services:
depends_on:
- db
platform: linux/x86_64
image: pramsey/pg_tileserv:20231005
# image: pramsey/pg_tileserv:20231005
build:
context: ./app/tileserve
dockerfile: Dockerfile
env_file:
- path: ./.env.test
required: false
Expand Down
339 changes: 339 additions & 0 deletions openshift/backendDeployConfigProd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
namespace: 26e83e-prod
labels:
app: gwells-backend
app-name: gwells
appver: gwells-backend
env-name: production
spec:
strategy:
type: Recreate
recreateParams:
timeoutSeconds: 600
rollingParams:
updatePeriodSeconds: 1
intervalSeconds: 1
timeoutSeconds: 900
maxUnavailable: 25%
maxSurge: 25%
resources: {}
activeDeadlineSeconds: 21600
triggers:
- type: ImageChange
imageChangeParams:
automatic: true
containerNames:
- gwells-backend
from:
kind: ImageStreamTag
namespace: 26e83e-tools
name: 'gwells-backend:prod'
lastTriggeredImage: 'image-registry.openshift-image-registry.svc:5000/26e83e-tools/gwells-backend@sha256:6e1853fe359c87484077bbdd572bb5fb607a654ab12e42c4d78e5a87db32b2c5'
- type: ConfigChange
replicas: 1
revisionHistoryLimit: 10
test: false
selector:
name: gwells-backend
template:
metadata:
name: gwells-backend
creationTimestamp: null
labels:
appver: gwells-backend
name: gwells-backend
spec:
containers:
- resources:
limits:
cpu: '1'
memory: 1Gi
requests:
cpu: '1'
memory: 1Gi
readinessProbe:
exec:
command:
- pwd
initialDelaySeconds: 5
timeoutSeconds: 2
periodSeconds: 5
successThreshold: 1
failureThreshold: 10
terminationMessagePath: /dev/termination-log
name: gwells-backend
livenessProbe:
exec:
command:
- pwd
initialDelaySeconds: 60
timeoutSeconds: 5
periodSeconds: 10
successThreshold: 1
failureThreshold: 6
env:
- name: DATABASE_SERVICE_NAME
value: gwells-pg12-production
- name: DATABASE_NAME
valueFrom:
secretKeyRef:
name: gwells-pg12-production
key: database-name
- name: DATABASE_USER
valueFrom:
secretKeyRef:
name: gwells-pg12-production
key: database-user
- name: DATABASE_PASSWORD
valueFrom:
secretKeyRef:
name: gwells-pg12-production
key: database-password
- name: DATABASE_SCHEMA
value: public
- name: APP_MODULE
value: 'wsgi:application'
- name: APP_HOME
value: backend
- name: APP_CONFIG
value: /opt/app-root/src/backend/gunicorn.ocp4.cfg
- name: DJANGO_SECRET_KEY
valueFrom:
secretKeyRef:
name: gwells-django-production
key: secret_key
- name: DJANGO_ADMIN_URL
valueFrom:
secretKeyRef:
name: gwells-django-production
key: admin_url
- name: DJANGO_ADMIN_USER
valueFrom:
secretKeyRef:
name: gwells-django-production
key: admin_user
- name: DJANGO_ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: gwells-django-production
key: admin_password
- name: E_LICENSING_AUTH_PASSWORD
valueFrom:
secretKeyRef:
name: gwells-e-licensing-production
key: E_LICENSING_AUTH_PASSWORD
- name: E_LICENSING_AUTH_USERNAME
valueFrom:
secretKeyRef:
name: gwells-e-licensing-production
key: E_LICENSING_AUTH_USERNAME
- name: E_LICENSING_URL
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: E_LICENSING_URL
- name: DJANGO_DEBUG
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: DJANGO_DEBUG
- name: CUSTOM_GDAL_GEOS
value: 'false'
- name: S3_AQUIFER_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_AQUIFER_BUCKET
- name: S3_REGISTRANT_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_REGISTRANT_BUCKET
- name: S3_PRIVATE_ROOT_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_ROOT_BUCKET
- name: S3_PRIVATE_AQUIFER_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_AQUIFER_BUCKET
- name: S3_PRIVATE_REGISTRANT_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_REGISTRANT_BUCKET
- name: S3_PRIVATE_WELL_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_WELL_BUCKET
- name: SSO_CLIENT
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_CLIENT
- name: SSO_PUBKEY
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_PUBKEY
- name: SSO_AUTH_HOST
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_AUTH_HOST
- name: SSO_AUDIENCE
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_AUDIENCE
- name: SSO_REALM
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_REALM
- name: SSO_PORT
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_PORT
- name: SSO_TEST_CLIENT
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_TEST_CLIENT
- name: SSO_TEST_AUDIENCE
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_TEST_AUDIENCE
- name: ENABLE_ADDITIONAL_DOCUMENTS
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: ENABLE_ADDITIONAL_DOCUMENTS
- name: ENABLE_AQUIFERS_SEARCH
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: ENABLE_AQUIFERS_SEARCH
- name: APP_CONTEXT_ROOT
value: gwells
- name: SESSION_COOKIE_SECURE
value: 'True'
- name: CSRF_COOKIE_SECURE
value: 'True'
- name: DB_REPLICATE
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: DB_REPLICATE
- name: MINIO_ACCESS_KEY
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: MINIO_ACCESS_KEY
- name: MINIO_SECRET_KEY
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: MINIO_SECRET_KEY
- name: S3_PUBLIC_ACCESS_KEY
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: S3_PUBLIC_ACCESS_KEY
- name: S3_PUBLIC_SECRET_KEY
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: S3_PUBLIC_SECRET_KEY
- name: S3_HOST
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: S3_HOST
- name: S3_ROOT_BUCKET
valueFrom:
secretKeyRef:
name: minio-access-parameters-production
key: S3_ROOT_BUCKET
- name: S3_PRIVATE_HOST
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_HOST
- name: S3_WELL_EXPORT_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_WELL_EXPORT_BUCKET
- name: S3_PRIVATE_BUCKET
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: S3_PRIVATE_BUCKET
- name: SSO_IDP_HINT
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: SSO_IDP_HINT
- name: WEB_CONCURRENCY
value: '4'
- name: GUNICORN_WORKERS
value: '4'
- name: ENFORCE_ENV_VARIABLES
value: 'False'
- name: EMAIL_NOTIFICATION_RECIPIENT
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: EMAIL_NOTIFICATION_RECIPIENT
- name: GEOCODER_ADDRESS_API_BASE
valueFrom:
configMapKeyRef:
name: gwells-global-config-production
key: GEOCODER_ADDRESS_API_BASE
ports:
- containerPort: 8000
protocol: TCP
imagePullPolicy: Always
terminationMessagePolicy: File
image: 'image-registry.openshift-image-registry.svc:5000/26e83e-tools/gwells-backend@sha256:6e1853fe359c87484077bbdd572bb5fb607a654ab12e42c4d78e5a87db32b2c5'
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
securityContext: {}
schedulerName: default-scheduler
status:
observedGeneration: 13
details:
message: image change
causes:
- type: ImageChange
imageTrigger:
from:
kind: DockerImage
name: 'image-registry.openshift-image-registry.svc:5000/26e83e-tools/gwells-backend@sha256:6e1853fe359c87484077bbdd572bb5fb607a654ab12e42c4d78e5a87db32b2c5'
availableReplicas: 1
unavailableReplicas: 0
latestVersion: 9
updatedReplicas: 1
conditions:
- type: Progressing
status: 'True'
lastUpdateTime: '2025-04-17T21:38:46Z'
lastTransitionTime: '2025-04-17T21:38:34Z'
reason: NewReplicationControllerAvailable
message: replication controller "gwells-backend-9" successfully rolled out
- type: Available
status: 'True'
lastUpdateTime: '2025-04-22T23:16:27Z'
lastTransitionTime: '2025-04-22T23:16:27Z'
message: Deployment config has minimum availability.
replicas: 1
readyReplicas: 1
Loading