Mandrag
Zero Confing Elixir Deployments to Kubernetes via Distilerry and Helm
Requirements
Mandrag expects that you have docker, kubectl and helm binaries installed and configured. Currently, It also expects that you have a helm chart in the chart directory.
Installation
If available in Hex, the package can be installed
by adding mandrag to your list of dependencies in mix.exs:
def deps do
[
{:mandrag, "~> 0.6.0"}
]
endConfigure
Mandrag doesn't require configuation, it'll introspect the parent mix config to derive configuration, and use it's own built-in Dockerfile, but you can override those values as seen below.
config :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 for 1.0:
- Add dockerfile export
- Add default Helm chart for zero conifg standup. (or mabye just create a draft pack?)
Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/mandrag.