diff --git a/kubernetes/apps/flux-system/repositories/kustomization.yaml b/.archive/kubernetes/ngnode/kustomization.yaml similarity index 75% rename from kubernetes/apps/flux-system/repositories/kustomization.yaml rename to .archive/kubernetes/ngnode/kustomization.yaml index e9e749da6..267cd07d1 100644 --- a/kubernetes/apps/flux-system/repositories/kustomization.yaml +++ b/.archive/kubernetes/ngnode/kustomization.yaml @@ -2,5 +2,8 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization +components: + - ../../components/common resources: - - ./helm + - ./landing-page/ks.yaml + diff --git a/.archive/kubernetes/ngnode/landing-page/app-staging/helmrelease.yaml b/.archive/kubernetes/ngnode/landing-page/app-staging/helmrelease.yaml new file mode 100644 index 000000000..232cde8b8 --- /dev/null +++ b/.archive/kubernetes/ngnode/landing-page/app-staging/helmrelease.yaml @@ -0,0 +1,53 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json +apiVersion: helm.toolkit.fluxcd.io/v2beta2 +kind: HelmRelease +metadata: + name: &app ngnode-landing-page-staging +spec: + interval: 1h + chartRef: + kind: OCIRepository + name: app-template + install: + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + strategy: rollback + retries: 3 + values: + controllers: + ngnode-landing-page-staging: + containers: + app: + image: + repository: ghcr.io/ngnodehq/landing-page + tag: v0.1.2 + resources: + requests: + cpu: 5m + memory: 10Mi + limits: + memory: 400Mi + service: + app: + controller: *app + ports: + http: + port: 3000 + ingress: + app: + enabled: true + className: external + hosts: + - host: &host "{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}" + paths: + - path: / + service: + identifier: app + port: http + tls: + - hosts: + - *host diff --git a/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml b/.archive/kubernetes/ngnode/landing-page/app-staging/kustomization.yaml similarity index 50% rename from kubernetes/apps/flux-system/repositories/helm/kustomization.yaml rename to .archive/kubernetes/ngnode/landing-page/app-staging/kustomization.yaml index bc45dd5a3..2e933f55d 100644 --- a/kubernetes/apps/flux-system/repositories/helm/kustomization.yaml +++ b/.archive/kubernetes/ngnode/landing-page/app-staging/kustomization.yaml @@ -3,12 +3,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - - ./ingress-nginx.yaml - - ./jetstack.yaml - - ./k8s-gateway.yaml - - ./kyverno.yaml - - ./openebs.yaml - - ./postfinance.yaml - - ./prometheus-community.yaml - - ./rook-ceph.yaml - - ./stevehipwell.yaml + - ./helmrelease.yaml +generatorOptions: + disableNameSuffixHash: true diff --git a/.archive/kubernetes/ngnode/landing-page/app/helmrelease.yaml b/.archive/kubernetes/ngnode/landing-page/app/helmrelease.yaml new file mode 100644 index 000000000..9bb7a9938 --- /dev/null +++ b/.archive/kubernetes/ngnode/landing-page/app/helmrelease.yaml @@ -0,0 +1,65 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/bjw-s/helm-charts/main/charts/other/app-template/schemas/helmrelease-helm-v2.schema.json +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: &app ngnode-landing-page +spec: + interval: 1h + chartRef: + kind: OCIRepository + name: app-template + install: + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + strategy: rollback + retries: 3 + values: + controllers: + ngnode-landing-page: + containers: + app: + image: + repository: ghcr.io/ngnodehq/landing-page + tag: v0.1.4@sha256:87e6e0c73a0a97b1ad47d9d09d006c1b56257964561f2f47c9111f3cfb54399a + resources: + requests: + cpu: 5m + memory: 10Mi + limits: + memory: 400Mi + service: + app: + controller: *app + ports: + http: + port: 3000 + ingress: + app: + enabled: true + className: external + hosts: + - host: &host "{{ .Release.Name }}.${SECRET_EXTERNAL_DOMAIN}" + paths: + - path: / + service: + identifier: app + port: http + - host: www.ngnode.com + paths: + - path: / + service: + identifier: app + port: http + - host: ngnode.com + paths: + - path: / + service: + identifier: app + port: http + tls: + - hosts: + - *host diff --git a/.archive/kubernetes/ngnode/landing-page/app/kustomization.yaml b/.archive/kubernetes/ngnode/landing-page/app/kustomization.yaml new file mode 100644 index 000000000..2e933f55d --- /dev/null +++ b/.archive/kubernetes/ngnode/landing-page/app/kustomization.yaml @@ -0,0 +1,8 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/kustomization.json +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./helmrelease.yaml +generatorOptions: + disableNameSuffixHash: true diff --git a/.archive/kubernetes/ngnode/landing-page/ks.yaml b/.archive/kubernetes/ngnode/landing-page/ks.yaml new file mode 100644 index 000000000..d33c4cbc9 --- /dev/null +++ b/.archive/kubernetes/ngnode/landing-page/ks.yaml @@ -0,0 +1,50 @@ +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app ngnode-landing-page + namespace: flux-system +spec: + targetNamespace: ngnode + commonMetadata: + labels: + app.kubernetes.io/name: *app + + path: ./kubernetes/apps/ngnode/landing-page/app + prune: true + sourceRef: + kind: GitRepository + name: flux-system + wait: false + interval: 30m + retryInterval: 1m + timeout: 5m + postBuild: + substitute: + APP: *app +--- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/kustomize.toolkit.fluxcd.io/kustomization_v1.json +apiVersion: kustomize.toolkit.fluxcd.io/v1 +kind: Kustomization +metadata: + name: &app ngnode-landing-page-staging + namespace: flux-system +spec: + targetNamespace: ngnode + commonMetadata: + labels: + app.kubernetes.io/name: *app + + path: ./kubernetes/apps/ngnode/landing-page/app-staging + prune: true + sourceRef: + kind: GitRepository + name: flux-system + wait: false + interval: 30m + retryInterval: 1m + timeout: 5m + postBuild: + substitute: + APP: *app diff --git a/kubernetes/apps/flux-system/kustomization.yaml b/kubernetes/apps/flux-system/kustomization.yaml index d590c5225..8980ad798 100644 --- a/kubernetes/apps/flux-system/kustomization.yaml +++ b/kubernetes/apps/flux-system/kustomization.yaml @@ -7,4 +7,3 @@ kind: Kustomization resources: - ./flux-instance/ks.yaml - ./flux-operator/ks.yaml - - ./repositories diff --git a/kubernetes/apps/flux-system/repositories/helm/ingress-nginx.yaml b/kubernetes/apps/flux-system/repositories/helm/ingress-nginx.yaml deleted file mode 100644 index 7f6e9047d..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/ingress-nginx.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: ingress-nginx - namespace: flux-system -spec: - interval: 2h - url: https://kubernetes.github.io/ingress-nginx - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/jetstack.yaml b/kubernetes/apps/flux-system/repositories/helm/jetstack.yaml deleted file mode 100644 index 412798edf..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/jetstack.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: jetstack - namespace: flux-system -spec: - interval: 2h - url: https://charts.jetstack.io/ - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/k8s-gateway.yaml b/kubernetes/apps/flux-system/repositories/helm/k8s-gateway.yaml deleted file mode 100644 index f2d008cce..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/k8s-gateway.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: k8s-gateway - namespace: flux-system -spec: - interval: 2h - url: https://ori-edge.github.io/k8s_gateway diff --git a/kubernetes/apps/flux-system/repositories/helm/kyverno.yaml b/kubernetes/apps/flux-system/repositories/helm/kyverno.yaml deleted file mode 100644 index b86efb0a7..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/kyverno.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: kyverno - namespace: flux-system -spec: - type: oci - interval: 5m - url: oci://ghcr.io/kyverno/charts diff --git a/kubernetes/apps/flux-system/repositories/helm/openebs.yaml b/kubernetes/apps/flux-system/repositories/helm/openebs.yaml deleted file mode 100644 index fc55f2647..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/openebs.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1beta2.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: openebs - namespace: flux-system -spec: - interval: 2h - url: https://openebs.github.io/openebs \ No newline at end of file diff --git a/kubernetes/apps/flux-system/repositories/helm/postfinance.yaml b/kubernetes/apps/flux-system/repositories/helm/postfinance.yaml deleted file mode 100644 index 015568bfc..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/postfinance.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: postfinance - namespace: flux-system -spec: - interval: 2h - url: https://postfinance.github.io/kubelet-csr-approver diff --git a/kubernetes/apps/flux-system/repositories/helm/prometheus-community.yaml b/kubernetes/apps/flux-system/repositories/helm/prometheus-community.yaml deleted file mode 100644 index 66178f7e9..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/prometheus-community.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: prometheus-community - namespace: flux-system -spec: - interval: 2h - url: https://prometheus-community.github.io/helm-charts - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/rook-ceph.yaml b/kubernetes/apps/flux-system/repositories/helm/rook-ceph.yaml deleted file mode 100644 index 325b4cd4e..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/rook-ceph.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: rook-ceph - namespace: flux-system -spec: - interval: 2h - url: https://charts.rook.io/release - timeout: 3m diff --git a/kubernetes/apps/flux-system/repositories/helm/stevehipwell.yaml b/kubernetes/apps/flux-system/repositories/helm/stevehipwell.yaml deleted file mode 100644 index 832684b77..000000000 --- a/kubernetes/apps/flux-system/repositories/helm/stevehipwell.yaml +++ /dev/null @@ -1,11 +0,0 @@ ---- -# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json -apiVersion: source.toolkit.fluxcd.io/v1 -kind: HelmRepository -metadata: - name: stevehipwell - namespace: flux-system -spec: - type: oci - interval: 5m - url: oci://ghcr.io/stevehipwell/helm-charts diff --git a/kubernetes/apps/kyverno/kyverno/app/helmrelease.yaml b/kubernetes/apps/kyverno/kyverno/app/helmrelease.yaml index de556fba2..8d665754b 100644 --- a/kubernetes/apps/kyverno/kyverno/app/helmrelease.yaml +++ b/kubernetes/apps/kyverno/kyverno/app/helmrelease.yaml @@ -1,26 +1,35 @@ --- +# yaml-language-server: $schema=https://schemas.budimanjojo.com/source.toolkit.fluxcd.io/ocirepository_v1beta2.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: OCIRepository +metadata: + name: kyverno +spec: + interval: 30m + timeout: 60s + url: oci://ghcr.io/kyverno/charts/kyverno + ref: + tag: 3.4.4 + layerSelector: + mediaType: application/vnd.cncf.helm.chart.content.v1.tar+gzip + operation: copy +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease metadata: name: &app kyverno spec: - interval: 30m - chart: - spec: - chart: kyverno - version: 3.4.4 - sourceRef: - kind: HelmRepository - name: kyverno - namespace: flux-system + interval: 1h + chartRef: + kind: OCIRepository + name: kyverno install: remediation: - retries: 3 + retries: -1 upgrade: cleanupOnFail: true remediation: - strategy: rollback retries: 3 values: crds: diff --git a/kubernetes/apps/network/k8s-gateway/app/helmrelease.yaml b/kubernetes/apps/network/k8s-gateway/app/helmrelease.yaml index aa47ee9db..7ff5d716f 100644 --- a/kubernetes/apps/network/k8s-gateway/app/helmrelease.yaml +++ b/kubernetes/apps/network/k8s-gateway/app/helmrelease.yaml @@ -1,4 +1,14 @@ --- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrepository-source-v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: k8s-gateway + namespace: network # Required for Renovate lookups +spec: + interval: 1h + url: https://ori-edge.github.io/k8s_gateway +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease diff --git a/kubernetes/apps/network/nginx/external/helmrelease.yaml b/kubernetes/apps/network/nginx/external/helmrelease.yaml index 4021747e2..b16a0c151 100644 --- a/kubernetes/apps/network/nginx/external/helmrelease.yaml +++ b/kubernetes/apps/network/nginx/external/helmrelease.yaml @@ -13,7 +13,6 @@ spec: sourceRef: kind: HelmRepository name: ingress-nginx - namespace: flux-system install: remediation: retries: 3 diff --git a/kubernetes/apps/network/nginx/internal/helmrelease.yaml b/kubernetes/apps/network/nginx/internal/helmrelease.yaml index 4e807376b..da84e9696 100644 --- a/kubernetes/apps/network/nginx/internal/helmrelease.yaml +++ b/kubernetes/apps/network/nginx/internal/helmrelease.yaml @@ -1,4 +1,14 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: ingress-nginx +spec: + interval: 2h + url: https://kubernetes.github.io/ingress-nginx + timeout: 3m +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -13,7 +23,6 @@ spec: sourceRef: kind: HelmRepository name: ingress-nginx - namespace: flux-system install: remediation: retries: 3 diff --git a/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml b/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml index d4841133e..59955db4a 100644 --- a/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml +++ b/kubernetes/apps/observability/kube-prometheus-stack/app/helmrelease.yaml @@ -13,7 +13,6 @@ spec: sourceRef: kind: HelmRepository name: prometheus-community - namespace: flux-system interval: 5m install: crds: Skip diff --git a/kubernetes/apps/observability/kube-prometheus-stack/crds/helmrelease.yaml b/kubernetes/apps/observability/kube-prometheus-stack/crds/helmrelease.yaml index 1a86fd86a..b09c57732 100644 --- a/kubernetes/apps/observability/kube-prometheus-stack/crds/helmrelease.yaml +++ b/kubernetes/apps/observability/kube-prometheus-stack/crds/helmrelease.yaml @@ -1,4 +1,15 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: prometheus-community + namespace: flux-system +spec: + interval: 2h + url: https://prometheus-community.github.io/helm-charts + timeout: 3m +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -13,7 +24,6 @@ spec: sourceRef: kind: HelmRepository name: prometheus-community - namespace: flux-system install: remediation: retries: 3 diff --git a/kubernetes/apps/openebs-system/openebs/app/helmrelease.yaml b/kubernetes/apps/openebs-system/openebs/app/helmrelease.yaml index 822c903a2..1790dae77 100644 --- a/kubernetes/apps/openebs-system/openebs/app/helmrelease.yaml +++ b/kubernetes/apps/openebs-system/openebs/app/helmrelease.yaml @@ -1,4 +1,13 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1beta2.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: openebs +spec: + interval: 2h + url: https://openebs.github.io/openebs +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -13,7 +22,6 @@ spec: sourceRef: kind: HelmRepository name: openebs - namespace: flux-system install: remediation: retries: 3 diff --git a/kubernetes/apps/rook-ceph/rook-ceph/app/helmrelease.yaml b/kubernetes/apps/rook-ceph/rook-ceph/app/helmrelease.yaml index aa6c1ae7d..9bf10a051 100644 --- a/kubernetes/apps/rook-ceph/rook-ceph/app/helmrelease.yaml +++ b/kubernetes/apps/rook-ceph/rook-ceph/app/helmrelease.yaml @@ -1,4 +1,14 @@ --- +# yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/source.toolkit.fluxcd.io/helmrepository_v1.json +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: rook-ceph +spec: + interval: 2h + url: https://charts.rook.io/release + timeout: 3m +--- # yaml-language-server: $schema=https://kubernetes-schemas.pages.dev/helm.toolkit.fluxcd.io/helmrelease_v2.json apiVersion: helm.toolkit.fluxcd.io/v2 kind: HelmRelease @@ -13,7 +23,6 @@ spec: sourceRef: kind: HelmRepository name: rook-ceph - namespace: flux-system maxHistory: 2 install: createNamespace: true