diff --git a/kubernetes/talos-flux/apps/devops/kustomization.yaml b/kubernetes/talos-flux/apps/devops/kustomization.yaml new file mode 100644 index 000000000..51fca068e --- /dev/null +++ b/kubernetes/talos-flux/apps/devops/kustomization.yaml @@ -0,0 +1,6 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - ./namespace.yaml diff --git a/kubernetes/talos-flux/apps/devops/namespace.yaml b/kubernetes/talos-flux/apps/devops/namespace.yaml new file mode 100644 index 000000000..5012274fb --- /dev/null +++ b/kubernetes/talos-flux/apps/devops/namespace.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: devops + labels: + kustomize.toolkit.fluxcd.io/prune: disabled diff --git a/kubernetes/talos-flux/apps/devops/tekton/flux-sync.yaml b/kubernetes/talos-flux/apps/devops/tekton/flux-sync.yaml new file mode 100644 index 000000000..9ce76b47e --- /dev/null +++ b/kubernetes/talos-flux/apps/devops/tekton/flux-sync.yaml @@ -0,0 +1,17 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/kustomization-kustomize-v1beta2.json +apiVersion: kustomize.toolkit.fluxcd.io/v1beta2 +kind: Kustomization +metadata: + name: tekton-pipeline + namespace: flux-system + labels: + substitution.flux.home.arpa/enabled: "true" +spec: + interval: 15m + path: ./kubernetes/talos-flux/apps/devops/tekton/pipeline + prune: true + sourceRef: + kind: GitRepository + name: home-ops + wait: true diff --git a/kubernetes/talos-flux/apps/devops/tekton/pipeline/helm-release.yaml b/kubernetes/talos-flux/apps/devops/tekton/pipeline/helm-release.yaml new file mode 100644 index 000000000..bc7dfd9a4 --- /dev/null +++ b/kubernetes/talos-flux/apps/devops/tekton/pipeline/helm-release.yaml @@ -0,0 +1,31 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrelease-helm-v2beta1.json +apiVersion: helm.toolkit.fluxcd.io/v2beta1 +kind: HelmRelease +metadata: + name: tekton-pipeline +spec: + interval: 15m + chart: + spec: + chart: tekton-pipeline + version: 1.0.2 + sourceRef: + kind: HelmRepository + name: cdfoundation-tekton-charts + namespace: flux-system + maxHistory: 15 + install: + createNamespace: true + crds: CreateReplace + remediation: + retries: 3 + upgrade: + cleanupOnFail: true + remediation: + retries: 3 + uninstall: + keepHistory: false + values: + # https://artifacthub.io/packages/helm/tekton/tekton-pipeline + # https://github.com/cdfoundation/tekton-helm-chart/tree/main/charts/tekton-pipeline diff --git a/kubernetes/talos-flux/apps/devops/tekton/pipeline/kustomization.yaml b/kubernetes/talos-flux/apps/devops/tekton/pipeline/kustomization.yaml new file mode 100644 index 000000000..85846493e --- /dev/null +++ b/kubernetes/talos-flux/apps/devops/tekton/pipeline/kustomization.yaml @@ -0,0 +1,10 @@ +--- +# yaml-language-server: $schema=https://json.schemastore.org/kustomization +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +namespace: devops +resources: + - ./helm-release.yaml +commonLabels: + app.kubernetes.io/name: tekton + app.kubernetes.io/instance: tekton diff --git a/kubernetes/talos-flux/flux/repositories/helm/cdfoundation-tekton-charts.yaml b/kubernetes/talos-flux/flux/repositories/helm/cdfoundation-tekton-charts.yaml new file mode 100644 index 000000000..fa8d2384b --- /dev/null +++ b/kubernetes/talos-flux/flux/repositories/helm/cdfoundation-tekton-charts.yaml @@ -0,0 +1,11 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/fluxcd-community/flux2-schemas/main/helmrepository-source-v1beta2.json +apiVersion: source.toolkit.fluxcd.io/v1beta2 +kind: HelmRepository +metadata: + name: cdfoundation-tekton-charts + namespace: flux-system +spec: + interval: 30m + url: https://cdfoundation.github.io/tekton-helm-chart/ + timeout: 3m