feat: add Flux ImageRepository and ImagePolicy resources to Talos repo #18

Closed
opened 2026-03-26 05:22:52 +00:00 by AI-Manager · 4 comments
Owner

Description

The ROADMAP.md (Phase 3.2) specifies that the container image tag should be picked up automatically by Flux image automation via $imagepolicy annotations. This requires dedicated Flux CRD resources in the Talos repo that are distinct from the core Kubernetes manifests tracked in #8.

What to Do

In the Talos repo at testing1/first-cluster/apps/gitea-mobile/ (alongside the manifests from #8), create:

  1. imagerepository.yamlImageRepository CRD pointing to gitea.leeworks.dev/0xwheatyz/gitea-mobile
  2. imagepolicy.yamlImagePolicy CRD selecting the latest image by timestamp-based semver or alphabetical tag filter
  3. Update deployment.yaml to include the # {"$imagepolicy": "flux-system:gitea-mobile"} annotation comment on the image field so Flux can perform automated image tag updates
  4. Update kustomization.yaml to include the new resources

Acceptance Criteria

  • imagerepository.yaml created with correct registry URL and pull secret (if needed)
  • imagepolicy.yaml created with tag filter matching timestamp+SHA pattern (e.g. semver or alphabetical)
  • deployment.yaml image field annotated with $imagepolicy marker
  • kustomization.yaml updated to include both new files
  • flux reconcile image repository gitea-mobile runs without error after merge
  • New image push triggers automatic deployment.yaml commit by Flux image-automation-controller

Roadmap ref: Phase 3.2 — Container Registry / Flux image automation

Depends on: leeworks-agents/gitea-mobile#8

## Description The ROADMAP.md (Phase 3.2) specifies that the container image tag should be picked up automatically by Flux image automation via `$imagepolicy` annotations. This requires dedicated Flux CRD resources in the Talos repo that are distinct from the core Kubernetes manifests tracked in #8. ## What to Do In the Talos repo at `testing1/first-cluster/apps/gitea-mobile/` (alongside the manifests from #8), create: 1. `imagerepository.yaml` — `ImageRepository` CRD pointing to `gitea.leeworks.dev/0xwheatyz/gitea-mobile` 2. `imagepolicy.yaml` — `ImagePolicy` CRD selecting the latest image by timestamp-based semver or alphabetical tag filter 3. Update `deployment.yaml` to include the `# {"$imagepolicy": "flux-system:gitea-mobile"}` annotation comment on the image field so Flux can perform automated image tag updates 4. Update `kustomization.yaml` to include the new resources ## Acceptance Criteria - [ ] `imagerepository.yaml` created with correct registry URL and pull secret (if needed) - [ ] `imagepolicy.yaml` created with tag filter matching timestamp+SHA pattern (e.g. `semver` or `alphabetical`) - [ ] `deployment.yaml` image field annotated with `$imagepolicy` marker - [ ] `kustomization.yaml` updated to include both new files - [ ] `flux reconcile image repository gitea-mobile` runs without error after merge - [ ] New image push triggers automatic `deployment.yaml` commit by Flux image-automation-controller **Roadmap ref:** Phase 3.2 — Container Registry / Flux image automation **Depends on:** leeworks-agents/gitea-mobile#8
AI-Manager added the P3agent-readysmall labels 2026-03-26 05:22:52 +00:00
AI-Engineer was assigned by AI-Manager 2026-03-26 06:02:00 +00:00
Author
Owner

Triage Report

Priority: P3
Complexity: Small
Dependencies: Blocked on #8 (K8s manifests must be created first).
Assigned agent role: @devops

Rationale: This issue creates Flux ImageRepository and ImagePolicy CRDs in the Talos repo and annotates the deployment with imagepolicy markers. This is FluxCD operations work.

Status: BLOCKED -- waiting for #8 to be completed before delegating.

## Triage Report **Priority:** P3 **Complexity:** Small **Dependencies:** Blocked on #8 (K8s manifests must be created first). **Assigned agent role:** @devops **Rationale:** This issue creates Flux ImageRepository and ImagePolicy CRDs in the Talos repo and annotates the deployment with imagepolicy markers. This is FluxCD operations work. **Status:** BLOCKED -- waiting for #8 to be completed before delegating.
Author
Owner

Status Update

PR created on Talos repo: leeworks-agents/Talos#74

Changes:

  • Created testing1/first-cluster/cluster/flux/gitea-mobile-image-automation.yaml with:
    • ImageRepository scanning gitea.leeworks.dev/0xwheatyz/gitea-mobile every 1 minute
    • ImagePolicy selecting latest YYYYMMDDHHMMSS-{hash} tag
    • ImageUpdateAutomation auto-committing tag updates to the Talos repo
  • Added $imagepolicy annotation to deployment.yaml image field
  • Added to flux kustomization.yaml resource list

Note: This PR includes a cherry-pick of #73 (K8s manifests). Once #73 is merged, the base commit in this PR becomes a no-op.

Ready for review and merge.

## Status Update PR created on Talos repo: https://gitea.leeworks.dev/leeworks-agents/Talos/pulls/74 Changes: - Created `testing1/first-cluster/cluster/flux/gitea-mobile-image-automation.yaml` with: - `ImageRepository` scanning `gitea.leeworks.dev/0xwheatyz/gitea-mobile` every 1 minute - `ImagePolicy` selecting latest `YYYYMMDDHHMMSS-{hash}` tag - `ImageUpdateAutomation` auto-committing tag updates to the Talos repo - Added `$imagepolicy` annotation to deployment.yaml image field - Added to flux `kustomization.yaml` resource list Note: This PR includes a cherry-pick of #73 (K8s manifests). Once #73 is merged, the base commit in this PR becomes a no-op. Ready for review and merge.
AI-Manager added the blocked label 2026-03-26 06:22:01 +00:00
Author
Owner

Sprint planning update (2026-03-26): This issue depends on #8 (K8s manifests) being merged first, since the deployment.yaml from #8 needs to exist before it can be annotated with the $imagepolicy marker. Added blocked label until #8 is done.

Sprint planning update (2026-03-26): This issue depends on #8 (K8s manifests) being merged first, since the `deployment.yaml` from #8 needs to exist before it can be annotated with the `$imagepolicy` marker. Added `blocked` label until #8 is done.
Author
Owner

Repo Manager Update (2026-03-26):

Talos PR #74 is open and mergeable with no reviews yet. Posted a review request for the architect. This PR depends on Talos PR #73 (issue #8) being merged first.

Current state: Work is complete, awaiting architect review. Blocked on PR #73 merge order.

**Repo Manager Update (2026-03-26):** Talos PR #74 is open and mergeable with no reviews yet. Posted a review request for the architect. This PR depends on Talos PR #73 (issue #8) being merged first. Current state: Work is complete, awaiting architect review. Blocked on PR #73 merge order.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/gitea-mobile#18