From f9890d4b5fc31cee9ba6b2a15bd04ca075edcbbe Mon Sep 17 00:00:00 2001 From: Andres Felipe Giraldo Date: Mon, 7 Jul 2025 13:07:15 -0500 Subject: [PATCH 1/3] feat: add k8s integration for tutor paragon static hosting --- .../tutorparagon/patches/k8s-deployments | 39 +++++++++++++++++++ .../tutorparagon/patches/k8s-services | 14 +++++++ .../patches/kustomization-configmapgenerator | 10 +++++ 3 files changed, 63 insertions(+) create mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments create mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services create mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments new file mode 100644 index 0000000..aa1a879 --- /dev/null +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments @@ -0,0 +1,39 @@ +{% if PARAGON_SERVE_COMPILED_THEMES %} +{% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paragon-statics + namespace: openedx + labels: + app.kubernetes.io/name: paragon-statics +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/name: paragon-statics + template: + metadata: + labels: + app.kubernetes.io/name: paragon-statics + spec: + containers: + - name: nginx + image: {{ PARAGON_STATIC_SERVER_IMAGE }} + volumeMounts: + - name: static-files + mountPath: /usr/share/nginx/html + readOnly: true + volumes: + - name: static-files + configMap: + name: paragon-static-files + items: + - key: core.min.css + path: core/core.min.css + {% for theme in PARAGON_ENABLED_THEMES %} + - key: {{ theme }}.min.css + path: themes/{{ theme }}/{{ theme }}.min.css + {% endfor %} +{% endif %} diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services new file mode 100644 index 0000000..9b0ba28 --- /dev/null +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services @@ -0,0 +1,14 @@ +{% if PARAGON_SERVE_COMPILED_THEMES %} +--- +apiVersion: v1 +kind: Service +metadata: + name: paragon-statics + namespace: openedx +spec: + selector: + app.kubernetes.io/name: paragon-statics + ports: + - port: 80 + targetPort: 80 +{% endif %} diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator b/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator new file mode 100644 index 0000000..916ad04 --- /dev/null +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator @@ -0,0 +1,10 @@ +{% if PARAGON_SERVE_COMPILED_THEMES %} +{% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} +- name: paragon-static-files + files: + - core.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/core/core.min.css {% for theme in PARAGON_ENABLED_THEMES %} + - {{ theme }}.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/themes/{{ theme }}/{{ theme }}.min.css{% endfor %} + options: + labels: + app.kubernetes.io/name: paragon-static-files +{% endif %} From a7169b71a0199c05c6d077480a5c12f02dd1e824 Mon Sep 17 00:00:00 2001 From: Andres Felipe Giraldo Date: Mon, 1 Sep 2025 15:09:26 -0500 Subject: [PATCH 2/3] feat: update paragon k8s integration with tutor-mfe --- .../tutorparagon/patches/k8s-deployments | 39 ------------------- .../tutorparagon/patches/k8s-services | 14 ------- .../patches/kustomization-configmapgenerator | 6 +-- .../patches/mfe-k8s-volume-mounts | 3 ++ .../tutorparagon/patches/mfe-k8s-volumes | 13 +++++++ 5 files changed, 19 insertions(+), 56 deletions(-) delete mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments delete mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services create mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volume-mounts create mode 100644 plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments deleted file mode 100644 index aa1a879..0000000 --- a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-deployments +++ /dev/null @@ -1,39 +0,0 @@ -{% if PARAGON_SERVE_COMPILED_THEMES %} -{% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: paragon-statics - namespace: openedx - labels: - app.kubernetes.io/name: paragon-statics -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/name: paragon-statics - template: - metadata: - labels: - app.kubernetes.io/name: paragon-statics - spec: - containers: - - name: nginx - image: {{ PARAGON_STATIC_SERVER_IMAGE }} - volumeMounts: - - name: static-files - mountPath: /usr/share/nginx/html - readOnly: true - volumes: - - name: static-files - configMap: - name: paragon-static-files - items: - - key: core.min.css - path: core/core.min.css - {% for theme in PARAGON_ENABLED_THEMES %} - - key: {{ theme }}.min.css - path: themes/{{ theme }}/{{ theme }}.min.css - {% endfor %} -{% endif %} diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services b/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services deleted file mode 100644 index 9b0ba28..0000000 --- a/plugins/tutor-contrib-paragon/tutorparagon/patches/k8s-services +++ /dev/null @@ -1,14 +0,0 @@ -{% if PARAGON_SERVE_COMPILED_THEMES %} ---- -apiVersion: v1 -kind: Service -metadata: - name: paragon-statics - namespace: openedx -spec: - selector: - app.kubernetes.io/name: paragon-statics - ports: - - port: 80 - targetPort: 80 -{% endif %} diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator b/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator index 916ad04..7650095 100644 --- a/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/kustomization-configmapgenerator @@ -1,9 +1,9 @@ -{% if PARAGON_SERVE_COMPILED_THEMES %} +{% if MFE_HOST_EXTRA_FILES %} {% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} - name: paragon-static-files files: - - core.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/core/core.min.css {% for theme in PARAGON_ENABLED_THEMES %} - - {{ theme }}.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/themes/{{ theme }}/{{ theme }}.min.css{% endfor %} + - core.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/core/core.min.css {% for theme in PARAGON_ENABLED_THEMES %} + - {{ theme }}.min.css=../{{ PARAGON_COMPILED_THEMES_PATH }}/themes/{{ theme }}/{{ theme }}.min.css {% endfor %} options: labels: app.kubernetes.io/name: paragon-static-files diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volume-mounts b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volume-mounts new file mode 100644 index 0000000..71e3b5c --- /dev/null +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volume-mounts @@ -0,0 +1,3 @@ +- mountPath: /paragon-statics + name: static-files + readOnly: true diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes new file mode 100644 index 0000000..37590f1 --- /dev/null +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes @@ -0,0 +1,13 @@ +{% if MFE_HOST_EXTRA_FILES %} +{% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} +- name: static-files + configMap: + name: paragon-static-files + items: + - key: core.min.css + path: core/core.min.css + {% for theme in PARAGON_ENABLED_THEMES %} + - key: {{ theme }}.min.css + path: themes/{{ theme }}/{{ theme }}.min.css + {% endfor %} +{% endif %} From 68192562ba277c6b6a39627d6334f114512e688f Mon Sep 17 00:00:00 2001 From: Andres Felipe Giraldo Date: Mon, 22 Sep 2025 16:15:16 -0500 Subject: [PATCH 3/3] feat: remove conditional for MFE_HOST_EXTRA_FILES in k8s volume configuration --- .../tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes | 2 -- 1 file changed, 2 deletions(-) diff --git a/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes index 37590f1..5fa40a5 100644 --- a/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes +++ b/plugins/tutor-contrib-paragon/tutorparagon/patches/mfe-k8s-volumes @@ -1,4 +1,3 @@ -{% if MFE_HOST_EXTRA_FILES %} {% if not PARAGON_ENABLED_THEMES %} {% set PARAGON_ENABLED_THEMES = ['light'] %} {% endif %} - name: static-files configMap: @@ -10,4 +9,3 @@ - key: {{ theme }}.min.css path: themes/{{ theme }}/{{ theme }}.min.css {% endfor %} -{% endif %}