Please be nice. The maintainers are very soft.
Otherwise, please feel free to contribute anything: Issues (bug reports and feature requests), Pull requests, and Discussions
If it's a doc fix, don't worry about testing, just explain what you're fixing and we're a-ok 👍
If it's a code fix, please:
- don't forget to bump the version in
pyproject.toml
- test your code before submitting it and explain how you tested it in the pull request
smol-k8s-lab
is written in Python. You can check out the pyproject.toml
for the versions of each library we install below:
- bcrypt (to pass a password to argocd and automatically update your Bitwarden)
- rich (this is what makes all the pretty formatted text in logs and
--help
) - textual (this is the framework used for writing the TUI)
- ruamel.yaml (to handle the k8s yamls and configs while maintaining comments)
- click (handles arguments for the CLI)
We also utilize the Bitwarden cli, for a password manager so you never have to see/know your Argo CD password.
NOTE: We're open to unit and integration tests btw! We just don't have anything but ci via Github Actions, because we weren't stable enough to justify them yet. 🤦
- poetry to manage our dependencies and virtual environments for python.
- pre-commit to manage pre-commit hooks, mostly related to poetry
git clone [email protected]:small-hack/smol-k8s-lab.git
cd smol-k8s-lab
pre-commit install
Install the project locally after cloning it.
# this installs a local version of smol-k8s-lab that points to your cloned repo directly
poetry install
And then you can do all your development in a virtual environment by running:
# this sources the virtual env for this project
poetry shell
# this will print your version you're working on
smol-k8s-lab --version
When you're done playing with your environment, you can just type exit
to leave the shell :)