Skip to content
Merged
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
1 change: 0 additions & 1 deletion drydock/patches/kustomization
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ patches:
name: lms
path: plugins/drydock/k8s/newrelic.yml
{% endif -%}
- path: plugins/drydock/k8s/forum-overrides.yml
{% if DRYDOCK_POD_LIFECYCLE -%}
- path: plugins/drydock/k8s/lifecycle/lms.yml
- path: plugins/drydock/k8s/lifecycle/cms.yml
Expand Down
1 change: 1 addition & 0 deletions drydock/patches/kustomization-resources
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
- plugins/drydock/k8s/multipurpose-jobs.yml
{%- if DRYDOCK_INIT_JOBS %}
- plugins/drydock/k8s/drydock-jobs/mysql.yml
- plugins/drydock/k8s/drydock-jobs/mongodb.yml
- plugins/drydock/k8s/drydock-jobs/lms.yml
- plugins/drydock/k8s/drydock-jobs/cms.yml
- plugins/drydock/k8s/drydock-jobs/minio.yml
Expand Down
12 changes: 6 additions & 6 deletions drydock/plugin.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,12 @@
from glob import glob
import os
import pkg_resources
import yaml

from importlib import import_module

from tutor import hooks

from .__about__ import __version__


import click


################# Configuration
config = {
# Add here your new settings
Expand Down Expand Up @@ -49,6 +43,12 @@
}

hooks.Filters.CONFIG_DEFAULTS.add_items([("OPENEDX_DEBUG_COOKIE", "ednx_enable_debug")])
hooks.Filters.CONFIG_OVERRIDES.add_items([
# This values are not prefixed with DRYDOCK_
("MONGODB_ROOT_USERNAME", ""),
("MONGODB_ROOT_PASSWORD", ""),
])


################# You don't really have to bother about what's below this line,
################# except maybe for educational purposes :)
Expand Down
2 changes: 1 addition & 1 deletion drydock/templates/drydock/k8s/drydock-jobs/forum.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ spec:
- name: MONGOID_USE_SSL
value: "{{ 'true' if MONGODB_USE_SSL else 'false' }}"
- name: MONGOID_AUTH_SOURCE
value: "{{FORUM_MONGODB_DATABASE}}"
value: "{{ MONGODB_AUTH_SOURCE }}"
- name: MONGOID_AUTH_MECH
value: "{{ MONGODB_AUTH_MECHANISM|auth_mech_as_ruby }}"
{%- endif %}
49 changes: 49 additions & 0 deletions drydock/templates/drydock/k8s/drydock-jobs/mongodb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@

apiVersion: batch/v1
kind: Job
metadata:
name: drydock-mongodb-job
labels:
drydock.io/component: job
drydock.io/target-service: mongodb
drydock.io/runner-service: mongodb
annotations:
argocd.argoproj.io/sync-wave: "1"
argocd.argoproj.io/hook: Sync
argocd.argoproj.io/hook-delete-policy: HookSucceeded
spec:
ttlSecondsAfterFinished: 100
template:
spec:
restartPolicy: Never
containers:
- name: mongodb
image: {{ DOCKER_IMAGE_MONGODB }}
command: ["/bin/sh", "-c"]
args:
- |
echo "Initialising MongoDB..."
mongo --host {{MONGODB_HOST }} -u "{{ MONGODB_ROOT_USERNAME }}" -p "{{ MONGODB_ROOT_PASSWORD }}" admin <<EOF
{%- if MONGODB_USERNAME %}
if (db.getUser("{{ MONGODB_USERNAME }}") == null) {
db.createUser({
user: "{{ MONGODB_USERNAME }}",
pwd: "{{ MONGODB_PASSWORD }}",
roles: [
{ role: "readWrite", db: "{{ MONGODB_DATABASE }}" },
{% if FORUM_DOCKER_IMAGE is defined %}{ role: "readWrite", db: "{{ FORUM_MONGODB_DATABASE }}" },{% endif %}
]
})
} else {
db.updateUser("{{ MONGODB_USERNAME }}", {
pwd: "{{ MONGODB_PASSWORD }}",
roles: [
{ role: "readWrite", db: "{{ MONGODB_DATABASE }}" },
{% if FORUM_DOCKER_IMAGE is defined %}{ role: "readWrite", db: "{{ FORUM_MONGODB_DATABASE }}" },{% endif %}
]
})
}
{%- endif %}
{{ patch("drydock-mongodb-init-job") }}
exit
EOF
14 changes: 0 additions & 14 deletions drydock/templates/drydock/k8s/forum-overrides.yml
Original file line number Diff line number Diff line change
@@ -1,14 +0,0 @@
{% if FORUM_DOCKER_IMAGE is defined -%}
apiVersion: apps/v1
kind: Deployment
metadata:
name: forum
spec:
template:
spec:
containers:
- name: forum
env:
- name: MONGOID_AUTH_SOURCE
value: "{{ FORUM_MONGODB_DATABASE }}"
{% endif -%}