Packages
mandrag
0.6.3
1.0.0-pre.0
0.8.1
0.8.0
0.7.3
0.7.2
0.7.1
0.7.0
0.6.10
0.6.9
0.6.8
0.6.7
0.6.6
0.6.5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
0.5.1
0.5.0
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.4
0.2.1
retired
0.2.0
retired
0.1.1
0.1.0
0.0.21
0.0.20
0.0.19
0.0.18
0.0.17
0.0.16
0.0.15
0.0.14
0.0.13
0.0.12
0.0.11
0.0.10
0.0.9
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Build and Deploy Elixir releases to Kubernetes via Helm
Current section
Files
Jump to
Current section
Files
README.md
# MandragDeploy Elixir releases to [Kubernetes](https://kubernetes.io/) via [Distilerry](https://github.com/bitwalker/distillery) and [Helm](https://helm.sh/)## RequirementsMandrag expects that you have docker, kubectl and helm binaries installed and configured. It also expects to you have a helm chart in the `chart` directory.## InstallationIf [available in Hex](https://hex.pm/docs/publish), the package can be installedby adding `mandrag` to your list of dependencies in `mix.exs`:```elixirdef deps do [ {:mandrag, "~> 0.6.0"} ]end```## ConfigureMandrag doesn't require configuation, it'll introspect the parent mix config to derive configuration, and use it's own built-in [Dockerfile](tk), but you can override those values as seen below.```elixirconfig :mandrag, # The name of the app and release. Defaults to the :app key in the parent mix project. app: :app_name, # The docker repo to push to. Defaults to `docker/app_name`. docker_repo: docker/another_name, # The path to the Dockerfile to be used. Defaults to the Dockerfile inside this package. dockerfile_path: Dockerfile, # A map of values that are translated to `--build-arg` arguments. docker_build_args: %{key: "value"}```TODO:- Add default Helm chart for zero conifg standup. (or mabye just create a [draft](https://draft.sh/) pack?)Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)and published on [HexDocs](https://hexdocs.pm). Once published, the docs canbe found at [https://hexdocs.pm/mandrag](https://hexdocs.pm/mandrag).