diff --git a/manifests/_apps/starling.yaml b/manifests/_apps/starling.yaml new file mode 100644 index 0000000..f4ec08e --- /dev/null +++ b/manifests/_apps/starling.yaml @@ -0,0 +1,28 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: starling + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: starling + name: cluster-fun (scaleway) + source: + path: manifests/starling + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data + - group: apps + kind: Deployment + jqPathExpressions: + - .spec.template.spec.containers[]?.image diff --git a/manifests/starling/starling.yaml b/manifests/starling/starling.yaml new file mode 100644 index 0000000..16984c5 --- /dev/null +++ b/manifests/starling/starling.yaml @@ -0,0 +1,96 @@ +apiVersion: v1 +kind: Secret +metadata: + name: docker-config + namespace: starling + annotations: + kube-1password: i6ngbk5zf4k52xgwdwnfup5bby + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: .dockerconfigjson +type: kubernetes.io/dockerconfigjson +data: + .dockerconfigjson: e30= +--- +apiVersion: v1 +kind: Secret +metadata: + name: starling + namespace: starling + annotations: + kube-1password: xro6ibrpyrdphi22fv7go2guyi + kube-1password/vault: Kubernetes + kube-1password/password-key: secret +type: Opaque +--- +apiVersion: v1 +kind: Service +metadata: + name: starling + namespace: starling +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: web + name: web + selector: + app: starling +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: starling + namespace: starling +spec: + replicas: 2 + selector: + matchLabels: + app: starling + template: + metadata: + labels: + app: starling + spec: + imagePullSecrets: + - name: docker-config + containers: + - name: web + image: docker.cluster.fun/private/starling:latest + imagePullPolicy: Always + env: + - name: PORT + value: "3000" + - name: SHARED_SECRET + valueFrom: + secretKeyRef: + name: starling + key: secret + ports: + - containerPort: 3000 + name: web +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: starling + namespace: starling + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/force-ssl-redirect: "true" +spec: + ingressClassName: nginx + tls: + - hosts: + - starling.marcusnoble.co.uk + secretName: starling-ingress + rules: + - host: starling.marcusnoble.co.uk + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: starling + port: + number: 80