mirror of
				https://github.com/prometheus-operator/kube-prometheus.git
				synced 2025-11-04 01:51:01 +01:00 
			
		
		
		
	examples,jsonnet: fix thanos-sidecar addon; add test for thanos-sidecar addon
This commit is contained in:
		
							parent
							
								
									e3cd00e01a
								
							
						
					
					
						commit
						f95f0fa875
					
				
							
								
								
									
										32
									
								
								examples/thanos-sidecar.jsonnet
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								examples/thanos-sidecar.jsonnet
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
			
		||||
local kp =
 | 
			
		||||
  (import 'kube-prometheus/main.libsonnet') +
 | 
			
		||||
  (import 'kube-prometheus/addons/thanos-sidecar.libsonnet') +
 | 
			
		||||
  {
 | 
			
		||||
    values+:: {
 | 
			
		||||
      common+: {
 | 
			
		||||
        namespace: 'monitoring',
 | 
			
		||||
      },
 | 
			
		||||
      thanos: {
 | 
			
		||||
        version: '0.17.2',
 | 
			
		||||
        image: 'quay.io/thanos-io/thanos:v' + $.values.thanos.version,
 | 
			
		||||
        objectStorageConfig: {
 | 
			
		||||
          key: 'thanos.yaml',  // How the file inside the secret is called
 | 
			
		||||
          name: 'thanos-objectstorage',  // This is the name of your Kubernetes secret with the config
 | 
			
		||||
        },
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
{ ['setup/0namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
 | 
			
		||||
{
 | 
			
		||||
  ['setup/prometheus-operator-' + name]: kp.prometheusOperator[name]
 | 
			
		||||
  for name in std.filter((function(name) name != 'serviceMonitor'), std.objectFields(kp.prometheusOperator))
 | 
			
		||||
} +
 | 
			
		||||
// serviceMonitor is separated so that it can be created after the CRDs are ready
 | 
			
		||||
{ 'prometheus-operator-serviceMonitor': kp.prometheusOperator.serviceMonitor } +
 | 
			
		||||
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
 | 
			
		||||
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
 | 
			
		||||
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
 | 
			
		||||
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
 | 
			
		||||
{ ['prometheus-adapter-' + name]: kp.prometheusAdapter[name] for name in std.objectFields(kp.prometheusAdapter) } +
 | 
			
		||||
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }
 | 
			
		||||
@ -1,13 +1,10 @@
 | 
			
		||||
(import 'github.com/thanos-io/thanos/mixin/alerts/sidecar.libsonnet') +
 | 
			
		||||
{
 | 
			
		||||
  values+:: {
 | 
			
		||||
    thanos+:: {
 | 
			
		||||
      version: '0.14.0',
 | 
			
		||||
      image: 'quay.io/thanos/thanos:v0.14.0',
 | 
			
		||||
      objectStorageConfig: {
 | 
			
		||||
        key: 'thanos.yaml',  // How the file inside the secret is called
 | 
			
		||||
        name: 'thanos-objectstorage',  // This is the name of your Kubernetes secret with the config
 | 
			
		||||
      },
 | 
			
		||||
    thanos: {
 | 
			
		||||
      version: error 'must provide thanos version',
 | 
			
		||||
      image: error 'must provide thanos image',
 | 
			
		||||
      objectStorageConfig: error 'must provide thanos object storage configuration',
 | 
			
		||||
    },
 | 
			
		||||
  },
 | 
			
		||||
  prometheus+: {
 | 
			
		||||
@ -35,7 +32,7 @@
 | 
			
		||||
          { name: 'grpc', port: 10901, targetPort: 10901 },
 | 
			
		||||
          { name: 'http', port: 10902, targetPort: 10902 },
 | 
			
		||||
        ],
 | 
			
		||||
        selector: { app: 'prometheus', prometheus: p.name },
 | 
			
		||||
        selector: { app: 'prometheus', prometheus: p.config.name },
 | 
			
		||||
        clusterIP: 'None',
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user