DopplerHQ / kubernetes-operator

Apache License 2.0
44 stars 18 forks source link

Add name transformer support #24

Closed ryan-blunden closed 2 years ago

ryan-blunden commented 2 years ago

https://user-images.githubusercontent.com/133014/185370039-30a1b35f-3c00-43d1-ab8b-a15ee09d38e8.mp4

Name Transformers enable secret names to transformed from Doppler's UPPER_SNAKE_CASE format into any of the following environment variable compatible formats:

Type Default Transform
camel API_KEY apiKey
upper-camel API_KEY APiKey
lower-snake API_KEY api-key
tf-var API_KEY TF_VAR_api_key
dotnet-env SMTP__USER_NAME Smtp__UserName

Simply add the nameTransformer field with any of the above types:

apiVersion: secrets.doppler.com/v1alpha1
kind: DopplerSecret
metadata:
  name: dopplersecret-test
  namespace: doppler-operator-system
spec:
  tokenSecret:
    name: doppler-token-secret
  managedSecret:
    name: doppler-test-secret
    namespace: default
  nameTransformer: dotnet-env

The nameTransformer values are also validated prior to admission to prevent transformation failures.

Closes DEVRL-289