kubenix/CONTRIBUTING.md

57 lines
1.5 KiB
Markdown
Raw Normal View History

2022-08-11 23:07:20 -04:00
# Contributing
Thanks for your interest in contributing!
We welcome ideas, code, docs, etc -- just open an issue or MR.
## Setup
This project uses [flakes](https://nixos.wiki/wiki/Flakes) so a development environment can be created with
nix develop
> **NOTE**: there's also support for [direnv](https://direnv.net/) to automate the dev shell process
## Commits
There's no formal commit process at this time.
2022-08-12 09:44:26 -04:00
Do try to format the repo with [treefmt](https://github.com/numtide/treefmt) before submission, however.
nix fmt
2022-08-11 23:07:20 -04:00
## Kubernetes versions
To support a new Kubernetes version:
- Edit [`./versions.nix`](./versions.nix) and add a new attribute for the version; for example:
2022-08-11 23:07:20 -04:00
```nix
{
"1.23.0" = "sha256:0jivg8nlxka1y7gzqpcxkmbvhcbxynyrxmjn0blky30q5064wx2a";
}
```
2022-08-11 23:07:20 -04:00
- Build and copy the updated specs to [`modules/generated/`](./modules/generated/) with
2022-08-11 23:07:20 -04:00
nix run '.#generate'
2022-08-11 23:07:20 -04:00
## Tests
Tests are executed through GitHub actions; see the [workflow definition](../kubenix/.github/workflows/ci.yml) for commands.
## Docs
Build and serve the static site
nix run '.#docs' serve
which will be available at <http://localhost:1313>.
2022-08-29 02:04:47 -04:00
### Examples
Examples are written at [./docs/content/examples](./docs/content/examples) and are (or will, really) also used as tests which can be executed with
nix flake check
In general, that just means: don't directly put nix snippets into a markdown doc; instead use the shortcode provided to pull them in so they don't have to be parsed out for testing.