From a8afe0b877fc6c296596b8abc5642691eee2963b Mon Sep 17 00:00:00 2001 From: DeveloperDurp Date: Sat, 19 Aug 2023 12:44:23 +0000 Subject: [PATCH] Update 6 files - /krakend/Chart.yaml - /krakend/templates/service.yaml - /krakend/templates/ingress.yaml - /krakend/templates/secrets.yaml - /krakend/templates/deployments.yaml - /argocd/templates/krakend.yaml --- argocd/templates/krakend.yaml | 20 +++++++++++++ krakend/Chart.yaml | 7 +++++ krakend/templates/deployments.yaml | 39 +++++++++++++++++++++++++ krakend/templates/ingress.yaml | 47 ++++++++++++++++++++++++++++++ krakend/templates/secrets.yaml | 15 ++++++++++ krakend/templates/service.yaml | 12 ++++++++ 6 files changed, 140 insertions(+) create mode 100644 argocd/templates/krakend.yaml create mode 100644 krakend/Chart.yaml create mode 100644 krakend/templates/deployments.yaml create mode 100644 krakend/templates/ingress.yaml create mode 100644 krakend/templates/secrets.yaml create mode 100644 krakend/templates/service.yaml diff --git a/argocd/templates/krakend.yaml b/argocd/templates/krakend.yaml new file mode 100644 index 0000000..68a57d1 --- /dev/null +++ b/argocd/templates/krakend.yaml @@ -0,0 +1,20 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: krakend + namespace: argocd +spec: + project: default + source: + repoURL: https://gitlab.com/developerdurp/homelab.git + targetRevision: main + path: krakend + destination: + namespace: krakend + name: in-cluster + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/krakend/Chart.yaml b/krakend/Chart.yaml new file mode 100644 index 0000000..d998c9f --- /dev/null +++ b/krakend/Chart.yaml @@ -0,0 +1,7 @@ +apiVersion: v2 +name: krakend +description: A Helm chart for Kubernetes +type: application + +version: 0.1.0 +appVersion: "1.16.0" \ No newline at end of file diff --git a/krakend/templates/deployments.yaml b/krakend/templates/deployments.yaml new file mode 100644 index 0000000..6b90622 --- /dev/null +++ b/krakend/templates/deployments.yaml @@ -0,0 +1,39 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + namespace: krakend + name: krakend + labels: + app: krakend +spec: + selector: + matchLabels: + app: krakend + replicas: 3 + template: + metadata: + labels: + app: krakend + spec: + volumes: + - name: krakend-secret + secret: + secretName: config.json + containers: + - name: krakend + image: registry.durp.info/devopsfaith/krakend:2.4.3-watch + imagePullPolicy: Always + livenessProbe: + httpGet: + path: /__health + port: 8080 + readinessProbe: + httpGet: + path: /__health + port: 8080 + ports: + - name: http + containerPort: 8080 + volumeMounts: + - name: krakend-secret + mountPath: /etc/krakend/ \ No newline at end of file diff --git a/krakend/templates/ingress.yaml b/krakend/templates/ingress.yaml new file mode 100644 index 0000000..39c9191 --- /dev/null +++ b/krakend/templates/ingress.yaml @@ -0,0 +1,47 @@ +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: api-tls +spec: + secretName: api-tls + issuerRef: + name: letsencrypt-production + kind: ClusterIssuer + commonName: "api.durp.info" + dnsNames: + - "api.durp.info" + +--- + +apiVersion: traefik.containo.us/v1alpha1 +kind: IngressRoute +metadata: + name: kong-api-proxy + namespace: kong +spec: + entryPoints: + - websecure + routes: + - match: Host(`api.durp.info`) && PathPrefix(`/`) + middlewares: + - name: authentik-proxy-provider + namespace: traefik + kind: Rule + services: + - name: krakend-service + port: 8080 + scheme: http + tls: + secretName: api-tls + +--- + +kind: Service +apiVersion: v1 +metadata: + name: api-external-dns + annotations: + external-dns.alpha.kubernetes.io/hostname: api.durp.info +spec: + type: ExternalName + externalName: durp.info diff --git a/krakend/templates/secrets.yaml b/krakend/templates/secrets.yaml new file mode 100644 index 0000000..78903f4 --- /dev/null +++ b/krakend/templates/secrets.yaml @@ -0,0 +1,15 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: krakend-secret +spec: + secretStoreRef: + name: vault + kind: ClusterSecretStore + target: + name: krakend-secret + data: + - secretKey: config.json + remoteRef: + key: secrets/krakend/config + property: config.json \ No newline at end of file diff --git a/krakend/templates/service.yaml b/krakend/templates/service.yaml new file mode 100644 index 0000000..d5393f3 --- /dev/null +++ b/krakend/templates/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: krakend-service +spec: + ports: + - name: http + port: 8080 + targetPort: 8080 + protocol: TCP + selector: + app: krakend \ No newline at end of file