resolve-config

command
v0.0.0-...-c178c83 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2024 License: AGPL-3.0 Imports: 18 Imported by: 0

README

resolve-config

This program implements the exec KRM function interface.

At a high level, these functions take a list of kubernetes resources as input on stdin and output a list of kubernetes resources on stdout. resolve-config attempts to derive the final Grafana Mimir configuration parameters based on the various Deployments, StatefulSets, ConfigMaps, and Secrets given as input.

The output contains all original objects unchanged plus an object of kind grafana.com/v1alpha1.MimirConfig for each container using the grafana/mimir image. Any parameters with values matching the defaults will be annotated to include the text (default). The resulting output is not intended to be a valid mimir configuration, but instead is meant to be useful for comparison via diff only.

For example, input containing the following two documents:

---
apiVersion: v1
kind: Deployment
metadata:
  name: querier
  namespace: default
spec:
  template:
    spec:
      containers:
        - name: mimir
          image: grafana/mimir:latest
          args:
            - -target=querier
            - -config.file=/etc/mimir/mimir.yaml
          volumeMounts:
            - name: mimir-config
              mountPath: /etc/mimir
      volumes:
        - name: mimir-config
          configMap:
            name: config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config
  namespace: default
data:
  mimir.yaml: |
    memberlist:
      bind_port: 1234

Will result in output similar to:

---
apiVersion: v1
kind: Deployment
metadata:
  name: querier
  namespace: default
spec:
  template:
    spec:
      containers:
        - name: mimir
          image: grafana/mimir:latest
          args:
            - -target=querier
            - -config.file=/etc/mimir/mimir.yaml
          volumeMounts:
            - name: mimir-config
              mountPath: /etc/mimir
      volumes:
        - name: mimir-config
          configMap:
            name: config
---
apiVersion: v1
kind: ConfigMap
metadata:
  name: config
  namespace: default
data:
  mimir.yaml: |
    memberlist:
      bind_port: 1234
---
apiVersion: grafana.com/v1alpha1
kind: MimirConfig
metadata:
  name: querier
  namespace: default
config:
  target: querier
  memberlist:
    abort_if_cluster_join_fails: false (default)
    advertise_addr: " (default)"
    advertise_port: 7946 (default)
    bind_port: 1234
  # remaining configuration fields omitted for brevity

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL