diff --git a/docs/design/resource_dep.svg b/docs/design/resource_dep.svg index c04d42aceea..6f6471c42f5 100644 --- a/docs/design/resource_dep.svg +++ b/docs/design/resource_dep.svg @@ -4,1899 +4,1857 @@ - - + + G - + cluster_Target - -Target + +Target cluster_bootkube - -bootkube + +bootkube cluster_bootstrap - -bootstrap + +bootstrap cluster_cluster - -cluster + +cluster cluster_installconfig - -installconfig + +installconfig cluster_kubeconfig - -kubeconfig + +kubeconfig cluster_machine - -machine + +machine cluster_machines - -machines + +machines cluster_manifests - -manifests + +manifests cluster_openshift - -openshift + +openshift cluster_password - -password + +password cluster_rhcos - -rhcos + +rhcos cluster_tls - -tls + +tls installconfig.InstallConfig - -installconfig.InstallConfig + +installconfig.InstallConfig Target Install Config - -Target Install Config + +Target Install Config installconfig.InstallConfig->Target Install Config - - + + machines.Master - -machines.Master + +machines.Master installconfig.InstallConfig->machines.Master - - + + installconfig.ClusterID - -installconfig.ClusterID + +installconfig.ClusterID installconfig.InstallConfig->installconfig.ClusterID - - + + installconfig.PlatformCredsCheck - -installconfig.PlatformCredsCheck + +installconfig.PlatformCredsCheck installconfig.InstallConfig->installconfig.PlatformCredsCheck - - + + rhcos.Image - -rhcos.Image + +rhcos.Image installconfig.InstallConfig->rhcos.Image - - + + machine.Master - -machine.Master + +machine.Master installconfig.InstallConfig->machine.Master - - + + manifests.Manifests - -manifests.Manifests + +manifests.Manifests installconfig.InstallConfig->manifests.Manifests - - + + manifests.Ingress - -manifests.Ingress + +manifests.Ingress installconfig.InstallConfig->manifests.Ingress - - + + manifests.DNS - -manifests.DNS + +manifests.DNS installconfig.InstallConfig->manifests.DNS - - + + manifests.Infrastructure - -manifests.Infrastructure + +manifests.Infrastructure installconfig.InstallConfig->manifests.Infrastructure - - + + manifests.Networking - -manifests.Networking + +manifests.Networking installconfig.InstallConfig->manifests.Networking - - + + tls.MCSCertKey - -tls.MCSCertKey + +tls.MCSCertKey installconfig.InstallConfig->tls.MCSCertKey - - + + manifests.Openshift - -manifests.Openshift + +manifests.Openshift installconfig.InstallConfig->manifests.Openshift - - + + machines.Worker - -machines.Worker + +machines.Worker installconfig.InstallConfig->machines.Worker - - + + machine.Worker - -machine.Worker + +machine.Worker installconfig.InstallConfig->machine.Worker - - + + - + -kubeconfig.Admin - -kubeconfig.Admin +kubeconfig.AdminClient + +kubeconfig.AdminClient - - -installconfig.InstallConfig->kubeconfig.Admin - - + + +installconfig.InstallConfig->kubeconfig.AdminClient + + - + bootstrap.Bootstrap - -bootstrap.Bootstrap + +bootstrap.Bootstrap - + installconfig.InstallConfig->bootstrap.Bootstrap - - - - - -kubeconfig.AdminClient - -kubeconfig.AdminClient - - - -installconfig.InstallConfig->kubeconfig.AdminClient - - + + - + kubeconfig.Kubelet - -kubeconfig.Kubelet + +kubeconfig.Kubelet - + installconfig.InstallConfig->kubeconfig.Kubelet - - + + - + kubeconfig.KubeletClient - -kubeconfig.KubeletClient + +kubeconfig.KubeletClient - + installconfig.InstallConfig->kubeconfig.KubeletClient - - + + - + tls.APIServerCertKey - -tls.APIServerCertKey + +tls.APIServerCertKey - + installconfig.InstallConfig->tls.APIServerCertKey - - + + - + tls.KubeAPIServerLBServerCertKey - -tls.KubeAPIServerLBServerCertKey + +tls.KubeAPIServerLBServerCertKey - + installconfig.InstallConfig->tls.KubeAPIServerLBServerCertKey - - + + - + tls.KubeAPIServerServiceNetworkServerCertKey - -tls.KubeAPIServerServiceNetworkServerCertKey + +tls.KubeAPIServerServiceNetworkServerCertKey - + installconfig.InstallConfig->tls.KubeAPIServerServiceNetworkServerCertKey - - + + - + cluster.Metadata - -cluster.Metadata + +cluster.Metadata - + installconfig.InstallConfig->cluster.Metadata - - + + - + cluster.TerraformVariables - -cluster.TerraformVariables + +cluster.TerraformVariables - + installconfig.InstallConfig->cluster.TerraformVariables - - + + - + cluster.Cluster - -cluster.Cluster + +cluster.Cluster - + installconfig.InstallConfig->cluster.Cluster - - + + installconfig.sshPublicKey - -installconfig.sshPublicKey + +installconfig.sshPublicKey installconfig.sshPublicKey->installconfig.InstallConfig - - + + installconfig.baseDomain - -installconfig.baseDomain + +installconfig.baseDomain installconfig.baseDomain->installconfig.InstallConfig - - + + installconfig.clusterName - -installconfig.clusterName + +installconfig.clusterName installconfig.baseDomain->installconfig.clusterName - - + + installconfig.platform - -installconfig.platform + +installconfig.platform installconfig.platform->installconfig.InstallConfig - - + + installconfig.platform->installconfig.baseDomain - - + + installconfig.clusterName->installconfig.InstallConfig - - + + installconfig.pullSecret - -installconfig.pullSecret + +installconfig.pullSecret installconfig.pullSecret->installconfig.InstallConfig - - + + bootkube.KubeCloudConfig - -bootkube.KubeCloudConfig + +bootkube.KubeCloudConfig Target Manifest templates - -Target Manifest templates + +Target Manifest templates bootkube.KubeCloudConfig->Target Manifest templates - - + + bootkube.KubeCloudConfig->manifests.Manifests - - + + bootkube.MachineConfigServerTLSSecret - -bootkube.MachineConfigServerTLSSecret + +bootkube.MachineConfigServerTLSSecret bootkube.MachineConfigServerTLSSecret->Target Manifest templates - - + + bootkube.MachineConfigServerTLSSecret->manifests.Manifests - - + + bootkube.Pull - -bootkube.Pull + +bootkube.Pull bootkube.Pull->Target Manifest templates - - + + bootkube.Pull->manifests.Manifests - - + + bootkube.CVOOverrides - -bootkube.CVOOverrides + +bootkube.CVOOverrides bootkube.CVOOverrides->Target Manifest templates - - + + bootkube.CVOOverrides->manifests.Manifests - - + + bootkube.HostEtcdServiceEndpointsKubeSystem - -bootkube.HostEtcdServiceEndpointsKubeSystem + +bootkube.HostEtcdServiceEndpointsKubeSystem bootkube.HostEtcdServiceEndpointsKubeSystem->Target Manifest templates - - + + bootkube.HostEtcdServiceEndpointsKubeSystem->manifests.Manifests - - + + bootkube.KubeSystemConfigmapEtcdServingCA - -bootkube.KubeSystemConfigmapEtcdServingCA + +bootkube.KubeSystemConfigmapEtcdServingCA bootkube.KubeSystemConfigmapEtcdServingCA->Target Manifest templates - - + + bootkube.KubeSystemConfigmapEtcdServingCA->manifests.Manifests - - + + bootkube.KubeSystemConfigmapRootCA - -bootkube.KubeSystemConfigmapRootCA + +bootkube.KubeSystemConfigmapRootCA bootkube.KubeSystemConfigmapRootCA->Target Manifest templates - - + + bootkube.KubeSystemConfigmapRootCA->manifests.Manifests - - + + bootkube.KubeSystemSecretEtcdClient - -bootkube.KubeSystemSecretEtcdClient + +bootkube.KubeSystemSecretEtcdClient bootkube.KubeSystemSecretEtcdClient->Target Manifest templates - - + + bootkube.KubeSystemSecretEtcdClient->manifests.Manifests - - + + bootkube.OpenshiftMachineConfigOperator - -bootkube.OpenshiftMachineConfigOperator + +bootkube.OpenshiftMachineConfigOperator bootkube.OpenshiftMachineConfigOperator->Target Manifest templates - - + + bootkube.OpenshiftMachineConfigOperator->manifests.Manifests - - + + bootkube.EtcdServiceKubeSystem - -bootkube.EtcdServiceKubeSystem + +bootkube.EtcdServiceKubeSystem bootkube.EtcdServiceKubeSystem->Target Manifest templates - - + + bootkube.EtcdServiceKubeSystem->manifests.Manifests - - + + bootkube.HostEtcdServiceKubeSystem - -bootkube.HostEtcdServiceKubeSystem + +bootkube.HostEtcdServiceKubeSystem bootkube.HostEtcdServiceKubeSystem->Target Manifest templates - - + + bootkube.HostEtcdServiceKubeSystem->manifests.Manifests - - + + openshift.BindingDiscovery - -openshift.BindingDiscovery + +openshift.BindingDiscovery openshift.BindingDiscovery->Target Manifest templates - - + + openshift.BindingDiscovery->manifests.Openshift - - + + openshift.CloudCredsSecret - -openshift.CloudCredsSecret + +openshift.CloudCredsSecret openshift.CloudCredsSecret->Target Manifest templates - - + + openshift.CloudCredsSecret->manifests.Openshift - - + + openshift.KubeadminPasswordSecret - -openshift.KubeadminPasswordSecret + +openshift.KubeadminPasswordSecret openshift.KubeadminPasswordSecret->Target Manifest templates - - + + openshift.KubeadminPasswordSecret->manifests.Openshift - - + + openshift.RoleCloudCredsSecretReader - -openshift.RoleCloudCredsSecretReader + +openshift.RoleCloudCredsSecretReader openshift.RoleCloudCredsSecretReader->Target Manifest templates - - + + openshift.RoleCloudCredsSecretReader->manifests.Openshift - - + + Target Manifests - -Target Manifests + +Target Manifests machines.Master->Target Manifests - - + + - + machines.Master->bootstrap.Bootstrap - - + + - + machines.Master->cluster.TerraformVariables - - + + installconfig.ClusterID->machines.Master - - + + installconfig.ClusterID->manifests.Manifests - - + + installconfig.ClusterID->manifests.DNS - - + + manifests.ClusterK8sIO - -manifests.ClusterK8sIO + +manifests.ClusterK8sIO installconfig.ClusterID->manifests.ClusterK8sIO - - + + installconfig.ClusterID->machines.Worker - - + + - + installconfig.ClusterID->cluster.Metadata - - + + - + installconfig.ClusterID->cluster.TerraformVariables - - + + - + installconfig.ClusterID->cluster.Cluster - - + + installconfig.PlatformCredsCheck->machines.Master - - + + installconfig.PlatformCredsCheck->manifests.DNS - - + + installconfig.PlatformCredsCheck->machines.Worker - - + + - + installconfig.PlatformCredsCheck->cluster.Cluster - - + + rhcos.Image->machines.Master - - + + rhcos.Image->machines.Worker - - + + - + rhcos.Image->cluster.TerraformVariables - - + + machine.Master->machines.Master - - + + Target Ignition Configs - -Target Ignition Configs + +Target Ignition Configs - + machine.Master->Target Ignition Configs - - + + - + machine.Master->cluster.TerraformVariables - - + + tls.RootCA - -tls.RootCA + +tls.RootCA tls.RootCA->machine.Master - - + + tls.RootCA->manifests.Manifests - - + + tls.EtcdCA - -tls.EtcdCA + +tls.EtcdCA tls.RootCA->tls.EtcdCA - - + + tls.RootCA->tls.MCSCertKey - - + + tls.RootCA->machine.Worker - - + + - + tls.RootCA->bootstrap.Bootstrap - - + + - + tls.AggregatorCA - -tls.AggregatorCA + +tls.AggregatorCA - + tls.RootCA->tls.AggregatorCA - - + + - + tls.JournalCertKey - -tls.JournalCertKey + +tls.JournalCertKey - + tls.RootCA->tls.JournalCertKey - - + + manifests.Manifests->Target Manifests - - + + - + manifests.Manifests->bootstrap.Bootstrap - - + + manifests.Ingress->manifests.Manifests - - + + manifests.DNS->manifests.Manifests - - + + manifests.Infrastructure->manifests.Manifests - - + + manifests.Networking->manifests.Manifests - - + + manifests.Networking->manifests.ClusterK8sIO - - + + openshift.NetworkCRDs - -openshift.NetworkCRDs + +openshift.NetworkCRDs openshift.NetworkCRDs->manifests.Networking - - + + tls.EtcdCA->manifests.Manifests - - + + tls.EtcdClientCertKey - -tls.EtcdClientCertKey + +tls.EtcdClientCertKey tls.EtcdCA->tls.EtcdClientCertKey - - + + - + tls.EtcdCA->bootstrap.Bootstrap - - + + tls.EtcdClientCertKey->manifests.Manifests - - + + - + tls.EtcdClientCertKey->bootstrap.Bootstrap - - + + tls.MCSCertKey->manifests.Manifests - - + + - + tls.MCSCertKey->bootstrap.Bootstrap - - + + manifests.Openshift->Target Manifests - - + + - + manifests.Openshift->bootstrap.Bootstrap - - + + manifests.ClusterK8sIO->manifests.Openshift - - + + machines.Worker->manifests.Openshift - - + + machine.Worker->machines.Worker - - + + - + machine.Worker->Target Ignition Configs - - + + password.KubeadminPassword - -password.KubeadminPassword + +password.KubeadminPassword password.KubeadminPassword->manifests.Openshift - - + + - + password.KubeadminPassword->cluster.Cluster - - + + - + -kubeconfig.Admin->Target Ignition Configs - - +kubeconfig.AdminClient->Target Ignition Configs + + - - -kubeconfig.Admin->bootstrap.Bootstrap - - + + +kubeconfig.AdminClient->bootstrap.Bootstrap + + - + Target Cluster - -Target Cluster + +Target Cluster - - -kubeconfig.Admin->Target Cluster - - + + +kubeconfig.AdminClient->Target Cluster + + - + -tls.KubeCA - -tls.KubeCA +tls.AdminKubeConfigClientCertKey + +tls.AdminKubeConfigClientCertKey - + -tls.KubeCA->kubeconfig.Admin - - +tls.AdminKubeConfigClientCertKey->kubeconfig.AdminClient + + - + -tls.AdminCertKey - -tls.AdminCertKey +tls.AdminKubeConfigSignerCertKey + +tls.AdminKubeConfigSignerCertKey - - -tls.KubeCA->tls.AdminCertKey - - + + +tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigClientCertKey + + - - -tls.KubeCA->bootstrap.Bootstrap - - + + +tls.AdminKubeConfigCABundle + +tls.AdminKubeConfigCABundle + + + +tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigCABundle + + - + tls.KubeAPIServerCompleteCABundle - -tls.KubeAPIServerCompleteCABundle + +tls.KubeAPIServerCompleteCABundle + + + +tls.KubeAPIServerCompleteCABundle->kubeconfig.AdminClient + + + + + +tls.KubeAPIServerCompleteCABundle->bootstrap.Bootstrap + + + + + +tls.KubeAPIServerCompleteCABundle->kubeconfig.KubeletClient + + + + + +tls.KubeCA + +tls.KubeCA - + tls.KubeCA->tls.KubeAPIServerCompleteCABundle - - + + + + + +tls.KubeCA->bootstrap.Bootstrap + + - + tls.KubeCA->kubeconfig.Kubelet - - + + - + tls.KubeletCertKey - -tls.KubeletCertKey + +tls.KubeletCertKey - + tls.KubeCA->tls.KubeletCertKey - - + + - + tls.KubeCA->tls.APIServerCertKey - - + + - + tls.KubeAPIServerCompleteClientCABundle - -tls.KubeAPIServerCompleteClientCABundle + +tls.KubeAPIServerCompleteClientCABundle - + tls.KubeCA->tls.KubeAPIServerCompleteClientCABundle - - - - - -tls.AdminCertKey->kubeconfig.Admin - - - - - -bootstrap.Bootstrap->Target Ignition Configs - - - - - -bootstrap.Bootstrap->cluster.TerraformVariables - - - - - -kubeconfig.AdminClient->bootstrap.Bootstrap - - - - - -tls.AdminKubeConfigClientCertKey - -tls.AdminKubeConfigClientCertKey - - - -tls.AdminKubeConfigClientCertKey->kubeconfig.AdminClient - - - - - -tls.AdminKubeConfigSignerCertKey - -tls.AdminKubeConfigSignerCertKey - - - -tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigClientCertKey - - - - - -tls.AdminKubeConfigCABundle - -tls.AdminKubeConfigCABundle - - - -tls.AdminKubeConfigSignerCertKey->tls.AdminKubeConfigCABundle - - - - - -tls.KubeAPIServerCompleteCABundle->bootstrap.Bootstrap - - - - - -tls.KubeAPIServerCompleteCABundle->kubeconfig.AdminClient - - - - - -tls.KubeAPIServerCompleteCABundle->kubeconfig.KubeletClient - - + + - + tls.KubeAPIServerLocalhostCABundle - -tls.KubeAPIServerLocalhostCABundle - - - -tls.KubeAPIServerLocalhostCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerLocalhostCABundle - + tls.KubeAPIServerLocalhostCABundle->tls.KubeAPIServerCompleteCABundle - - + + + + + +tls.KubeAPIServerLocalhostCABundle->bootstrap.Bootstrap + + - + tls.KubeAPIServerLocalhostSignerCertKey - -tls.KubeAPIServerLocalhostSignerCertKey - - - -tls.KubeAPIServerLocalhostSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLocalhostSignerCertKey - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostCABundle - - + + + + + +tls.KubeAPIServerLocalhostSignerCertKey->bootstrap.Bootstrap + + - + tls.KubeletClientCertKey - -tls.KubeletClientCertKey + +tls.KubeletClientCertKey - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeletClientCertKey - - + + - + tls.KubeAPIServerLocalhostServerCertKey - -tls.KubeAPIServerLocalhostServerCertKey + +tls.KubeAPIServerLocalhostServerCertKey - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostServerCertKey - - + + - + tls.KubeControlPlaneCABundle - -tls.KubeControlPlaneCABundle + +tls.KubeControlPlaneCABundle - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeControlPlaneCABundle - - + + - + tls.KubeAPIServerServiceNetworkCABundle - -tls.KubeAPIServerServiceNetworkCABundle - - - -tls.KubeAPIServerServiceNetworkCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerServiceNetworkCABundle - + tls.KubeAPIServerServiceNetworkCABundle->tls.KubeAPIServerCompleteCABundle - - + + + + + +tls.KubeAPIServerServiceNetworkCABundle->bootstrap.Bootstrap + + - + tls.KubeAPIServerServiceNetworkSignerCertKey - -tls.KubeAPIServerServiceNetworkSignerCertKey - - - -tls.KubeAPIServerServiceNetworkSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerServiceNetworkSignerCertKey - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkCABundle - - + + + + + +tls.KubeAPIServerServiceNetworkSignerCertKey->bootstrap.Bootstrap + + - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkServerCertKey - - + + - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeControlPlaneCABundle - - + + - + tls.KubeAPIServerLBCABundle - -tls.KubeAPIServerLBCABundle - - - -tls.KubeAPIServerLBCABundle->bootstrap.Bootstrap - - + +tls.KubeAPIServerLBCABundle - + tls.KubeAPIServerLBCABundle->tls.KubeAPIServerCompleteCABundle - - + + + + + +tls.KubeAPIServerLBCABundle->bootstrap.Bootstrap + + - + tls.KubeAPIServerLBSignerCertKey - -tls.KubeAPIServerLBSignerCertKey - - - -tls.KubeAPIServerLBSignerCertKey->bootstrap.Bootstrap - - + +tls.KubeAPIServerLBSignerCertKey - + tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBCABundle - - + + + + + +tls.KubeAPIServerLBSignerCertKey->bootstrap.Bootstrap + + - + tls.KubeAPIServerLBSignerCertKey->tls.KubeletClientCertKey - - + + - + tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBServerCertKey - - + + - + tls.KubeAPIServerLBSignerCertKey->tls.KubeControlPlaneCABundle - - + + + + + +bootstrap.Bootstrap->Target Ignition Configs + + + + + +bootstrap.Bootstrap->cluster.TerraformVariables + + - + kubeconfig.Kubelet->bootstrap.Bootstrap - - + + - + tls.KubeletCertKey->bootstrap.Bootstrap - - + + - + tls.KubeletCertKey->kubeconfig.Kubelet - - + + - + kubeconfig.KubeletClient->bootstrap.Bootstrap - - + + - + tls.KubeletClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeletClientCertKey->kubeconfig.KubeletClient - - + + - + tls.KubeletCSRSignerCertKey - -tls.KubeletCSRSignerCertKey + +tls.KubeletCSRSignerCertKey - + tls.KubeletCSRSignerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeletCSRSignerCertKey->tls.KubeletClientCertKey - - + + - + tls.KubeletClientCABundle - -tls.KubeletClientCABundle + +tls.KubeletClientCABundle - + tls.KubeletCSRSignerCertKey->tls.KubeletClientCABundle - - + + - + tls.KubeletServingCABundle - -tls.KubeletServingCABundle + +tls.KubeletServingCABundle - + tls.KubeletCSRSignerCertKey->tls.KubeletServingCABundle - - + + - + tls.AdminKubeConfigCABundle->bootstrap.Bootstrap - - + + - + tls.AdminKubeConfigCABundle->tls.KubeAPIServerCompleteClientCABundle - - + + - + tls.AggregatorCA->bootstrap.Bootstrap - - + + - + tls.APIServerProxyCertKey - -tls.APIServerProxyCertKey + +tls.APIServerProxyCertKey - + tls.AggregatorCA->tls.APIServerProxyCertKey - - + + - + tls.AggregatorCABundle - -tls.AggregatorCABundle + +tls.AggregatorCABundle - + tls.AggregatorCABundle->bootstrap.Bootstrap - - + + - + tls.AggregatorSignerCertKey - -tls.AggregatorSignerCertKey + +tls.AggregatorSignerCertKey - + tls.AggregatorSignerCertKey->bootstrap.Bootstrap - - + + - + tls.AggregatorSignerCertKey->tls.AggregatorCABundle - - + + - + tls.AggregatorClientCertKey - -tls.AggregatorClientCertKey + +tls.AggregatorClientCertKey - + tls.AggregatorSignerCertKey->tls.AggregatorClientCertKey - - + + - + tls.AggregatorClientCertKey->bootstrap.Bootstrap - - + + - + tls.APIServerCertKey->bootstrap.Bootstrap - - + + - + tls.APIServerProxyCertKey->bootstrap.Bootstrap - - + + - + tls.EtcdCABundle - -tls.EtcdCABundle + +tls.EtcdCABundle - + tls.EtcdCABundle->bootstrap.Bootstrap - - + + - + tls.EtcdSignerCertKey - -tls.EtcdSignerCertKey + +tls.EtcdSignerCertKey - + tls.EtcdSignerCertKey->bootstrap.Bootstrap - - + + - + tls.EtcdSignerCertKey->tls.EtcdCABundle - - + + - + tls.EtcdSignerClientCertKey - -tls.EtcdSignerClientCertKey + +tls.EtcdSignerClientCertKey - + tls.EtcdSignerCertKey->tls.EtcdSignerClientCertKey - - + + - + tls.EtcdSignerClientCertKey->bootstrap.Bootstrap - - + + - + tls.JournalCertKey->bootstrap.Bootstrap - - + + - + tls.JournalCertKey->Target Cluster - - + + - + tls.KubeAPIServerLBServerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeAPIServerLocalhostServerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeAPIServerServiceNetworkServerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeAPIServerCompleteClientCABundle->bootstrap.Bootstrap - - + + - + tls.KubeletClientCABundle->bootstrap.Bootstrap - - + + - + tls.KubeletClientCABundle->tls.KubeAPIServerCompleteClientCABundle - - + + - + tls.KubeControlPlaneCABundle->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneCABundle->tls.KubeAPIServerCompleteClientCABundle - - + + - + tls.KubeControlPlaneSignerCertKey - -tls.KubeControlPlaneSignerCertKey + +tls.KubeControlPlaneSignerCertKey - + tls.KubeControlPlaneSignerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneCABundle - - + + - + tls.KubeControlPlaneKubeControllerManagerClientCertKey - -tls.KubeControlPlaneKubeControllerManagerClientCertKey + +tls.KubeControlPlaneKubeControllerManagerClientCertKey - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeControllerManagerClientCertKey - - + + - + tls.KubeControlPlaneKubeSchedulerClientCertKey - -tls.KubeControlPlaneKubeSchedulerClientCertKey + +tls.KubeControlPlaneKubeSchedulerClientCertKey - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeSchedulerClientCertKey - - + + - + tls.KubeAPIServerToKubeletClientCertKey - -tls.KubeAPIServerToKubeletClientCertKey + +tls.KubeAPIServerToKubeletClientCertKey - + tls.KubeAPIServerToKubeletClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeAPIServerToKubeletClientCertKey->tls.KubeAPIServerCompleteClientCABundle - - + + - + tls.KubeAPIServerToKubeletSignerCertKey - -tls.KubeAPIServerToKubeletSignerCertKey + +tls.KubeAPIServerToKubeletSignerCertKey - + tls.KubeAPIServerToKubeletSignerCertKey->bootstrap.Bootstrap - - + + - + tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletClientCertKey - - + + - + tls.KubeAPIServerToKubeletCABundle - -tls.KubeAPIServerToKubeletCABundle + +tls.KubeAPIServerToKubeletCABundle - + tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletCABundle - - + + - + tls.KubeAPIServerToKubeletCABundle->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneKubeControllerManagerClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneKubeSchedulerClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeletServingCABundle->bootstrap.Bootstrap - - + + - + tls.ServiceAccountKeyPair - -tls.ServiceAccountKeyPair + +tls.ServiceAccountKeyPair - + tls.ServiceAccountKeyPair->bootstrap.Bootstrap - - + + - + cluster.Metadata->Target Ignition Configs - - + + - + cluster.Metadata->Target Cluster - - + + - + cluster.TerraformVariables->Target Cluster - - + + - + cluster.TerraformVariables->cluster.Cluster - - + + - + cluster.Cluster->Target Cluster - - + + diff --git a/pkg/asset/ignition/bootstrap/bootstrap.go b/pkg/asset/ignition/bootstrap/bootstrap.go index f6065ed1ed6..e672bbff029 100644 --- a/pkg/asset/ignition/bootstrap/bootstrap.go +++ b/pkg/asset/ignition/bootstrap/bootstrap.go @@ -62,7 +62,6 @@ var _ asset.WritableAsset = (*Bootstrap)(nil) func (a *Bootstrap) Dependencies() []asset.Asset { return []asset.Asset{ &installconfig.InstallConfig{}, - &kubeconfig.Admin{}, &kubeconfig.AdminClient{}, &kubeconfig.Kubelet{}, &kubeconfig.KubeletClient{}, @@ -373,7 +372,6 @@ func (a *Bootstrap) addParentFiles(dependencies asset.Parents) { } for _, asset := range []asset.WritableAsset{ - &kubeconfig.Admin{}, &kubeconfig.AdminClient{}, &kubeconfig.Kubelet{}, &kubeconfig.KubeletClient{}, diff --git a/pkg/asset/kubeconfig/admin.go b/pkg/asset/kubeconfig/admin.go index b9cbfeba5ed..4ce136772d3 100644 --- a/pkg/asset/kubeconfig/admin.go +++ b/pkg/asset/kubeconfig/admin.go @@ -9,53 +9,9 @@ import ( ) var ( - kubeconfigAdminPath = filepath.Join("auth", "kubeconfig") - kubeconfigAdminClientPath = filepath.Join("auth", "kubeconfig-admin") + kubeconfigAdminPath = filepath.Join("auth", "kubeconfig") ) -// Admin is the asset for the admin kubeconfig. -// [DEPRECATED] -type Admin struct { - kubeconfig -} - -var _ asset.WritableAsset = (*Admin)(nil) - -// Dependencies returns the dependency of the kubeconfig. -func (k *Admin) Dependencies() []asset.Asset { - return []asset.Asset{ - &tls.KubeCA{}, - &tls.AdminCertKey{}, - &installconfig.InstallConfig{}, - } -} - -// Generate generates the kubeconfig. -func (k *Admin) Generate(parents asset.Parents) error { - kubeCA := &tls.KubeCA{} - adminCertKey := &tls.AdminCertKey{} - installConfig := &installconfig.InstallConfig{} - parents.Get(kubeCA, adminCertKey, installConfig) - - return k.kubeconfig.generate( - kubeCA, - adminCertKey, - installConfig.Config, - "admin", - kubeconfigAdminPath, - ) -} - -// Name returns the human-friendly name of the asset. -func (k *Admin) Name() string { - return "Kubeconfig Admin" -} - -// Load returns the kubeconfig from disk. -func (k *Admin) Load(f asset.FileFetcher) (found bool, err error) { - return k.load(f, kubeconfigAdminPath) -} - // AdminClient is the asset for the admin kubeconfig. type AdminClient struct { kubeconfig @@ -84,7 +40,7 @@ func (k *AdminClient) Generate(parents asset.Parents) error { clientCertKey, installConfig.Config, "admin", - kubeconfigAdminClientPath, + kubeconfigAdminPath, ) } @@ -95,5 +51,5 @@ func (k *AdminClient) Name() string { // Load returns the kubeconfig from disk. func (k *AdminClient) Load(f asset.FileFetcher) (found bool, err error) { - return k.load(f, kubeconfigAdminClientPath) + return k.load(f, kubeconfigAdminPath) } diff --git a/pkg/asset/targets/targets.go b/pkg/asset/targets/targets.go index bb153c322b4..5f7a278a001 100644 --- a/pkg/asset/targets/targets.go +++ b/pkg/asset/targets/targets.go @@ -48,7 +48,7 @@ var ( // IgnitionConfigs are the ignition-configs targeted assets. IgnitionConfigs = []asset.WritableAsset{ - &kubeconfig.Admin{}, + &kubeconfig.AdminClient{}, &machine.Master{}, &machine.Worker{}, &bootstrap.Bootstrap{}, @@ -58,7 +58,7 @@ var ( // Cluster are the cluster targeted assets. Cluster = []asset.WritableAsset{ &cluster.TerraformVariables{}, - &kubeconfig.Admin{}, + &kubeconfig.AdminClient{}, &tls.JournalCertKey{}, &cluster.Metadata{}, &cluster.Cluster{}, diff --git a/pkg/asset/tls/adminkubeconfig.go b/pkg/asset/tls/adminkubeconfig.go index cd5fcfc3afd..419ddcf35da 100644 --- a/pkg/asset/tls/adminkubeconfig.go +++ b/pkg/asset/tls/adminkubeconfig.go @@ -7,43 +7,6 @@ import ( "github.com/openshift/installer/pkg/asset" ) -//AdminCertKey is the asset that generates the admin key/cert pair. -// [DEPRECATED] -type AdminCertKey struct { - SignedCertKey -} - -var _ asset.WritableAsset = (*AdminCertKey)(nil) - -// Dependencies returns the dependency of the the cert/key pair, which includes -// the parent CA, and install config if it depends on the install config for -// DNS names, etc. -func (a *AdminCertKey) Dependencies() []asset.Asset { - return []asset.Asset{ - &KubeCA{}, - } -} - -// Generate generates the cert/key pair based on its dependencies. -func (a *AdminCertKey) Generate(dependencies asset.Parents) error { - kubeCA := &KubeCA{} - dependencies.Get(kubeCA) - - cfg := &CertCfg{ - Subject: pkix.Name{CommonName: "system:admin", Organization: []string{"system:masters"}}, - KeyUsages: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, - ExtKeyUsages: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth, x509.ExtKeyUsageClientAuth}, - Validity: ValidityTenYears, - } - - return a.SignedCertKey.Generate(cfg, kubeCA, "admin", DoNotAppendParent) -} - -// Name returns the human-friendly name of the asset. -func (a *AdminCertKey) Name() string { - return "Certificate (system:admin)" -} - // AdminKubeConfigSignerCertKey is a key/cert pair that signs the admin kubeconfig client certs. type AdminKubeConfigSignerCertKey struct { SelfSignedCertKey