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
This commit is contained in:
2023-08-19 12:44:23 +00:00
parent 63ab8f4d23
commit a8afe0b877
6 changed files with 140 additions and 0 deletions

View File

@@ -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

7
krakend/Chart.yaml Normal file
View File

@@ -0,0 +1,7 @@
apiVersion: v2
name: krakend
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"

View File

@@ -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/

View File

@@ -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

View File

@@ -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

View File

@@ -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