Skip to content

Commit ee56152

Browse files
committed
chore: re-arrange tutor settings
Explicitly prefix them with `DRYDOCK_` and use the filters directly. Put them at the top of the file.
1 parent aa8510a commit ee56152

1 file changed

Lines changed: 43 additions & 65 deletions

File tree

drydock/plugin.py

Lines changed: 43 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,49 @@
1717

1818
INIT_JOBS_SYNC_WAVE = 1
1919

20+
tutor_hooks.Filters.CONFIG_DEFAULTS.add_items(
21+
[
22+
("DRYDOCK_VERSION", __version__),
23+
("DRYDOCK_INIT_JOBS", False),
24+
("DRYDOCK_INIT_JOBS_EXCLUDED", []),
25+
("DRYDOCK_CMS_SSO_USER", "cms"),
26+
("DRYDOCK_AUTO_TLS", True),
27+
("DRYDOCK_MIGRATE_FROM", 0),
28+
("DRYDOCK_INGRESS", True),
29+
("DRYDOCK_INGRESS_EXTRA_HOSTS", []),
30+
("DRYDOCK_INGRESS_LMS_EXTRA_HOSTS", []),
31+
("DRYDOCK_NEWRELIC_LICENSE_KEY", ""),
32+
("DRYDOCK_CUSTOM_CERTS", {}),
33+
("DRYDOCK_DEBUG", False),
34+
("DRYDOCK_LETSENCRYPT_EMAIL", "{{ CONTACT_EMAIL }}"),
35+
("DRYDOCK_ENABLE_MULTITENANCY", True),
36+
("DRYDOCK_ENABLE_SCORM", True),
37+
("DRYDOCK_POD_LIFECYCLE", True),
38+
("DRYDOCK_BYPASS_CADDY", False),
39+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_LMS", 0),
40+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_LMS_WORKER", 0),
41+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_CMS", 0),
42+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_CMS_WORKER", 0),
43+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_MFE", 0),
44+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_FORUM", 0),
45+
("DRYDOCK_PDB_MINAVAILABLE_PERCENTAGE_CADDY", 0),
46+
(
47+
"DRYDOCK_POST_INIT_DEPLOYMENTS",
48+
["lms", "cms", "forum", "lms-worker", "cms-worker", "superset", "superset-worker", "superset-celery-beat"],
49+
),
50+
("DRYDOCK_NGINX_STATIC_CACHE_CONFIG", {}),
51+
("DRYDOCK_REGISTRY_CREDENTIALS", ""),
52+
]
53+
)
54+
55+
tutor_hooks.Filters.CONFIG_OVERRIDES.add_items(
56+
[
57+
("FORUM_MONGODB_DATABASE", "cs_comments_service"),
58+
("MONGODB_ROOT_USERNAME", ""),
59+
("MONGODB_ROOT_PASSWORD", ""),
60+
]
61+
)
62+
2063

2164
# This function is taken from
2265
# https://github.com/overhangio/tutor/blob/v16.1.8/tutor/commands/k8s.py#L182
@@ -131,67 +174,6 @@ def get_sync_waves_for_resource(resource_name: str) -> SYNC_WAVES_ORDER_ATTRS_TY
131174
return get_sync_waves_order().get(resource_name, 0)
132175

133176

134-
################# Configuration
135-
config = {
136-
# Add here your new settings
137-
"defaults": {
138-
"VERSION": __version__,
139-
"INIT_JOBS": False,
140-
"INIT_JOBS_EXCLUDED": [],
141-
"CMS_SSO_USER": "cms",
142-
"AUTO_TLS": True,
143-
"MIGRATE_FROM": 0,
144-
"INGRESS": True,
145-
"INGRESS_EXTRA_HOSTS": [],
146-
"INGRESS_LMS_EXTRA_HOSTS": [],
147-
"NEWRELIC_LICENSE_KEY": "",
148-
"CUSTOM_CERTS": {},
149-
"DEBUG": False,
150-
"LETSENCRYPT_EMAIL": "{{ CONTACT_EMAIL }}",
151-
"ENABLE_MULTITENANCY": True,
152-
"ENABLE_SCORM": True,
153-
"POD_LIFECYCLE": True,
154-
"BYPASS_CADDY": False,
155-
"PDB_MINAVAILABLE_PERCENTAGE_LMS": 0,
156-
"PDB_MINAVAILABLE_PERCENTAGE_LMS_WORKER": 0,
157-
"PDB_MINAVAILABLE_PERCENTAGE_CMS": 0,
158-
"PDB_MINAVAILABLE_PERCENTAGE_CMS_WORKER": 0,
159-
"PDB_MINAVAILABLE_PERCENTAGE_MFE": 0,
160-
"PDB_MINAVAILABLE_PERCENTAGE_FORUM": 0,
161-
"PDB_MINAVAILABLE_PERCENTAGE_CADDY": 0,
162-
"POST_INIT_DEPLOYMENTS": [
163-
"lms",
164-
"cms",
165-
"forum",
166-
"lms-worker",
167-
"cms-worker",
168-
"superset",
169-
"superset-worker",
170-
"superset-celery-beat",
171-
],
172-
"NGINX_STATIC_CACHE_CONFIG": {},
173-
"REGISTRY_CREDENTIALS": "",
174-
},
175-
# Add here settings that don't have a reasonable default for all users. For
176-
# instance: passwords, secret keys, etc.
177-
"unique": {
178-
# "SECRET_KEY": "\{\{ 24|random_string \}\}",
179-
},
180-
# Danger zone! Add here values to override settings from Tutor core or other plugins.
181-
"overrides": {},
182-
}
183-
184-
tutor_hooks.Filters.CONFIG_DEFAULTS.add_items([("OPENEDX_DEBUG_COOKIE", "ednx_enable_debug")])
185-
tutor_hooks.Filters.CONFIG_OVERRIDES.add_items(
186-
[
187-
# This values are not prefixed with DRYDOCK_
188-
("FORUM_MONGODB_DATABASE", "cs_comments_service"),
189-
("MONGODB_ROOT_USERNAME", ""),
190-
("MONGODB_ROOT_PASSWORD", ""),
191-
]
192-
)
193-
194-
195177
################# You don't really have to bother about what's below this line,
196178
################# except maybe for educational purposes :)
197179

@@ -212,10 +194,6 @@ def get_sync_waves_for_resource(resource_name: str) -> SYNC_WAVES_ORDER_ATTRS_TY
212194
tutor_hooks.priorities.LOW, # Apply our changes last to correctly override defaults.
213195
)
214196

215-
# Load all configuration entries
216-
tutor_hooks.Filters.CONFIG_DEFAULTS.add_items([(f"DRYDOCK_{key}", value) for key, value in config["defaults"].items()])
217-
tutor_hooks.Filters.CONFIG_UNIQUE.add_items([(f"DRYDOCK_{key}", value) for key, value in config["unique"].items()])
218-
tutor_hooks.Filters.CONFIG_OVERRIDES.add_items(list(config["overrides"].items()))
219197

220198
tutor_hooks.Filters.ENV_TEMPLATE_VARIABLES.add_items(
221199
[

0 commit comments

Comments
 (0)