diff --git a/flux/kustomization.yaml b/flux/kustomization.yaml index 5ff246e..b9359c1 100644 --- a/flux/kustomization.yaml +++ b/flux/kustomization.yaml @@ -9,4 +9,5 @@ resources: - zip-enrichment - holidays - air-quality + - vin-decoder - image-automation diff --git a/flux/vin-decoder/externalsecret.yaml b/flux/vin-decoder/externalsecret.yaml new file mode 100644 index 0000000..b69f64b --- /dev/null +++ b/flux/vin-decoder/externalsecret.yaml @@ -0,0 +1,18 @@ +apiVersion: external-secrets.io/v1beta1 +kind: ExternalSecret +metadata: + name: rapidapi-proxy-secret + namespace: vin-decoder +spec: + refreshInterval: 1h + secretStoreRef: + name: kubernetes-provider + kind: ClusterSecretStore + target: + name: rapidapi-proxy-secret + creationPolicy: Owner + data: + - secretKey: X-RapidAPI-Proxy-Secret + remoteRef: + key: rapidapi-vin-decoder-source + property: X-RapidAPI-Proxy-Secret diff --git a/flux/vin-decoder/helmrelease.yaml b/flux/vin-decoder/helmrelease.yaml new file mode 100644 index 0000000..c6cc071 --- /dev/null +++ b/flux/vin-decoder/helmrelease.yaml @@ -0,0 +1,101 @@ +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: vin-decoder + namespace: vin-decoder +spec: + interval: 10m + chart: + spec: + chart: raw + version: ">=0.2.0" + sourceRef: + kind: HelmRepository + name: bedag + namespace: flux-system + interval: 60m + values: + resources: + - apiVersion: apps/v1 + kind: Deployment + metadata: + name: vin-decoder + namespace: vin-decoder + spec: + replicas: 1 + selector: + matchLabels: + app: vin-decoder + template: + metadata: + labels: + app: vin-decoder + spec: + imagePullSecrets: + - name: gitea-registry + containers: + - name: vin-decoder + image: registry.leeworks.dev/vin-decoder/api:latest # {"$imagepolicy": "flux-system:vin-decoder"} + ports: + - containerPort: 3000 + env: + - name: RAPIDAPI_PROXY_SECRET + valueFrom: + secretKeyRef: + name: rapidapi-proxy-secret + key: X-RapidAPI-Proxy-Secret + resources: + requests: + cpu: 50m + memory: 128Mi + limits: + cpu: 500m + memory: 256Mi + livenessProbe: + httpGet: + path: /v1/health + port: 3000 + initialDelaySeconds: 10 + periodSeconds: 30 + readinessProbe: + httpGet: + path: /v1/health + port: 3000 + initialDelaySeconds: 5 + periodSeconds: 10 + - apiVersion: v1 + kind: Service + metadata: + name: vin-decoder + namespace: vin-decoder + spec: + selector: + app: vin-decoder + ports: + - port: 80 + targetPort: 3000 + - apiVersion: networking.k8s.io/v1 + kind: Ingress + metadata: + name: vin-decoder + namespace: vin-decoder + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + nginx.ingress.kubernetes.io/ssl-redirect: "true" + spec: + ingressClassName: nginx + tls: + - hosts: + - vin.leeworks.dev + secretName: vin-decoder-tls + rules: + - host: vin.leeworks.dev + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: vin-decoder + port: + number: 80 diff --git a/flux/vin-decoder/kustomization.yaml b/flux/vin-decoder/kustomization.yaml new file mode 100644 index 0000000..7ca00db --- /dev/null +++ b/flux/vin-decoder/kustomization.yaml @@ -0,0 +1,6 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - externalsecret.yaml + - helmrelease.yaml diff --git a/flux/vin-decoder/namespace.yaml b/flux/vin-decoder/namespace.yaml new file mode 100644 index 0000000..5ee4e4c --- /dev/null +++ b/flux/vin-decoder/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: vin-decoder