Please note that this repository is currently archived, and is no longer being maintained.
- It may contain code, or reference dependencies, with known vulnerabilities
- It may contain out-dated advice, how-to's or other forms of documentation
The contents might still serve as a source of inspiration, but please review any contents before reusing elsewhere.
provider-confluent is a minimal Crossplane Provider
that is meant to be used as a template for implementing new Providers. It comes
with the following features that are meant to be refactored:
- A
ProviderConfigtype that only points to a credentialsSecret. - A
MyTyperesource type that serves as an example managed resource. - A managed resource controller that reconciles
MyTypeobjects and simply prints their configuration in itsObservemethod.
-
Linux/Unix development environment
-
Install Confluent CLI:
Note: Run the following commands in Bash
curl -sL --http1.1 https://cnfl.io/cli | sh -s -- -b /usr/local/bin <Confluent_CLI_Version>
Replace <Confluent_CLI_Version> with the correct version in the docker image /cluster/images/provider-confluent-controller/Dockerfile
- Define .env file using example
Running the Confluent provider in local development environment can be either be using manual steps or automated steps. The automated steps can be followed only when the additional recommend tools have been installed from the previous section.
Manual steps:
-
Make sure that you have access to a Kubernetes cluster and the correct context is used for Kubectl.
-
Ensure the list of environment variables in the .env file is exported
-
Run this command:
make devThis will build and run the confluent provider go code inside the configured Kubernetes cluster Automated steps:
- Run the script from this path ./scripts/setup.sh This will do the followings:
- Start a Minikube instance and
- setup Crossplane and
- configure the required ProviderConfig for Confluent provider.
- Execute this command:
make devThis will build and run the confluent provider go code inside the configured Minikube cluster
View the available make commands in the Makefile
Need to build an amd64 Linux image but you're on say.. an M1 Mac?
make build BUILD_PLATFORMS=linux_amd64 PLATFORMS=linux_amd64Want to skip lint during a make build?
make build nolint=1