kptdev / kpt

Automate Kubernetes Configuration Editing
https://kpt.dev
Apache License 2.0
1.7k stars 227 forks source link

Support OCI images in addition to git #2300

Open bgrant0607 opened 3 years ago

bgrant0607 commented 3 years ago

Support for OCI images would facilitate automated generation and serving of kpt package versions, particularly in production environments. Every Kubernetes cluster must have an OCI registry accessible. OCI registries have more standardized APIs and authentication methods than git providers. OCI images have standardized metadata and file formats. They can be versioned similarly to git, with digests and tags. We would just need a sequential versioning convention.

It's increasingly common for all types of packages to be stored using OCI. Configuration/policy-related examples: https://github.com/oras-project/oras https://carvel.dev/imgpkg/ https://github.com/helm/helm/issues/6068 https://github.com/open-policy-agent/opa/issues/1413 https://github.com/tektoncd/community/blob/main/teps/0005-tekton-oci-bundles.md https://github.com/cnabio/cnab-spec/blob/main/201-representing-CNAB-in-OCI.md https://crossplane.io/docs/v1.2/concepts/packages.html https://werf.io/documentation/v1.2/advanced/bundles.html

mikebz commented 3 years ago

@phanimarupaka @droot @mengqiy bumping this up since we got a customer request on for non-git package sources.

mikebz commented 3 years ago

could be good to fit this into a larger roadmap and reference this request, I know that the work to do non-git upstream and support resource-merge is not trivial.

bgrant0607 commented 3 years ago

Yet another example where this would be useful: https://cloud.google.com/migrate/anthos/docs/migctl-reference#migctl-artifacts-repo-create

bgrant0607 commented 2 years ago

We will eventually want to support signing and verification. https://helm.sh/docs/topics/provenance/

bgrant0607 commented 2 years ago

Another example: https://kustomizer.dev/

stoetti commented 2 years ago

Is there some kind of ETA for this feature?

newtondev commented 1 year ago

+1 on ETA for this feature please. Our environment is very restrictive and does not allow pull from github in our pipelines.