diff --git a/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md b/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md index 53bc597..c90fc5c 100644 --- a/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md +++ b/content/en/docs/solution/tools/Crossplane/provider-kind/_index.md @@ -362,6 +362,64 @@ so that crossplane can access the `KindCluster` objects. Examples and updating t All this steps are documented in: https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW/provider-kind/pulls/1 +## Publish the provider-kind to a user defined docker registry + +Every provider-kind release needs to be tagged first in the git repository: + +``` +git tag v0.1.0 +git push origin v0.1.0 +``` + +Next, make sure you have docker logged in into the target registry: + +``` +docker login forgejo.edf-bootstrap.cx.fg1.ffm.osc.live +``` + +Now it's time to specify the target registry, build the provider-kind for ARM64 and AMD64 CPU architectures and publish it to the target registry: + +``` +XPKG_REG_ORGS_NO_PROMOTE="" XPKG_REG_ORGS="forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz" make build.all publish BRANCH_NAME=main +``` + +The parameter `BRANCH_NAME=main` is needed when the tagging and publishing happens from another branch. The version of the provider-kind that of the tag name. The output of the make call ends then like this: + +``` +$ XPKG_REG_ORGS_NO_PROMOTE="" XPKG_REG_ORGS="forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz" make build.all publish BRANCH_NAME=main +... +14:09:19 [ .. ] Skipping image publish for docker.io/provider-kind:v0.1.0 +Publish is deferred to xpkg machinery +14:09:19 [ OK ] Image publish skipped for docker.io/provider-kind:v0.1.0 +14:09:19 [ .. ] Pushing package forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz/provider-kind:v0.1.0 +xpkg pushed to forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz/provider-kind:v0.1.0 +14:10:19 [ OK ] Pushed package forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz/provider-kind:v0.1.0 +``` + +After publishing, the provider-kind can be installed in-cluster similar to other providers like +provider-helm and provider-kubernetes. To install it apply the following manifest: + +``` +apiVersion: pkg.crossplane.io/v1 +kind: Provider +metadata: + name: provider-kind +spec: + package: forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz/provider-kind:v0.1.0 +``` + +The output of `kubectl get providers`: + +``` +$ kubectl get providers +NAME INSTALLED HEALTHY PACKAGE AGE +provider-helm True True xpkg.upbound.io/crossplane-contrib/provider-helm:v0.19.0 38m +provider-kind True True forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/richardrobertreitz/provider-kind:v0.1.0 39m +provider-kubernetes True True xpkg.upbound.io/crossplane-contrib/provider-kubernetes:v0.15.0 38m +``` + +The provider-kind can now be used. + ## Crossplane Composition `edfbuilder` Together with the implemented provider-kind and it's config to create a composition which can create kind clusters and