ROOT CAUSE: - Previous Application pointed to storage bucket (not valid ArgoCD source) - ArgoCD couldn't sync manifests from non-git/non-helm source - tektoncd/operator is the official way to install Tekton SOLUTION: - Switch to tektoncd/operator repository - Use operator's config/install path (contains release manifests) - Proper GitOps flow: ArgoCD watches operator repo → syncs manifests → K8s reconciles BENEFITS: ✓ Official Tekton approach ✓ Proper K8s Operator pattern ✓ ArgoCD-compatible (git source) ✓ Automatic updates from upstream ✓ Full GitOps workflow
51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
apiVersion: argoproj.io/v1alpha1
|
|
kind: Application
|
|
metadata:
|
|
name: tekton-pipelines
|
|
namespace: argocd
|
|
labels:
|
|
app.kubernetes.io/name: tekton-pipelines
|
|
app.kubernetes.io/part-of: homelab-infra
|
|
wave: "06"
|
|
spec:
|
|
project: homelab
|
|
|
|
source:
|
|
# tektoncd/operator is the official Kubernetes Operator for Tekton
|
|
# It manages the lifecycle of Tekton Pipelines installation
|
|
# Source: https://github.com/tektoncd/operator
|
|
repoURL: https://github.com/tektoncd/operator.git
|
|
targetRevision: main
|
|
# The operator's config directory contains the latest release manifests
|
|
path: config/install
|
|
|
|
destination:
|
|
server: https://kubernetes.default.svc
|
|
namespace: tekton-pipelines
|
|
|
|
syncPolicy:
|
|
automated:
|
|
prune: true
|
|
selfHeal: true
|
|
syncOptions:
|
|
- CreateNamespace=true
|
|
- Validate=false
|
|
- RespectIgnoreDifferences=true
|
|
retry:
|
|
limit: 5
|
|
backoff:
|
|
duration: 5s
|
|
factor: 2
|
|
maxDuration: 3m
|
|
|
|
ignoreDifferences:
|
|
# Ignore webhook certificate changes (managed by cert-manager)
|
|
- group: admissionregistration.k8s.io
|
|
kind: ValidatingWebhookConfiguration
|
|
jsonPointers:
|
|
- /webhooks/0/clientConfig/caBundle
|
|
- group: admissionregistration.k8s.io
|
|
kind: MutatingWebhookConfiguration
|
|
jsonPointers:
|
|
- /webhooks/0/clientConfig/caBundle
|