diff --git a/argocd/dev/ra/user-claims-backend/app.yaml b/argocd/dev/ra/user-claims-backend/app.yaml new file mode 100644 index 00000000..9f16c6d9 --- /dev/null +++ b/argocd/dev/ra/user-claims-backend/app.yaml @@ -0,0 +1,32 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: user-claims-backend + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - clusters: + selector: + matchLabels: + appEnvironment: dev + ignoreApplicationDifferences: + - jsonPointers: + - /spec/syncPolicy + template: + metadata: + name: '{{.name}}-user-claims-backend' + spec: + project: r-a-project + source: + path: components/ra/user-claims-backend/overlays/dev + repoURL: 'https://github.com/isisbusapps/gitops' + targetRevision: main + 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/dev/ra/user-claims-frontend/app.yaml b/argocd/dev/ra/user-claims-frontend/app.yaml new file mode 100644 index 00000000..94b9910b --- /dev/null +++ b/argocd/dev/ra/user-claims-frontend/app.yaml @@ -0,0 +1,32 @@ +apiVersion: argoproj.io/v1alpha1 +kind: ApplicationSet +metadata: + name: user-claims-frontend + namespace: argocd +spec: + goTemplate: true + goTemplateOptions: ["missingkey=error"] + generators: + - clusters: + selector: + matchLabels: + appEnvironment: dev + ignoreApplicationDifferences: + - jsonPointers: + - /spec/syncPolicy + template: + metadata: + name: '{{.name}}-user-claims-frontend' + spec: + project: r-a-project + source: + path: components/ra/user-claims-frontend/overlays/dev + repoURL: 'https://github.com/isisbusapps/gitops' + targetRevision: main + 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/components/ra/user-claims-backend/base/deployment.yaml b/components/ra/user-claims-backend/base/deployment.yaml new file mode 100644 index 00000000..a708afdf --- /dev/null +++ b/components/ra/user-claims-backend/base/deployment.yaml @@ -0,0 +1,44 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: user-claims-backend +spec: + replicas: 1 + template: + metadata: + annotations: + co.elastic.logs/processors.add_fields.target: "" + co.elastic.logs/processors.add_fields.fields.application.name: "user-claims-backend" + co.elastic.logs/processors.add_fields.fields.application.domain: "user-claims" + co.elastic.logs/processors.add_fields.fields.application.tier: web + co.elastic.logs/processors.add_fields.fields.application.language: "typescript" + # Extract log_level, class, and log_message as separate fields for elastic + co.elastic.logs/processors.dissect.tokenizer: "%{?date} %{?time} %{log_level->} %{log_message}" + co.elastic.logs/processors.dissect.target_prefix: "" + co.elastic.logs/multiline.pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}" + co.elastic.logs/multiline.negate: "true" + co.elastic.logs/multiline.match: "after" + spec: + containers: + - name: user-claims-backend + imagePullPolicy: Always + ports: + - containerPort: 3001 + envFrom: + - secretRef: + name: user-claims-backend + volumeMounts: + - name: uploads + mountPath: "/app/uploads" + readOnly: false + readinessProbe: + httpGet: + path: /user-claims-api/health/ready + port: 3001 + initialDelaySeconds: 10 + periodSeconds: 5 + imagePullSecrets: + - name: registry-creds + volumes: + - name: uploads + emptyDir: {} diff --git a/components/ra/user-claims-backend/base/httproute.yaml b/components/ra/user-claims-backend/base/httproute.yaml new file mode 100644 index 00000000..4fcc6033 --- /dev/null +++ b/components/ra/user-claims-backend/base/httproute.yaml @@ -0,0 +1,19 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: user-claims-backend +spec: + parentRefs: + - name: envoy-gateway + namespace: envoy-gateway-system + hostnames: + - "*.developers.facilities.rl.ac.uk" + - "*.facilities.rl.ac.uk" + rules: + - matches: + - path: + type: PathPrefix + value: /user-claims-api + backendRefs: + - name: user-claims-backend + port: 3001 diff --git a/components/ra/user-claims-backend/base/kustomization.yaml b/components/ra/user-claims-backend/base/kustomization.yaml new file mode 100644 index 00000000..8c9a1278 --- /dev/null +++ b/components/ra/user-claims-backend/base/kustomization.yaml @@ -0,0 +1,13 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app: user-claims-backend + +namespace: apps + +resources: + - deployment.yml + - service.yml + - httproute.yml + - static-secret.yml diff --git a/components/ra/user-claims-backend/base/service.yaml b/components/ra/user-claims-backend/base/service.yaml new file mode 100644 index 00000000..f56a1c3d --- /dev/null +++ b/components/ra/user-claims-backend/base/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: user-claims-backend +spec: + ports: + - name: https + protocol: TCP + port: 3001 + targetPort: 3001 diff --git a/components/ra/user-claims-backend/base/static-secret.yaml b/components/ra/user-claims-backend/base/static-secret.yaml new file mode 100644 index 00000000..f5d66532 --- /dev/null +++ b/components/ra/user-claims-backend/base/static-secret.yaml @@ -0,0 +1,17 @@ +apiVersion: secrets.hashicorp.com/v1beta1 +kind: VaultStaticSecret +metadata: + name: user-claims-backend + namespace: apps +spec: + type: kv-v2 + refreshAfter: 30s + vaultAuthRef: static-auth + + mount: reviews-and-allocations + path: dev/user-claims-backend + destination: + name: user-claims-backend + overwrite: true + create: true + \ No newline at end of file diff --git a/components/ra/user-claims-backend/overlays/dev/deployment.yaml b/components/ra/user-claims-backend/overlays/dev/deployment.yaml new file mode 100644 index 00000000..0c98fd7d --- /dev/null +++ b/components/ra/user-claims-backend/overlays/dev/deployment.yaml @@ -0,0 +1,11 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: user-claims-backend +spec: + template: + spec: + containers: + - name: user-claims-backend + image: ghcr.io/isisbusapps/user-claims-backend@sha256:5ee97cbbf2a4cd76f45259be016a54b5cee1e637c4ace9023397a51bc073a853 + \ No newline at end of file diff --git a/components/ra/user-claims-backend/overlays/dev/kustomization.yaml b/components/ra/user-claims-backend/overlays/dev/kustomization.yaml new file mode 100644 index 00000000..61cf0c8a --- /dev/null +++ b/components/ra/user-claims-backend/overlays/dev/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: + - ./../base + +namespace: apps + +patches: + - path: deployment.yml + \ No newline at end of file diff --git a/components/ra/user-claims-frontend/base/deployment.yaml b/components/ra/user-claims-frontend/base/deployment.yaml new file mode 100644 index 00000000..7827f4f3 --- /dev/null +++ b/components/ra/user-claims-frontend/base/deployment.yaml @@ -0,0 +1,32 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: user-claims-frontend +spec: + replicas: 1 + template: + metadata: + annotations: + co.elastic.logs/processors.add_fields.target: "" + co.elastic.logs/processors.add_fields.fields.application.name: "user-claims-frontend" + co.elastic.logs/processors.add_fields.fields.application.domain: "user-claims" + co.elastic.logs/processors.add_fields.fields.application.tier: web + co.elastic.logs/processors.add_fields.fields.application.language: "typescript" + # Extract log_level, class, and log_message as separate fields for elastic + co.elastic.logs/processors.dissect.tokenizer: "%{?date} %{?time} %{log_level->} %{log_message}" + co.elastic.logs/processors.dissect.target_prefix: "" + co.elastic.logs/multiline.pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}" + co.elastic.logs/multiline.negate: "true" + co.elastic.logs/multiline.match: "after" + spec: + containers: + - name: user-claims-frontend + imagePullPolicy: Always + ports: + - containerPort: 6011 + imagePullSecrets: + - name: registry-creds + volumes: + - name: env-config + secret: + secretName: user-claims-frontend diff --git a/components/ra/user-claims-frontend/base/httproute.yaml b/components/ra/user-claims-frontend/base/httproute.yaml new file mode 100644 index 00000000..26f0f69f --- /dev/null +++ b/components/ra/user-claims-frontend/base/httproute.yaml @@ -0,0 +1,19 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute +metadata: + name: user-claims-frontend +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: /user-claims + backendRefs: + - name: user-claims-frontend + port: 6011 diff --git a/components/ra/user-claims-frontend/base/kustomization.yaml b/components/ra/user-claims-frontend/base/kustomization.yaml new file mode 100644 index 00000000..6cf629d9 --- /dev/null +++ b/components/ra/user-claims-frontend/base/kustomization.yaml @@ -0,0 +1,12 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +commonLabels: + app: user-claims-frontend + +namespace: apps + +resources: + - deployment.yml + - service.yml + - httproute.yml diff --git a/components/ra/user-claims-frontend/base/service.yaml b/components/ra/user-claims-frontend/base/service.yaml new file mode 100644 index 00000000..0834c11c --- /dev/null +++ b/components/ra/user-claims-frontend/base/service.yaml @@ -0,0 +1,10 @@ +apiVersion: v1 +kind: Service +metadata: + name: user-claims-frontend +spec: + ports: + - name: https + protocol: TCP + port: 6011 + targetPort: 6011 diff --git a/components/ra/user-claims-frontend/overlays/dev/deployment.yaml b/components/ra/user-claims-frontend/overlays/dev/deployment.yaml new file mode 100644 index 00000000..761bf091 --- /dev/null +++ b/components/ra/user-claims-frontend/overlays/dev/deployment.yaml @@ -0,0 +1,11 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: user-claims-frontend +spec: + template: + spec: + containers: + - name: user-claims-frontend + image: ghcr.io/isisbusapps/user-claims-frontend@sha256:df075e24b14e1589996c885ee0efb5c59edc76f8d51c129c2e48dac0d3dcf9bc + \ No newline at end of file diff --git a/components/ra/user-claims-frontend/overlays/dev/kustomization.yaml b/components/ra/user-claims-frontend/overlays/dev/kustomization.yaml new file mode 100644 index 00000000..61cf0c8a --- /dev/null +++ b/components/ra/user-claims-frontend/overlays/dev/kustomization.yaml @@ -0,0 +1,11 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +bases: + - ./../base + +namespace: apps + +patches: + - path: deployment.yml + \ No newline at end of file