| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- {% raw %}
- # define your template in a config map
- apiVersion: v1
- kind: ConfigMap
- metadata:
- name: grafana-config-tpl
- data:
- config.yaml: |
- datasources:
- - name: Graphite
- type: graphite
- access: proxy
- url: "{{ .uri }}"
- password: "{{ .password }}"
- user: "{{ .user }}"
- templated: |
- # key and value templated
- my-application-{{ .user}}: {{ .password | b64enc }}
- # conditional keys
- {{- if hasPrefix "oci://" .uri }}
- enableOCI: true
- {{- else }}
- enableOCI: false
- {{- end }}
- # Fixed values
- application-type: grafana
- annotations: |
- #dynamic timestamp generation
- last-synced-for-user/{{ .user }}: {{ now }}
- ---
- apiVersion: external-secrets.io/v1
- kind: ExternalSecret
- metadata:
- name: my-template-example
- spec:
- # ...
- target:
- name: secret-to-be-created
- template:
- engineVersion: v2
- templateFrom:
- - target: Data
- configMap:
- # name of the configmap to pull in
- name: grafana-config-tpl
- # here you define the keys that should be used as template
- items:
- - key: config.yaml
- templateAs: Values
- - key: templated
- templateAs: KeysAndValues
- - target: Annotations
- configMap:
- # name of the configmap to pull in
- name: grafana-config-tpl
- # here you define the keys that should be used as template
- items:
- - key: annotations
- templateAs: KeysAndValues
- data:
- - secretKey: user
- remoteRef:
- key: /grafana/user
- - secretKey: password
- remoteRef:
- key: /grafana/password
- - secretKey: uri
- remoteRef:
- key: /grafana/uri
- {% endraw %}
|