nickgerace / bovine Goto Github PK
View Code? Open in Web Editor NEWManager for single node Rancher clusters
Home Page: https://crates.io/crates/bovine
License: Apache License 2.0
Manager for single node Rancher clusters
Home Page: https://crates.io/crates/bovine
License: Apache License 2.0
For released assets, Windows binaries should have .exe
appended.
Found by @rosskirkpat
Two points to start with:
localhost
, users may have to navigate to host.docker.internal
in their browserFound by @nunix
Currently, the find bootstrap password logic tries to find the exact password string. While this is a good default, there should be an option to dump the entire log message to STDOUT.
Currently, the find bootstrap password logic only produces a failure if the suspected log message (greedily found via substring search) if the log message split produces no results. However, it should also fail if the message is never found.
Upstream issue: rancher/rancher#33360
Minimal impact for users, but this issue will be used to track it.
Relevant PR: chronotope/chrono#578
Crate: time
Version: 0.1.43
Title: Potential segfault in the time crate
Date: 2020-11-18
ID: RUSTSEC-2020-0071
URL: https://rustsec.org/advisories/RUSTSEC-2020-0071
Solution: Upgrade to >=0.2.23
Dependency tree:
time 0.1.43
└── chrono 0.4.19
├── bollard-stubs 1.41.0
│ └── bollard 0.11.0
│ └── bovine 1.0.2
└── bollard 0.11.0
Likely minimal impact for users. At the time of writing this issue, no safe upgrade is available.
Crate: chrono
Version: 0.4.19
Title: Potential segfault in `localtime_r` invocations
Date: 2020-11-10
ID: RUSTSEC-2020-0159
URL: https://rustsec.org/advisories/RUSTSEC-2020-0159
Solution: No safe upgrade is available!
Dependency tree:
chrono 0.4.19
├── bollard-stubs 1.41.0
│ └── bollard 0.11.0
│ └── bovine 1.0.2
└── bollard 0.11.0
Preferably with JSON or TOML, bovine
should have a config file option that defaults to a named file in current working directory (e.g. bovine.json
) and can be specified via a flag.
We should add the ability to "attempt" to find the bootstrap password in the pod logs.
Current hack:
bovine logs | rg "Bootstrap Password:"
Add support for all essential commands and functionality for containerd. This must eventually work on all macOS amd64, macOS arm64, Windows amd64, and Linux amd64.
Link: https://rancher.com/
Since there may be a linux-musl option in the future, the linux binary uses linux-gnu as its OS name. Thus, the convenience script needs to use it as well.
Add GitHub action for release. The release action must dynamically switch between pre-release
and release
based on the tag. For example, 0.1.0
should be a release
and 0.1.0-rc.1
should be a pre-release
.
Bootstrap password will be common with Rancher v2.6. We should include it as a short flag.
This command would get a kubeconfig and print it to STDOUT. This might not work consistently depending on the user's setup (e.g. ngrok vs localhost).
Force pulling for a new image is a common use case, particularly for images with rolling tags.. A short flag should be available for it.
Follow the gfold
pattern: https://github.com/nickgerace/homebrew-gfold
Currently, using the version
command formats its results in almost-valid YAML. We should format the results with valid JSON, like other bovine
commands.
We need a GitHub action for PRs. This should include format checks, build checks, and unit tests. Integration tests are not essential, yet.
When using RUST_LOG
or the debug
flag, bovine
will currently include both direct print statements and formatted logs. In order to maintain a consistent experience, we should use INFO
logging instead and remove all instance of direct print statements (e.g. println!
).
Exceptions: printing formatted logs. We do not want to "double log".
Bonus: we will also be able to use RUST_LOG=info
rather than RUST_LOG=off
, which is a more common default.
Single node Rancher is required to run as a privileged container. This should be noted in the docs and/or elsewhere.
Found by @rosskirkpat
Currently, the CHANGELOG.md
reference does not link to the file. We should link to the file for user experience. We should not link to the changelog for that specific release, but the changelog tracked on main
for grammatical edits, added security notes, etc.
The stop subcommand show have a short flag for delete
due to its frequent usage.
This repository lacks any source code. At minimum, the source code for a working version of bovine
should be added, even if in a "pre-alpha" state.
Currently, the README "tag" badge shows the latest Git tag. We should show the latest GitHub release version, corresponding to the highest semver (in case the incremental release versioning ceases to be linear).
Instead of exiting, we should consider adding a "wait" functionality when scraping the logs for the bootstrap password.
Since Rancher does not support Windows containers for local clusters (at this time), we need to indicate that the Windows binary must use Docker with Linux containers.
Found by @rosskirkpat
For more information: https://github.com/nickgerace/cargo-xtask-example
error from Docker daemon: error trying to connect: Permission denied (os error 13)
While the --no-cacerts
flag may be passed when toggling other settings (happens dynamically), we need an explicit option as well. The description for the flag should say something like the following: "Disable CA certs (useful when using localhost tunneling services, like ngrok)". It should also have the short flag -n
as well.
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.