github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/boom/application/resources/secret.go (about) 1 package resources 2 3 import "encoding/base64" 4 5 type SecretConfig struct { 6 Name string 7 Namespace string 8 Labels map[string]string 9 Data map[string]string 10 } 11 12 type Secret struct { 13 APIVersion string `yaml:"apiVersion"` 14 Kind string `yaml:"kind"` 15 Metadata *Metadata `yaml:"metadata"` 16 Data map[string]string `yaml:"data"` 17 Type string `yaml:"type"` 18 } 19 20 func NewSecret(conf *SecretConfig) *Secret { 21 encodedData := make(map[string]string, 0) 22 for k, v := range conf.Data { 23 encodedData[k] = base64.StdEncoding.EncodeToString([]byte(v)) 24 } 25 26 return &Secret{ 27 APIVersion: "v1", 28 Kind: "Secret", 29 Metadata: &Metadata{ 30 Name: conf.Name, 31 Namespace: conf.Namespace, 32 Labels: conf.Labels, 33 }, 34 Type: "Opaque", 35 Data: encodedData, 36 } 37 }