A horizontal autoscaler for Kubernetes workloads, saving cloud costs by scaling workloads down after hours. This is a golang port and successor of the popular (py-)kube-downscaler with improvements and quality of life changes.
The documentation and guides can be found on our website.
An offline copy of the documentation and blogs can be found in website/content and website/blog.
In there are Markdown files which can be viewed in any text editor or inside of a Markdown Viewer.
Installation is done via the Helm Chart. Information on how to install the Downscaler is on our website.
GoKubeDownscaler is now GA.
This means that the core py-kube-downscaler features are all present, though there’s a chance we might have missed something
You can find a list of the known-missing features under the missing feature label.
If you think that any other features are missing, or you have an idea for a new feature, feel free to open an Issue.
This section covers the basics of developing on this repo, a more detailed guide can be found on our website.
Please read the contribution manifest.
git clone https://github.com/caas-team/GoKubeDownscaler.git
cd GoKubeDownscalerbrew install pre-commit
pre-commit install
brew install golangci-lint
brew install gofumptgo test -v --cover ./...The downscaler can be run locally by specifying a kubeconfig to use. The kubeconfig should have at least the permissions as the Helm Charts role.yaml. The downscaler will use the current-context in the kubeconfig.
go run -k=path/to/kubeconfig # ... additional configurationnpm install --prefix websitenpm run --prefix website startafter that the website is available on localhost:3000/GoKubeDownscaler