@@ -70,15 +70,37 @@ defmodule PromEx.GrafanaAgent do
7070 { :noreply , state }
7171 end
7272
73- defp start_agent ( % { port_wrapper_path: port_wrapper_path , binary_path: binary_path , config_file_path: config_file_path } ) do
73+ defp start_agent (
74+ % {
75+ port_wrapper_path: port_wrapper_path ,
76+ binary_path: binary_path ,
77+ config_file_path: config_file_path ,
78+ grafana_agent_config: % {
79+ config_opts: % {
80+ agent_port: agent_port ,
81+ grpc_port: grpc_port
82+ }
83+ }
84+ } = state
85+ ) do
7486 Logger . info ( "Starting GrafanaAgent" )
7587
88+ wrapper_args = [ binary_path , "-config.file" , config_file_path ]
89+
90+ wrapper_args =
91+ if pre_v0_26? ( state ) do
92+ wrapper_args
93+ else
94+ wrapper_args ++
95+ [ "-server.http.address" , "127.0.0.1:#{ agent_port } " , "-server.grpc.address" , "127.0.0.1:#{ grpc_port } " ]
96+ end
97+
7698 { :spawn_executable , port_wrapper_path }
7799 |> Port . open ( [
78100 :binary ,
79101 :exit_status ,
80102 :stderr_to_stdout ,
81- args: [ binary_path , "-config.file" , config_file_path ]
103+ args: wrapper_args
82104 ] )
83105 end
84106
@@ -146,6 +168,7 @@ defmodule PromEx.GrafanaAgent do
146168 |> Map . get ( :grafana_agent_config )
147169 |> Map . get ( :config_opts )
148170 |> Map . put ( :wal_dir , wal_dir )
171+ |> Map . put ( :render_listen_port , pre_v0_26? ( state ) )
149172 |> maybe_put_job ( state )
150173 |> maybe_put_instance ( )
151174 |> ConfigRenderer . generate_config_file ( config_dir )
@@ -169,4 +192,6 @@ defmodule PromEx.GrafanaAgent do
169192 defp maybe_put_instance ( opts ) do
170193 opts
171194 end
195+
196+ defp pre_v0_26? ( % { grafana_agent_config: % { version: version } } ) , do: Version . compare ( version , "0.26.0" ) == :lt
172197end
0 commit comments