What problem are you trying to solve?
My flux setup uses ArtifactGenerator to create ExternalArtifact resources. Here is my setup:
---
apiVersion: source.extensions.fluxcd.io/v1beta1
kind: ArtifactGenerator
metadata:
name: flux-system
namespace: flux-system
spec:
sources:
- alias: monorepo
kind: GitRepository
name: flux-system
artifacts:
- name: infrastructure
originRevision: "@monorepo"
copy:
- from: "@monorepo/kubernetes/infrastructure/base/**"
to: "@artifact/base/"
- from: "@monorepo/kubernetes/infrastructure/desk8s/**"
to: "@artifact/desk8s/"
I created this to have much shorter paths in all of my config files. Flux reconciles this to an ExternalArtifact within my cluster, for instance:
apiVersion: source.toolkit.fluxcd.io/v1
kind: ExternalArtifact
metadata:
creationTimestamp: "2026-07-20T10:10:52Z"
generation: 1
labels:
app.kubernetes.io/managed-by: source-watcher
source.extensions.fluxcd.io/generator: b5062abe-a949-4f1d-9bbb-7ff8cb83112a
name: infrastructure
namespace: flux-system
resourceVersion: "250754237"
uid: e79f0af9-9ee3-49a5-b86a-0d6d2f7eb799
spec:
sourceRef:
apiVersion: source.extensions.fluxcd.io/v1beta1
kind: ArtifactGenerator
name: flux-system
namespace: flux-system
status:
artifact:
digest: sha256:2352314c5452d7343f3dd1dc4d78a16ea0e72beb1e31c739681f642c4ade607a
lastUpdateTime: "2026-07-21T13:16:08Z"
metadata:
org.opencontainers.image.revision: refs/heads/main@sha1:875be6e9a35743ad2d20f090cf01da9ac7ff07c8
path: externalartifact/flux-system/infrastructure/3214410609.tar.gz
revision: latest@sha256:2352314c5452d7343f3dd1dc4d78a16ea0e72beb1e31c739681f642c4ade607a
size: 1926
url: http://source-watcher.flux-system.svc.cluster.local./externalartifact/flux-system/infrastructure/3214410609.tar.gz
conditions:
- lastTransitionTime: "2026-07-21T13:16:08Z"
message: Artifact is ready
observedGeneration: 1
reason: Succeeded
status: "True"
type: Ready
When using flate test, this ExternalArtifact resource is not available in the Git repository, so the validation ends pretty fast in my setup:
$ flate test all --path ./kubernetes
✓ HelmRelease flux-system/flux-operator
✓ OCIRepository flux-system/flux-operator
⊘ Kustomization flux-system/infrastructure blocked by flux-system/infrastructure (not found)
⊘ Kustomization system-upgrade/tuppr blocked by flux-system/infrastructure (not found)
⊘ Kustomization system-upgrade/tuppr-upgrades blocked by flux-system/infrastructure (not found)
✗ 2 passed · 3 blocked 1.8s
The blocked by errors refer to the non-existant ExternalArtifact.
Proposed solution
It would be nice if flate could "evaluate" the ArtifactGenerator and retain in-memory ExternalArtifact resources with local paths so flate test works.
Alternatives considered
No response
What problem are you trying to solve?
My flux setup uses
ArtifactGeneratorto createExternalArtifactresources. Here is my setup:I created this to have much shorter paths in all of my config files. Flux reconciles this to an
ExternalArtifactwithin my cluster, for instance:When using
flate test, thisExternalArtifactresource is not available in the Git repository, so the validation ends pretty fast in my setup:$ flate test all --path ./kubernetes ✓ HelmRelease flux-system/flux-operator ✓ OCIRepository flux-system/flux-operator ⊘ Kustomization flux-system/infrastructure blocked by flux-system/infrastructure (not found) ⊘ Kustomization system-upgrade/tuppr blocked by flux-system/infrastructure (not found) ⊘ Kustomization system-upgrade/tuppr-upgrades blocked by flux-system/infrastructure (not found) ✗ 2 passed · 3 blocked 1.8sThe
blocked byerrors refer to the non-existantExternalArtifact.Proposed solution
It would be nice if flate could "evaluate" the
ArtifactGeneratorand retain in-memoryExternalArtifactresources with local paths soflate testworks.Alternatives considered
No response