Skip to content

Commit 9f5b12e

Browse files
authored
Jf/validate minio (#13)
* feat: A new variable has been added to validate whether minio is used. Validation if the expiration rule already exists in the lifecycle. * feat: validated with snipper value * fix: decorator of plugin loaded * fix: deleted variable not used minio_enabled * fix: deleted return config in plugin * fix: validation of ilm on rules * feat: taked action and filter to validate list * feat: taked filter to validate list * fix: return list of plugins * feat: added comments in minio init * feat: use actions and take plugins list by filter * fix: comments in init minio * fix: format of comments
1 parent 4cd97a1 commit 9f5b12e

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

drydock_backups/plugin.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -107,10 +107,12 @@
107107
) as fi:
108108
tutor_hooks.Filters.CLI_DO_INIT_TASKS.add_item(("mysql", fi.read()), priority=tutor_hooks.priorities.HIGH)
109109

110-
@tutor_hooks.Actions.PLUGIN_LOADED.add()
111-
def _add_minio_init(_name: str) -> None:
112-
with open(
113-
str(importlib_resources.files("drydock_backups") / "templates" / "drydock_backups" / "task" / "minio" / "init"),
114-
encoding="utf-8",
115-
) as fi:
116-
tutor_hooks.Filters.CLI_DO_INIT_TASKS.add_item(("minio", fi.read()), priority=tutor_hooks.priorities.HIGH)
110+
@tutor_hooks.Actions.PLUGINS_LOADED.add()
111+
def _add_minio_init() -> None:
112+
_plugins_list = tutor_hooks.Filters.PLUGINS_LOADED.apply([])
113+
if "minio" in _plugins_list:
114+
with open(
115+
str(importlib_resources.files("drydock_backups") / "templates" / "drydock_backups" / "task" / "minio" / "init"),
116+
encoding="utf-8",
117+
) as fi:
118+
tutor_hooks.Filters.CLI_DO_INIT_TASKS.add_item(("minio", fi.read()), priority=tutor_hooks.priorities.HIGH)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
mc config host add minio http://minio:9000 {{ OPENEDX_AWS_ACCESS_KEY }} {{ OPENEDX_AWS_SECRET_ACCESS_KEY }} --api s3v4
22
mc mb --ignore-existing minio/{{ BACKUP_BUCKET_NAME }}
33
{%- if BACKUP_MINIO_EXPIRATION_DAYS > 0 %}
4+
# Validated if already exists expiration rule in backup bucket
5+
if ! mc ilm ls minio/{{ BACKUP_BUCKET_NAME }} | grep -q "Expiration"; then
6+
# Add expiration rule if it doesn't exist
47
mc ilm add --expiry-days "{{ BACKUP_MINIO_EXPIRATION_DAYS }}" minio/{{ BACKUP_BUCKET_NAME }}
8+
fi
59
{%- endif %}

0 commit comments

Comments
 (0)