diff --git a/manifests/_apps/opengraph-image-gen.yaml b/manifests/_apps/opengraph-image-gen.yaml new file mode 100644 index 0000000..6db81fc --- /dev/null +++ b/manifests/_apps/opengraph-image-gen.yaml @@ -0,0 +1,24 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: opengraph + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: opengraph + name: cluster-fun (scaleway) + source: + path: manifests/opengraph + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + syncOptions: + - CreateNamespace=true + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data diff --git a/manifests/opengraph/opengraph.yaml b/manifests/opengraph/opengraph.yaml new file mode 100644 index 0000000..93d60ca --- /dev/null +++ b/manifests/opengraph/opengraph.yaml @@ -0,0 +1,91 @@ +apiVersion: v1 +kind: Secret +metadata: + name: tweetsvg + namespace: tweetsvg + annotations: + kube-1password: dmjtjxrcpqtmeddq5x7zikj37i + kube-1password/vault: Kubernetes + kube-1password/secret-text-key: .env +type: Opaque +--- +apiVersion: v1 +kind: Service +metadata: + name: tweetsvg + namespace: tweetsvg +spec: + type: ClusterIP + ports: + - port: 80 + targetPort: 8080 + name: web + selector: + app: tweetsvg +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: tweetsvg + namespace: tweetsvg +spec: + replicas: 2 + selector: + matchLabels: + app: tweetsvg + template: + metadata: + labels: + app: tweetsvg + spec: + containers: + - name: web + image: docker.cluster.fun/averagemarcus/tweetsvg:latest + imagePullPolicy: Always + # env: + # - name: DOTENV_DIR + # value: /config/ + ports: + - containerPort: 8080 + name: web + resources: + limits: + memory: 100Mi + requests: + memory: 100Mi + volumeMounts: + - name: dotenv + mountPath: /app/.env + subPath: .env + volumes: + - name: dotenv + secret: + secretName: tweetsvg +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: tweetsvg + namespace: tweetsvg + annotations: + cert-manager.io/cluster-issuer: letsencrypt + traefik.ingress.kubernetes.io/frontend-entry-points: http,https + traefik.ingress.kubernetes.io/redirect-entry-point: https + traefik.ingress.kubernetes.io/redirect-permanent: "true" +spec: + tls: + - hosts: + - tweet.cluster.fun + secretName: tweetsvg-ingress + rules: + - host: tweet.cluster.fun + http: + paths: + - path: / + pathType: ImplementationSpecific + backend: + service: + name: tweetsvg + port: + number: 80 + diff --git a/manifests/tweetsvg/tweetsvg.yaml b/manifests/tweetsvg/tweetsvg.yaml index 93d60ca..5ae0a3f 100644 --- a/manifests/tweetsvg/tweetsvg.yaml +++ b/manifests/tweetsvg/tweetsvg.yaml @@ -1,72 +1,50 @@ apiVersion: v1 -kind: Secret -metadata: - name: tweetsvg - namespace: tweetsvg - annotations: - kube-1password: dmjtjxrcpqtmeddq5x7zikj37i - kube-1password/vault: Kubernetes - kube-1password/secret-text-key: .env -type: Opaque ---- -apiVersion: v1 kind: Service metadata: - name: tweetsvg - namespace: tweetsvg + name: opengraph + namespace: opengraph spec: type: ClusterIP ports: - port: 80 - targetPort: 8080 + targetPort: web name: web selector: - app: tweetsvg + app: opengraph --- apiVersion: apps/v1 kind: Deployment metadata: - name: tweetsvg - namespace: tweetsvg + name: opengraph + namespace: opengraph spec: replicas: 2 selector: matchLabels: - app: tweetsvg + app: opengraph template: metadata: labels: - app: tweetsvg + app: opengraph spec: containers: - name: web - image: docker.cluster.fun/averagemarcus/tweetsvg:latest + image: docker.cluster.fun/averagemarcus/opengraph:latest imagePullPolicy: Always - # env: - # - name: DOTENV_DIR - # value: /config/ ports: - - containerPort: 8080 + - containerPort: 3000 name: web resources: limits: memory: 100Mi requests: memory: 100Mi - volumeMounts: - - name: dotenv - mountPath: /app/.env - subPath: .env - volumes: - - name: dotenv - secret: - secretName: tweetsvg --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: tweetsvg - namespace: tweetsvg + name: opengraph + namespace: opengraph annotations: cert-manager.io/cluster-issuer: letsencrypt traefik.ingress.kubernetes.io/frontend-entry-points: http,https @@ -75,17 +53,17 @@ metadata: spec: tls: - hosts: - - tweet.cluster.fun - secretName: tweetsvg-ingress + - opengraph.cluster.fun + secretName: opengraph-ingress rules: - - host: tweet.cluster.fun + - host: opengraph.cluster.fun http: paths: - path: / pathType: ImplementationSpecific backend: service: - name: tweetsvg + name: opengraph port: number: 80