kubecost / disk-autoscaler Goto Github PK
View Code? Open in Web Editor NEWResize Kubernetes PersistentVolumes automatically based on Kubecost recommendations.
License: Apache License 2.0
Resize Kubernetes PersistentVolumes automatically based on Kubecost recommendations.
License: Apache License 2.0
RBAC permissions are still unnecessarily wide today in that pods
and pod/exec
are granted too broadly. This isn't necessary as the only Pod which needs to be created and exec'd into is the datamover Pod.
Reduce RBAC permissions for Pod creation and /exec
subresource to only the datamover Pod.
No response
No response
Repository has no license information
No response
No response
Users who need customization would like to use Helm to deploy DAS.
Support deployment via a Helm chart.
No response
No response
Reduce the RBAC privileges to the lowest level following standard least-privilege best practices.
Need to refactor the Justfile so it builds using ko
rather than docker.
Users would like to see the action DAS will take to ensure it will work according to expectations and also to ensure the risks are known.
Enable an audit mode in DAS so users can see, perhaps via log messages, the actions DAS would take without having it actually perform any changes.
No response
No response
Golangci-lint currently reports the following:
cmd/diskautoscaler/main.go:85:18: Error return value of `viper.BindPFlags` is not checked (errcheck)
viper.BindPFlags(pflag.CommandLine)
^
cmd/diskautoscaler/main.go:89:18: Error return value of `viper.BindPFlags` is not checked (errcheck)
viper.BindPFlags(pflag.CommandLine)
^
pkg/diskscaler/service.go:123:2: ineffectual assignment to status (ineffassign)
status := RunStatus{}
^
pkg/pvsizingrecommendation/query.go:7:2: SA1019: "io/ioutil" has been deprecated since Go 1.19: As of Go 1.16, the same functionality is now provided by package [io] or package [os], and those implementations should be preferred in new code. See the specific function documentation for details. (staticcheck)
"io/ioutil"
Code should be up to modern standards and pass all basic linting tests.
Need to bump to Go 1.22.3 to address some CVEs.
DAS needs resource requests defined for its Pod to meet common practice guidelines.
Need to beef up the security posture of the internal Pod data mover so it has things like:
ubuntu:latest
Need to bump up to the latest Go for some vulns that are getting flagged in CI. It'd be best if we can avoid pinning to a specific patch release in go.mod
so we're always building with the latest.
The intermediary Pod responsible for the copy operation in case of scale downs is not currently configurable. Many users will need to configure this Pod according to their needs so it passes security guidelines.
Allow the intermediary Pod copier to be configured in the most common ways including, but not limited to,:
No response
No response
DAS needs to log common information upon init including git hash and version at the default log level. This will aid in future troubleshooting based on user-provided logs so we know what version of the image was used.
Need to establish a CI pipeline for builds and releases. ko
can be used as an alternative to Docker which is slimmer and uses a minimal base image similar to build packs.
Ex.:
KO_DOCKER_REPO=ko.local ko build ./cmd/diskautoscaler/ --preserve-import-paths --tags=latest --platform=linux/amd64
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.