From 9a858bebdeefdb35c18b315164758f8c140ff6d3 Mon Sep 17 00:00:00 2001 From: William-Edwards-STFC Date: Thu, 27 Aug 2026 09:58:07 +0100 Subject: [PATCH 1/5] Add dev argocd file --- argocd/dev/ra/fap-booklet-generator/app.yaml | 31 ++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 argocd/dev/ra/fap-booklet-generator/app.yaml diff --git a/argocd/dev/ra/fap-booklet-generator/app.yaml b/argocd/dev/ra/fap-booklet-generator/app.yaml new file mode 100644 index 00000000..bf3e13e5 --- /dev/null +++ b/argocd/dev/ra/fap-booklet-generator/app.yaml @@ -0,0 +1,31 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: fap-booklet-generator + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - clusters: + selector: + matchLabels: + appEnvironment: dev + ignoreApplicationDifferences: + - jsonPointers: + - /spec/syncPolicy + template: + metadata: + name: '{{.name}}-fap-booklet-generator' + spec: + project: r-a-project + source: + path: components/ra/fap-booklet-generator/overlays/dev + repoURL: 'https://github.com/isisbusapps/fap-booklet-generator' + targetRevision: develop + destination: + namespace: apps + name: '{{.name}}' + syncPolicy: + automated: + selfHeal: true #https://argo-cd.readthedocs.io/en/stable/user-guide/auto_sync/#automatic-self-healing \ No newline at end of file From 262700030875c8bfb0824e6790df3400d2ede163 Mon Sep 17 00:00:00 2001 From: William-Edwards-STFC Date: Thu, 27 Aug 2026 09:58:19 +0100 Subject: [PATCH 2/5] Add prod argocd file --- argocd/prod/ra/fap-booklet-generator/app.yaml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 argocd/prod/ra/fap-booklet-generator/app.yaml diff --git a/argocd/prod/ra/fap-booklet-generator/app.yaml b/argocd/prod/ra/fap-booklet-generator/app.yaml new file mode 100644 index 00000000..4b1c4ed6 --- /dev/null +++ b/argocd/prod/ra/fap-booklet-generator/app.yaml @@ -0,0 +1,32 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: fap-booklet-generator + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - clusters: + selector: + matchLabels: + appEnvironment: prod + template: + metadata: + name: '{{.name}}-fap-booklet-generator' + spec: + project: r-a-project + source: + path: components/ra/fap-booklet-generator/overlays/prod + repoURL: 'https://github.com/isisbusapps/fap-booklet-generator' + targetRevision: master + destination: + namespace: apps + name: '{{.name}}' + ignoreDifferences: + - group: apps + kind: Deployment + jqPathExpressions: + - .spec.template.spec.containers[0].image + syncPolicy: + automated: {} \ No newline at end of file From c73594e0151af118f03597104ab8c0775f50583b Mon Sep 17 00:00:00 2001 From: William-Edwards-STFC Date: Thu, 27 Aug 2026 10:00:23 +0100 Subject: [PATCH 3/5] Add kubernetes overlays / base --- .../base/deployment.yaml | 54 +++++++++++++++++++ .../fap-booklet-generator/base/httproute.yaml | 19 +++++++ .../base/kustomization.yaml | 12 +++++ .../fap-booklet-generator/base/service.yaml | 9 ++++ .../overlays/dev/deployment.yaml | 10 ++++ .../overlays/dev/kustomization.yaml | 10 ++++ .../overlays/prod/deployment.yaml | 10 ++++ .../overlays/prod/kustomization.yaml | 10 ++++ 8 files changed, 134 insertions(+) create mode 100644 components/ra/fap-booklet-generator/base/deployment.yaml create mode 100644 components/ra/fap-booklet-generator/base/httproute.yaml create mode 100644 components/ra/fap-booklet-generator/base/kustomization.yaml create mode 100644 components/ra/fap-booklet-generator/base/service.yaml create mode 100644 components/ra/fap-booklet-generator/overlays/dev/deployment.yaml create mode 100644 components/ra/fap-booklet-generator/overlays/dev/kustomization.yaml create mode 100644 components/ra/fap-booklet-generator/overlays/prod/deployment.yaml create mode 100644 components/ra/fap-booklet-generator/overlays/prod/kustomization.yaml diff --git a/components/ra/fap-booklet-generator/base/deployment.yaml b/components/ra/fap-booklet-generator/base/deployment.yaml new file mode 100644 index 00000000..57ea64ea --- /dev/null +++ b/components/ra/fap-booklet-generator/base/deployment.yaml @@ -0,0 +1,54 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: fap-booklet-generator +spec: + replicas: 1 + template: + metadata: + annotations: + co.elastic.logs/processors.add_fields.target: "" + co.elastic.logs/processors.add_fields.fields.application.name: "fap-booklet-generator" + co.elastic.logs/processors.add_fields.fields.application.domain: "fap-booklet-generator" + co.elastic.logs/processors.add_fields.fields.application.tier: "service" + co.elastic.logs/processors.add_fields.fields.application.language: "javascript" + + spec: + containers: + - name: fap-booklet-generator + imagePullPolicy: Always + ports: + - containerPort: 3000 + env: + - name: CONFIG_PATH + value: /FBS/.env + - name: FILTERS_PATH + value: /FBS/filters.json + volumeMounts: + - name: env-config + mountPath: "/FBS" + readOnly: true + - name: common-views + mountPath: "/app/build/common-views" + readOnly: true + - name: common-public + mountPath: "/app/build/common-public" + readOnly: true + readinessProbe: + httpGet: + path: /fap-booklet-generator/health/ready + port: 3000 + initialDelaySeconds: 10 + periodSeconds: 5 + imagePullSecrets: + - name: registry-creds + volumes: + - name: env-config + secret: + secretName: fap-booklet-generator-environment + - name: common-views + configMap: + name: common-pug-views-2026 + - name: common-public + configMap: + name: common-pug-public-2026 diff --git a/components/ra/fap-booklet-generator/base/httproute.yaml b/components/ra/fap-booklet-generator/base/httproute.yaml new file mode 100644 index 00000000..4916eab9 --- /dev/null +++ b/components/ra/fap-booklet-generator/base/httproute.yaml @@ -0,0 +1,19 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: fap-booklet-generator +spec: + parentRefs: + - name: envoy-gateway + namespace: envoy-gateway-system + hostnames: + - "*.facilities.rl.ac.uk" + - "*.developers.facilities.rl.ac.uk" + rules: + - matches: + - path: + type: PathPrefix + value: /fap-booklet-generator + backendRefs: + - name: fap-booklet-generator + port: 3000 diff --git a/components/ra/fap-booklet-generator/base/kustomization.yaml b/components/ra/fap-booklet-generator/base/kustomization.yaml new file mode 100644 index 00000000..3704ecd5 --- /dev/null +++ b/components/ra/fap-booklet-generator/base/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app: fap-booklet-generator + +namespace: apps + +resources: + - deployment.yaml + - httproute.yaml + - service.yaml diff --git a/components/ra/fap-booklet-generator/base/service.yaml b/components/ra/fap-booklet-generator/base/service.yaml new file mode 100644 index 00000000..71a5cfe9 --- /dev/null +++ b/components/ra/fap-booklet-generator/base/service.yaml @@ -0,0 +1,9 @@ +apiVersion: v1 +kind: Service +metadata: + name: fap-booklet-generator +spec: + ports: + - protocol: TCP + port: 3000 + targetPort: 3000 diff --git a/components/ra/fap-booklet-generator/overlays/dev/deployment.yaml b/components/ra/fap-booklet-generator/overlays/dev/deployment.yaml new file mode 100644 index 00000000..a69c67ad --- /dev/null +++ b/components/ra/fap-booklet-generator/overlays/dev/deployment.yaml @@ -0,0 +1,10 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: fap-booklet-generator +spec: + template: + spec: + containers: + - name: fap-booklet-generator + image: ghcr.io/isisbusapps/fap-booklet-generator@sha256:e52cd3e14e157522d0748117b63863e3b9bf7513c7585589c29ad287f797f0cc diff --git a/components/ra/fap-booklet-generator/overlays/dev/kustomization.yaml b/components/ra/fap-booklet-generator/overlays/dev/kustomization.yaml new file mode 100644 index 00000000..433e34ab --- /dev/null +++ b/components/ra/fap-booklet-generator/overlays/dev/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namespace: apps + +patches: + - path: deployment.yaml diff --git a/components/ra/fap-booklet-generator/overlays/prod/deployment.yaml b/components/ra/fap-booklet-generator/overlays/prod/deployment.yaml new file mode 100644 index 00000000..d9be97ba --- /dev/null +++ b/components/ra/fap-booklet-generator/overlays/prod/deployment.yaml @@ -0,0 +1,10 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: fap-booklet-generator +spec: + template: + spec: + containers: + - name: fap-booklet-generator + image: ghcr.io/isisbusapps/fap-booklet-generator:latest diff --git a/components/ra/fap-booklet-generator/overlays/prod/kustomization.yaml b/components/ra/fap-booklet-generator/overlays/prod/kustomization.yaml new file mode 100644 index 00000000..433e34ab --- /dev/null +++ b/components/ra/fap-booklet-generator/overlays/prod/kustomization.yaml @@ -0,0 +1,10 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - ../../base + +namespace: apps + +patches: + - path: deployment.yaml From 6756547dbe888283851f3f23c15bd33f4663e8c5 Mon Sep 17 00:00:00 2001 From: William-Edwards-STFC Date: Thu, 27 Aug 2026 11:13:46 +0100 Subject: [PATCH 4/5] Use different deployment config --- .../ra/fap-booklet-generator/base/deployment.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ra/fap-booklet-generator/base/deployment.yaml b/components/ra/fap-booklet-generator/base/deployment.yaml index 57ea64ea..94d6abe1 100644 --- a/components/ra/fap-booklet-generator/base/deployment.yaml +++ b/components/ra/fap-booklet-generator/base/deployment.yaml @@ -31,8 +31,8 @@ spec: - name: common-views mountPath: "/app/build/common-views" readOnly: true - - name: common-public - mountPath: "/app/build/common-public" + - name: common-js + mountPath: "/app/build/common-public/js" readOnly: true readinessProbe: httpGet: @@ -48,7 +48,7 @@ spec: secretName: fap-booklet-generator-environment - name: common-views configMap: - name: common-pug-views-2026 - - name: common-public + name: common-pug-views + - name: common-js configMap: - name: common-pug-public-2026 + name: common-pug-content-js \ No newline at end of file From f7d13b1aefe82d95656f89dd672af6e4a8839843 Mon Sep 17 00:00:00 2001 From: William-Edwards-STFC Date: Fri, 4 Sep 2026 12:33:49 +0100 Subject: [PATCH 5/5] Change base deployment for new styling --- .../ra/fap-booklet-generator/base/deployment.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/components/ra/fap-booklet-generator/base/deployment.yaml b/components/ra/fap-booklet-generator/base/deployment.yaml index 94d6abe1..0d5bc23f 100644 --- a/components/ra/fap-booklet-generator/base/deployment.yaml +++ b/components/ra/fap-booklet-generator/base/deployment.yaml @@ -31,8 +31,8 @@ spec: - name: common-views mountPath: "/app/build/common-views" readOnly: true - - name: common-js - mountPath: "/app/build/common-public/js" + - name: common-public + mountPath: "/app/build/common-public" readOnly: true readinessProbe: httpGet: @@ -48,7 +48,7 @@ spec: secretName: fap-booklet-generator-environment - name: common-views configMap: - name: common-pug-views - - name: common-js + name: common-pug-views-2026 + - name: common-public configMap: - name: common-pug-content-js \ No newline at end of file + name: common-pug-public-2026 \ No newline at end of file