diff --git a/cmd/ingress-operator/start.go b/cmd/ingress-operator/start.go index 9a419e213c..5d56be5b26 100644 --- a/cmd/ingress-operator/start.go +++ b/cmd/ingress-operator/start.go @@ -1,12 +1,15 @@ package main import ( + "bytes" "context" "fmt" + "io/ioutil" "os" "github.com/ghodss/yaml" "github.com/spf13/cobra" + "gopkg.in/fsnotify.v1" "github.com/openshift/cluster-ingress-operator/pkg/dns" awsdns "github.com/openshift/cluster-ingress-operator/pkg/dns/aws" @@ -35,6 +38,9 @@ const ( // operator's namespace that will hold the credentials that the operator // will use to authenticate with the cloud API. cloudCredentialsSecretName = "cloud-credentials" + // defaultTrustedCABundle is the fully qualified path of the trusted CA bundle + // that is mounted from configmap openshift-ingress-operator/trusted-ca. + defaultTrustedCABundle = "/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem" ) func NewStartCommand() *cobra.Command { @@ -118,12 +124,67 @@ func start() error { os.Exit(1) } + // Set up the channels for the watcher and operator. + stop := make(chan struct{}) + signal := signals.SetupSignalHandler() + + // Set up and start the file watcher. + watcher, err := fsnotify.NewWatcher() + if err != nil { + log.Error(err, "failed to create watcher") + os.Exit(1) + } + defer watcher.Close() + if err := watcher.Add(defaultTrustedCABundle); err != nil { + log.Error(err, "failed to add file to watcher", "filename", defaultTrustedCABundle) + os.Exit(1) + } + log.Info("watching file", "filename", defaultTrustedCABundle) + orig, err := ioutil.ReadFile(defaultTrustedCABundle) + if err != nil { + log.Error(err, "failed to read watched file", "filename", defaultTrustedCABundle) + os.Exit(1) + } + go func() { + for { + select { + case <-signal: + close(stop) + return + case _, ok := <-watcher.Events: + if !ok { + log.Info("file watch events channel closed") + close(stop) + return + } + latest, err := ioutil.ReadFile(defaultTrustedCABundle) + if err != nil { + log.Error(err, "failed to read watched file", "filename", defaultTrustedCABundle) + close(stop) + return + } + if !bytes.Equal(orig, latest) { + log.Info("watched file changed, stopping operator", "filename", defaultTrustedCABundle) + close(stop) + return + } + case err, ok := <-watcher.Errors: + if !ok { + log.Info("file watch error channel closed") + close(stop) + return + } + log.Error(err, "file watch error") + } + } + }() + // Set up and start the operator. op, err := operator.New(operatorConfig, dnsProvider, kubeConfig) if err != nil { return fmt.Errorf("failed to create operator: %v", err) } - return op.Start(signals.SetupSignalHandler()) + return op.Start(stop) } // createDNSManager creates a DNS manager compatible with the given cluster diff --git a/manifests/01-trusted-ca-configmap.yaml b/manifests/01-trusted-ca-configmap.yaml new file mode 100644 index 0000000000..203cc10c16 --- /dev/null +++ b/manifests/01-trusted-ca-configmap.yaml @@ -0,0 +1,11 @@ +# The network operator is responsible for injecting +# the trusted ca bundle into this configmap. +apiVersion: v1 +kind: ConfigMap +metadata: + annotations: + release.openshift.io/create-only: "true" + labels: + config.openshift.io/inject-trusted-cabundle: "true" + name: trusted-ca + namespace: openshift-ingress-operator diff --git a/manifests/02-deployment.yaml b/manifests/02-deployment.yaml index 9ac5cd6209..1a55158970 100644 --- a/manifests/02-deployment.yaml +++ b/manifests/02-deployment.yaml @@ -3,6 +3,8 @@ kind: Deployment metadata: name: ingress-operator namespace: openshift-ingress-operator + annotations: + config.openshift.io/inject-proxy: ingress-operator spec: replicas: 1 strategy: @@ -52,6 +54,10 @@ spec: resources: requests: cpu: 10m + volumeMounts: + - name: trusted-ca + mountPath: /etc/pki/ca-trust/extracted/pem + readOnly: true - name: kube-rbac-proxy image: quay.io/openshift/origin-kube-rbac-proxy:latest args: @@ -76,3 +82,9 @@ spec: - name: metrics-tls secret: secretName: metrics-tls + - name: trusted-ca + configMap: + name: trusted-ca + items: + - key: ca-bundle.crt + path: tls-ca-bundle.pem diff --git a/pkg/manifests/bindata.go b/pkg/manifests/bindata.go index 7df8690578..94e8c94906 100644 --- a/pkg/manifests/bindata.go +++ b/pkg/manifests/bindata.go @@ -24,7 +24,8 @@ // manifests/01-role.yaml (477B) // manifests/01-service-account.yaml (196B) // manifests/01-service.yaml (344B) -// manifests/02-deployment.yaml (2.468kB) +// manifests/01-trusted-ca-configmap.yaml (323B) +// manifests/02-deployment.yaml (2.832kB) // manifests/03-cluster-operator.yaml (357B) // manifests/image-references (433B) @@ -575,7 +576,27 @@ func manifests01ServiceYaml() (*asset, error) { return a, nil } -var _manifests02DeploymentYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\x4d\x93\xda\x38\x10\xbd\xcf\xaf\x50\x71\x5e\x81\x99\x64\xb3\x1b\x55\xcd\x81\x25\x4e\x66\xaa\x06\x86\xc2\x53\xc9\x91\x12\x72\x03\x2a\x64\x49\xe9\x6e\x53\xe3\x7f\xbf\x65\x3e\x8d\x61\x48\x0e\xbb\x3e\x51\xea\xf7\x5e\x3f\x59\x4f\x6d\x74\xb4\xdf\x01\xc9\x06\xaf\x84\x8e\x91\x7a\x9b\xfe\xdd\xda\xfa\x5c\x89\x2f\x10\x5d\xa8\x0a\xf0\x7c\x57\x00\xeb\x5c\xb3\x56\x77\x42\x78\x5d\x80\x12\xd6\x2f\x11\x88\x64\x88\x80\x9a\x03\xee\x0b\x14\xb5\x01\x25\x42\x04\x4f\x2b\xbb\x60\x79\x81\xa3\x08\xa6\x96\x41\x88\xce\x1a\x4d\x4a\xf4\xef\x84\x20\x46\xcd\xb0\xac\xea\x8a\x10\x5c\x45\x50\x62\x0a\x06\x41\x33\xd4\x65\x70\x60\x38\xe0\xae\x5c\x68\x36\xab\x67\x3d\x07\x47\xbb\x85\x1b\xa6\x18\x8a\xe8\x34\xc3\x9e\xd9\xd8\x47\xfd\xb8\x33\x91\x1b\x32\x42\x1c\x7c\x6f\x61\x21\x87\xec\xcc\x52\xfd\xac\xcb\x39\xa0\x07\x06\xea\xda\xd0\x0b\xa4\x84\xb3\xbe\x7c\x3b\x89\x87\x1c\x24\x06\x07\xdd\x73\x64\xa1\x89\x01\x95\xe8\x74\xf6\x50\x0e\xae\x6e\x6c\x83\x3f\x5a\x93\x62\x0d\x95\x12\x9d\xdb\x1a\x9d\x63\xaf\x83\x75\x25\x3a\xe9\x9b\x25\xa6\x53\x09\x16\x0b\x30\xac\x44\x67\x1c\x32\xb3\x82\xbc\x74\xd0\xb9\xd2\xa5\xd5\xa0\xf4\x08\xda\xac\xf4\xfc\x84\xfe\xdd\x2e\xe9\x1b\x98\x92\x1b\xb4\xd3\xfe\x32\x30\xc1\xe7\x75\x06\xee\x93\x5f\x7b\xf0\x81\x25\x82\xce\xab\xff\xd7\x01\x01\x6e\xac\x81\x81\x31\xa1\xf4\x3c\x7e\x3f\x12\x42\x44\xb4\x01\x2d\x57\x43\xa7\x89\x76\x48\xaa\x88\xa1\x90\xc6\x95\xf5\x89\x48\x83\x96\xad\xd1\x6e\x4f\x30\xc1\xb3\xb6\x1e\xb0\x11\x3a\x79\x2b\x76\x7b\xbf\x80\x85\xf5\x5b\xc3\x23\x20\xd2\x4b\x98\x04\x67\x4d\xa5\xc4\x57\xed\xdc\x5c\x9b\xf5\x6b\x78\x0e\x4b\x7a\xf1\x29\xe2\x19\xd3\x16\x35\xb8\x74\xee\x40\x78\x5a\x8c\x03\x4f\x10\xa8\xbe\xd7\x2d\x5c\xe3\xe2\xf6\x02\xda\xa5\xf5\xc7\x7d\xb4\xcd\xa9\xfa\x52\x51\x53\xc1\x84\xa2\xd0\x3e\x57\x8d\x25\x79\x6b\x4f\x52\x10\x6b\x6c\x2a\x80\xdf\x34\xd9\xa7\x37\x33\x4d\x9f\xd3\x41\x96\xce\xbe\xa7\xd3\xec\xe9\x65\x7c\x86\x11\x62\xa3\x5d\x09\x4a\x74\x92\x6e\xd2\xed\x4b\xf2\x3a\xd2\x2a\x70\xe7\xaa\xd2\x8f\xc1\xeb\xf0\x71\x36\x1e\x8c\xd2\x6c\x32\x18\xa6\xd7\x94\xbe\x62\x28\x54\xab\x20\xc4\xc2\x82\xcb\xa7\xb0\xb8\xac\xec\x6b\x13\xcd\x2b\x75\x1c\x30\xdd\xe3\x30\xbc\x6a\xe3\x69\x34\xf8\x76\xb5\xf9\x95\x13\x58\xe9\x88\xe1\xad\x92\x18\xca\x7a\x4c\x6c\x3e\x76\x93\x06\x13\x81\x42\x89\x06\xe8\xdc\x18\xc2\xcf\x12\x88\xa9\x6d\xd7\xc4\x52\x89\x7e\x52\x5c\x84\xaf\xbe\x69\x12\xe7\xda\xc8\x6d\xb7\xcb\x64\xfc\x2c\x75\xb5\x9d\x6b\x6d\x7f\x2d\xe6\x65\x30\x34\x2e\xe9\x3c\x15\x52\xba\xb0\xe4\x40\x9c\x03\x62\xab\x42\x60\x4a\x04\xe9\x2c\x31\x78\xa9\xf3\xbc\xce\xcf\x83\xfa\xfc\xe1\xf3\x87\x16\x92\x1d\x49\x63\xe3\x0a\x50\x52\x69\x19\xe8\xe1\xf5\x39\x9b\xa5\xc3\x2f\x8f\xe9\x6c\x9a\x0d\x66\x3f\x9e\x5e\x1f\x67\x83\x34\x9b\xf5\xef\xff\x9e\x7d\x1b\x8e\x66\xd9\xe3\xe0\xfe\xcf\x4f\x7f\x9c\x50\xe9\xf0\xcb\x2f\x70\x17\x3a\xc3\x7f\x86\xbf\xa5\x73\x15\x77\x43\xad\xb5\xb7\x32\x12\x23\xe8\xe2\x61\xc5\x1c\x55\xaf\xd7\xbf\xff\xab\xbb\xcd\xb7\xfa\x94\x24\x49\xd2\xbb\xf6\x2a\x00\x59\x2e\xac\x83\x87\x1e\xb0\xe9\xb1\xa3\x5e\x44\xbb\xd1\x0c\xf5\xef\xae\x39\xbb\x6a\x07\xd2\x1e\x21\xd7\x50\xdd\xe0\xae\xa1\x19\x88\x18\x90\x5b\x07\x7a\x1c\x6b\x93\x80\xac\x44\xeb\xb0\x0e\xdf\xd5\x02\x18\xad\xa1\xff\x30\xbd\xbb\xa7\x80\x22\x60\xa5\xc4\xc7\x64\x64\x1b\xa5\x4d\x70\x65\x01\xa3\x7a\x88\xb7\xec\x16\xf5\xda\xee\xc2\xb6\xf7\xfb\xbe\xed\xfa\x7d\xb5\x5c\xea\xfc\xc5\xbb\x4a\x09\xc6\xf2\x40\xdc\x35\x6d\x7c\xb7\xdf\xd7\xa0\xfa\xff\x0d\x37\x9d\xed\x56\xc6\x17\x8c\x7f\x03\x00\x00\xff\xff\x04\xbf\x99\x13\xa4\x09\x00\x00") +var _manifests01TrustedCaConfigmapYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x90\xbf\x6e\xf3\x30\x0c\xc4\x77\x3d\xc5\x21\x99\x9d\x0f\xdf\xaa\xb5\x73\xb7\xa2\x3b\x23\xd3\x36\x1b\x99\x14\x44\xba\x45\xdf\xbe\x48\xed\xfe\x1b\x79\xe4\x1d\x7f\xb8\x33\x9e\x16\x86\x72\xbc\x59\xbf\xc1\x1a\x77\x0a\xeb\x10\x47\x67\x6f\xa6\x2e\xd7\xca\x98\xee\x92\xbe\x70\x09\xd1\x39\x9d\x11\x0b\x23\xfa\xe6\xc1\x23\x0a\xe1\xba\xe9\x58\x19\xa2\x61\x88\x45\x1c\xc5\x74\x92\x79\xa5\x76\x49\xd4\xe4\x99\xbb\x8b\x69\xc6\xeb\xff\x74\x13\x1d\x33\x1e\x3e\xf7\x8f\xd4\xd2\xca\x41\x23\x05\xe5\x04\x90\xaa\x05\x85\x98\xfa\x7d\x04\x3a\x57\x26\xe7\x8b\x35\x56\x5f\x64\x8a\x8b\xd8\xbf\xd2\x99\x82\x07\xd3\xfa\x9e\x71\x8a\xbe\xf1\x29\x01\x95\xae\x5c\x0f\xdb\xfe\xfd\xaf\x6b\xa7\x1f\x0e\xe8\xa1\xd0\xce\xfc\x2b\x41\x69\xe5\x8c\x9f\x83\x43\xf2\x46\x85\x33\xbe\xc3\x06\xd1\xb9\xb3\xfb\xf0\xd5\x55\xfa\x08\x00\x00\xff\xff\x4c\x3f\xbd\xa8\x43\x01\x00\x00") + +func manifests01TrustedCaConfigmapYamlBytes() ([]byte, error) { + return bindataRead( + _manifests01TrustedCaConfigmapYaml, + "manifests/01-trusted-ca-configmap.yaml", + ) +} + +func manifests01TrustedCaConfigmapYaml() (*asset, error) { + bytes, err := manifests01TrustedCaConfigmapYamlBytes() + if err != nil { + return nil, err + } + + info := bindataFileInfo{name: "manifests/01-trusted-ca-configmap.yaml", size: 323, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe, 0x99, 0xa0, 0xf5, 0x24, 0x3, 0x8, 0xa4, 0xc3, 0xec, 0x80, 0xc0, 0x88, 0xbd, 0x8, 0xb0, 0xfc, 0xf0, 0x3, 0x42, 0x53, 0x21, 0xf3, 0xbb, 0x4a, 0x33, 0xfd, 0x7, 0xa3, 0x23, 0x4, 0xfa}} + return a, nil +} + +var _manifests02DeploymentYaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xb4\x56\x41\x73\xdb\x38\x0f\xbd\xe7\x57\x70\x7c\xfe\x68\xd9\x69\xbf\xee\x96\x33\x39\x78\x5d\xb5\xc9\x4c\xec\x66\xe2\x4c\x7b\xf4\xd0\x14\x6c\x73\x4d\x91\x2c\x00\x79\xa2\x7f\xbf\x43\xd9\xb1\x65\xc5\x71\x73\xd8\xd5\x49\x23\x3c\x3c\x3c\x80\x00\x44\x1d\xed\x0f\x40\xb2\xc1\x2b\xa1\x63\xa4\x6c\x3b\xbc\xda\x58\x5f\x28\xf1\x05\xa2\x0b\x75\x09\x9e\xaf\x4a\x60\x5d\x68\xd6\xea\x4a\x08\xaf\x4b\x50\xc2\xfa\x15\x02\x91\x0c\x11\x50\x73\xc0\xbd\x81\xa2\x36\xa0\x44\x88\xe0\x69\x6d\x97\x2c\xcf\xe0\xb4\xf7\x81\x35\xdb\xe0\x29\xf1\x09\x61\x82\x5f\xda\x55\xff\xe0\xd4\xb7\x21\xb3\xfe\x6f\x30\x2c\x23\x86\xe7\xfa\x4c\x34\x8a\x60\x92\x33\x42\x74\xd6\x68\x52\x62\x78\x25\x04\x31\x6a\x86\x55\xbd\xa3\xe5\x3a\x82\x12\x8f\x60\x10\x34\x43\x32\x83\x03\xc3\x01\x77\xe6\x52\xb3\x59\xdf\xeb\x05\xb8\xbd\x8c\x0b\xa9\x31\x94\xd1\x69\x86\xbd\x67\xab\x1a\xe9\x71\x27\x24\x17\x68\x84\x78\xd1\xdd\xc0\x42\x01\xb3\x13\x49\xe9\xd9\x54\x0b\x40\x0f\x0c\x94\xca\x10\x48\x09\x67\x7d\xf5\x7c\x24\x0f\x05\x48\x0c\x0e\xfa\xa7\xc8\x52\x13\x03\x2a\xd1\xeb\xed\xa1\x1c\x5c\x0a\x7c\x2c\xb3\x10\x52\x6c\xa0\x56\xa2\x77\x99\xa3\x77\x88\xf5\x22\x5d\x89\x5e\xfe\x6c\x89\xe9\x68\x82\xe5\x12\x0c\x2b\xd1\x9b\x86\x99\x59\x43\x51\x39\xe8\x9d\x89\xd2\x09\x50\x79\x04\x6d\xd6\x7a\x71\x44\xbf\x37\x4a\xfe\x0c\xa6\xe2\x96\xdb\x31\xbf\x19\x98\xe0\x8b\xd4\x03\xd7\x83\xdf\x6b\xf0\x81\x25\x82\x2e\xea\xff\x56\x01\x01\x6e\xad\x81\x91\x31\xa1\xf2\x3c\x7d\xbb\x25\x84\x88\x68\x03\x5a\xae\xc7\x4e\x13\xed\x90\x54\x13\x43\x29\x8d\xab\xd2\x89\x48\x83\x96\xad\xd1\x6e\xef\x60\x82\x67\x6d\x3d\x60\xab\xe9\xe4\xa5\xb6\xdb\xeb\x05\x2c\xad\x6f\x04\x4f\x80\x48\xaf\xe0\x21\x38\x6b\x6a\x25\xbe\x6a\xe7\x16\xda\x6c\x9e\xc2\x7d\x58\xd1\x77\x9f\x23\x9e\x78\xda\x32\x81\x2b\xe7\x5e\x1c\xee\x96\xd3\xc0\x0f\x08\x94\xb6\x43\x07\xd7\x1a\xff\x2c\xa0\x5d\x59\x7f\xc8\xa3\x2b\x4e\xa5\xa1\xa2\x36\x83\x09\x65\xa9\x7d\xa1\x5a\x9f\xe4\xa5\x9c\xa4\x20\xd6\xd8\x66\x00\xbf\x6d\x7b\x1f\x2b\xf3\x98\xdf\xe7\xa3\x59\x3e\xff\x91\x3f\xce\xee\xbe\x4f\x4f\x30\x42\x6c\xb5\xab\x40\x89\xde\xa0\x3f\xe8\x0f\x25\x79\x1d\x69\x1d\xb8\x77\x96\xe9\xe7\xe8\x69\x7c\x3b\x9f\x8e\x26\xf9\xec\x61\x34\xce\xcf\x31\x7d\xc5\x50\xaa\x8e\x41\x88\xa5\x05\x57\x3c\xc2\xf2\xb5\x65\x6f\x7b\xd0\xbc\x56\x87\x05\xd3\x3f\xac\xd4\xb3\x32\xee\x26\xa3\x6f\x67\x83\x9f\x39\x81\xb5\x6e\x56\xa9\xc4\x50\xa5\x35\xb1\xfd\xd8\x1f\xb4\x3c\x11\x28\x54\x68\x80\x4e\x85\x21\xfc\xaa\x80\x98\xba\x72\x4d\xac\x94\x18\x0e\xca\xd6\xe7\x6d\x70\x55\x09\x93\xd4\xeb\x74\x7a\x78\x3b\xad\x8c\xa9\x03\x0a\x69\xf4\x09\x57\x99\x1c\x76\x49\x67\xc0\x26\x8b\x1b\x9b\x19\x2d\x1b\x74\x06\xcf\x8c\xda\x30\x14\x59\x84\xb2\x23\x4c\x17\xdf\xbd\xab\x1b\x5e\x78\x35\x03\x69\xe0\x25\x2e\xb4\xd9\xfd\x3f\x5e\x37\xe8\xaf\x4a\xd7\xcd\x7a\xed\x96\xa9\xe3\xf9\xba\x3f\x35\xae\x3a\xf9\x49\xe9\xc2\x8a\x03\x71\x01\x88\x1d\x0b\x81\xa9\x10\xa4\xb3\xc4\xe0\xa5\x2e\x8a\xd4\xc6\x37\xea\xf3\x87\xcf\x1f\x3a\x48\x76\x24\x8d\x8d\x6b\x40\x49\x95\x65\xa0\x9b\xa7\xfb\xd9\x3c\x1f\x7f\xb9\xcd\xe7\x8f\xb3\xd1\xfc\xe7\xdd\xd3\xed\x7c\x94\xcf\xe6\xc3\xeb\x3f\xe7\xdf\xc6\x93\xf9\xec\x76\x74\xfd\xff\x4f\xff\x3b\xa2\xf2\xf1\x97\xdf\xe0\x5e\xf1\x8c\xff\x1a\xbf\x8b\xe7\x2c\xee\x02\x5b\x27\xb7\x2a\x12\x23\xe8\xf2\x66\xcd\x1c\x55\x96\x0d\xaf\xff\xe8\x37\x63\xa6\x3e\x0d\x06\x83\x41\x76\xae\x14\x80\x2c\x97\xd6\xc1\x4d\xd3\x16\xec\x28\x8b\x68\xb7\x9a\x21\xbd\xf7\xcd\xc9\xc4\xbf\x38\xed\x11\x72\x03\xf5\x05\xdf\x0d\xb4\x1b\x22\x06\xec\x36\xec\x61\xbb\x3e\x04\x64\x25\x3a\x87\xf5\xf2\x7b\x2f\x81\xd1\x1a\xfa\x57\x87\x48\x34\x97\x8b\x32\x60\xad\xc4\xc7\xc1\xc4\xbe\x6b\xbe\xba\x23\xd4\xca\xf7\x6d\xd9\xa9\x5e\xbf\x9f\xa8\x5d\xd0\xd6\xf5\xe1\x6d\x0e\x4a\xd7\x2c\x6e\x2b\xdb\x7d\x99\xbe\xe1\x71\x61\x2f\xec\xae\x83\x13\x1d\xdb\x6c\x17\xb6\x88\x65\x28\xa9\xbb\xf2\x9b\xdf\xbf\xd1\x72\x51\xf9\xc2\x41\xa7\x61\xd2\x13\x9b\x8a\x35\xbd\x76\x40\xa5\x35\xf3\x4f\x00\x00\x00\xff\xff\xb8\xac\xc5\x1e\x10\x0b\x00\x00") func manifests02DeploymentYamlBytes() ([]byte, error) { return bindataRead( @@ -590,8 +611,8 @@ func manifests02DeploymentYaml() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "manifests/02-deployment.yaml", size: 2468, mode: os.FileMode(420), modTime: time.Unix(1, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xbf, 0x8d, 0xe3, 0x66, 0x2e, 0xe7, 0xfd, 0x1, 0xc, 0xbf, 0xaf, 0xe9, 0x99, 0xac, 0xb, 0xcd, 0xd4, 0x99, 0xf, 0xbc, 0x4f, 0xd1, 0xcc, 0x9f, 0x1, 0xc3, 0x68, 0xa5, 0xb7, 0x62, 0xe5, 0xeb}} + info := bindataFileInfo{name: "manifests/02-deployment.yaml", size: 2832, mode: os.FileMode(420), modTime: time.Unix(1, 0)} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xe2, 0x2b, 0xf1, 0xb8, 0x2b, 0x55, 0xdf, 0xa3, 0x95, 0x9b, 0x31, 0x93, 0xb8, 0x75, 0xae, 0x9f, 0x4d, 0x96, 0xcd, 0x9c, 0x14, 0xa6, 0xdf, 0x43, 0x6, 0x94, 0xd0, 0xa6, 0xb8, 0xda, 0xb, 0x32}} return a, nil } @@ -774,6 +795,8 @@ var _bindata = map[string]func() (*asset, error){ "manifests/01-service.yaml": manifests01ServiceYaml, + "manifests/01-trusted-ca-configmap.yaml": manifests01TrustedCaConfigmapYaml, + "manifests/02-deployment.yaml": manifests02DeploymentYaml, "manifests/03-cluster-operator.yaml": manifests03ClusterOperatorYaml, @@ -853,6 +876,7 @@ var _bintree = &bintree{nil, map[string]*bintree{ "01-role.yaml": {manifests01RoleYaml, map[string]*bintree{}}, "01-service-account.yaml": {manifests01ServiceAccountYaml, map[string]*bintree{}}, "01-service.yaml": {manifests01ServiceYaml, map[string]*bintree{}}, + "01-trusted-ca-configmap.yaml": {manifests01TrustedCaConfigmapYaml, map[string]*bintree{}}, "02-deployment.yaml": {manifests02DeploymentYaml, map[string]*bintree{}}, "03-cluster-operator.yaml": {manifests03ClusterOperatorYaml, map[string]*bintree{}}, "image-references": {manifestsImageReferences, map[string]*bintree{}},