diff --git a/data/data/bootstrap/files/usr/local/bin/bootkube.sh.template b/data/data/bootstrap/files/usr/local/bin/bootkube.sh.template index 2b456b75034..2b582a38ed9 100755 --- a/data/data/bootstrap/files/usr/local/bin/bootkube.sh.template +++ b/data/data/bootstrap/files/usr/local/bin/bootkube.sh.template @@ -179,7 +179,7 @@ then --kube-ca=/assets/tls/kube-ca.crt \ --config-file=/assets/manifests/cluster-config.yaml \ --dest-dir=/assets/mco-bootstrap \ - --pull-secret=/assets/manifests/pull.json \ + --pull-secret=/assets/manifests/openshift-config-secret-pull-secret.yaml \ --etcd-image=${MACHINE_CONFIG_ETCD_IMAGE} \ --setup-etcd-env-image=${MACHINE_CONFIG_SETUP_ETCD_ENV_IMAGE} \ --kube-client-agent-image=${MACHINE_CONFIG_KUBE_CLIENT_AGENT_IMAGE} \ diff --git a/data/data/manifests/bootkube/openshift-config-secret-pull-secret.yaml.template b/data/data/manifests/bootkube/openshift-config-secret-pull-secret.yaml.template new file mode 100644 index 00000000000..04a8b8086b6 --- /dev/null +++ b/data/data/manifests/bootkube/openshift-config-secret-pull-secret.yaml.template @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: Secret +type: kubernetes.io/dockerconfigjson +metadata: + namespace: openshift-config + name: pull-secret +data: + .dockerconfigjson: {{.PullSecretBase64}} diff --git a/docs/design/resource_dep.svg b/docs/design/resource_dep.svg index 04ba6fcdc30..f88b3957e8a 100644 --- a/docs/design/resource_dep.svg +++ b/docs/design/resource_dep.svg @@ -1,1640 +1,1908 @@ - - - + + G - -cluster_Target - -Target - -cluster_bootkube - -bootkube - -cluster_bootstrap - -bootstrap - -cluster_cluster - -cluster - -cluster_installconfig - -installconfig - -cluster_kubeconfig - -kubeconfig - -cluster_machine - -machine - -cluster_machines - -machines - -cluster_manifests - -manifests - -cluster_openshift - -openshift - -cluster_password - -password - -cluster_rhcos - -rhcos - -cluster_tls - -tls + + +cluster_Target + +Target + + +cluster_bootkube + +bootkube + + +cluster_bootstrap + +bootstrap + + +cluster_cluster + +cluster + + +cluster_installconfig + +installconfig + + +cluster_kubeconfig + +kubeconfig + + +cluster_machine + +machine + + +cluster_machines + +machines + + +cluster_manifests + +manifests + + +cluster_openshift + +openshift + + +cluster_password + +password + + +cluster_rhcos + +rhcos + + +cluster_tls + +tls -installconfig.InstallConfig - -installconfig.InstallConfig + +installconfig.InstallConfig + +installconfig.InstallConfig -Target Install Config - -Target Install Config + +Target Install Config + +Target Install Config -installconfig.InstallConfig->Target Install Config - - + +installconfig.InstallConfig->Target Install Config + + + + + +machines.Master + +machines.Master + + + +installconfig.InstallConfig->machines.Master + + -installconfig.ClusterID - -installconfig.ClusterID + +installconfig.ClusterID + +installconfig.ClusterID -installconfig.InstallConfig->installconfig.ClusterID - - + +installconfig.InstallConfig->installconfig.ClusterID + + -installconfig.PlatformCredsCheck - -installconfig.PlatformCredsCheck + +installconfig.PlatformCredsCheck + +installconfig.PlatformCredsCheck -installconfig.InstallConfig->installconfig.PlatformCredsCheck - - - - -machines.Master - -machines.Master - - -installconfig.InstallConfig->machines.Master - - + +installconfig.InstallConfig->installconfig.PlatformCredsCheck + + -rhcos.Image - -rhcos.Image + +rhcos.Image + +rhcos.Image -installconfig.InstallConfig->rhcos.Image - - + +installconfig.InstallConfig->rhcos.Image + + -machine.Master - -machine.Master + +machine.Master + +machine.Master -installconfig.InstallConfig->machine.Master - - + +installconfig.InstallConfig->machine.Master + + -machines.Worker - -machines.Worker + +machines.Worker + +machines.Worker -installconfig.InstallConfig->machines.Worker - - + +installconfig.InstallConfig->machines.Worker + + -machine.Worker - -machine.Worker + +machine.Worker + +machine.Worker -installconfig.InstallConfig->machine.Worker - - + +installconfig.InstallConfig->machine.Worker + + -manifests.Manifests - -manifests.Manifests + +manifests.Manifests + +manifests.Manifests -installconfig.InstallConfig->manifests.Manifests - - + +installconfig.InstallConfig->manifests.Manifests + + -manifests.Ingress - -manifests.Ingress + +manifests.Ingress + +manifests.Ingress -installconfig.InstallConfig->manifests.Ingress - - + +installconfig.InstallConfig->manifests.Ingress + + -manifests.DNS - -manifests.DNS + +manifests.DNS + +manifests.DNS -installconfig.InstallConfig->manifests.DNS - - + +installconfig.InstallConfig->manifests.DNS + + -manifests.Infrastructure - -manifests.Infrastructure + +manifests.Infrastructure + +manifests.Infrastructure -installconfig.InstallConfig->manifests.Infrastructure - - + +installconfig.InstallConfig->manifests.Infrastructure + + + + + +manifests.CloudProviderConfig + +manifests.CloudProviderConfig + + + +installconfig.InstallConfig->manifests.CloudProviderConfig + + -manifests.Networking - -manifests.Networking + +manifests.Networking + +manifests.Networking -installconfig.InstallConfig->manifests.Networking - - + +installconfig.InstallConfig->manifests.Networking + + -tls.MCSCertKey - -tls.MCSCertKey + +tls.MCSCertKey + +tls.MCSCertKey -installconfig.InstallConfig->tls.MCSCertKey - - + +installconfig.InstallConfig->tls.MCSCertKey + + -manifests.Openshift - -manifests.Openshift + +manifests.Openshift + +manifests.Openshift -installconfig.InstallConfig->manifests.Openshift - - + +installconfig.InstallConfig->manifests.Openshift + + -kubeconfig.AdminClient - -kubeconfig.AdminClient + +kubeconfig.AdminClient + +kubeconfig.AdminClient -installconfig.InstallConfig->kubeconfig.AdminClient - - + +installconfig.InstallConfig->kubeconfig.AdminClient + + -bootstrap.Bootstrap - -bootstrap.Bootstrap + +bootstrap.Bootstrap + +bootstrap.Bootstrap -installconfig.InstallConfig->bootstrap.Bootstrap - - + +installconfig.InstallConfig->bootstrap.Bootstrap + + -kubeconfig.Kubelet - -kubeconfig.Kubelet + +kubeconfig.Kubelet + +kubeconfig.Kubelet -installconfig.InstallConfig->kubeconfig.Kubelet - - + +installconfig.InstallConfig->kubeconfig.Kubelet + + -tls.APIServerCertKey - -tls.APIServerCertKey + +tls.APIServerCertKey + +tls.APIServerCertKey -installconfig.InstallConfig->tls.APIServerCertKey - - + +installconfig.InstallConfig->tls.APIServerCertKey + + -tls.KubeAPIServerLBServerCertKey - -tls.KubeAPIServerLBServerCertKey + +tls.KubeAPIServerLBServerCertKey + +tls.KubeAPIServerLBServerCertKey -installconfig.InstallConfig->tls.KubeAPIServerLBServerCertKey - - + +installconfig.InstallConfig->tls.KubeAPIServerLBServerCertKey + + -tls.KubeAPIServerServiceNetworkServerCertKey - -tls.KubeAPIServerServiceNetworkServerCertKey + +tls.KubeAPIServerServiceNetworkServerCertKey + +tls.KubeAPIServerServiceNetworkServerCertKey -installconfig.InstallConfig->tls.KubeAPIServerServiceNetworkServerCertKey - - + +installconfig.InstallConfig->tls.KubeAPIServerServiceNetworkServerCertKey + + -cluster.Metadata - -cluster.Metadata + +cluster.Metadata + +cluster.Metadata -installconfig.InstallConfig->cluster.Metadata - - + +installconfig.InstallConfig->cluster.Metadata + + -cluster.TerraformVariables - -cluster.TerraformVariables + +cluster.TerraformVariables + +cluster.TerraformVariables -installconfig.InstallConfig->cluster.TerraformVariables - - + +installconfig.InstallConfig->cluster.TerraformVariables + + -cluster.Cluster - -cluster.Cluster + +cluster.Cluster + +cluster.Cluster -installconfig.InstallConfig->cluster.Cluster - - + +installconfig.InstallConfig->cluster.Cluster + + -installconfig.sshPublicKey - -installconfig.sshPublicKey + +installconfig.sshPublicKey + +installconfig.sshPublicKey -installconfig.sshPublicKey->installconfig.InstallConfig - - + +installconfig.sshPublicKey->installconfig.InstallConfig + + -installconfig.baseDomain - -installconfig.baseDomain + +installconfig.baseDomain + +installconfig.baseDomain -installconfig.baseDomain->installconfig.InstallConfig - - + +installconfig.baseDomain->installconfig.InstallConfig + + -installconfig.clusterName - -installconfig.clusterName + +installconfig.clusterName + +installconfig.clusterName -installconfig.baseDomain->installconfig.clusterName - - + +installconfig.baseDomain->installconfig.clusterName + + -installconfig.platform - -installconfig.platform - - -installconfig.platform->installconfig.baseDomain - - + +installconfig.platform + +installconfig.platform -installconfig.platform->installconfig.InstallConfig - - + +installconfig.platform->installconfig.InstallConfig + + + + + +installconfig.platform->installconfig.baseDomain + + -installconfig.clusterName->installconfig.InstallConfig - - + +installconfig.clusterName->installconfig.InstallConfig + + -installconfig.pullSecret - -installconfig.pullSecret + +installconfig.pullSecret + +installconfig.pullSecret -installconfig.pullSecret->installconfig.InstallConfig - - - - -bootkube.KubeCloudConfig - -bootkube.KubeCloudConfig - - -Target Manifest templates - -Target Manifest templates - - -bootkube.KubeCloudConfig->Target Manifest templates - - - - -bootkube.KubeCloudConfig->manifests.Manifests - - - - -bootkube.MachineConfigServerTLSSecret - -bootkube.MachineConfigServerTLSSecret - - -bootkube.MachineConfigServerTLSSecret->Target Manifest templates - - - - -bootkube.MachineConfigServerTLSSecret->manifests.Manifests - - - - -bootkube.Pull - -bootkube.Pull - - -bootkube.Pull->Target Manifest templates - - - - -bootkube.Pull->manifests.Manifests - - - - -bootkube.CVOOverrides - -bootkube.CVOOverrides - - -bootkube.CVOOverrides->Target Manifest templates - - - - -bootkube.CVOOverrides->manifests.Manifests - - - - -bootkube.HostEtcdServiceEndpointsKubeSystem - -bootkube.HostEtcdServiceEndpointsKubeSystem - - -bootkube.HostEtcdServiceEndpointsKubeSystem->Target Manifest templates - - - - -bootkube.HostEtcdServiceEndpointsKubeSystem->manifests.Manifests - - - - -bootkube.KubeSystemConfigmapEtcdServingCA - -bootkube.KubeSystemConfigmapEtcdServingCA - - -bootkube.KubeSystemConfigmapEtcdServingCA->Target Manifest templates - - - - -bootkube.KubeSystemConfigmapEtcdServingCA->manifests.Manifests - - - - -bootkube.KubeSystemConfigmapRootCA - -bootkube.KubeSystemConfigmapRootCA - - -bootkube.KubeSystemConfigmapRootCA->Target Manifest templates - - - - -bootkube.KubeSystemConfigmapRootCA->manifests.Manifests - - - - -bootkube.KubeSystemSecretEtcdClient - -bootkube.KubeSystemSecretEtcdClient - - -bootkube.KubeSystemSecretEtcdClient->Target Manifest templates - - - - -bootkube.KubeSystemSecretEtcdClient->manifests.Manifests - - - - -bootkube.OpenshiftMachineConfigOperator - -bootkube.OpenshiftMachineConfigOperator - - -bootkube.OpenshiftMachineConfigOperator->Target Manifest templates - - - - -bootkube.OpenshiftMachineConfigOperator->manifests.Manifests - - - - -bootkube.EtcdServiceKubeSystem - -bootkube.EtcdServiceKubeSystem - - -bootkube.EtcdServiceKubeSystem->Target Manifest templates - - - - -bootkube.EtcdServiceKubeSystem->manifests.Manifests - - - - -bootkube.HostEtcdServiceKubeSystem - -bootkube.HostEtcdServiceKubeSystem - - -bootkube.HostEtcdServiceKubeSystem->Target Manifest templates - - - - -bootkube.HostEtcdServiceKubeSystem->manifests.Manifests - - - - -bootkube.OpenshiftConfigSecretEtcdMetricClient - -bootkube.OpenshiftConfigSecretEtcdMetricClient - - -bootkube.OpenshiftConfigSecretEtcdMetricClient->Target Manifest templates - - - - -bootkube.OpenshiftConfigSecretEtcdMetricClient->manifests.Manifests - - - - -bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA - -bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA - - -bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA->Target Manifest templates - - - - -bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA->manifests.Manifests - - - - -openshift.BindingDiscovery - -openshift.BindingDiscovery - - -openshift.BindingDiscovery->Target Manifest templates - - - - -openshift.BindingDiscovery->manifests.Openshift - - - - -openshift.CloudCredsSecret - -openshift.CloudCredsSecret - - -openshift.CloudCredsSecret->Target Manifest templates - - - - -openshift.CloudCredsSecret->manifests.Openshift - - - - -openshift.KubeadminPasswordSecret - -openshift.KubeadminPasswordSecret - - -openshift.KubeadminPasswordSecret->Target Manifest templates - - - - -openshift.KubeadminPasswordSecret->manifests.Openshift - - - - -openshift.RoleCloudCredsSecretReader - -openshift.RoleCloudCredsSecretReader - - -openshift.RoleCloudCredsSecretReader->Target Manifest templates - - - - -openshift.RoleCloudCredsSecretReader->manifests.Openshift - - + +installconfig.pullSecret->installconfig.InstallConfig + + -Target Manifests - -Target Manifests + +Target Manifests + +Target Manifests -machines.Master->Target Manifests - - + +machines.Master->Target Manifests + + -machines.Master->bootstrap.Bootstrap - - + +machines.Master->bootstrap.Bootstrap + + -machines.Master->cluster.TerraformVariables - - + +machines.Master->cluster.TerraformVariables + + -installconfig.ClusterID->machines.Master - - + +installconfig.ClusterID->machines.Master + + -installconfig.ClusterID->machines.Worker - - + +installconfig.ClusterID->machines.Worker + + -installconfig.ClusterID->manifests.Manifests - - + +installconfig.ClusterID->manifests.Manifests + + -installconfig.ClusterID->manifests.DNS - - + +installconfig.ClusterID->manifests.DNS + + + + + +installconfig.ClusterID->manifests.Infrastructure + + -installconfig.ClusterID->cluster.Metadata - - + +installconfig.ClusterID->cluster.Metadata + + -installconfig.ClusterID->cluster.TerraformVariables - - + +installconfig.ClusterID->cluster.TerraformVariables + + -installconfig.ClusterID->cluster.Cluster - - + +installconfig.ClusterID->cluster.Cluster + + -installconfig.PlatformCredsCheck->machines.Master - - + +installconfig.PlatformCredsCheck->machines.Master + + -installconfig.PlatformCredsCheck->machines.Worker - - + +installconfig.PlatformCredsCheck->machines.Worker + + -installconfig.PlatformCredsCheck->manifests.DNS - - + +installconfig.PlatformCredsCheck->manifests.DNS + + + + + +installconfig.PlatformCredsCheck->manifests.CloudProviderConfig + + -installconfig.PlatformCredsCheck->cluster.Cluster - - + +installconfig.PlatformCredsCheck->cluster.Cluster + + -rhcos.Image->machines.Master - - + +rhcos.Image->machines.Master + + -rhcos.Image->machines.Worker - - + +rhcos.Image->machines.Worker + + -rhcos.Image->cluster.TerraformVariables - - + +rhcos.Image->cluster.TerraformVariables + + -machine.Master->machines.Master - - + +machine.Master->machines.Master + + -Target Ignition Configs - -Target Ignition Configs + +Target Ignition Configs + +Target Ignition Configs -machine.Master->Target Ignition Configs - - + +machine.Master->Target Ignition Configs + + -machine.Master->cluster.TerraformVariables - - + +machine.Master->cluster.TerraformVariables + + -tls.RootCA - -tls.RootCA + +tls.RootCA + +tls.RootCA -tls.RootCA->machine.Master - - + +tls.RootCA->machine.Master + + -tls.RootCA->machine.Worker - - + +tls.RootCA->machine.Worker + + -tls.RootCA->manifests.Manifests - - + +tls.RootCA->manifests.Manifests + + -tls.RootCA->tls.MCSCertKey - - + +tls.RootCA->tls.MCSCertKey + + + + + +tls.RootCA->bootstrap.Bootstrap + + -tls.JournalCertKey - -tls.JournalCertKey + +tls.JournalCertKey + +tls.JournalCertKey -tls.RootCA->tls.JournalCertKey - - - - -tls.RootCA->bootstrap.Bootstrap - - + +tls.RootCA->tls.JournalCertKey + + -machines.Worker->Target Manifests - - + +machines.Worker->Target Manifests + + -machines.Worker->bootstrap.Bootstrap - - + +machines.Worker->bootstrap.Bootstrap + + -machines.Worker->cluster.TerraformVariables - - + +machines.Worker->cluster.TerraformVariables + + -machine.Worker->machines.Worker - - + +machine.Worker->machines.Worker + + -machine.Worker->Target Ignition Configs - - + +machine.Worker->Target Ignition Configs + + -manifests.Manifests->Target Manifests - - + +manifests.Manifests->Target Manifests + + -manifests.Manifests->bootstrap.Bootstrap - - + +manifests.Manifests->bootstrap.Bootstrap + + -manifests.Ingress->manifests.Manifests - - + +manifests.Ingress->manifests.Manifests + + -manifests.DNS->manifests.Manifests - - + +manifests.DNS->manifests.Manifests + + -manifests.Infrastructure->manifests.Manifests - - + +manifests.Infrastructure->manifests.Manifests + + + + + +manifests.CloudProviderConfig->manifests.Infrastructure + + -manifests.Networking->manifests.Manifests - - + +manifests.Networking->manifests.Manifests + + -openshift.NetworkCRDs - -openshift.NetworkCRDs + +openshift.NetworkCRDs + +openshift.NetworkCRDs -openshift.NetworkCRDs->manifests.Networking - - + +openshift.NetworkCRDs->manifests.Networking + + -tls.EtcdCA - -tls.EtcdCA + +tls.EtcdCA + +tls.EtcdCA -tls.EtcdCA->manifests.Manifests - - + +tls.EtcdCA->manifests.Manifests + + -tls.EtcdClientCertKey - -tls.EtcdClientCertKey + +tls.EtcdClientCertKey + +tls.EtcdClientCertKey -tls.EtcdCA->tls.EtcdClientCertKey - - + +tls.EtcdCA->tls.EtcdClientCertKey + + -tls.EtcdCA->bootstrap.Bootstrap - - + +tls.EtcdCA->bootstrap.Bootstrap + + -tls.EtcdSignerCertKey - -tls.EtcdSignerCertKey + +tls.EtcdSignerCertKey + +tls.EtcdSignerCertKey -tls.EtcdSignerCertKey->manifests.Manifests - - + +tls.EtcdSignerCertKey->manifests.Manifests + + -tls.EtcdCABundle - -tls.EtcdCABundle + +tls.EtcdCABundle + +tls.EtcdCABundle -tls.EtcdSignerCertKey->tls.EtcdCABundle - - + +tls.EtcdSignerCertKey->tls.EtcdCABundle + + -tls.EtcdSignerClientCertKey - -tls.EtcdSignerClientCertKey + +tls.EtcdSignerClientCertKey + +tls.EtcdSignerClientCertKey -tls.EtcdSignerCertKey->tls.EtcdSignerClientCertKey - - + +tls.EtcdSignerCertKey->tls.EtcdSignerClientCertKey + + -tls.EtcdSignerCertKey->bootstrap.Bootstrap - - + +tls.EtcdSignerCertKey->bootstrap.Bootstrap + + -tls.EtcdCABundle->manifests.Manifests - - + +tls.EtcdCABundle->manifests.Manifests + + -tls.EtcdCABundle->bootstrap.Bootstrap - - + +tls.EtcdCABundle->bootstrap.Bootstrap + + -tls.EtcdSignerClientCertKey->manifests.Manifests - - + +tls.EtcdSignerClientCertKey->manifests.Manifests + + -tls.EtcdSignerClientCertKey->bootstrap.Bootstrap - - + +tls.EtcdSignerClientCertKey->bootstrap.Bootstrap + + -tls.EtcdClientCertKey->manifests.Manifests - - + +tls.EtcdClientCertKey->manifests.Manifests + + -tls.EtcdClientCertKey->bootstrap.Bootstrap - - + +tls.EtcdClientCertKey->bootstrap.Bootstrap + + -tls.EtcdMetricCABundle - -tls.EtcdMetricCABundle + +tls.EtcdMetricCABundle + +tls.EtcdMetricCABundle -tls.EtcdMetricCABundle->manifests.Manifests - - + +tls.EtcdMetricCABundle->manifests.Manifests + + -tls.EtcdMetricCABundle->bootstrap.Bootstrap - - + +tls.EtcdMetricCABundle->bootstrap.Bootstrap + + -tls.EtcdMetricSignerCertKey - -tls.EtcdMetricSignerCertKey + +tls.EtcdMetricSignerCertKey + +tls.EtcdMetricSignerCertKey -tls.EtcdMetricSignerCertKey->tls.EtcdMetricCABundle - - + +tls.EtcdMetricSignerCertKey->tls.EtcdMetricCABundle + + -tls.EtcdMetricSignerClientCertKey - -tls.EtcdMetricSignerClientCertKey + +tls.EtcdMetricSignerClientCertKey + +tls.EtcdMetricSignerClientCertKey -tls.EtcdMetricSignerCertKey->tls.EtcdMetricSignerClientCertKey - - + +tls.EtcdMetricSignerCertKey->tls.EtcdMetricSignerClientCertKey + + -tls.EtcdMetricSignerCertKey->bootstrap.Bootstrap - - + +tls.EtcdMetricSignerCertKey->bootstrap.Bootstrap + + -tls.EtcdMetricSignerClientCertKey->manifests.Manifests - - + +tls.EtcdMetricSignerClientCertKey->manifests.Manifests + + -tls.EtcdMetricSignerClientCertKey->bootstrap.Bootstrap - - + +tls.EtcdMetricSignerClientCertKey->bootstrap.Bootstrap + + -tls.MCSCertKey->manifests.Manifests - - + +tls.MCSCertKey->manifests.Manifests + + -tls.MCSCertKey->bootstrap.Bootstrap - - + +tls.MCSCertKey->bootstrap.Bootstrap + + + + + +bootkube.CVOOverrides + +bootkube.CVOOverrides + + + +bootkube.CVOOverrides->manifests.Manifests + + + + + +bootkube.EtcdServiceKubeSystem + +bootkube.EtcdServiceKubeSystem + + + +bootkube.EtcdServiceKubeSystem->manifests.Manifests + + + + + +bootkube.HostEtcdServiceEndpointsKubeSystem + +bootkube.HostEtcdServiceEndpointsKubeSystem + + + +bootkube.HostEtcdServiceEndpointsKubeSystem->manifests.Manifests + + + + + +bootkube.HostEtcdServiceKubeSystem + +bootkube.HostEtcdServiceKubeSystem + + + +bootkube.HostEtcdServiceKubeSystem->manifests.Manifests + + + + + +bootkube.KubeCloudConfig + +bootkube.KubeCloudConfig + + + +bootkube.KubeCloudConfig->manifests.Manifests + + -bootkube.KubeSystemConfigmapEtcdCA - -bootkube.KubeSystemConfigmapEtcdCA + +bootkube.KubeSystemConfigmapEtcdCA + +bootkube.KubeSystemConfigmapEtcdCA -bootkube.KubeSystemConfigmapEtcdCA->manifests.Manifests - - + +bootkube.KubeSystemConfigmapEtcdCA->manifests.Manifests + + + + + +bootkube.KubeSystemConfigmapEtcdServingCA + +bootkube.KubeSystemConfigmapEtcdServingCA + + + +bootkube.KubeSystemConfigmapEtcdServingCA->manifests.Manifests + + + + + +bootkube.KubeSystemConfigmapRootCA + +bootkube.KubeSystemConfigmapRootCA + + + +bootkube.KubeSystemConfigmapRootCA->manifests.Manifests + + + + + +bootkube.KubeSystemSecretEtcdClient + +bootkube.KubeSystemSecretEtcdClient + + + +bootkube.KubeSystemSecretEtcdClient->manifests.Manifests + + -bootkube.KubeSystemSecretEtcdClientCADeprecated - -bootkube.KubeSystemSecretEtcdClientCADeprecated + +bootkube.KubeSystemSecretEtcdClientCADeprecated + +bootkube.KubeSystemSecretEtcdClientCADeprecated -bootkube.KubeSystemSecretEtcdClientCADeprecated->manifests.Manifests - - + +bootkube.KubeSystemSecretEtcdClientCADeprecated->manifests.Manifests + + -bootkube.KubeSystemSecretEtcdSigner - -bootkube.KubeSystemSecretEtcdSigner + +bootkube.KubeSystemSecretEtcdSigner + +bootkube.KubeSystemSecretEtcdSigner -bootkube.KubeSystemSecretEtcdSigner->manifests.Manifests - - + +bootkube.KubeSystemSecretEtcdSigner->manifests.Manifests + + -bootkube.KubeSystemSecretEtcdSignerClient - -bootkube.KubeSystemSecretEtcdSignerClient + +bootkube.KubeSystemSecretEtcdSignerClient + +bootkube.KubeSystemSecretEtcdSignerClient -bootkube.KubeSystemSecretEtcdSignerClient->manifests.Manifests - - + +bootkube.KubeSystemSecretEtcdSignerClient->manifests.Manifests + + + + + +bootkube.MachineConfigServerTLSSecret + +bootkube.MachineConfigServerTLSSecret + + + +bootkube.MachineConfigServerTLSSecret->manifests.Manifests + + + + + +bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA + +bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA + + + +bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA->manifests.Manifests + + + + + +bootkube.OpenshiftConfigSecretEtcdMetricClient + +bootkube.OpenshiftConfigSecretEtcdMetricClient + + + +bootkube.OpenshiftConfigSecretEtcdMetricClient->manifests.Manifests + + + + + +bootkube.OpenshiftConfigSecretPullSecret + +bootkube.OpenshiftConfigSecretPullSecret + + + +bootkube.OpenshiftConfigSecretPullSecret->manifests.Manifests + + + + + +bootkube.OpenshiftMachineConfigOperator + +bootkube.OpenshiftMachineConfigOperator + + + +bootkube.OpenshiftMachineConfigOperator->manifests.Manifests + + + + + +bootkube.Pull + +bootkube.Pull + + + +bootkube.Pull->manifests.Manifests + + -manifests.Openshift->Target Manifests - - + +manifests.Openshift->Target Manifests + + -manifests.Openshift->bootstrap.Bootstrap - - + +manifests.Openshift->bootstrap.Bootstrap + + -password.KubeadminPassword - -password.KubeadminPassword + +password.KubeadminPassword + +password.KubeadminPassword -password.KubeadminPassword->manifests.Openshift - - + +password.KubeadminPassword->manifests.Openshift + + + + + +Target Cluster + +Target Cluster + + + +password.KubeadminPassword->Target Cluster + + -password.KubeadminPassword->cluster.Cluster - - + +password.KubeadminPassword->cluster.Cluster + + + + + +openshift.BindingDiscovery + +openshift.BindingDiscovery + + + +openshift.BindingDiscovery->manifests.Openshift + + + + + +openshift.CloudCredsSecret + +openshift.CloudCredsSecret + + + +openshift.CloudCredsSecret->manifests.Openshift + + + + + +openshift.KubeadminPasswordSecret + +openshift.KubeadminPasswordSecret + + + +openshift.KubeadminPasswordSecret->manifests.Openshift + + + + + +openshift.RoleCloudCredsSecretReader + +openshift.RoleCloudCredsSecretReader + + + +openshift.RoleCloudCredsSecretReader->manifests.Openshift + + -kubeconfig.AdminClient->Target Ignition Configs - - + +kubeconfig.AdminClient->Target Ignition Configs + + -kubeconfig.AdminClient->bootstrap.Bootstrap - - - - -Target Cluster - -Target Cluster + +kubeconfig.AdminClient->bootstrap.Bootstrap + + -kubeconfig.AdminClient->Target Cluster - - + +kubeconfig.AdminClient->Target Cluster + + -tls.AdminKubeConfigClientCertKey - -tls.AdminKubeConfigClientCertKey + +tls.AdminKubeConfigClientCertKey + +tls.AdminKubeConfigClientCertKey -tls.AdminKubeConfigClientCertKey->kubeconfig.AdminClient - - + +tls.AdminKubeConfigClientCertKey->kubeconfig.AdminClient + + -tls.AdminKubeConfigSignerCertKey - -tls.AdminKubeConfigSignerCertKey + +tls.AdminKubeConfigSignerCertKey + +tls.AdminKubeConfigSignerCertKey -tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigClientCertKey - - + +tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigClientCertKey + + -tls.AdminKubeConfigCABundle - -tls.AdminKubeConfigCABundle + +tls.AdminKubeConfigCABundle + +tls.AdminKubeConfigCABundle -tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigCABundle - - + +tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigCABundle + + -tls.KubeAPIServerCompleteCABundle - -tls.KubeAPIServerCompleteCABundle + +tls.KubeAPIServerCompleteCABundle + +tls.KubeAPIServerCompleteCABundle -tls.KubeAPIServerCompleteCABundle->kubeconfig.AdminClient - - - - -tls.KubeAPIServerCompleteCABundle->kubeconfig.Kubelet - - + +tls.KubeAPIServerCompleteCABundle->kubeconfig.AdminClient + + -tls.KubeAPIServerCompleteCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerCompleteCABundle->bootstrap.Bootstrap + + + + + +tls.KubeAPIServerCompleteCABundle->kubeconfig.Kubelet + + -tls.KubeCA - -tls.KubeCA + +tls.KubeCA + +tls.KubeCA -tls.KubeCA->tls.KubeAPIServerCompleteCABundle - - + +tls.KubeCA->tls.KubeAPIServerCompleteCABundle + + + + + +tls.KubeCA->bootstrap.Bootstrap + + -tls.KubeCA->tls.APIServerCertKey - - + +tls.KubeCA->tls.APIServerCertKey + + -tls.KubeAPIServerCompleteClientCABundle - -tls.KubeAPIServerCompleteClientCABundle + +tls.KubeAPIServerCompleteClientCABundle + +tls.KubeAPIServerCompleteClientCABundle -tls.KubeCA->tls.KubeAPIServerCompleteClientCABundle - - - - -tls.KubeCA->bootstrap.Bootstrap - - + +tls.KubeCA->tls.KubeAPIServerCompleteClientCABundle + + -tls.KubeAPIServerLocalhostCABundle - -tls.KubeAPIServerLocalhostCABundle + +tls.KubeAPIServerLocalhostCABundle + +tls.KubeAPIServerLocalhostCABundle -tls.KubeAPIServerLocalhostCABundle->tls.KubeAPIServerCompleteCABundle - - + +tls.KubeAPIServerLocalhostCABundle->tls.KubeAPIServerCompleteCABundle + + -tls.KubeAPIServerLocalhostCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerLocalhostCABundle->bootstrap.Bootstrap + + -tls.KubeAPIServerLocalhostSignerCertKey - -tls.KubeAPIServerLocalhostSignerCertKey + +tls.KubeAPIServerLocalhostSignerCertKey + +tls.KubeAPIServerLocalhostSignerCertKey -tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostCABundle - - + +tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostCABundle + + + + + +tls.KubeAPIServerLocalhostSignerCertKey->bootstrap.Bootstrap + + -tls.KubeAPIServerLocalhostServerCertKey - -tls.KubeAPIServerLocalhostServerCertKey + +tls.KubeAPIServerLocalhostServerCertKey + +tls.KubeAPIServerLocalhostServerCertKey -tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostServerCertKey - - - - -tls.KubeAPIServerLocalhostSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostServerCertKey + + -tls.KubeControlPlaneCABundle - -tls.KubeControlPlaneCABundle + +tls.KubeControlPlaneCABundle + +tls.KubeControlPlaneCABundle -tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeControlPlaneCABundle - - + +tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeControlPlaneCABundle + + -tls.KubeAPIServerServiceNetworkCABundle - -tls.KubeAPIServerServiceNetworkCABundle + +tls.KubeAPIServerServiceNetworkCABundle + +tls.KubeAPIServerServiceNetworkCABundle -tls.KubeAPIServerServiceNetworkCABundle->tls.KubeAPIServerCompleteCABundle - - + +tls.KubeAPIServerServiceNetworkCABundle->tls.KubeAPIServerCompleteCABundle + + -tls.KubeAPIServerServiceNetworkCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerServiceNetworkCABundle->bootstrap.Bootstrap + + -tls.KubeAPIServerServiceNetworkSignerCertKey - -tls.KubeAPIServerServiceNetworkSignerCertKey + +tls.KubeAPIServerServiceNetworkSignerCertKey + +tls.KubeAPIServerServiceNetworkSignerCertKey -tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkCABundle - - - - -tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkServerCertKey - - + +tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkCABundle + + -tls.KubeAPIServerServiceNetworkSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerServiceNetworkSignerCertKey->bootstrap.Bootstrap + + + + + +tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkServerCertKey + + -tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeControlPlaneCABundle - - + +tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeControlPlaneCABundle + + -tls.KubeAPIServerLBCABundle - -tls.KubeAPIServerLBCABundle + +tls.KubeAPIServerLBCABundle + +tls.KubeAPIServerLBCABundle -tls.KubeAPIServerLBCABundle->tls.KubeAPIServerCompleteCABundle - - + +tls.KubeAPIServerLBCABundle->tls.KubeAPIServerCompleteCABundle + + -tls.KubeAPIServerLBCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerLBCABundle->bootstrap.Bootstrap + + -tls.KubeAPIServerLBSignerCertKey - -tls.KubeAPIServerLBSignerCertKey + +tls.KubeAPIServerLBSignerCertKey + +tls.KubeAPIServerLBSignerCertKey -tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBCABundle - - - - -tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBServerCertKey - - + +tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBCABundle + + -tls.KubeAPIServerLBSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLBSignerCertKey->bootstrap.Bootstrap + + + + + +tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBServerCertKey + + -tls.KubeAPIServerLBSignerCertKey->tls.KubeControlPlaneCABundle - - + +tls.KubeAPIServerLBSignerCertKey->tls.KubeControlPlaneCABundle + + -bootstrap.Bootstrap->Target Ignition Configs - - + +bootstrap.Bootstrap->Target Ignition Configs + + -bootstrap.Bootstrap->cluster.TerraformVariables - - + +bootstrap.Bootstrap->cluster.TerraformVariables + + -kubeconfig.Kubelet->bootstrap.Bootstrap - - + +kubeconfig.Kubelet->bootstrap.Bootstrap + + -tls.KubeletClientCertKey - -tls.KubeletClientCertKey - - -tls.KubeletClientCertKey->kubeconfig.Kubelet - - + +tls.KubeletClientCertKey + +tls.KubeletClientCertKey -tls.KubeletClientCertKey->bootstrap.Bootstrap - - + +tls.KubeletClientCertKey->bootstrap.Bootstrap + + + + + +tls.KubeletClientCertKey->kubeconfig.Kubelet + + -tls.KubeletBootstrapCertSigner - -tls.KubeletBootstrapCertSigner + +tls.KubeletBootstrapCertSigner + +tls.KubeletBootstrapCertSigner -tls.KubeletBootstrapCertSigner->tls.KubeletClientCertKey - - + +tls.KubeletBootstrapCertSigner->tls.KubeletClientCertKey + + -tls.KubeletBootstrapCABundle - -tls.KubeletBootstrapCABundle + +tls.KubeletBootstrapCABundle + +tls.KubeletBootstrapCABundle -tls.KubeletBootstrapCertSigner->tls.KubeletBootstrapCABundle - - + +tls.KubeletBootstrapCertSigner->tls.KubeletBootstrapCABundle + + -tls.AdminKubeConfigCABundle->bootstrap.Bootstrap - - + +tls.AdminKubeConfigCABundle->bootstrap.Bootstrap + + -tls.AdminKubeConfigCABundle->tls.KubeAPIServerCompleteClientCABundle - - + +tls.AdminKubeConfigCABundle->tls.KubeAPIServerCompleteClientCABundle + + -tls.AggregatorCA - -tls.AggregatorCA + +tls.AggregatorCA + +tls.AggregatorCA -tls.AggregatorCA->bootstrap.Bootstrap - - + +tls.AggregatorCA->bootstrap.Bootstrap + + -tls.APIServerProxyCertKey - -tls.APIServerProxyCertKey + +tls.APIServerProxyCertKey + +tls.APIServerProxyCertKey -tls.AggregatorCA->tls.APIServerProxyCertKey - - + +tls.AggregatorCA->tls.APIServerProxyCertKey + + -tls.AggregatorCABundle - -tls.AggregatorCABundle + +tls.AggregatorCABundle + +tls.AggregatorCABundle -tls.AggregatorCABundle->bootstrap.Bootstrap - - + +tls.AggregatorCABundle->bootstrap.Bootstrap + + -tls.AggregatorSignerCertKey - -tls.AggregatorSignerCertKey + +tls.AggregatorSignerCertKey + +tls.AggregatorSignerCertKey + + + +tls.AggregatorSignerCertKey->bootstrap.Bootstrap + + -tls.AggregatorSignerCertKey->tls.AggregatorCABundle - - + +tls.AggregatorSignerCertKey->tls.AggregatorCABundle + + -tls.AggregatorClientCertKey - -tls.AggregatorClientCertKey + +tls.AggregatorClientCertKey + +tls.AggregatorClientCertKey -tls.AggregatorSignerCertKey->tls.AggregatorClientCertKey - - - - -tls.AggregatorSignerCertKey->bootstrap.Bootstrap - - + +tls.AggregatorSignerCertKey->tls.AggregatorClientCertKey + + -tls.AggregatorClientCertKey->bootstrap.Bootstrap - - + +tls.AggregatorClientCertKey->bootstrap.Bootstrap + + -tls.APIServerCertKey->bootstrap.Bootstrap - - + +tls.APIServerCertKey->bootstrap.Bootstrap + + -tls.APIServerProxyCertKey->bootstrap.Bootstrap - - + +tls.APIServerProxyCertKey->bootstrap.Bootstrap + + -tls.JournalCertKey->bootstrap.Bootstrap - - + +tls.JournalCertKey->bootstrap.Bootstrap + + -tls.JournalCertKey->Target Cluster - - + +tls.JournalCertKey->Target Cluster + + -tls.KubeAPIServerLBServerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLBServerCertKey->bootstrap.Bootstrap + + -tls.KubeAPIServerLocalhostServerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLocalhostServerCertKey->bootstrap.Bootstrap + + -tls.KubeAPIServerServiceNetworkServerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerServiceNetworkServerCertKey->bootstrap.Bootstrap + + -tls.KubeAPIServerCompleteClientCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerCompleteClientCABundle->bootstrap.Bootstrap + + -tls.KubeletClientCABundle - -tls.KubeletClientCABundle - - -tls.KubeletClientCABundle->tls.KubeAPIServerCompleteClientCABundle - - + +tls.KubeletClientCABundle + +tls.KubeletClientCABundle -tls.KubeletClientCABundle->bootstrap.Bootstrap - - + +tls.KubeletClientCABundle->bootstrap.Bootstrap + + - -tls.KubeletCSRSignerCertKey - -tls.KubeletCSRSignerCertKey + + +tls.KubeletClientCABundle->tls.KubeAPIServerCompleteClientCABundle + + - -tls.KubeletCSRSignerCertKey->tls.KubeletClientCABundle - - + + +tls.KubeletCSRSignerCertKey + +tls.KubeletCSRSignerCertKey -tls.KubeletCSRSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeletCSRSignerCertKey->bootstrap.Bootstrap + + + + + +tls.KubeletCSRSignerCertKey->tls.KubeletClientCABundle + + -tls.KubeletServingCABundle - -tls.KubeletServingCABundle + +tls.KubeletServingCABundle + +tls.KubeletServingCABundle -tls.KubeletCSRSignerCertKey->tls.KubeletServingCABundle - - - - -tls.KubeControlPlaneCABundle->tls.KubeAPIServerCompleteClientCABundle - - + +tls.KubeletCSRSignerCertKey->tls.KubeletServingCABundle + + -tls.KubeControlPlaneCABundle->bootstrap.Bootstrap - - + +tls.KubeControlPlaneCABundle->bootstrap.Bootstrap + + + + + +tls.KubeControlPlaneCABundle->tls.KubeAPIServerCompleteClientCABundle + + -tls.KubeControlPlaneSignerCertKey - -tls.KubeControlPlaneSignerCertKey + +tls.KubeControlPlaneSignerCertKey + +tls.KubeControlPlaneSignerCertKey + + + +tls.KubeControlPlaneSignerCertKey->bootstrap.Bootstrap + + -tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneCABundle - - + +tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneCABundle + + -tls.KubeControlPlaneKubeControllerManagerClientCertKey - -tls.KubeControlPlaneKubeControllerManagerClientCertKey + +tls.KubeControlPlaneKubeControllerManagerClientCertKey + +tls.KubeControlPlaneKubeControllerManagerClientCertKey -tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeControllerManagerClientCertKey - - + +tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeControllerManagerClientCertKey + + -tls.KubeControlPlaneKubeSchedulerClientCertKey - -tls.KubeControlPlaneKubeSchedulerClientCertKey + +tls.KubeControlPlaneKubeSchedulerClientCertKey + +tls.KubeControlPlaneKubeSchedulerClientCertKey -tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeSchedulerClientCertKey - - - - -tls.KubeControlPlaneSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeSchedulerClientCertKey + + -tls.KubeAPIServerToKubeletClientCertKey - -tls.KubeAPIServerToKubeletClientCertKey - - -tls.KubeAPIServerToKubeletClientCertKey->tls.KubeAPIServerCompleteClientCABundle - - + +tls.KubeAPIServerToKubeletClientCertKey + +tls.KubeAPIServerToKubeletClientCertKey -tls.KubeAPIServerToKubeletClientCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerToKubeletClientCertKey->bootstrap.Bootstrap + + + + + +tls.KubeAPIServerToKubeletClientCertKey->tls.KubeAPIServerCompleteClientCABundle + + -tls.KubeAPIServerToKubeletSignerCertKey - -tls.KubeAPIServerToKubeletSignerCertKey + +tls.KubeAPIServerToKubeletSignerCertKey + +tls.KubeAPIServerToKubeletSignerCertKey + + + +tls.KubeAPIServerToKubeletSignerCertKey->bootstrap.Bootstrap + + -tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletClientCertKey - - + +tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletClientCertKey + + -tls.KubeAPIServerToKubeletCABundle - -tls.KubeAPIServerToKubeletCABundle + +tls.KubeAPIServerToKubeletCABundle + +tls.KubeAPIServerToKubeletCABundle -tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletCABundle - - + +tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletCABundle + + - -tls.KubeAPIServerToKubeletSignerCertKey->bootstrap.Bootstrap - - + + +tls.KubeletBootstrapCABundle->bootstrap.Bootstrap + + -tls.KubeletBootstrapCABundle->tls.KubeAPIServerCompleteClientCABundle - - - - -tls.KubeletBootstrapCABundle->bootstrap.Bootstrap - - + +tls.KubeletBootstrapCABundle->tls.KubeAPIServerCompleteClientCABundle + + -tls.KubeAPIServerToKubeletCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerToKubeletCABundle->bootstrap.Bootstrap + + -tls.KubeControlPlaneKubeControllerManagerClientCertKey->bootstrap.Bootstrap - - + +tls.KubeControlPlaneKubeControllerManagerClientCertKey->bootstrap.Bootstrap + + -tls.KubeControlPlaneKubeSchedulerClientCertKey->bootstrap.Bootstrap - - + +tls.KubeControlPlaneKubeSchedulerClientCertKey->bootstrap.Bootstrap + + -tls.KubeletServingCABundle->bootstrap.Bootstrap - - + +tls.KubeletServingCABundle->bootstrap.Bootstrap + + -tls.ServiceAccountKeyPair - -tls.ServiceAccountKeyPair + +tls.ServiceAccountKeyPair + +tls.ServiceAccountKeyPair -tls.ServiceAccountKeyPair->bootstrap.Bootstrap - - + +tls.ServiceAccountKeyPair->bootstrap.Bootstrap + + -cluster.Metadata->Target Ignition Configs - - + +cluster.Metadata->Target Ignition Configs + + -cluster.Metadata->Target Cluster - - + +cluster.Metadata->Target Cluster + + -cluster.TerraformVariables->Target Cluster - - + +cluster.TerraformVariables->Target Cluster + + -cluster.TerraformVariables->cluster.Cluster - - + +cluster.TerraformVariables->cluster.Cluster + + -cluster.Cluster->Target Cluster - - + +cluster.Cluster->Target Cluster + + diff --git a/pkg/asset/manifests/operators.go b/pkg/asset/manifests/operators.go index bf5d0e70c58..f537b92db7e 100644 --- a/pkg/asset/manifests/operators.go +++ b/pkg/asset/manifests/operators.go @@ -85,6 +85,7 @@ func (m *Manifests) Dependencies() []asset.Asset { &bootkube.MachineConfigServerTLSSecret{}, &bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA{}, &bootkube.OpenshiftConfigSecretEtcdMetricClient{}, + &bootkube.OpenshiftConfigSecretPullSecret{}, &bootkube.OpenshiftMachineConfigOperator{}, &bootkube.Pull{}, } @@ -206,6 +207,7 @@ func (m *Manifests) generateBootKubeManifests(dependencies asset.Parents) []*ass &bootkube.MachineConfigServerTLSSecret{}, &bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA{}, &bootkube.OpenshiftConfigSecretEtcdMetricClient{}, + &bootkube.OpenshiftConfigSecretPullSecret{}, &bootkube.OpenshiftMachineConfigOperator{}, &bootkube.Pull{}, } { diff --git a/pkg/asset/targets/targets.go b/pkg/asset/targets/targets.go index 938047ba220..17cbe670237 100644 --- a/pkg/asset/targets/targets.go +++ b/pkg/asset/targets/targets.go @@ -44,6 +44,7 @@ var ( &bootkube.HostEtcdServiceKubeSystem{}, &bootkube.OpenshiftConfigSecretEtcdMetricClient{}, &bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA{}, + &bootkube.OpenshiftConfigSecretPullSecret{}, &openshift.BindingDiscovery{}, &openshift.CloudCredsSecret{}, &openshift.KubeadminPasswordSecret{}, diff --git a/pkg/asset/templates/content/bootkube/pull.go b/pkg/asset/templates/content/bootkube/pull.go index 381a4de78ec..0aa43ac64fd 100644 --- a/pkg/asset/templates/content/bootkube/pull.go +++ b/pkg/asset/templates/content/bootkube/pull.go @@ -15,6 +15,7 @@ const ( var _ asset.WritableAsset = (*Pull)(nil) // Pull is the constant to represent contents of pull.json.template file +// DEPRECATED type Pull struct { FileList []*asset.File } @@ -62,3 +63,58 @@ func (t *Pull) Load(f asset.FileFetcher) (bool, error) { t.FileList = []*asset.File{file} return true, nil } + +const ( + openshiftConfigSecretPullSecretFileName = "openshift-config-secret-pull-secret.yaml.template" +) + +var _ asset.WritableAsset = (*OpenshiftConfigSecretPullSecret)(nil) + +// OpenshiftConfigSecretPullSecret is the constant to represent contents of openshift-config-secret-pull-secret.yaml.template file. +type OpenshiftConfigSecretPullSecret struct { + FileList []*asset.File +} + +// Dependencies returns all of the dependencies directly needed by the asset +func (t *OpenshiftConfigSecretPullSecret) Dependencies() []asset.Asset { + return []asset.Asset{} +} + +// Name returns the human-friendly name of the asset. +func (t *OpenshiftConfigSecretPullSecret) Name() string { + return "OpenshiftConfigSecretPullSecret" +} + +// Generate generates the actual files by this asset +func (t *OpenshiftConfigSecretPullSecret) Generate(parents asset.Parents) error { + fileName := openshiftConfigSecretPullSecretFileName + data, err := content.GetBootkubeTemplate(fileName) + if err != nil { + return err + } + t.FileList = []*asset.File{ + { + Filename: filepath.Join(content.TemplateDir, fileName), + Data: []byte(data), + }, + } + return nil +} + +// Files returns the files generated by the asset. +func (t *OpenshiftConfigSecretPullSecret) Files() []*asset.File { + return t.FileList +} + +// Load returns the asset from disk. +func (t *OpenshiftConfigSecretPullSecret) Load(f asset.FileFetcher) (bool, error) { + file, err := f.FetchByName(filepath.Join(content.TemplateDir, openshiftConfigSecretPullSecretFileName)) + if err != nil { + if os.IsNotExist(err) { + return false, nil + } + return false, err + } + t.FileList = []*asset.File{file} + return true, nil +}