https://github.com/vmware-tanzu/image-registry-operator-api
As part of the vSphere on Tanzu project, this VM Image Service offers a Kubernetes API to upload/download/share VM images backed by vSphere Content Library.
https://github.com/vmware-tanzu/image-registry-operator-api
vsphere
Last synced: 5 months ago
JSON representation
As part of the vSphere on Tanzu project, this VM Image Service offers a Kubernetes API to upload/download/share VM images backed by vSphere Content Library.
- Host: GitHub
- URL: https://github.com/vmware-tanzu/image-registry-operator-api
- Owner: vmware-tanzu
- License: apache-2.0
- Created: 2022-09-28T22:01:11.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-05-13T22:08:55.000Z (about 1 year ago)
- Last Synced: 2025-06-06T17:08:54.555Z (about 1 year ago)
- Topics: vsphere
- Language: Go
- Homepage:
- Size: 182 KB
- Stars: 6
- Watchers: 5
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING_CLA.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# image-registry-operator-api
## Overview
The image-registry-operator-api provides the object model and generated
client libraries for VM Image Service, which is part of
[vSphere with Tanzu](https://docs.vmware.com/en/VMware-vSphere-with-Tanzu/index.html).
VM Image Service allows users to manage the lifecycle of vSphere
Content Library Items using a declarative Kubernetes consumption
model and is an integral part of vSphere with Tanzu.
The state of `ContentLibrary` and `ContentLibraryItem` CRDs in a Supervisor
is monitored by the built-in controllers which reconcile the
CRD specification into Content Libraries and Content Library Items in
vSphere. The state of the Content Libraries and Content Library Items
in vSphere is reflected back in the `ContentLibrary` and `ContentLibraryItem`
CRD status.
## Try it out
This guide will walk you through the process of integrating
image-registry-operator-api into your project.
### Prerequisites
VM Image Service currently requires vSphere with Tanzu.
What this means in functional terms is that you can manage workloads
in a given Workload Namespace using a Kubernetes client connected
directly to an embedded Kubernetes API Server running in the Supervisor.
VM Image Service currently allows you to monitor
`ClusterContentLibrary` and `ClusterContentLibraryItem` objects
that exist in the Supervisor and `ContentLibrary` and `ContentLibraryItem`
objects that exist in the Supervisor Workload namespace.
The support to be able to create and manage them will be added soon.
### Testing sample code
Package envtest provides libraries for integration testing by starting
a local control plane. Control plane binaries (etcd and kube-apiserver)
are loaded by default from /usr/local/kubebuilder/bin. This can be
overridden by setting the KUBEBUILDER_ASSETS environment variable, or
by directly creating a control plane for the Environment to use.
By building the `list-ctrl` target, the tools target gets built too
and the kubebuilder tool binaries are downloaded to the `tools/bin`
folder and the KUBEBUILDER_ASSETS points to the location where the binaries
are downloaded.
### Build and Test the sample code
make list-ctrl
./hack/samples/bin/list-ctrl
## Contributing
The VM Image Service team welcomes contributions from the community.
Before you start working with image-registry-operator-api,
please read our Contributor License Agreement [CLA](https://cla.vmware.com/cla/1/preview).
All contributions to this repository must be signed as described on that page.
Your signature certifies that you wrote the patch or have the right to pass
it on as an open-source patch. For more detailed information,
refer to [CONTRIBUTING.md](CONTRIBUTING_CLA.md).
## License
The image-registry-operator-api is licensed under the [Apache License, version 2.0](LICENSE)