# nix-kubernetes

> Kubernetes deployment manager written in nix

Latest version **0.25.2** (published 2017-10-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install nix-kubernetes
pnpm add nix-kubernetes
yarn add nix-kubernetes
bun add nix-kubernetes
```

Provides the command `nix-kubernetes`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.25.2 |
| Published | 2017-10-22 |
| First published | 2016-08-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 9 |
| Known vulnerabilities | 0 (+4 in 2 direct dependencies) |
| Install scripts | no |
| GitHub stars | 80 |
| Author | Jaka Hudoklin |
| Maintainers | offlinehacker |
| Keywords | nix, kubernetes, dm, deployment, manager, docker |

## Links

- npm: https://www.npmjs.com/package/nix-kubernetes
- Repository: https://github.com/xtruder/nix-kubernetes
- Homepage: https://github.com/x-truder/nix-kubernetes
- Issues: https://github.com/xtruder/nix-kubernetes/issues
- npm.io page: https://npm.io/package/nix-kubernetes

## Dependencies (9)

- [tmp](https://npm.io/package/tmp.md) 0.0.30
- [hoek](https://npm.io/package/hoek.md) ^3.0.4
- [yargs](https://npm.io/package/yargs.md) ^4.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.6.1
- [yamljs](https://npm.io/package/yamljs.md) ^0.2.8
- [bluebird](https://npm.io/package/bluebird.md) ^3.3.4
- [cli-table2](https://npm.io/package/cli-table2.md) ^0.2.0
- [expand-tilde](https://npm.io/package/expand-tilde.md) ^1.2.0
- [bluebird-retry](https://npm.io/package/bluebird-retry.md) ^0.5.3

## Recent versions

- 0.25.2 (latest) — 2017-10-22
- 0.25.1 — 2017-09-21
- 0.25.0 — 2017-09-21
- 0.24.6 — 2017-09-20
- 0.24.5 — 2017-09-20
- 0.24.4 — 2017-09-20
- 0.24.3 — 2017-09-20
- 0.24.2 — 2017-09-20
- 0.24.1 — 2017-09-20
- 0.24.0 — 2017-09-20
- 0.23.1 — 2017-09-12
- 0.23.0 — 2017-09-12
- 0.22.4 — 2017-09-11
- 0.22.3 — 2017-09-11
- 0.22.2 — 2017-08-09
- … 81 more at https://npm.io/package/nix-kubernetes/versions

## README

# nix-kubernetes [![NPM version][npm-image]][npm-url] [![Build Status][travis-image]][travis-url] [![Dependency Status][daviddm-image]][daviddm-url] [![Coverage percentage][coveralls-image]][coveralls-url]
> Kubernetes deployment manager written in nix

## About

Nix-kubernetes is deployment manager for kubernetes that users nixos module
system to do declarative kubernetes configuration and deployment. By combining
nix package manager and nix-kubernetes declarative cluster configuration it can
do fully deterministic deployments from packages to configuration.

## Depencies

- nix (for installation instructions go to https://nixos.org/nix/)

## Installation

```sh
$ nix-env -f https://github.com/xtruder/nix-kubernetes/archive/v0.25.1.tar.gz -iA package
```

## Usage

```bash
Usage: bin/nix-kubernetes <command> [options]

Commands:
  create <file>   Create deployment
  list            List all known deployments
  delete          Delete deployment
  describe        Describes deployment
  deploy          Deploy configuration
  config          Manage deployment
  run-job <name>  Run distributed kubernetes job
  gc              Garbage collect resources (will only gc nix-kubernetes resources)

Options:
  -c, --config  path to configuration file  [default: "~/.kube/nix-kubernetes.json"]
  -h, --help    Show help  [boolean]

Examples:
  bin/nix-kubernetes create -d name deploy.nix                         create deployment
  bin/nix-kubernetes deploy -d name -n namespace --context my-cluster  deploy resources
  bin/nix-kubernetes deploy -d name --build-only                       only build
```

**Deploy**

```bash
nix-kubernetes deploy

Options:
  -c, --config      path to configuration file  [default: "~/.kube/nix-kubernetes.json"]
  -h, --help        Show help  [boolean]
  -f, --file        Use prebuild deployment file
  -d, --deployment  Deployment name
  -n, --namespace   Namespace to deploy
  -i, --include     Resources to include in deployment
  -o, --output      Output generated config to file
  --context         Kubernetes config context to use for deployment
  --build-only      only build
  --dry-run         dry run
  --restart         restart replication controllers
  --rolling-update  do a rolling update of a controller
  --gc              garbage collect resources (will only gc nix-kubernetes resources)

Examples:
  nix-kubernetes deploy -d deployment -n namespace -i replicationcontrollers/gitlab --gc --context my-cluster
  nix-kubernetes deploy -d deployment -n namespace -i services/mysql --dry-run
```

## Example usage

```sh
$ nix-kubernetes create -d gatehub deploy.nix
$ export NIX_PATH="services=/home/offlinehacker/projects/x-truder.net/services:$NIX_PATH"
$ nix-kubernetes deploy -d gatehub --build-only
$ nix-kubernetes deploy -d gatehub -n namespace --context my-cluster --gc
```

## Example deployment configurations

look into examples folder with example deployment configurations. 

## Options

For a list of all options look into [options.md](options.md)

## Nix-kubernetes services

Repo with bundle of nix-kubernetes
services is avalible on [https://github.com/x-truder/services](https://github.com/x-truder/services).

## Development

### Use development version

```sh
$ npm link
$ export PATH=~/.npm/bin:$PATH
```

## Build deployments

```sh
$ nix-build -A staging --arg configuration deploy.nix
```

## License

MIT © [Jaka Hudoklin](https://x-truder.net)


[npm-image]: https://badge.fury.io/js/nix-kubernetes.svg
[npm-url]: https://npmjs.org/package/nix-kubernetes
[travis-image]: https://travis-ci.org/x-truder/nix-kubernetes.svg?branch=master
[travis-url]: https://travis-ci.org/x-truder/nix-kubernetes
[daviddm-image]: https://david-dm.org/x-truder/nix-kubernetes.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/x-truder/nix-kubernetes
[coveralls-image]: https://coveralls.io/repos/x-truder/nix-kubernetes/badge.svg
[coveralls-url]: https://coveralls.io/r/x-truder/nix-kubernetes

---
_Source: https://npm.io/package/nix-kubernetes · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
