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 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 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..0d5bc23f --- /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 \ No newline at end of file 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