diff --git a/apps/nxtgauge-admin-solid/overlays/prod/release-patch.yaml b/apps/nxtgauge-admin-solid/overlays/prod/release-patch.yaml index a9ff404..18158ae 100644 --- a/apps/nxtgauge-admin-solid/overlays/prod/release-patch.yaml +++ b/apps/nxtgauge-admin-solid/overlays/prod/release-patch.yaml @@ -9,4 +9,4 @@ spec: spec: containers: - name: admin-solid - image: ci.nxtgauge.com/ashwin/nxtgauge-admin-solid@sha256:422bd8905414e39197611951833555a6e8883326168cff04fa54ca1aff05b9e0 + image: ci.nxtgauge.com/ashwin/nxtgauge-admin-solid:latest # {"$imagepolicy": "flux-system:nxtgauge-admin-solid"} diff --git a/apps/nxtgauge-ai-assistant/overlays/prod/release-patch.yaml b/apps/nxtgauge-ai-assistant/overlays/prod/release-patch.yaml index 3cd17df..a94ffc9 100644 --- a/apps/nxtgauge-ai-assistant/overlays/prod/release-patch.yaml +++ b/apps/nxtgauge-ai-assistant/overlays/prod/release-patch.yaml @@ -8,4 +8,4 @@ spec: spec: containers: - name: ai-assistant - image: ci.nxtgauge.com/ashwin/nxtgauge-ai-assistant@sha256:0984e4753a33f78a70a26af806715dbde7cf9ba2cc076827f306ae842246885d + image: ci.nxtgauge.com/ashwin/nxtgauge-ai-assistant:latest # {"$imagepolicy": "flux-system:nxtgauge-ai-assistant"} diff --git a/apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml b/apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml index a3bfc52..c80dccf 100644 --- a/apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml +++ b/apps/nxtgauge-backend-rust/overlays/prod/release-patches.yaml @@ -1,3 +1,7 @@ +# This file is auto-generated by Flux Image Automation using Setters strategy +# Each image has a marker comment that Flux uses to update the image reference +# Format: # {"$imagepolicy": "flux-system:"} + apiVersion: apps/v1 kind: Deployment metadata: @@ -8,7 +12,7 @@ spec: spec: containers: - name: gateway - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-gateway@sha256:72cb68a09d274bf90c469fb2f1b22aaa25614a2568cb05fc8d3733970adfa199 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-gateway:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-gateway"} --- apiVersion: apps/v1 kind: Deployment @@ -20,7 +24,7 @@ spec: spec: containers: - name: users - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-users@sha256:b85b22f97e4eb8a8f26418a16e8440b230cd34da3127544a5cdea563469f36a6 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-users:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-users"} --- apiVersion: apps/v1 kind: Deployment @@ -32,7 +36,7 @@ spec: spec: containers: - name: companies - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-companies@sha256:4f862d428967ff851ce70f6168c64f28d39c4385ab2c30388bd8774ed32b4e54 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-companies:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-companies"} --- apiVersion: apps/v1 kind: Deployment @@ -44,7 +48,7 @@ spec: spec: containers: - name: jobs - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-jobs@sha256:cf448649b2109945c5f700da73d6d18ac92973fd12ea22d12c85c4305de5b056 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-jobs:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-jobs"} --- apiVersion: apps/v1 kind: Deployment @@ -56,7 +60,7 @@ spec: spec: containers: - name: leads - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-leads@sha256:ee29fff28f07733c6b242992cb5fe1d4fcf318c848e424a569776307ae2c3905 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-leads:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-leads"} --- apiVersion: apps/v1 kind: Deployment @@ -68,7 +72,7 @@ spec: spec: containers: - name: job-seekers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-job-seekers@sha256:03811cd91310dc3f6ccba1cf7b912021671cf2f384325f7f40ea2de60481be56 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-job-seekers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-job-seekers"} --- apiVersion: apps/v1 kind: Deployment @@ -80,7 +84,7 @@ spec: spec: containers: - name: customers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-customers@sha256:5997568995f6d4b4de2b65f89146b08df862fcb23c1661ea8f25599fdb43767a + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-customers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-customers"} --- apiVersion: apps/v1 kind: Deployment @@ -92,7 +96,7 @@ spec: spec: containers: - name: payments - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-payments@sha256:60fcee20024d8a661d59f2b8c86093a2f24e07aca7f70e6d2992f829c3754810 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-payments:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-payments"} --- apiVersion: apps/v1 kind: Deployment @@ -104,7 +108,7 @@ spec: spec: containers: - name: employees - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-employees@sha256:ed0764db94c85288f10068692fe2fb5cc79c489c8ba68382e400274baf3f1d97 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-employees:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-employees"} --- apiVersion: apps/v1 kind: Deployment @@ -116,7 +120,7 @@ spec: spec: containers: - name: photographers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-photographers@sha256:9c48649cb16ed13f041945c63cdb7e7aa052bc78a77842a4224a759e3d0e4802 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-photographers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-photographers"} --- apiVersion: apps/v1 kind: Deployment @@ -128,7 +132,7 @@ spec: spec: containers: - name: makeup-artists - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-makeup-artists@sha256:6ea67545b341afaf2c8b900c86c7fc0678ed35378548db2adcdb786d6b146700 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-makeup-artists:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-makeup-artists"} --- apiVersion: apps/v1 kind: Deployment @@ -140,7 +144,7 @@ spec: spec: containers: - name: tutors - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-tutors@sha256:57fe8dccfb95e8f5f639ceea08615115a07bd7f92e6063750b10504b7c6a1796 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-tutors:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-tutors"} --- apiVersion: apps/v1 kind: Deployment @@ -152,7 +156,7 @@ spec: spec: containers: - name: developers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-developers@sha256:c9f1fcf7b238d7461d65f43013aa730c1241dafc290e2b0788fbe296db7f32a5 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-developers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-developers"} --- apiVersion: apps/v1 kind: Deployment @@ -164,7 +168,7 @@ spec: spec: containers: - name: video-editors - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-video-editors@sha256:74b83f28c69c25aae63ab77627a9c7317b0a9e08009cf3f14bb32b8ef87cc067 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-video-editors:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-video-editors"} --- apiVersion: apps/v1 kind: Deployment @@ -176,7 +180,7 @@ spec: spec: containers: - name: graphic-designers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-graphic-designers@sha256:72ea467f583678abc9049c415a66686e797059cded0f7abdea77cb5767ba5f0e + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-graphic-designers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-graphic-designers"} --- apiVersion: apps/v1 kind: Deployment @@ -188,7 +192,7 @@ spec: spec: containers: - name: social-media-managers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-social-media-managers@sha256:6719a9e6f7322c055514fa451889d5a3ee128e6cd3e1bc2e22f671ef2316501f + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-social-media-managers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-social-media-managers"} --- apiVersion: apps/v1 kind: Deployment @@ -200,7 +204,7 @@ spec: spec: containers: - name: fitness-trainers - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-fitness-trainers@sha256:9b14c942aed60ecf9b6d0aaaa448e39fcc571ce7991e65b835103e9aceaba4de + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-fitness-trainers:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-fitness-trainers"} --- apiVersion: apps/v1 kind: Deployment @@ -212,7 +216,7 @@ spec: spec: containers: - name: catering-services - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-catering-services@sha256:f7982fd00da7ed42956d95f7299283dd295b00c722571d15febc84d37e724a51 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-catering-services:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-catering-services"} --- apiVersion: apps/v1 kind: Deployment @@ -224,7 +228,7 @@ spec: spec: containers: - name: ugc-content-creators - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-ugc-content-creators@sha256:986e59b8668e2557b15816efe0fcec56c45b8179cdf0f796fb8451183d4a0dd4 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-ugc-content-creators:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-ugc-content-creators"} --- apiVersion: apps/v1 kind: Deployment @@ -236,4 +240,4 @@ spec: spec: containers: - name: cron - image: ci.nxtgauge.com/ashwin/nxtgauge-rust-cron@sha256:a6edabdf0b7d0eb9d01382409e7e9dca8c539bb669680a6df265847fa53961a2 + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-cron:latest # {"$imagepolicy": "flux-system:nxtgauge-rust-cron"} diff --git a/apps/nxtgauge-frontend-solid/overlays/prod/release-patch.yaml b/apps/nxtgauge-frontend-solid/overlays/prod/release-patch.yaml index e72ba1f..c4cb700 100644 --- a/apps/nxtgauge-frontend-solid/overlays/prod/release-patch.yaml +++ b/apps/nxtgauge-frontend-solid/overlays/prod/release-patch.yaml @@ -9,4 +9,4 @@ spec: spec: containers: - name: frontend-solid - image: ci.nxtgauge.com/ashwin/nxtgauge-frontend-solid@sha256:a6512db65a32b513d3901e56a1470b29208a2ac6b92419e152c0652954d2d270 + image: ci.nxtgauge.com/ashwin/nxtgauge-frontend-solid:latest # {"$imagepolicy": "flux-system:nxtgauge-frontend-solid"} diff --git a/clusters/production/flux-system/nxtgauge-apps-image-automation.yaml b/clusters/production/flux-system/nxtgauge-apps-image-automation.yaml new file mode 100644 index 0000000..9bfc6b3 --- /dev/null +++ b/clusters/production/flux-system/nxtgauge-apps-image-automation.yaml @@ -0,0 +1,113 @@ +# Flux Image Automation for NXTgauge Apps (Admin, Frontend, AI Assistant) +# Watches ci.nxtgauge.com/ashwin/* registry for new images + +# Admin Solid +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-admin-solid + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-admin-solid + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-admin-solid + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-admin-solid + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Frontend Solid +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-frontend-solid + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-frontend-solid + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-frontend-solid + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-frontend-solid + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# AI Assistant +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-ai-assistant + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-ai-assistant + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-ai-assistant + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-ai-assistant + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Image Update Automation for Apps +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageUpdateAutomation +metadata: + name: nxtgauge-apps + namespace: flux-system +spec: + interval: 2m0s + sourceRef: + kind: GitRepository + name: flux-system + git: + checkout: + ref: + branch: main + commit: + author: + email: fluxcdbot@nxtgauge.com + name: FluxCD Image Automation + messageTemplate: | + chore(gitops): update nxtgauge app images + + Images updated: {{range .Updated.Images}}{{println .}}{{end}} + push: + branch: main + update: + path: ./apps + strategy: Setters diff --git a/clusters/production/flux-system/nxtgauge-backend-rust-image-automation.yaml b/clusters/production/flux-system/nxtgauge-backend-rust-image-automation.yaml new file mode 100644 index 0000000..44b9f28 --- /dev/null +++ b/clusters/production/flux-system/nxtgauge-backend-rust-image-automation.yaml @@ -0,0 +1,572 @@ +# Flux Image Automation for NXTgauge Backend Rust Services +# Watches ci.nxtgauge.com/ashwin/* registry for new images + +# Gateway Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-gateway + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-gateway + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-gateway + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-gateway + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Users Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-users + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-users + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-users + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-users + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Companies Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-companies + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-companies + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-companies + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-companies + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Jobs Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-jobs + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-jobs + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-jobs + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-jobs + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Leads Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-leads + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-leads + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-leads + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-leads + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Job Seekers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-job-seekers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-job-seekers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-job-seekers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-job-seekers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Customers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-customers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-customers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-customers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-customers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Payments Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-payments + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-payments + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-payments + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-payments + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Employees Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-employees + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-employees + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-employees + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-employees + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Photographers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-photographers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-photographers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-photographers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-photographers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Makeup Artists Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-makeup-artists + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-makeup-artists + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-makeup-artists + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-makeup-artists + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Tutors Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-tutors + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-tutors + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-tutors + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-tutors + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Developers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-developers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-developers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-developers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-developers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Video Editors Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-video-editors + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-video-editors + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-video-editors + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-video-editors + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Graphic Designers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-graphic-designers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-graphic-designers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-graphic-designers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-graphic-designers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Social Media Managers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-social-media-managers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-social-media-managers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-social-media-managers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-social-media-managers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Fitness Trainers Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-fitness-trainers + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-fitness-trainers + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-fitness-trainers + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-fitness-trainers + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Catering Services Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-catering-services + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-catering-services + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-catering-services + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-catering-services + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# UGC Content Creators Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-ugc-content-creators + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-ugc-content-creators + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-ugc-content-creators + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-ugc-content-creators + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Cron Service +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageRepository +metadata: + name: nxtgauge-rust-cron + namespace: flux-system +spec: + image: ci.nxtgauge.com/ashwin/nxtgauge-rust-cron + interval: 1m0s + secretRef: + name: forgejo-regcred +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImagePolicy +metadata: + name: nxtgauge-rust-cron + namespace: flux-system +spec: + imageRepositoryRef: + name: nxtgauge-rust-cron + filterTags: + pattern: '^[a-f0-9]{40}$' + policy: + alphabetical: + order: asc + +# Image Update Automation +--- +apiVersion: image.toolkit.fluxcd.io/v1beta2 +kind: ImageUpdateAutomation +metadata: + name: nxtgauge-backend-rust + namespace: flux-system +spec: + interval: 2m0s + sourceRef: + kind: GitRepository + name: flux-system + git: + checkout: + ref: + branch: main + commit: + author: + email: fluxcdbot@nxtgauge.com + name: FluxCD Image Automation + messageTemplate: | + chore(gitops): update backend-rust images + + Images updated: {{range .Updated.Images}}{{println .}}{{end}} + push: + branch: main + update: + path: ./apps/nxtgauge-backend-rust/overlays/prod + strategy: Setters