flux2
flux2 copied to clipboard
[RFC-0012] Implement ExternalArtifact API and SDK
This issue tracks the implementation of RFC-0012.
API Tasks:
- [x] Extract the
Artifacttype from source-controller togithub.com/fluxcd/pkg/apis/metapackage - [x] Refactor source-controller to use the
Artifacttype from the meta package - [x] Add the
ExternalArtifactAPI to the source-controller API package - [x] Add documentation for
ExternalArtifactto source-controller API docs - [x] Add the
ExternalArtifactAPI as a supportedsourceRefin kustomize-controller including watchers - [x] Add the
ExternalArtifactfeature gate to kustomize-controller - [x] Add the
ExternalArtifactas a supportedchartRefin helm-controller including watchers - [x] Add the
ExternalArtifactfeature gate to helm-controller - [x] Add documentation for the feature gate and supported sources in kustomize-controller and helm-controller
SDK Tasks:
- [x] Extract the source-controller storage component to a dedicated package
- [x] Refactor source-controller to use the
github.com/fluxcd/pkg/artifactpackage - [ ] Define the public interfaces for the SDK
- [ ] Implement the server, client and storage components
- [ ] Add development guide for the SDK to the GitOps Toolkit documentation
Artifact Generators Tasks:
- [x] Implement artifact generators in source-watcher controller using the ExternalArtifact API and SDK
- [ ] Develop conformance testing for ExternalArtifact generators and consumers
CLI Tasks:
- [x] Add support for ExternalArtifact source type to the following commands:
-
flux trace(displayExternalArtifact.spec.sourceRef) -
flux reconcile ks/hr --with-source(skip external artifact annotation)
-
- [x] Add command
flux get source external - [ ] Add command
flux export source external
@stefanprodan if there is a small part of this I can take on I would be keen to help 😃