Skip to content

Commit

Permalink
Merge branch 'main' into issue_#177_Feature_refector_nginx_deployment…
Browse files Browse the repository at this point in the history
…_pycsw_geoserver
  • Loading branch information
mwallschlaeger authored Sep 23, 2024
2 parents e421250 + 1c951cb commit 93f30e0
Show file tree
Hide file tree
Showing 15 changed files with 94 additions and 29 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

![Version: 1.2.1](https://img.shields.io/badge/Version-1.2.1-informational?style=flat-square)
![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square)

# Helm Chart for Geonode

Expand Down
2 changes: 1 addition & 1 deletion charts/geonode/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
apiVersion: v2
name: geonode-k8s
version: 1.2.1
version: 1.2.2
description: "Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1, pyCSW: 2.6.1"
keywords:
- geonode
Expand Down
8 changes: 6 additions & 2 deletions charts/geonode/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# geonode-k8s

![Version: 1.2.1](https://img.shields.io/badge/Version-1.2.1-informational?style=flat-square)
![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square)

Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1, pyCSW: 2.6.1

Expand Down Expand Up @@ -53,6 +53,7 @@ Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1
| geonode.general.externalScheme | string | `"http"` | external ingress schema. If set to 'https', make sure to configure TLS either by configuring tls certificate or using cert-manager. Available options: (http|https) |
| geonode.general.force_reinit | bool | `true` | set force reinit true so that changing passwords etc. in Values.yaml will take effect after restarting the pod this on the other hand will increase pod initializing time, only change if you know what you are doing |
| geonode.general.freetext_keywords_readonly | bool | `false` | FREETEXT_KEYWORDS_READONLY Make Free-Text Keywords writable from users. Or read-only when set to False. |
| geonode.general.geonode_project | string | `"geonode"` | the name of the geonode project used (keep geonode for base image) |
| geonode.general.max_document_size | int | `10` | max upload document size in MB |
| geonode.general.ogc_request_backoff_factor | float | `0.3` | OGC_REQUEST_BACKOFF_FACTOR |
| geonode.general.ogc_request_max_retries | int | `1` | OGC_REQUEST_MAX_RETRIES |
Expand Down Expand Up @@ -146,6 +147,8 @@ Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1
| geonode.version | string | `"4.3.0"` | geonode version, used for some distinguassion between version of GeoNode |
| geonodeFixtures | map of fixture files | `{"somefixture.json":"[\n {\n \"pk\": 0,\n \"model\": \"myapp.sample\"\n \"description\": \"nice little content\"\n }\n]\n"}` | Fixture files which shall be made available under /usr/src/geonode/geonode/fixtures (refer to https://docs.djangoproject.com/en/4.2/howto/initial-data/) |
| geoserver.container_name | string | `"geoserver"` | geoserver container name |
| geoserver.extraConfigMap | string | `""` | additional elements to include in the config map provided to GeoServer |
| geoserver.extraPodEnv | string | `""` | Define this for extra GeoServer environment variables Format: extraPodEnv: | - name: KEY_1 value: "VALUE_1" - name: KEY_2 value: "VALUE_2" |
| geoserver.force_reinit | bool | `true` | set force reinit true so that changing passwords etc. in Values.yaml will take effect after restarting the pod this on the other hand will increase pod initializing time, only change if you know what you are doing |
| geoserver.image.name | string | `"geonode/geoserver"` | geoserver image docker image (default in zalf namespace because geonode one was not up to date) |
| geoserver.image.tag | string | `"2.24.3-v1"` | geoserver docker image tag |
Expand All @@ -160,6 +163,7 @@ Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1
| geoserver.secret.admin_password | string | `"geoserver"` | geoserver admin password, respect admin_factory_password, if you gonna change the password from not factory password |
| geoserver.secret.admin_username | string | `"admin"` | geoserver admin username |
| geoserver.secret.existingSecretName | string | `""` | name of an existing Secret to use. Set, if you want to separately maintain the Secret. |
| geoserver.secret.extraSecrets | string | `""` | additional elements to include in the secret provided to GeoServer, if not using an existing secret |
| geoserver_data.container_name | string | `"geoserver-data-dir"` | |
| geoserver_data.image.name | string | `"geonode/geoserver_data"` | geoserver image docker image (default in zalf namespace because geonode one was not up to date) |
| geoserver_data.image.tag | string | `"2.23.3-v1"` | geoserver docker image tag |
Expand Down Expand Up @@ -236,4 +240,4 @@ Helm Chart for Geonode. Supported versions: Geonode: 4.3.0, Geoserver: 2.24.3-v1
| rabbitmq.requests.memory | string | `"1Gi"` | requested memory as in resource.requests.memory (https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) |

----------------------------------------------
Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2)
Autogenerated from chart metadata using [helm-docs v1.13.1](https://github.com/norwoodj/helm-docs/releases/v1.13.1)
24 changes: 24 additions & 0 deletions charts/geonode/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -138,3 +138,27 @@ amqp://{{ .Values.rabbitmq.auth.username }}:{{ .Values.rabbitmq.auth.password }}
{{- define "boolean2str" -}}
{{ . | ternary "True" "False" }}
{{- end -}}

{{- define "settings_module" -}}
{{- if (not .Values.geonode.general.settings_module) -}}
{{ .Values.geonode.general.geonode_project }}.settings
{{- else -}}
{{ .Values.geonode.general.settings_module }}
{{- end -}}
{{- end -}}

{{- define "geonode_root_path" -}}
/usr/src/{{ .Values.geonode.general.geonode_project }}
{{- end -}}

{{- define "geonode_path" -}}
/usr/src/{{ .Values.geonode.general.geonode_project }}/{{ .Values.geonode.general.geonode_project }}
{{- end -}}

{{- define "initial_data_path" -}}
{{- if (eq .Values.geonode.general.geonode_project "geonode") -}}
geonode/base/fixtures/initial_data.json
{{- else -}}
initial_data.json
{{- end -}}
{{- end -}}
33 changes: 18 additions & 15 deletions charts/geonode/templates/geonode/geonode-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -71,17 +71,18 @@ spec:
cd /usr/src/geonode/
{{ end }}
cd {{ include "geonode_root_path" .}}/
# Add config overrides
cat /usr/src/geonode/geonode/geonode-k8s-settings.py >> /usr/src/geonode/geonode/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings-additions.py >> /usr/src/geonode/geonode/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings.py >> {{ include "geonode_path" .}}/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings-additions.py >> {{ include "geonode_path" .}}/settings.py
# Setup
touch /usr/src/geonode/invoke.log
dockerize -stdout /usr/src/geonode/invoke.log /usr/src/geonode/entrypoint.sh
touch {{ include "geonode_root_path" .}}/invoke.log
dockerize -stdout {{ include "geonode_root_path" .}}/invoke.log {{ include "geonode_root_path" .}}/entrypoint.sh
# Run web server
touch /var/log/geonode.log
dockerize -stdout /var/log/geonode.log /usr/local/bin/uwsgi --ini /usr/src/geonode/uwsgi.ini
dockerize -stdout /var/log/geonode.log /usr/local/bin/uwsgi --ini {{ include "geonode_root_path" .}}/uwsgi.ini
ports:
- name: http
Expand Down Expand Up @@ -133,14 +134,14 @@ spec:
- name: cache-volume
mountPath: /tmp
- name: tasks-py
mountPath: "/usr/src/geonode/tasks.py"
mountPath: "{{ include "geonode_root_path" .}}/tasks.py"
subPath: tasks.py
readOnly: true
- name: entrypoint-sh
mountPath: "/usr/src/geonode/entrypoint.sh"
mountPath: "{{ include "geonode_root_path" .}}/entrypoint.sh"
subPath: entrypoint.sh
- name: uwsgi-ini
mountPath: "/usr/src/geonode/uwsgi.ini"
mountPath: "{{ include "geonode_root_path" .}}/uwsgi.ini"
subPath: uwsgi.ini
readOnly: true
- name: geonode-k8s-settings-py
Expand All @@ -152,7 +153,7 @@ spec:
readOnly: true
{{ if .Values.geonodeFixtures }}
- name: geonode-fixtures
mountPath: "/usr/src/geonode/geonode/fixtures"
mountPath: "{{ include "geonode_path" .}}/fixtures"
readOnly: true
{{ end }}

Expand Down Expand Up @@ -199,16 +200,18 @@ spec:
cd /usr/src/geonode/
{{ end }}
cd {{ include "geonode_root_path" .}}/
{{ if .Values.geonode.sentry.enabled }}
pip install sentry-sdk
{{ end }}
# Add config overrides
cat /usr/src/geonode/geonode/geonode-k8s-settings.py >> /usr/src/geonode/geonode/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings-additions.py >> /usr/src/geonode/geonode/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings.py >> {{ include "geonode_path" .}}/settings.py
cat /usr/src/geonode/geonode/geonode-k8s-settings-additions.py >> {{ include "geonode_path" .}}/settings.py
# Setup
touch /var/log/celery.log
dockerize -stdout /var/log/celery.log /usr/src/geonode/entrypoint.sh celery-cmd
dockerize -stdout /var/log/celery.log {{ include "geonode_root_path" .}}/entrypoint.sh celery-cmd
envFrom:
- configMapRef:
Expand Down Expand Up @@ -260,10 +263,10 @@ spec:
- name: cache-volume
mountPath: /tmp
- name: entrypoint-sh
mountPath: "/usr/src/geonode/entrypoint.sh"
mountPath: "{{ include "geonode_root_path" .}}/entrypoint.sh"
subPath: entrypoint.sh
- name: tasks-py
mountPath: "/usr/src/geonode/tasks.py"
mountPath: "{{ include "geonode_root_path" .}}/tasks.py"
subPath: tasks.py
readOnly: true
- name: geonode-k8s-settings-py
Expand All @@ -275,7 +278,7 @@ spec:
readOnly: true
{{ if .Values.geonodeFixtures }}
- name: geonode-fixtures
mountPath: "/usr/src/geonode/geonode/fixtures"
mountPath: "{{ include "geonode_path" .}}/fixtures"
readOnly: true
{{ end }}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ data:
then
/usr/local/bin/invoke $@
else
/usr/local/bin/invoke $@ > /usr/src/geonode/invoke.log 2>&1
/usr/local/bin/invoke $@ > {{ include "geonode_root_path" . }}/invoke.log 2>&1
fi
echo "$@ tasks done"
}
Expand Down
4 changes: 2 additions & 2 deletions charts/geonode/templates/geonode/geonode-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ data:

# General settings
FREETEXT_KEYWORDS_READONLY: {{ include "boolean2str" .Values.geonode.general.freetext_keywords_readonly | quote }}
FIXTURE_DIRS: "[ '/usr/src/geonode/geonode/fixtures' ]"
FIXTURE_DIRS: "[ '{{ include "geonode_path" .}}/fixtures' ]"
# PUBLISHING
RESOURCE_PUBLISHING: {{ include "boolean2str" .Values.geonode.general.publishing.resource_publishing_by_staff | quote }}
ADMIN_MODERATE_UPLOADS: {{ include "boolean2str" .Values.geonode.general.publishing.admin_moderate_uploads | quote }}
Expand Down Expand Up @@ -121,7 +121,7 @@ data:
CATALOGUE_ENGINE: geonode.catalogue.backends.pycsw_local
{{ end}}

DJANGO_SETTINGS_MODULE: {{ .Values.geonode.general.settings_module }}
DJANGO_SETTINGS_MODULE: {{ include "settings_module" . }}
DEFAULT_BACKEND_DATASTORE: datastore
DEFAULT_BACKEND_UPLOADER: geonode.importer

Expand Down
7 changes: 6 additions & 1 deletion charts/geonode/templates/geonode/geonode-tasks-py-conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,12 @@ data:
pty=True,
)
ctx.run(
f"python manage.py loaddata geonode/base/fixtures/initial_data.json \
f"python manage.py loaddata /tmp/default_site.json \
--settings={_localsettings()}",
pty=True,
)
ctx.run(
f"python manage.py loaddata {{ include "initial_data_path" . }} \
--settings={_localsettings()}",
pty=True,
)
Expand Down
8 changes: 4 additions & 4 deletions charts/geonode/templates/geonode/geonode-uwsgi-ini-conf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ data:
http-socket = 0.0.0.0:8001
# pidfile = /tmp/geonode.pid
chdir = /usr/src/geonode/
module = geonode.wsgi:application
chdir = {{ include "geonode_root_path" . }}/
module = {{ .Values.geonode.general.geonode_project }}.wsgi:application
strict = false
master = true
Expand All @@ -24,7 +24,7 @@ data:
# path to where uwsgi logs will be saved
logto = /var/log/geonode.log
touch-reload = /usr/src/geonode/geonode/wsgi.py
touch-reload = {{ include "geonode_path" . }}/wsgi.py
buffer-size = {{ .Values.geonode.uwsgi.buffer_size }}
harakiri = {{ .Values.geonode.uwsgi.harakiri }}
Expand All @@ -49,4 +49,4 @@ data:
cheaper-busyness-backlog-step = {{ .Values.geonode.uwsgi.cheaper_busyness_backlog_step }}
# daemonize = /var/log/uwsgi/geonode.log
# cron = -1 -1 -1 -1 -1 /usr/local/bin/python /usr/src/geonode/manage.py collect_metrics -n
# cron = -1 -1 -1 -1 -1 /usr/local/bin/python {{ include "geonode_root_path" . }}/manage.py collect_metrics -n
3 changes: 3 additions & 0 deletions charts/geonode/templates/geoserver/geoserver-deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,9 @@ spec:
secretKeyRef:
name: {{ include "database_geodata_password_secret_key_ref" . }}
key: {{ include "database_geodata_password_key_ref" . }}
{{- with .Values.geoserver.extraPodEnv }}
{{- tpl . $ | nindent 10 }}
{{- end }}

volumeMounts:
- name: "{{ include "persistant_volume_name" . }}"
Expand Down
4 changes: 4 additions & 0 deletions charts/geonode/templates/geoserver/geoserver-env.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,7 @@ data:
GEONODE_GEODATABASE: {{ .Values.postgres.geodata_databasename_and_username | quote }}
GEONODE_GEODATABASE_SCHEMA: {{ .Values.postgres.schema | quote }}
FORCE_REINIT: {{ .Values.geoserver.force_reinit | quote }}

{{- with .Values.geoserver.extraConfigMap }}
{{- tpl . $ | nindent 2 }}
{{- end }}
3 changes: 3 additions & 0 deletions charts/geonode/templates/geoserver/geoserver-secret.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,4 +14,7 @@ data:
OAUTH2_API_KEY: ""
OAUTH2_CLIENT_ID: {{ .Values.geonode.secret.oauth2.clientId | b64enc}}
OAUTH2_CLIENT_SECRET: {{ .Values.geonode.secret.oauth2.clientSecret | b64enc }}
{{- with .Values.geoserver.secret.extraSecrets }}
{{- tpl . $ | nindent 2 }}
{{- end }}
{{ end }}
18 changes: 18 additions & 0 deletions charts/geonode/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,8 @@ geonode:
debug: False
# -- enable django static debug
debug_static: False
# -- the name of the geonode project used (keep geonode for base image)
geonode_project: geonode
# -- the settings module to load
settings_module: geonode.settings
# -- add additional settings to the settings py. This code will be appended to the end of the geonode settings.py
Expand Down Expand Up @@ -362,6 +364,22 @@ geoserver:
admin_username: admin
# -- geoserver admin password, respect admin_factory_password, if you gonna change the password from not factory password
admin_password: geoserver
# -- additional elements to include in the secret provided to GeoServer, if not using an existing secret
extraSecrets: |
# key_1: value_1

# -- additional elements to include in the config map provided to GeoServer
extraConfigMap: |
# file_1: conf content

# -- Define this for extra GeoServer environment variables
# Format:
# extraPodEnv: |
# - name: KEY_1
# value: "VALUE_1"
# - name: KEY_2
# value: "VALUE_2"
extraPodEnv: |
resources:
requests:
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

![Version: 1.2.1](https://img.shields.io/badge/Version-1.2.1-informational?style=flat-square)
![Version: 1.2.2](https://img.shields.io/badge/Version-1.2.2-informational?style=flat-square)

# Helm Chart for Geonode

Expand Down
3 changes: 2 additions & 1 deletion docs/list-of-releases-and-versions.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,5 @@ the table below shows an overview about the geonode-k8s release with the corespo
| [1.1.0](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.1.0) | [4.2.2](https://github.com/GeoNode/geonode/releases/tag/4.2.2) | [geonode/geonode:4.2.2](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.23.3-v2](https://hub.docker.com/r/geonode/geoserver/tags) |
| [1.1.1](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.1.1) | [4.2.2](https://github.com/GeoNode/geonode/releases/tag/4.2.2) | [geonode/geonode:4.2.2](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.23.3-v2](https://hub.docker.com/r/geonode/geoserver/tags) |
| [1.2.0](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.2.0) | [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) | [geonode/geonode:4.3.0](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.24.3-v1](https://hub.docker.com/r/geonode/geoserver/tags) |
[1.2.1](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.2.1) | [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) | [geonode/geonode:4.3.0](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.24.3-v1](https://hub.docker.com/r/geonode/geoserver/tags) |
[1.2.1](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.2.1) | [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) | [geonode/geonode:4.3.0](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.24.3-v1](https://hub.docker.com/r/geonode/geoserver/tags) |
[1.2.2](https://github.com/zalf-rdm/geonode-k8s/releases/tag/geonode-k8s-1.2.1) | [4.3.0](https://github.com/GeoNode/geonode/releases/tag/4.3.0) | [geonode/geonode:4.3.0](https://hub.docker.com/r/geonode/geonode/tags) | [geonode/geoserver:2.24.3-v1](https://hub.docker.com/r/geonode/geoserver/tags) |

0 comments on commit 93f30e0

Please sign in to comment.