Skip to content

CarnegieMellon-PlantD/PlantD-operator

Repository files navigation

PlantD Operator

Go Report Card Test Build and Release GitHub License

Kubernetes operator for PlantD.

Documentation

For how to install PlantD, see installation guide.

For more information about PlantD, see PlantD website.

Development

Prerequisites

To install the Prometheus Operator and K6 Operator, run the following commands:

# Install the K6 Operator
curl https://raw.githubusercontent.com/grafana/k6-operator/main/bundle.yaml | kubectl create -f -

# Install the Prometheus Operator
curl -L https://github.com/prometheus-operator/prometheus-operator/releases/download/v0.72.0/bundle.yaml | kubectl create -f -

CLI Commands

Generate code

make generate

This command will generate the auto-generated code such as zz_generated.deepcopy.go. NOTE: Remember to run this command after modifying the CRD.

Generate CRD manifests

make manifests

This command will generate the CRD manifests under config. NOTE: Remember to run this command after modifying the CRD.

Generate bundle.yaml

make bundle

This command will generate the bundle.yaml. NOTE: Remember to run this command after modifying the CRD.

Generate CRD API reference

make docs

This command will generate the CRD API reference at docs/api/crd-api-reference.md. NOTE: Remember to run this command after modifying the CRD.

Install/Uninstall the CRD

# Install
make install

# Uninstall
make uninstall

Deploy/Undeploy the operator

# Deploy
make deploy

# Deploy with a custom Docker image
make deploy IMG=<custom-image>

# Undeploy
make undeploy

Release

This project uses GitHub Actions as our CI/CD pipeline and to release Docker images to GitHub Container Registry. See .github/workflows/build.yaml for more details.

To release a new version, merge the PR into the main branch. The CI/CD pipeline will automatically build and release the new Docker images to GitHub Container Registry.

You can also manually trigger the workflow on any branches to release a Docker image tagged by the branch name. To do so, go to the workflow page.

References

Contributing

We welcome contributions from the open-source community, from bug fixes to new features and improvements.

License

PlantD is licensed under the GPLv2 License. See LICENSE for more details.

Funding

PlantD is funded by Honda's 99P labs, with implementation and ongoing support provided by the TEEL team at Carnegie Mellon University.

Contact

99p Labs TEEL Lab logo Carnegie Mellon University

For more information about the PlantD project, please contact us:

We are always open to collaboration, questions, and suggestions!