# Flux Specific manifests for image reconciliation apiVersion: image.toolkit.fluxcd.io/v1alpha1 kind: ImageRepository metadata: name: sample-app namespace: flux-system spec: image: 650470201566.dkr.ecr.us-east-1.amazonaws.com/sample-app interval: 1m0s --- # Then, use the CRD ImagePolicy to specify which version you want to track. apiVersion: image.toolkit.fluxcd.io/v1alpha1 kind: ImagePolicy metadata: name: sample-app namespace: flux-system spec: imageRepositoryRef: name: sample-app # Reference from above manifest policy: semver: range: 1.x.x --- apiVersion: image.toolkit.fluxcd.io/v1beta1 kind: ImageUpdateAutomation metadata: name: flux-system namespace: flux-system spec: interval: 1m0s sourceRef: kind: GitRepository name: flux-system git: checkout: ref: branch: main commit: author: email: fluxcdbot@users.noreply.github.com name: fluxcdbot messageTemplate: '{{range .Updated.Images}}{{println .}}{{end}}' push: branch: main update: path: ./apps strategy: Setters --- # Application Specific manifests apiVersion: v1 kind: Namespace metadata: name: sample-app --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: sample-app name: sample-app namespace: sample-app spec: replicas: 3 selector: matchLabels: app: sample-app strategy: type: RollingUpdate rollingUpdate: maxSurge: 2 maxUnavailable: 0 template: metadata: labels: app: sample-app spec: containers: - image: 650470201566.dkr.ecr.us-east-1.amazonaws.com/sample-app:1.5.3 # {"$imagepolicy": "flux-system:sample-app"} name: sample-app env: - name: AMBIENTE value: PRD ports: - containerPort: 8080 resources: requests: memory: "256Mi" cpu: "256m" limits: memory: "512Mi" cpu: "512m" --- apiVersion: v1 kind: Service metadata: labels: app: sample-app name: sample-app namespace: sample-app spec: ports: - port: 80 protocol: TCP targetPort: 8080 selector: app: sample-app type: LoadBalancer