defmodule Mix.Tasks.Skylab.Deploy do @moduledoc """ 创建并配置 k8s 配置文件。 """ def run(args) do args |> parse_args() |> Skylab.Deploy.run() end defp parse_args(args) do {options, _, _} = OptionParser.parse(args, switches: [:dry_run, :verbose]) Keyword.merge(default(), options) end defp default() do config = Skylab.Config.all() |> Keyword.get(:deploy) env = Mix.env() |> to_string() |> String.upcase() [ registry: config[:image_registry], namespace: config[:image_namespace], k8s_namespace: config[:k8s_namespace], pull_registry: config[:image_pull_registry], kube_config_secret_url: System.get_env("#{env}_KUBE_CONFIG_SECRET_PATH"), kube_skip_tls_verify: config[:kube_skip_tls_verify], vault_token: System.get_env("VAULT_TOKEN") ] end end