Service Bindings for Kubernetes implements the Service Binding Specification for Kubernetes v1.0.
This is a preview release for developers to gain a familiarity with the core specification concepts.
This implementation provides support for:
- Provisioned Service
- Workload Projection
- Service Binding
- Direct Secret Reference
- Role-Based Access Control (RBAC)
The following are not implemented:
- Workload Resource Mapping
- Extensions including:
Equivalent capabilities from the v1.0.0-rc3 (servicebinding.io/v1alpha3) version of the spec are also supported. There are no significant API or runtime changes between v1alpha3 and v1beta1 versions.
Samples
Samples provide an overview of the features available with Service Bindings, including:
- Spring PetClinic with MySQL
- Controlled Resource
- Overridden Type and Provider
- Provisioned Service
- Multiple Bindings
What's Changed
- fix: Add SecurityContextConstraints to enable running in restricted environments by @odinnordico in #297 #299
Full Changelog: v0.9.3...v0.9.4
Install/Upgrade
kapp
is recommended to install/upgrade the Service Bindings CRDs and operator.
If upgrading from a release not installed with kapp, first remove the current install.
Then deploy Service Bindings:
kapp deploy -a service-bindings -f https://github.com/vmware-tanzu/servicebinding/releases/download/v0.9.4/service-bindings-0.9.4.yaml
If you are unable to use kapp
, service-bindings-0.9.4.yaml
can be applied via tools like kubectl
, but it will be harder to uninstall and upgrade.
Advanced installs
For users who need to install into an air-gapped cluster, or wish to limit their dependence on public image registries, an imgpkg bundle is available. For this install flow Carvel kapp
, imgpkg
and kbld
are required.
Download the bundle to a location that has access to your image registry and cluster:
curl -L https://github.com/vmware-tanzu/servicebinding/releases/download/v0.9.4/service-bindings-bundle-0.9.4.tar -o service-bindings-bundle-0.9.4.tar
Relocate the bundle's images to your registry:
imgpkg copy --tar service-bindings-bundle-0.9.4.tar --to-repo <your-image-repository>
Pull the config files from the bundle:
mkdir bundle
imgpkg pull --bundle <your-image-repository> --output bundle
Finally, deploy Service Binding to your cluster:
kapp deploy -a service-bindings -f <(kbld -f ./bundle/config/service-bindings.yaml -f ./bundle/.imgpkg/images.yml)
The Carvel docs have more information about deploying to air-gapped environments.
kapp-controller managed installs
Preview support for kapp-controller
with a Package definition in the service-bindings-package-0.9.3.yaml
asset. Please see the Carvel docs for how to install a package on a cluster.
Uninstall
To remove service bindings from your cluster:
kapp delete -a service-bindings