From 3e54c17ad39f01c94c3fbc4299886b61a47918b4 Mon Sep 17 00:00:00 2001 From: Marcus Noble Date: Tue, 31 May 2022 12:55:15 +0000 Subject: [PATCH] Initial migrate to civo Signed-off-by: Marcus Noble --- manifests/_apps/base64.yaml | 2 +- manifests/_apps/certmanager_chart.yaml | 23 + manifests/_apps/cv.yaml | 2 +- manifests/_apps/feed-fetcher.yaml | 2 +- manifests/_apps/goplayground.yaml | 2 +- manifests/_apps/harbor_chart.yaml | 24 - manifests/_apps/link.yaml | 4 +- manifests/_apps/qr.yaml | 2 +- manifests/_apps/talks.yaml | 2 +- manifests/_apps/text-to-dxf.yaml | 2 +- manifests/_apps/til.yaml | 2 +- manifests/base64/base64.yaml | 4 +- manifests/base64/vpa.yaml | 11 - .../certmanager-civo/certmanager_chart.yaml | 23 + manifests/cv/cv.yaml | 4 +- manifests/cv/vpa.yaml | 11 - manifests/feed-fetcher/feed-fetcher.yaml | 4 +- manifests/feed-fetcher/vpa.yaml | 11 - manifests/goplayground/goplayground.yaml | 4 +- manifests/goplayground/vpa.yaml | 11 - manifests/harbor_chart/manifest.yaml | 1160 ----------------- manifests/link/link.yaml | 3 +- manifests/qr/qr.yaml | 4 +- manifests/qr/vpa.yaml | 11 - manifests/talks/talks.yaml | 4 +- manifests/talks/vpa.yaml | 11 - manifests/text-to-dxf/text-to-dxf.yaml | 3 +- manifests/text-to-dxf/vpa.yaml | 11 - manifests/til/til.yaml | 4 +- manifests/til/vpa.yaml | 11 - 30 files changed, 74 insertions(+), 1298 deletions(-) delete mode 100644 manifests/_apps/harbor_chart.yaml delete mode 100644 manifests/base64/vpa.yaml create mode 100644 manifests/certmanager-civo/certmanager_chart.yaml delete mode 100644 manifests/cv/vpa.yaml delete mode 100644 manifests/feed-fetcher/vpa.yaml delete mode 100644 manifests/goplayground/vpa.yaml delete mode 100644 manifests/harbor_chart/manifest.yaml delete mode 100644 manifests/qr/vpa.yaml delete mode 100644 manifests/talks/vpa.yaml delete mode 100644 manifests/text-to-dxf/vpa.yaml delete mode 100644 manifests/til/vpa.yaml diff --git a/manifests/_apps/base64.yaml b/manifests/_apps/base64.yaml index 25ade32..c0600b5 100644 --- a/manifests/_apps/base64.yaml +++ b/manifests/_apps/base64.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: base64 - name: cluster-fun (scaleway) + name: civo source: path: manifests/base64 repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/certmanager_chart.yaml b/manifests/_apps/certmanager_chart.yaml index 752f2b9..f8c3547 100644 --- a/manifests/_apps/certmanager_chart.yaml +++ b/manifests/_apps/certmanager_chart.yaml @@ -21,6 +21,29 @@ spec: jsonPointers: - /data --- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: cert-manager-civo + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: cluster.fun + destination: + namespace: cert-manager + name: civo + source: + path: manifests/certmanager-civo + repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" + targetRevision: HEAD + syncPolicy: + automated: {} + ignoreDifferences: + - kind: Secret + jsonPointers: + - /data +--- apiVersion: argoproj.io/v1alpha1 kind: Application diff --git a/manifests/_apps/cv.yaml b/manifests/_apps/cv.yaml index 01554a4..cc5a121 100644 --- a/manifests/_apps/cv.yaml +++ b/manifests/_apps/cv.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: cv - name: cluster-fun (scaleway) + name: civo source: path: manifests/cv repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/feed-fetcher.yaml b/manifests/_apps/feed-fetcher.yaml index 30e1e60..5c33480 100644 --- a/manifests/_apps/feed-fetcher.yaml +++ b/manifests/_apps/feed-fetcher.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: feed-fetcher - name: cluster-fun (scaleway) + name: civo source: path: manifests/feed-fetcher repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/goplayground.yaml b/manifests/_apps/goplayground.yaml index 6a5fd5a..3af90e0 100644 --- a/manifests/_apps/goplayground.yaml +++ b/manifests/_apps/goplayground.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: goplayground - name: cluster-fun (scaleway) + name: civo source: path: manifests/goplayground repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/harbor_chart.yaml b/manifests/_apps/harbor_chart.yaml deleted file mode 100644 index 3e960ac..0000000 --- a/manifests/_apps/harbor_chart.yaml +++ /dev/null @@ -1,24 +0,0 @@ -apiVersion: argoproj.io/v1alpha1 -kind: Application -metadata: - name: harbor - namespace: argocd - finalizers: - - resources-finalizer.argocd.argoproj.io -spec: - project: cluster.fun - destination: - namespace: harbor - name: cluster-fun (scaleway) - source: - path: manifests/harbor_chart - 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/_apps/link.yaml b/manifests/_apps/link.yaml index 2a8fed1..f3ad1f1 100644 --- a/manifests/_apps/link.yaml +++ b/manifests/_apps/link.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: link - name: cluster-fun (scaleway) + name: civo source: path: manifests/link repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" @@ -17,4 +17,4 @@ spec: syncPolicy: automated: {} syncOptions: - - CreateNamespace=true \ No newline at end of file + - CreateNamespace=true diff --git a/manifests/_apps/qr.yaml b/manifests/_apps/qr.yaml index d9ebee1..bb2148a 100644 --- a/manifests/_apps/qr.yaml +++ b/manifests/_apps/qr.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: qr - name: cluster-fun (scaleway) + name: civo source: path: manifests/qr repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/talks.yaml b/manifests/_apps/talks.yaml index bb01cbf..fd84b58 100644 --- a/manifests/_apps/talks.yaml +++ b/manifests/_apps/talks.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: talks - name: cluster-fun (scaleway) + name: civo source: path: manifests/talks repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/text-to-dxf.yaml b/manifests/_apps/text-to-dxf.yaml index 2a79095..670c24d 100644 --- a/manifests/_apps/text-to-dxf.yaml +++ b/manifests/_apps/text-to-dxf.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: text-to-dxf - name: cluster-fun (scaleway) + name: civo source: path: manifests/text-to-dxf repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/_apps/til.yaml b/manifests/_apps/til.yaml index 930f456..03bf81b 100644 --- a/manifests/_apps/til.yaml +++ b/manifests/_apps/til.yaml @@ -9,7 +9,7 @@ spec: project: cluster.fun destination: namespace: til - name: cluster-fun (scaleway) + name: civo source: path: manifests/til repoURL: "https://git.cluster.fun/AverageMarcus/cluster.fun.git" diff --git a/manifests/base64/base64.yaml b/manifests/base64/base64.yaml index 893c794..b62ae62 100644 --- a/manifests/base64/base64.yaml +++ b/manifests/base64/base64.yaml @@ -49,9 +49,9 @@ metadata: namespace: base64 annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - base64.cluster.fun diff --git a/manifests/base64/vpa.yaml b/manifests/base64/vpa.yaml deleted file mode 100644 index b3f07cc..0000000 --- a/manifests/base64/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: base64 -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: base64 - updatePolicy: - updateMode: "Auto" diff --git a/manifests/certmanager-civo/certmanager_chart.yaml b/manifests/certmanager-civo/certmanager_chart.yaml new file mode 100644 index 0000000..5d68424 --- /dev/null +++ b/manifests/certmanager-civo/certmanager_chart.yaml @@ -0,0 +1,23 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: cert-manager + labels: + certmanager.k8s.io/disable-validation: "true" + +--- + +apiVersion: cert-manager.io/v1 +kind: ClusterIssuer +metadata: + name: letsencrypt +spec: + acme: + server: https://acme-v02.api.letsencrypt.org/directory + email: letsencrypt@marcusnoble.co.uk + privateKeySecretRef: + name: letsencrypt + solvers: + - http01: + ingress: + class: traefik diff --git a/manifests/cv/cv.yaml b/manifests/cv/cv.yaml index f53d0dd..9aac9f0 100644 --- a/manifests/cv/cv.yaml +++ b/manifests/cv/cv.yaml @@ -62,9 +62,9 @@ metadata: namespace: cv annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - cv.marcusnoble.co.uk diff --git a/manifests/cv/vpa.yaml b/manifests/cv/vpa.yaml deleted file mode 100644 index 308fd84..0000000 --- a/manifests/cv/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: cv -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: cv - updatePolicy: - updateMode: "Auto" diff --git a/manifests/feed-fetcher/feed-fetcher.yaml b/manifests/feed-fetcher/feed-fetcher.yaml index a90f862..5edb509 100644 --- a/manifests/feed-fetcher/feed-fetcher.yaml +++ b/manifests/feed-fetcher/feed-fetcher.yaml @@ -42,9 +42,9 @@ metadata: namespace: feed-fetcher annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - feed-fetcher.cluster.fun diff --git a/manifests/feed-fetcher/vpa.yaml b/manifests/feed-fetcher/vpa.yaml deleted file mode 100644 index efeef37..0000000 --- a/manifests/feed-fetcher/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: feed-fetcher -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: feed-fetcher - updatePolicy: - updateMode: "Auto" diff --git a/manifests/goplayground/goplayground.yaml b/manifests/goplayground/goplayground.yaml index 296b144..eefcec5 100644 --- a/manifests/goplayground/goplayground.yaml +++ b/manifests/goplayground/goplayground.yaml @@ -47,9 +47,9 @@ metadata: namespace: goplayground annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - go.cluster.fun diff --git a/manifests/goplayground/vpa.yaml b/manifests/goplayground/vpa.yaml deleted file mode 100644 index bbb8f96..0000000 --- a/manifests/goplayground/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: goplayground -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: goplayground - updatePolicy: - updateMode: "Auto" diff --git a/manifests/harbor_chart/manifest.yaml b/manifests/harbor_chart/manifest.yaml deleted file mode 100644 index a102145..0000000 --- a/manifests/harbor_chart/manifest.yaml +++ /dev/null @@ -1,1160 +0,0 @@ ---- -# Source: harbor/templates/core/core-secret.yaml -apiVersion: v1 -kind: Secret -metadata: - name: harbor-harbor-harbor-core - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - kube-1password: nzrnkmyueqyr7qantfnizndoni - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque - ---- -# Source: harbor/templates/exporter/exporter-secret.yaml -apiVersion: v1 -kind: Secret -metadata: - name: harbor-harbor-harbor-exporter - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - kube-1password: z2zxjpo26imlov3dxoq3ruwvw4 - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque ---- -# Source: harbor/templates/jobservice/jobservice-secrets.yaml -apiVersion: v1 -kind: Secret -metadata: - name: "harbor-harbor-harbor-jobservice" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - kube-1password: fx6f6bomevldvtuuffvifuwm74 - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque - ---- -# Source: harbor/templates/registry/registry-secret.yaml -apiVersion: v1 -kind: Secret -metadata: - name: "harbor-harbor-harbor-registry" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - kube-1password: p2mdm5s7kmkffjk5ttakhvjru4 - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque - ---- -# Source: harbor/templates/registry/registry-secret.yaml -apiVersion: v1 -kind: Secret -metadata: - name: "harbor-harbor-harbor-registry-htpasswd" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - kube-1password: qfmged45pt5jsytf2zz5dgaii4 - kube-1password/vault: Kubernetes - kube-1password/secret-text-parse: "true" -type: Opaque - ---- -# Source: harbor/templates/core/core-cm.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: harbor-harbor-harbor-core - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - app.conf: |+ - appname = Harbor - runmode = prod - enablegzip = true - - [prod] - httpport = 8080 - PORT: "8080" - DATABASE_TYPE: "postgresql" - POSTGRESQL_HOST: "51.159.9.131" - POSTGRESQL_PORT: "59917" - POSTGRESQL_USERNAME: "harbor" - POSTGRESQL_DATABASE: "harbor-registry" - POSTGRESQL_SSLMODE: "require" - POSTGRESQL_MAX_IDLE_CONNS: "100" - POSTGRESQL_MAX_OPEN_CONNS: "900" - EXT_ENDPOINT: "https://docker.cluster.fun" - CORE_URL: "http://harbor-harbor-harbor-core:80" - JOBSERVICE_URL: "http://harbor-harbor-harbor-jobservice" - REGISTRY_URL: "http://harbor-harbor-harbor-registry:5000" - TOKEN_SERVICE_URL: "http://harbor-harbor-harbor-core:80/service/token" - WITH_NOTARY: "false" - NOTARY_URL: "http://harbor-harbor-harbor-notary-server:4443" - CORE_LOCAL_URL: "http://127.0.0.1:8080" - WITH_TRIVY: "false" - TRIVY_ADAPTER_URL: "http://harbor-harbor-harbor-trivy:8080" - REGISTRY_STORAGE_PROVIDER_NAME: "s3" - WITH_CHARTMUSEUM: "false" - CHART_REPOSITORY_URL: "http://harbor-harbor-harbor-chartmuseum" - LOG_LEVEL: "info" - CONFIG_PATH: "/etc/core/app.conf" - CHART_CACHE_DRIVER: "redis" - _REDIS_URL_CORE: "redis://harbor-harbor-harbor-redis:6379/0?idle_timeout_seconds=30" - _REDIS_URL_REG: "redis://harbor-harbor-harbor-redis:6379/2?idle_timeout_seconds=30" - PORTAL_URL: "http://harbor-harbor-harbor-portal" - REGISTRY_CONTROLLER_URL: "http://harbor-harbor-harbor-registry:8080" - REGISTRY_CREDENTIAL_USERNAME: "harbor_registry_user" - HTTP_PROXY: "" - HTTPS_PROXY: "" - NO_PROXY: "harbor-harbor-harbor-core,harbor-harbor-harbor-jobservice,harbor-harbor-harbor-chartmuseum,harbor-harbor-harbor-notary-server,harbor-harbor-harbor-notary-signer,harbor-harbor-harbor-registry,harbor-harbor-harbor-portal,harbor-harbor-harbor-trivy,harbor-harbor-harbor-exporter,127.0.0.1,localhost,.local,.internal" - PERMITTED_REGISTRY_TYPES_FOR_PROXY_CACHE: "docker-hub,harbor,azure-acr,aws-ecr,google-gcr,quay,docker-registry" - METRIC_ENABLE: "true" - METRIC_PATH: "/metrics" - METRIC_PORT: "8001" - METRIC_NAMESPACE: harbor - METRIC_SUBSYSTEM: core ---- -# Source: harbor/templates/exporter/exporter-cm-env.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: "harbor-harbor-harbor-exporter-env" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - HTTP_PROXY: "" - HTTPS_PROXY: "" - NO_PROXY: "harbor-harbor-harbor-core,harbor-harbor-harbor-jobservice,harbor-harbor-harbor-chartmuseum,harbor-harbor-harbor-notary-server,harbor-harbor-harbor-notary-signer,harbor-harbor-harbor-registry,harbor-harbor-harbor-portal,harbor-harbor-harbor-trivy,harbor-harbor-harbor-exporter,127.0.0.1,localhost,.local,.internal" - LOG_LEVEL: "info" - HARBOR_EXPORTER_PORT: "8001" - HARBOR_EXPORTER_METRICS_PATH: "/metrics" - HARBOR_EXPORTER_METRICS_ENABLED: "true" - HARBOR_EXPORTER_CACHE_TIME: "23" - HARBOR_EXPORTER_CACHE_CLEAN_INTERVAL: "14400" - HARBOR_METRIC_NAMESPACE: harbor - HARBOR_METRIC_SUBSYSTEM: exporter - HARBOR_REDIS_URL: "redis://harbor-harbor-harbor-redis:6379/1" - HARBOR_REDIS_NAMESPACE: harbor_job_service_namespace - HARBOR_REDIS_TIMEOUT: "3600" - HARBOR_SERVICE_SCHEME: "http" - HARBOR_SERVICE_HOST: "harbor-harbor-harbor-core" - HARBOR_SERVICE_PORT: "80" - HARBOR_DATABASE_HOST: "51.159.9.131" - HARBOR_DATABASE_PORT: "59917" - HARBOR_DATABASE_USERNAME: "harbor" - HARBOR_DATABASE_DBNAME: "harbor-registry" - HARBOR_DATABASE_SSLMODE: "require" - HARBOR_DATABASE_MAX_IDLE_CONNS: "100" - HARBOR_DATABASE_MAX_OPEN_CONNS: "900" ---- -# Source: harbor/templates/jobservice/jobservice-cm-env.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: "harbor-harbor-harbor-jobservice-env" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - CORE_URL: "http://harbor-harbor-harbor-core:80" - TOKEN_SERVICE_URL: "http://harbor-harbor-harbor-core:80/service/token" - REGISTRY_URL: "http://harbor-harbor-harbor-registry:5000" - REGISTRY_CONTROLLER_URL: "http://harbor-harbor-harbor-registry:8080" - REGISTRY_CREDENTIAL_USERNAME: "harbor_registry_user" - HTTP_PROXY: "" - HTTPS_PROXY: "" - NO_PROXY: "harbor-harbor-harbor-core,harbor-harbor-harbor-jobservice,harbor-harbor-harbor-chartmuseum,harbor-harbor-harbor-notary-server,harbor-harbor-harbor-notary-signer,harbor-harbor-harbor-registry,harbor-harbor-harbor-portal,harbor-harbor-harbor-trivy,harbor-harbor-harbor-exporter,127.0.0.1,localhost,.local,.internal" - METRIC_NAMESPACE: harbor - METRIC_SUBSYSTEM: jobservice ---- -# Source: harbor/templates/jobservice/jobservice-cm.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: "harbor-harbor-harbor-jobservice" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - config.yml: |+ - #Server listening port - protocol: "http" - port: 8080 - worker_pool: - workers: 10 - backend: "redis" - redis_pool: - redis_url: "redis://harbor-harbor-harbor-redis:6379/1" - namespace: "harbor_job_service_namespace" - idle_timeout_second: 3600 - job_loggers: - - name: "STD_OUTPUT" - level: INFO - metric: - enabled: true - path: /metrics - port: 8001 - #Loggers for the job service - loggers: - - name: "STD_OUTPUT" - level: INFO ---- -# Source: harbor/templates/portal/configmap.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: "harbor-harbor-harbor-portal" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - nginx.conf: |+ - worker_processes auto; - pid /tmp/nginx.pid; - events { - worker_connections 1024; - } - http { - client_body_temp_path /tmp/client_body_temp; - proxy_temp_path /tmp/proxy_temp; - fastcgi_temp_path /tmp/fastcgi_temp; - uwsgi_temp_path /tmp/uwsgi_temp; - scgi_temp_path /tmp/scgi_temp; - server { - listen 8080; - listen [::]:8080; - server_name localhost; - root /usr/share/nginx/html; - index index.html index.htm; - include /etc/nginx/mime.types; - gzip on; - gzip_min_length 1000; - gzip_proxied expired no-cache no-store private auth; - gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; - location / { - try_files $uri $uri/ /index.html; - } - location = /index.html { - add_header Cache-Control "no-store, no-cache, must-revalidate"; - } - } - } ---- -# Source: harbor/templates/registry/registry-cm.yaml -apiVersion: v1 -kind: ConfigMap -metadata: - name: "harbor-harbor-harbor-registry" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -data: - config.yml: |+ - version: 0.1 - log: - level: info - fields: - service: registry - storage: - s3: - region: fr-par - bucket: cluster.fun - regionendpoint: https://s3.fr-par.scw.cloud - rootdirectory: /harbor - cache: - layerinfo: redis - maintenance: - uploadpurging: - enabled: false - delete: - enabled: true - redirect: - disable: true - redis: - addr: harbor-harbor-harbor-redis:6379 - db: 2 - readtimeout: 10s - writetimeout: 10s - dialtimeout: 10s - pool: - maxidle: 100 - maxactive: 500 - idletimeout: 60s - http: - addr: :5000 - relativeurls: false - # set via environment variable - # secret: placeholder - debug: - addr: :8001 - prometheus: - enabled: true - path: /metrics - auth: - htpasswd: - realm: harbor-registry-basic-realm - path: /etc/registry/passwd - validation: - disabled: true - compatibility: - schema1: - enabled: true - ctl-config.yml: |+ - --- - protocol: "http" - port: 8080 - log_level: info - registry_config: "/etc/registry/config.yml" ---- -# Source: harbor/templates/core/core-svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: harbor-harbor-harbor-core - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - name: http-web - port: 80 - targetPort: 8080 - - name: http-metrics - port: 8001 - selector: - release: harbor-harbor - app: "harbor" - component: core ---- -# Source: harbor/templates/exporter/exporter-svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: "harbor-harbor-harbor-exporter" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - name: http-metrics - port: 8001 - selector: - release: harbor-harbor - app: "harbor" - component: exporter ---- -# Source: harbor/templates/jobservice/jobservice-svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: "harbor-harbor-harbor-jobservice" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - name: http-jobservice - port: 80 - targetPort: 8080 - - name: http-metrics - port: 8001 - selector: - release: harbor-harbor - app: "harbor" - component: jobservice ---- -# Source: harbor/templates/portal/service.yaml -apiVersion: v1 -kind: Service -metadata: - name: "harbor-harbor-harbor-portal" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - port: 80 - targetPort: 8080 - selector: - release: harbor-harbor - app: "harbor" - component: portal ---- -# Source: harbor/templates/redis/service.yaml -apiVersion: v1 -kind: Service -metadata: - name: harbor-harbor-harbor-redis - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - port: 6379 - selector: - release: harbor-harbor - app: "harbor" - component: redis ---- -# Source: harbor/templates/registry/registry-svc.yaml -apiVersion: v1 -kind: Service -metadata: - name: "harbor-harbor-harbor-registry" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" -spec: - ports: - - name: http-registry - port: 5000 - - - name: http-controller - port: 8080 - - name: http-metrics - port: 8001 - selector: - release: harbor-harbor - app: "harbor" - component: registry ---- -# Source: harbor/templates/core/core-dpl.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: harbor-harbor-harbor-core - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: core -spec: - replicas: 0 - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: core - template: - metadata: - labels: - release: harbor-harbor - app: "harbor" - component: core - annotations: - checksum/configmap: 167dd1a6053c18e7ef228ae34b781b938287b997345e41d919b64437cd59721d - checksum/secret: 3267ef0049cdfabcdaa15a4e87e8624bbdd3e69acb51169d3cec91c6c321dda5 - checksum/secret-jobservice: 87b4ffaead27c455b8f39f9223543537f996895e5042c22fc1e579d308726d6b - spec: - securityContext: - runAsUser: 10000 - fsGroup: 10000 - automountServiceAccountToken: false - terminationGracePeriodSeconds: 120 - containers: - - name: core - image: goharbor/harbor-core:v2.4.1 - imagePullPolicy: IfNotPresent - startupProbe: - httpGet: - path: /api/v2.0/ping - scheme: HTTP - port: 8080 - failureThreshold: 360 - initialDelaySeconds: 10 - periodSeconds: 10 - livenessProbe: - httpGet: - path: /api/v2.0/ping - scheme: HTTP - port: 8080 - failureThreshold: 2 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /api/v2.0/ping - scheme: HTTP - port: 8080 - failureThreshold: 2 - periodSeconds: 10 - envFrom: - - configMapRef: - name: "harbor-harbor-harbor-core" - - secretRef: - name: "harbor-harbor-harbor-core" - env: - - name: CORE_SECRET - valueFrom: - secretKeyRef: - name: harbor-harbor-harbor-core - key: secret - - name: JOBSERVICE_SECRET - valueFrom: - secretKeyRef: - name: "harbor-harbor-harbor-jobservice" - key: JOBSERVICE_SECRET - ports: - - containerPort: 8080 - volumeMounts: - - name: config - mountPath: /etc/core/app.conf - subPath: app.conf - - name: secret-key - mountPath: /etc/core/key - subPath: key - - name: token-service-private-key - mountPath: /etc/core/private_key.pem - subPath: tls.key - - name: ca-download - mountPath: /etc/core/ca - - name: psc - mountPath: /etc/core/token - resources: - requests: - memory: 64Mi - volumes: - - name: config - configMap: - name: harbor-harbor-harbor-core - items: - - key: app.conf - path: app.conf - - name: secret-key - secret: - secretName: harbor-harbor-harbor-core - items: - - key: secretKey - path: key - - name: token-service-private-key - secret: - secretName: harbor-harbor-harbor-core - - name: ca-download - secret: - - name: psc - emptyDir: {} - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: component - operator: In - values: - - core - - key: app - operator: In - values: - - harbor - topologyKey: kubernetes.io/hostname - priorityClassName: system-cluster-critical ---- -# Source: harbor/templates/exporter/exporter-dpl.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: harbor-harbor-harbor-exporter - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: exporter -spec: - replicas: 0 - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: exporter - template: - metadata: - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: exporter - annotations: - spec: - securityContext: - runAsUser: 10000 - fsGroup: 10000 - automountServiceAccountToken: false - containers: - - name: exporter - image: goharbor/harbor-exporter:v2.4.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: / - port: 8001 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - httpGet: - path: / - port: 8001 - initialDelaySeconds: 30 - periodSeconds: 10 - args: ["-log-level", "info"] - envFrom: - - configMapRef: - name: "harbor-harbor-harbor-exporter-env" - - secretRef: - name: "harbor-harbor-harbor-exporter" - ports: - - containerPort: 8080 - volumeMounts: - volumes: - - name: config - secret: - secretName: "harbor-harbor-harbor-exporter" ---- -# Source: harbor/templates/jobservice/jobservice-dpl.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: "harbor-harbor-harbor-jobservice" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: jobservice -spec: - replicas: 0 - strategy: - type: Recreate - rollingUpdate: null - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: jobservice - template: - metadata: - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: jobservice - annotations: - checksum/configmap: af6da052830476467f006a29d110274d1764756243b20e51aebdecd7d677b19a - checksum/configmap-env: ba3a529d03e0d0f9dbaab1bd37a3c43f3f914a0af9339b2c49311b37c7aec049 - checksum/secret: 86d4dd7172a17e4ee3a7b0d58930056a0787e6244e97ac6362a1434e96bffd64 - checksum/secret-core: 6f1def0912bfbb511b8d3ff055c3f95d998cd7e7c1432417b53cf5f4a4c289b5 - spec: - securityContext: - runAsUser: 10000 - fsGroup: 10000 - automountServiceAccountToken: false - terminationGracePeriodSeconds: 120 - containers: - - name: jobservice - image: goharbor/harbor-jobservice:v2.4.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /api/v1/stats - scheme: HTTP - port: 8080 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /api/v1/stats - scheme: HTTP - port: 8080 - initialDelaySeconds: 20 - periodSeconds: 10 - resources: - requests: - memory: 64Mi - env: - - name: CORE_SECRET - valueFrom: - secretKeyRef: - name: harbor-harbor-harbor-core - key: secret - envFrom: - - configMapRef: - name: "harbor-harbor-harbor-jobservice-env" - - secretRef: - name: "harbor-harbor-harbor-jobservice" - ports: - - containerPort: 8080 - volumeMounts: - - name: jobservice-config - mountPath: /etc/jobservice/config.yml - subPath: config.yml - - name: job-logs - mountPath: /var/log/jobs - subPath: - volumes: - - name: jobservice-config - configMap: - name: "harbor-harbor-harbor-jobservice" - - name: job-logs - emptyDir: {} ---- -# Source: harbor/templates/portal/deployment.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: "harbor-harbor-harbor-portal" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: portal -spec: - replicas: 0 - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: portal - template: - metadata: - labels: - release: harbor-harbor - app: "harbor" - component: portal - annotations: - spec: - securityContext: - runAsUser: 10000 - fsGroup: 10000 - automountServiceAccountToken: false - containers: - - name: portal - image: goharbor/harbor-portal:v2.4.1 - imagePullPolicy: IfNotPresent - resources: - requests: - memory: 64Mi - livenessProbe: - httpGet: - path: / - scheme: HTTP - port: 8080 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - httpGet: - path: / - scheme: HTTP - port: 8080 - initialDelaySeconds: 1 - periodSeconds: 10 - ports: - - containerPort: 8080 - volumeMounts: - - name: portal-config - mountPath: /etc/nginx/nginx.conf - subPath: nginx.conf - volumes: - - name: portal-config - configMap: - name: "harbor-harbor-harbor-portal" - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: component - operator: In - values: - - portal - - key: app - operator: In - values: - - harbor - topologyKey: kubernetes.io/hostname - priorityClassName: system-cluster-critical ---- -# Source: harbor/templates/registry/registry-dpl.yaml -apiVersion: apps/v1 -kind: Deployment -metadata: - name: "harbor-harbor-harbor-registry" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: registry -spec: - replicas: 0 - strategy: - type: Recreate - rollingUpdate: null - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: registry - template: - metadata: - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: registry - annotations: - checksum/configmap: 9556d2769d48cf3b1a5b97cb95ab15a184e156c38d4d25f1b5b6290f36e3a592 - checksum/secret: fdbd36eee535adc702ff39bc7f483c5ce5e40ca5cd35bde8b83614383411efe8 - checksum/secret-jobservice: 2c9a6a2532bb1b532b831db3a7e3b562cdd2829abe94188f5eb3a3f8ab4908fc - checksum/secret-core: 6201925d9501d8469ca1fef56e13a62e76b0fc525761760aa1b1a4488d79a221 - spec: - securityContext: - runAsUser: 10000 - fsGroup: 10000 - automountServiceAccountToken: false - terminationGracePeriodSeconds: 120 - containers: - - name: registry - image: goharbor/registry-photon:v2.4.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: / - scheme: HTTP - port: 5000 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - httpGet: - path: / - scheme: HTTP - port: 5000 - initialDelaySeconds: 1 - periodSeconds: 10 - resources: - requests: - memory: 64Mi - args: ["serve", "/etc/registry/config.yml"] - envFrom: - - secretRef: - name: "harbor-harbor-harbor-registry" - env: - ports: - - containerPort: 5000 - - containerPort: 5001 - volumeMounts: - - name: registry-data - mountPath: /storage - subPath: - - name: registry-htpasswd - mountPath: /etc/registry/passwd - subPath: passwd - - name: registry-config - mountPath: /etc/registry/config.yml - subPath: config.yml - - name: registryctl - image: goharbor/harbor-registryctl:v2.4.1 - imagePullPolicy: IfNotPresent - livenessProbe: - httpGet: - path: /api/health - scheme: HTTP - port: 8080 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /api/health - scheme: HTTP - port: 8080 - initialDelaySeconds: 1 - periodSeconds: 10 - resources: - requests: - memory: 64Mi - envFrom: - - secretRef: - name: "harbor-harbor-harbor-registry" - env: - - name: CORE_SECRET - valueFrom: - secretKeyRef: - name: harbor-harbor-harbor-core - key: secret - - name: JOBSERVICE_SECRET - valueFrom: - secretKeyRef: - name: harbor-harbor-harbor-jobservice - key: JOBSERVICE_SECRET - ports: - - containerPort: 8080 - volumeMounts: - - name: registry-data - mountPath: /storage - subPath: - - name: registry-config - mountPath: /etc/registry/config.yml - subPath: config.yml - - name: registry-config - mountPath: /etc/registryctl/config.yml - subPath: ctl-config.yml - volumes: - - name: registry-htpasswd - secret: - secretName: harbor-harbor-harbor-registry-htpasswd - items: - - key: REGISTRY_HTPASSWD - path: passwd - - name: registry-config - configMap: - name: "harbor-harbor-harbor-registry" - - name: registry-data - emptyDir: {} - affinity: - podAntiAffinity: - requiredDuringSchedulingIgnoredDuringExecution: - - labelSelector: - matchExpressions: - - key: component - operator: In - values: - - registry - - key: app - operator: In - values: - - harbor - topologyKey: kubernetes.io/hostname - priorityClassName: system-cluster-critical ---- -# Source: harbor/templates/redis/statefulset.yaml -apiVersion: apps/v1 -kind: StatefulSet -metadata: - name: harbor-harbor-harbor-redis - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: redis -spec: - replicas: 0 - serviceName: harbor-harbor-harbor-redis - selector: - matchLabels: - release: harbor-harbor - app: "harbor" - component: redis - template: - metadata: - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - component: redis - spec: - securityContext: - runAsUser: 999 - fsGroup: 999 - automountServiceAccountToken: false - terminationGracePeriodSeconds: 120 - containers: - - name: redis - image: goharbor/redis-photon:v2.4.1 - imagePullPolicy: IfNotPresent - livenessProbe: - tcpSocket: - port: 6379 - initialDelaySeconds: 300 - periodSeconds: 10 - readinessProbe: - tcpSocket: - port: 6379 - initialDelaySeconds: 1 - periodSeconds: 10 - volumeMounts: - - name: data - mountPath: /var/lib/redis - subPath: - volumeClaimTemplates: - - metadata: - name: data - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - spec: - accessModes: ["ReadWriteOnce"] - resources: - requests: - storage: "1Gi" ---- -# Source: harbor/templates/ingress/ingress.yaml -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: "harbor-harbor-harbor-ingress" - labels: - heritage: Helm - release: harbor-harbor - chart: harbor - app: "harbor" - annotations: - cert-manager.io/cluster-issuer: letsencrypt - ingress.kubernetes.io/proxy-body-size: "0" - ingress.kubernetes.io/ssl-redirect: "true" - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" - nginx.ingress.kubernetes.io/proxy-body-size: "0" - nginx.ingress.kubernetes.io/ssl-redirect: "true" -spec: - tls: - - secretName: harbor-harbor-ingress - hosts: - - harbor.cluster.fun - - docker.cluster.fun - rules: - - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-portal - port: - number: 80 - - path: /api/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /service/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /v2 - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /chartrepo/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /c/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - host: harbor.cluster.fun - - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-portal - port: - number: 80 - - path: /api/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /service/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /v2 - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /chartrepo/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - - path: /c/ - pathType: Prefix - backend: - service: - name: harbor-harbor-harbor-core - port: - number: 80 - host: docker.cluster.fun diff --git a/manifests/link/link.yaml b/manifests/link/link.yaml index ca9fc1e..fe29660 100644 --- a/manifests/link/link.yaml +++ b/manifests/link/link.yaml @@ -67,7 +67,8 @@ metadata: namespace: link annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: tls: - hosts: diff --git a/manifests/qr/qr.yaml b/manifests/qr/qr.yaml index d372839..a63fa0f 100644 --- a/manifests/qr/qr.yaml +++ b/manifests/qr/qr.yaml @@ -47,9 +47,9 @@ metadata: namespace: qr annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - qr.cluster.fun diff --git a/manifests/qr/vpa.yaml b/manifests/qr/vpa.yaml deleted file mode 100644 index 15a9bab..0000000 --- a/manifests/qr/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: qr -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: qr - updatePolicy: - updateMode: "Auto" diff --git a/manifests/talks/talks.yaml b/manifests/talks/talks.yaml index dc7d024..36f02f1 100644 --- a/manifests/talks/talks.yaml +++ b/manifests/talks/talks.yaml @@ -47,9 +47,9 @@ metadata: namespace: talks annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - talks.marcusnoble.co.uk diff --git a/manifests/talks/vpa.yaml b/manifests/talks/vpa.yaml deleted file mode 100644 index 42a368e..0000000 --- a/manifests/talks/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: talks -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: talks - updatePolicy: - updateMode: "Auto" diff --git a/manifests/text-to-dxf/text-to-dxf.yaml b/manifests/text-to-dxf/text-to-dxf.yaml index 84a5bd3..96ccf74 100644 --- a/manifests/text-to-dxf/text-to-dxf.yaml +++ b/manifests/text-to-dxf/text-to-dxf.yaml @@ -45,7 +45,8 @@ metadata: namespace: text-to-dxf annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: tls: - hosts: diff --git a/manifests/text-to-dxf/vpa.yaml b/manifests/text-to-dxf/vpa.yaml deleted file mode 100644 index 6f05b07..0000000 --- a/manifests/text-to-dxf/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: text-to-dxf -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: text-to-dxf - updatePolicy: - updateMode: "Auto" diff --git a/manifests/til/til.yaml b/manifests/til/til.yaml index 44ab6c3..0766f03 100644 --- a/manifests/til/til.yaml +++ b/manifests/til/til.yaml @@ -47,9 +47,9 @@ metadata: namespace: til annotations: cert-manager.io/cluster-issuer: letsencrypt - nginx.ingress.kubernetes.io/force-ssl-redirect: "true" + kubernetes.io/ingress.class: traefik + traefik.ingress.kubernetes.io/router.tls: "true" spec: - ingressClassName: nginx tls: - hosts: - til.marcusnoble.co.uk diff --git a/manifests/til/vpa.yaml b/manifests/til/vpa.yaml deleted file mode 100644 index 8fc4f07..0000000 --- a/manifests/til/vpa.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: autoscaling.k8s.io/v1 -kind: VerticalPodAutoscaler -metadata: - name: til -spec: - targetRef: - apiVersion: "apps/v1" - kind: Deployment - name: til - updatePolicy: - updateMode: "Auto"