https://github.com/dfds/provider-confluent
ARCHIVED: Crossplane provider for Confluent Cloud
https://github.com/dfds/provider-confluent
Last synced: 5 months ago
JSON representation
ARCHIVED: Crossplane provider for Confluent Cloud
- Host: GitHub
- URL: https://github.com/dfds/provider-confluent
- Owner: dfds
- License: apache-2.0
- Created: 2021-11-24T13:20:44.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-12-02T17:09:10.000Z (over 1 year ago)
- Last Synced: 2024-12-02T18:23:39.862Z (over 1 year ago)
- Language: Go
- Homepage:
- Size: 274 KB
- Stars: 2
- Watchers: 6
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# :warning: Repository not maintained :warning:
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
`provider-confluent` is a minimal [Crossplane](https://crossplane.io/) 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 `ProviderConfig` type that only points to a credentials `Secret`.
- A `MyType` resource type that serves as an example managed resource.
- A managed resource controller that reconciles `MyType` objects and simply
prints their configuration in its `Observe` method.
## Developing
### Prerequisites
- 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
```
Replace with the correct version in the docker image /cluster/images/provider-confluent-controller/Dockerfile
- Define .env file using example
### Additional recommended steps
- Install [direnv](https://direnv.net/)
- Install [Minikube](https://minikube.sigs.k8s.io/)
### Running local development
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:
1) Make sure that you have access to a Kubernetes cluster and the correct context is used for Kubectl.
2) Ensure the list of environment variables in the .env file is exported
3) Run this command:
```console
make dev
```
This will build and run the confluent provider go code inside the configured Kubernetes cluster
Automated steps:
1) 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.
2) Execute this command:
```console
make dev
```
This will build and run the confluent provider go code inside the configured Minikube cluster
View the available make commands in the Makefile
## Useful commands
Need to build an amd64 Linux image but you're on say.. an M1 Mac?
```shell
make build BUILD_PLATFORMS=linux_amd64 PLATFORMS=linux_amd64
```
Want to skip lint during a `make build`?
```shell
make build nolint=1
```