2022-08-11 23:07:20 -04:00
# kubenix
2019-03-13 19:45:15 +01:00
2022-08-11 23:07:20 -04:00
Kubernetes resource management with Nix
2017-11-11 11:52:17 +01:00
2022-08-11 23:47:39 -04:00
< p align = "center" style = "margin: 2em auto;" >
< img src = "./docs/logo.svg" alt = "nixos logo in kubernetes blue" width = "350" / >
< / p >
2017-11-11 11:52:17 +01:00
2022-08-11 23:07:20 -04:00
> **WARN**: this is a work in progress, expect breaking changes
2019-03-12 21:03:13 +01:00
2022-08-11 23:07:20 -04:00
## Usage
2017-11-11 11:52:17 +01:00
2022-08-12 09:44:00 -04:00
Apply all resources with
2017-11-11 11:52:17 +01:00
2022-08-12 09:44:00 -04:00
nix run github:hall/kubenix . -- apply
2017-11-11 11:52:17 +01:00
2022-08-12 09:44:00 -04:00
> **HINT**: run `nix run github:hall/kubenix . -- --help` for more commands
2019-02-20 23:16:18 +01:00
2022-08-11 23:07:20 -04:00
A minimal example flake:
2019-02-20 23:16:18 +01:00
2022-08-11 23:07:20 -04:00
```nix
{
inputs.kubenix = "github:hall/kubenix";
outputs = {self, ...}@inputs: {
2022-08-12 09:44:00 -04:00
nixosConfigurations.hostname = {
modules = [ inputs.kubenix.nixosModule ];
};
kubernetes.resources.pods."app" = {
spec.containers."app" = {
name = "app";
image = "nginx";
};
};
2022-08-11 23:07:20 -04:00
}
}
2019-02-20 23:16:18 +01:00
```
2022-08-12 09:44:00 -04:00
<!-- A more complete example config:
2017-11-11 11:52:17 +01:00
2022-08-11 23:07:20 -04:00
```nix
{
kubernetes = {
context = "default";
resources = {};
helm = {
releases = {};
};
}
}
``` -->
## Attribution
2017-11-11 11:52:17 +01:00
2022-08-11 23:07:20 -04:00
This project was forked from https://github.com/GTrunSec/kubenix which was forked from https://github.com/xtruder/kubenix.
2017-11-11 11:52:17 +01:00
2022-08-11 23:07:20 -04:00
Logo is a mishmash of the [Kubernetes wheel ](https://github.com/kubernetes/kubernetes/blob/master/logo/logo.svg ) and the [NixOs snowflake ](https://github.com/NixOS/nixos-artwork/blob/master/logo/white.svg ).