This container provides a comprehensive suite of tools for Kubernetes. It is designed to be used in CI/CD pipelines and local development environments.
Images can be found at https://eu.gcr.io/swade1987/kubernetes-toolkit.
- kubeconform (v0.6.7)
- conftest (v0.55.0)
- pluto (v5.20.3)
- shellcheck (v0.10.0)
- jsonlint (v1.6.3)
- Python 3 with development tools
- Node.js and npm
- Required build dependencies (gcc, libxslt-dev, libxml2-dev, etc.)
- Kubernetes JSON schemas (version matches kubectl client version)
- Flux CRD schemas (matching installed Flux version)
- All binaries are installed in
/usr/local/bin/
- Kubernetes schemas are stored in
/tmp/kubernetes-schemas/
- Flux schemas are stored in
/tmp/flux-schemas/
- Linting (via CI) using kubeconform, pluto and istioctl.
- Automated with GitHub Actions
- Commits must meet Conventional Commits
- Automated with GitHub Actions (commit-lint)
- Pull Request titles must meet Conventional Commits
- Automated with GitHub Actions (pr-lint)
- Commits must be signed with Developer Certificate of Origin (DCO)
- Automated with GitHub App (DCO)
Before working with the repository it is mandatory to execute the following command:
make initialise
The above command will install the pre-commit
package and setup pre-commit checks for this repository including conventional-pre-commit to make sure your commits match the conventional commit convention.
To contribute, please read the contribution guidelines. You may also report an issue.