Packages
prom_ex
1.7.0
1.12.0
1.11.0
1.10.0
1.9.0
1.8.0
1.7.1
1.7.0
retired
1.6.0
1.5.0
1.4.1
1.4.0
1.3.0
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.1
1.0.0
0.1.15-beta
0.1.14-beta
0.1.13-beta
0.1.12-beta
0.1.11-alpha
0.1.10-alpha
0.1.9-alpha
0.1.8-alpha
0.1.7-alpha
0.1.6-alpha
0.1.5-alpha
0.1.4-alpha
0.1.3-alpha
0.1.2-alpha
0.1.1-alpha
0.1.0-alpha
Prometheus metrics and Grafana dashboards for all of your favorite Elixir libraries
Retired package: Release invalid - GrafanaAgent integration was packaged incorectly. Fixed in 1.7.1.
Current section
Files
Jump to
Current section
Files
lib/prom_ex/grafana_agent/config_renderer.ex
defmodule PromEx.GrafanaAgent.ConfigRenderer do
@moduledoc """
This module is used to render the YAML configuration file for
GrafanaAgent.
"""
@doc """
Generate and write the GrafanaAgent config file.
"""
@spec generate_config_file(opts :: map(), config_dir :: String.t()) :: String.t()
def generate_config_file(opts, config_dir) do
template_config =
:prom_ex
|> :code.priv_dir()
|> List.to_string()
|> Path.join("/grafana_agent/default_config.yml.eex")
|> File.read!()
rendered_config = EEx.eval_string(template_config, assigns: opts)
config_file_path = Path.join(config_dir, "agent.yml")
File.write(config_file_path, rendered_config)
config_file_path
end
end