fix(archive): make sure special commandline flags are accepted
Attempt to resolve the issue of being unable to pass the `--storage.tsdb.retention.time` flag. Signed-off-by: Arend Hummeling <arend@adivare.nl>
This commit is contained in:
		
							parent
							
								
									5d39408744
								
							
						
					
					
						commit
						9529d5fcfe
					
				@ -129,19 +129,28 @@ prometheus-archive-install-{{ name }}-managed-service:
 | 
			
		||||
        env: {{ p.pkg.component[name]['service'].get('env', [])|tojson }}
 | 
			
		||||
        workdir: {{ p.dir.var }}/{{ name }}
 | 
			
		||||
        stop: ''
 | 
			
		||||
               {%- if name in ('node_exporter', 'consul_exporter') or 'config_file' not in p.pkg.component[name] %}
 | 
			
		||||
                 {%- set args = [] %}
 | 
			
		||||
                 {%- for param, value in p.pkg.component.get(name).get('service').get('args', {}).items() %}
 | 
			
		||||
                    {%- if value is not none %}
 | 
			
		||||
                      {% do args.append("--" ~ param ~ "=" ~ value ) %}
 | 
			
		||||
                    {%- else %}
 | 
			
		||||
                      {% do args.append("--" ~ param ) %}
 | 
			
		||||
                    {%- endif %}
 | 
			
		||||
                 {%- endfor %}
 | 
			
		||||
        start: {{ p.pkg.component[name]['path'] }}/{{ name }} {{ args|join(' ') }}
 | 
			
		||||
               {%- else %}
 | 
			
		||||
        start: {{ p.pkg.component[name]['path'] }}/{{ name }} --config.file {{ p.pkg.component[name]['config_file'] }}  # noqa 204
 | 
			
		||||
             {%- set all_args = p.pkg.component.get(name).get('service').get('args', {}) %}
 | 
			
		||||
             {%- set commandline_only_args = ["storage.tsdb.retention.time"] %}
 | 
			
		||||
             {%- if name in ('node_exporter', 'consul_exporter') or 'config_file' not in p.pkg.component[name] %}
 | 
			
		||||
               {%- set args = all_args %}
 | 
			
		||||
             {%- else %}
 | 
			
		||||
               {%- set args = {'config.file': p.pkg.component[name]['config_file']} %}
 | 
			
		||||
             {%- endif %}
 | 
			
		||||
             {%- for arg in commandline_only_args %}
 | 
			
		||||
               {%- set value = all_args.get(arg) %}
 | 
			
		||||
               {%- if value is not none %}
 | 
			
		||||
                 {%- do args.update({arg: value}) %}
 | 
			
		||||
               {%- endif %}
 | 
			
		||||
             {%- endfor %}
 | 
			
		||||
             {%- set flags = [] %}
 | 
			
		||||
             {%- for param, value in args.items() %}
 | 
			
		||||
                {%- if value is not none %}
 | 
			
		||||
                  {% do flags.append("--" ~ param ~ "=" ~ value ) %}
 | 
			
		||||
                {%- else %}
 | 
			
		||||
                  {% do flags.append("--" ~ param ) %}
 | 
			
		||||
                {%- endif %}
 | 
			
		||||
             {%- endfor %}
 | 
			
		||||
        start: {{ p.pkg.component[name]['path'] }}/{{ name }} {{ flags|join(' ') }}
 | 
			
		||||
    - require:
 | 
			
		||||
      - file: prometheus-archive-install-{{ name }}-file-directory
 | 
			
		||||
              {%- if p.pkg.component.get(name).get('archive').get('tar', true) %}
 | 
			
		||||
 | 
			
		||||
@ -118,6 +118,7 @@ prometheus:
 | 
			
		||||
        service:
 | 
			
		||||
          args:
 | 
			
		||||
            web.listen-address: 0.0.0.0:9090
 | 
			
		||||
            storage.tsdb.retention.time: 150d
 | 
			
		||||
        environ:
 | 
			
		||||
          args:
 | 
			
		||||
            web.listen-address: 0.0.0.0:9090
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user