-
Notifications
You must be signed in to change notification settings - Fork 38
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Currently, setting up an OCI registry is required to use Chainloop because it's used to store artifacts during the attestation process.
This OCI registry acts as a storage backend for the CAS
The issue is that OCI is currently the only type of backend that the system support, we want to make sure that the CAS and controlplane can be extended to use other storage backends, i.e S3, GCS, Artifactory, ...
This task has the following goals
- Decouple the concept of OCI repository from the CAS backend and make it just one kind of backend
- Replace the oci_repository concept and signup flow from the controlplane and make it generic so it can hold other backends in the future.
- Make storage backend optional as explained here Inline CAS backend #201
In other words, this task is about setting the foundations of allowing the setup of different storage buckets.
### Tasks
- [x] Make data model changes to migrate from oci_repositories to cas_backends. This should not be a breaking change and already registered OCI registries should still work. https://github.com/chainloop-dev/chainloop/pull/236
- [x] Keep cas secret/provider reference in the workflowrun so it does not get lost when changed https://github.com/chainloop-dev/chainloop/pull/237
- [x] List cas backends https://github.com/chainloop-dev/chainloop/pull/238
- [x] add cas backend https://github.com/chainloop-dev/chainloop/pull/239
- [x] Inline backend support https://github.com/chainloop-dev/chainloop/pull/247/files
- [x] Rotate credentials and soft-delete
- [x] Add inline backend as default
- [x] Update documentation https://github.com/chainloop-dev/docs/pull/140
- [ ] Map digest -> cas backends
- [ ] Prepare CAS to support multiple-providers and on the fly selection
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request