Packages
mandrag
0.1.1
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
lib/mandrag.ex
defmodule Mandrag do
def message(text), do: if output_level > 0, do: IO.puts(text)
def run_command(command), do: ssh("#{name}/run/bin/#{name} #{command}")
# SSH helpers
def ssh_options, do: "-i#{key} -oStrictHostKeyChecking=no"
def ssh(command), do: Mix.Shell.IO.cmd "ssh #{user}@#{host} #{ssh_options} '#{command}'"
def scp(source, destination), do: Mix.Shell.IO.cmd "scp #{ssh_options} #{source} #{user}@#{host}:#{destination}"
# config helpers
def user, do: Application.get_env(:mandrag, :user)
def host, do: Application.get_env(:mandrag, :host)
def key, do: Application.get_env(:mandrag, :key)
def name, do: Application.get_env(:mandrag, :name)
def version, do: Application.get_env(:mandrag, :version)
def repo, do: Application.get_env(:mandrag, :repo)
def location, do: Application.get_env(:mandrag, :build_location) || :local
def output, do: Application.get_env(:mandrag, :output) || :info
def output_level, do: %{error: 0, info: 1, debug: 2} |> Map.get(output)
end