From 36f984f4b416cef73291eb745f074ebdd19b0768 Mon Sep 17 00:00:00 2001 From: David Eads Date: Tue, 23 Apr 2019 18:54:56 -0400 Subject: [PATCH 1/2] generated --- docs/design/resource_dep.svg | 1114 +++++++++++++++++----------------- 1 file changed, 563 insertions(+), 551 deletions(-) diff --git a/docs/design/resource_dep.svg b/docs/design/resource_dep.svg index d7cef6fe476..4241c963f11 100644 --- a/docs/design/resource_dep.svg +++ b/docs/design/resource_dep.svg @@ -4,11 +4,11 @@ - - + + G - + cluster_Target @@ -16,8 +16,8 @@ cluster_bootkube - -bootkube + +bootkube cluster_bootstrap @@ -26,13 +26,13 @@ cluster_cluster - -cluster + +cluster cluster_installconfig - -installconfig + +installconfig cluster_kubeconfig @@ -46,18 +46,18 @@ cluster_machines - -machines + +machines cluster_manifests - -manifests + +manifests cluster_openshift - -openshift + +openshift cluster_password @@ -66,8 +66,8 @@ cluster_rhcos - -rhcos + +rhcos cluster_tls @@ -77,8 +77,8 @@ installconfig.InstallConfig - -installconfig.InstallConfig + +installconfig.InstallConfig @@ -89,56 +89,56 @@ 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 - - + + @@ -149,20 +149,20 @@ installconfig.InstallConfig->machine.Master - - + + machines.Worker - -machines.Worker + +machines.Worker installconfig.InstallConfig->machines.Worker - - + + @@ -173,20 +173,20 @@ installconfig.InstallConfig->machine.Worker - - + + manifests.Manifests - -manifests.Manifests + +manifests.Manifests installconfig.InstallConfig->manifests.Manifests - - + + @@ -197,56 +197,56 @@ 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.CloudProviderConfig - -manifests.CloudProviderConfig + +manifests.CloudProviderConfig installconfig.InstallConfig->manifests.CloudProviderConfig - - + + manifests.Networking - -manifests.Networking + +manifests.Networking installconfig.InstallConfig->manifests.Networking - - + + @@ -257,200 +257,200 @@ installconfig.InstallConfig->tls.MCSCertKey - - + + - + manifests.Openshift - -manifests.Openshift + +manifests.Openshift - + installconfig.InstallConfig->manifests.Openshift - - + + - + kubeconfig.AdminClient kubeconfig.AdminClient - + installconfig.InstallConfig->kubeconfig.AdminClient - + - + bootstrap.Bootstrap bootstrap.Bootstrap - + installconfig.InstallConfig->bootstrap.Bootstrap - + - + kubeconfig.Kubelet kubeconfig.Kubelet - + installconfig.InstallConfig->kubeconfig.Kubelet - - + + - + tls.KubeAPIServerExternalLBServerCertKey tls.KubeAPIServerExternalLBServerCertKey - + installconfig.InstallConfig->tls.KubeAPIServerExternalLBServerCertKey - + - + tls.KubeAPIServerInternalLBServerCertKey tls.KubeAPIServerInternalLBServerCertKey - + installconfig.InstallConfig->tls.KubeAPIServerInternalLBServerCertKey - + - + 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 - - + + @@ -461,152 +461,152 @@ machines.Master->Target Manifests - - + + - + machines.Master->bootstrap.Bootstrap - - + + - + machines.Master->cluster.TerraformVariables - - + + installconfig.ClusterID->machines.Master - - + + installconfig.ClusterID->machines.Worker - - + + installconfig.ClusterID->manifests.Manifests - - + + installconfig.ClusterID->manifests.DNS - - + + installconfig.ClusterID->manifests.Infrastructure - - + + installconfig.ClusterID->manifests.CloudProviderConfig - - + + - + installconfig.ClusterID->manifests.Openshift - - + + - + installconfig.ClusterID->cluster.Metadata - - + + - + installconfig.ClusterID->cluster.TerraformVariables - - + + - + installconfig.ClusterID->cluster.Cluster - - + + installconfig.PlatformCredsCheck->machines.Master - - + + installconfig.PlatformCredsCheck->machines.Worker - - + + installconfig.PlatformCredsCheck->manifests.DNS - - + + installconfig.PlatformCredsCheck->manifests.CloudProviderConfig - - + + - + 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 - + machine.Master->Target Ignition Configs - + machine.Master->cluster.TerraformVariables - - + + @@ -629,8 +629,8 @@ tls.RootCA->manifests.Manifests - - + + @@ -639,19 +639,19 @@ - + tls.RootCA->bootstrap.Bootstrap - - + + - + tls.JournalCertKey tls.JournalCertKey - + tls.RootCA->tls.JournalCertKey @@ -659,29 +659,29 @@ machines.Worker->Target Manifests - - + + - + machines.Worker->bootstrap.Bootstrap - - + + - + machines.Worker->cluster.TerraformVariables - - + + machine.Worker->machines.Worker - - + + - + machine.Worker->Target Ignition Configs @@ -689,56 +689,56 @@ manifests.Manifests->Target Manifests - - + + - + manifests.Manifests->bootstrap.Bootstrap - - + + manifests.Ingress->manifests.Manifests - - + + manifests.DNS->manifests.Manifests - - + + manifests.Infrastructure->manifests.Manifests - - + + manifests.CloudProviderConfig->manifests.Infrastructure - - + + manifests.Networking->manifests.Manifests - - + + openshift.NetworkCRDs - -openshift.NetworkCRDs + +openshift.NetworkCRDs openshift.NetworkCRDs->manifests.Networking - - + + @@ -749,8 +749,8 @@ tls.EtcdCA->manifests.Manifests - - + + @@ -765,7 +765,7 @@ - + tls.EtcdCA->bootstrap.Bootstrap @@ -779,8 +779,8 @@ tls.EtcdSignerCertKey->manifests.Manifests - - + + @@ -807,7 +807,7 @@ - + tls.EtcdSignerCertKey->bootstrap.Bootstrap @@ -815,11 +815,11 @@ tls.EtcdCABundle->manifests.Manifests - - + + - + tls.EtcdCABundle->bootstrap.Bootstrap @@ -827,11 +827,11 @@ tls.EtcdSignerClientCertKey->manifests.Manifests - - + + - + tls.EtcdSignerClientCertKey->bootstrap.Bootstrap @@ -839,11 +839,11 @@ tls.EtcdClientCertKey->manifests.Manifests - - + + - + tls.EtcdClientCertKey->bootstrap.Bootstrap @@ -851,20 +851,20 @@ tls.EtcdMetricCABundle - -tls.EtcdMetricCABundle + +tls.EtcdMetricCABundle tls.EtcdMetricCABundle->manifests.Manifests - - + + - + tls.EtcdMetricCABundle->bootstrap.Bootstrap - - + + @@ -875,23 +875,23 @@ tls.EtcdMetricSignerCertKey->tls.EtcdMetricCABundle - - + + tls.EtcdMetricSignerClientCertKey - -tls.EtcdMetricSignerClientCertKey + +tls.EtcdMetricSignerClientCertKey tls.EtcdMetricSignerCertKey->tls.EtcdMetricSignerClientCertKey - - + + - + tls.EtcdMetricSignerCertKey->bootstrap.Bootstrap @@ -899,23 +899,23 @@ tls.EtcdMetricSignerClientCertKey->manifests.Manifests - - + + - + tls.EtcdMetricSignerClientCertKey->bootstrap.Bootstrap - - + + tls.MCSCertKey->manifests.Manifests - - + + - + tls.MCSCertKey->bootstrap.Bootstrap @@ -923,968 +923,980 @@ bootkube.CVOOverrides - -bootkube.CVOOverrides + +bootkube.CVOOverrides bootkube.CVOOverrides->manifests.Manifests - - + + - + -bootkube.EtcdServiceKubeSystem - -bootkube.EtcdServiceKubeSystem +bootkube.EtcdNamespaceOpenshiftEtcd + +bootkube.EtcdNamespaceOpenshiftEtcd - + -bootkube.EtcdServiceKubeSystem->manifests.Manifests - - +bootkube.EtcdNamespaceOpenshiftEtcd->manifests.Manifests + + - + -bootkube.HostEtcdServiceEndpointsKubeSystem - -bootkube.HostEtcdServiceEndpointsKubeSystem +bootkube.EtcdServiceOpenshiftEtcd + +bootkube.EtcdServiceOpenshiftEtcd - + -bootkube.HostEtcdServiceEndpointsKubeSystem->manifests.Manifests - - +bootkube.EtcdServiceOpenshiftEtcd->manifests.Manifests + + - + -bootkube.HostEtcdServiceKubeSystem - -bootkube.HostEtcdServiceKubeSystem +bootkube.HostEtcdServiceEndpointsOpenshiftEtcd + +bootkube.HostEtcdServiceEndpointsOpenshiftEtcd - + -bootkube.HostEtcdServiceKubeSystem->manifests.Manifests - - +bootkube.HostEtcdServiceEndpointsOpenshiftEtcd->manifests.Manifests + + - + +bootkube.HostEtcdServiceOpenshiftEtcd + +bootkube.HostEtcdServiceOpenshiftEtcd + + + +bootkube.HostEtcdServiceOpenshiftEtcd->manifests.Manifests + + + + + bootkube.KubeCloudConfig - -bootkube.KubeCloudConfig + +bootkube.KubeCloudConfig - + bootkube.KubeCloudConfig->manifests.Manifests - - + + - + bootkube.KubeSystemConfigmapEtcdCA - -bootkube.KubeSystemConfigmapEtcdCA + +bootkube.KubeSystemConfigmapEtcdCA - + bootkube.KubeSystemConfigmapEtcdCA->manifests.Manifests - - + + - + bootkube.KubeSystemConfigmapEtcdServingCA - -bootkube.KubeSystemConfigmapEtcdServingCA + +bootkube.KubeSystemConfigmapEtcdServingCA - + bootkube.KubeSystemConfigmapEtcdServingCA->manifests.Manifests - - + + - + bootkube.KubeSystemConfigmapRootCA - -bootkube.KubeSystemConfigmapRootCA + +bootkube.KubeSystemConfigmapRootCA - + bootkube.KubeSystemConfigmapRootCA->manifests.Manifests - - + + - + bootkube.KubeSystemSecretEtcdClient - -bootkube.KubeSystemSecretEtcdClient + +bootkube.KubeSystemSecretEtcdClient - + bootkube.KubeSystemSecretEtcdClient->manifests.Manifests - - + + - + bootkube.KubeSystemSecretEtcdClientCADeprecated - -bootkube.KubeSystemSecretEtcdClientCADeprecated + +bootkube.KubeSystemSecretEtcdClientCADeprecated - + bootkube.KubeSystemSecretEtcdClientCADeprecated->manifests.Manifests - - + + - + bootkube.KubeSystemSecretEtcdSigner - -bootkube.KubeSystemSecretEtcdSigner + +bootkube.KubeSystemSecretEtcdSigner - + bootkube.KubeSystemSecretEtcdSigner->manifests.Manifests - - + + - + bootkube.KubeSystemSecretEtcdSignerClient - -bootkube.KubeSystemSecretEtcdSignerClient + +bootkube.KubeSystemSecretEtcdSignerClient - + bootkube.KubeSystemSecretEtcdSignerClient->manifests.Manifests - - + + - + bootkube.MachineConfigServerTLSSecret - -bootkube.MachineConfigServerTLSSecret + +bootkube.MachineConfigServerTLSSecret - + bootkube.MachineConfigServerTLSSecret->manifests.Manifests - - + + - + bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA - -bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA + +bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA - + bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA->manifests.Manifests - - + + - + bootkube.OpenshiftConfigSecretEtcdMetricClient - -bootkube.OpenshiftConfigSecretEtcdMetricClient + +bootkube.OpenshiftConfigSecretEtcdMetricClient - + bootkube.OpenshiftConfigSecretEtcdMetricClient->manifests.Manifests - - + + - + bootkube.OpenshiftConfigSecretPullSecret - -bootkube.OpenshiftConfigSecretPullSecret + +bootkube.OpenshiftConfigSecretPullSecret - + bootkube.OpenshiftConfigSecretPullSecret->manifests.Manifests - - + + - + bootkube.OpenshiftMachineConfigOperator - -bootkube.OpenshiftMachineConfigOperator + +bootkube.OpenshiftMachineConfigOperator - + bootkube.OpenshiftMachineConfigOperator->manifests.Manifests - - + + - + manifests.Openshift->Target Manifests - - + + - + manifests.Openshift->bootstrap.Bootstrap - - + + - + password.KubeadminPassword password.KubeadminPassword - + password.KubeadminPassword->manifests.Openshift - - + + - + password.KubeadminPassword->Target Ignition Configs - + Target Cluster Target Cluster - + password.KubeadminPassword->Target Cluster - + password.KubeadminPassword->cluster.Cluster - - + + - + openshift.BindingDiscovery - -openshift.BindingDiscovery + +openshift.BindingDiscovery - + openshift.BindingDiscovery->manifests.Openshift - - + + - + openshift.CloudCredsSecret - -openshift.CloudCredsSecret + +openshift.CloudCredsSecret - + openshift.CloudCredsSecret->manifests.Openshift - - + + - + openshift.KubeadminPasswordSecret - -openshift.KubeadminPasswordSecret + +openshift.KubeadminPasswordSecret - + openshift.KubeadminPasswordSecret->manifests.Openshift - - + + - + openshift.RoleCloudCredsSecretReader - -openshift.RoleCloudCredsSecretReader + +openshift.RoleCloudCredsSecretReader - + openshift.RoleCloudCredsSecretReader->manifests.Openshift - - + + - + kubeconfig.AdminClient->Target Ignition Configs - + kubeconfig.AdminClient->bootstrap.Bootstrap - + kubeconfig.AdminClient->Target Cluster - + 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 tls.KubeAPIServerCompleteCABundle - + tls.KubeAPIServerCompleteCABundle->kubeconfig.AdminClient - + tls.KubeAPIServerCompleteCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerCompleteCABundle->kubeconfig.Kubelet - + tls.KubeAPIServerLocalhostCABundle tls.KubeAPIServerLocalhostCABundle - + tls.KubeAPIServerLocalhostCABundle->tls.KubeAPIServerCompleteCABundle - + tls.KubeAPIServerLocalhostCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerLocalhostSignerCertKey tls.KubeAPIServerLocalhostSignerCertKey - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostCABundle - + tls.KubeAPIServerLocalhostSignerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerLocalhostServerCertKey tls.KubeAPIServerLocalhostServerCertKey - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeAPIServerLocalhostServerCertKey - + tls.KubeControlPlaneCABundle tls.KubeControlPlaneCABundle - + tls.KubeAPIServerLocalhostSignerCertKey->tls.KubeControlPlaneCABundle - + tls.KubeAPIServerServiceNetworkCABundle tls.KubeAPIServerServiceNetworkCABundle - + tls.KubeAPIServerServiceNetworkCABundle->tls.KubeAPIServerCompleteCABundle - + tls.KubeAPIServerServiceNetworkCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerServiceNetworkSignerCertKey tls.KubeAPIServerServiceNetworkSignerCertKey - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkCABundle - + tls.KubeAPIServerServiceNetworkSignerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeAPIServerServiceNetworkServerCertKey - + tls.KubeAPIServerServiceNetworkSignerCertKey->tls.KubeControlPlaneCABundle - + tls.KubeAPIServerLBCABundle tls.KubeAPIServerLBCABundle - + tls.KubeAPIServerLBCABundle->tls.KubeAPIServerCompleteCABundle - + tls.KubeAPIServerLBCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerLBSignerCertKey tls.KubeAPIServerLBSignerCertKey - + tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerLBCABundle - + tls.KubeAPIServerLBSignerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerExternalLBServerCertKey - + tls.KubeAPIServerLBSignerCertKey->tls.KubeAPIServerInternalLBServerCertKey - + tls.KubeAPIServerLBSignerCertKey->tls.KubeControlPlaneCABundle - + bootstrap.Bootstrap->Target Ignition Configs - + bootstrap.Bootstrap->cluster.TerraformVariables - - + + - + kubeconfig.Kubelet->bootstrap.Bootstrap - + tls.KubeletClientCertKey tls.KubeletClientCertKey - + tls.KubeletClientCertKey->bootstrap.Bootstrap - + tls.KubeletClientCertKey->kubeconfig.Kubelet - + tls.KubeletBootstrapCertSigner tls.KubeletBootstrapCertSigner - + tls.KubeletBootstrapCertSigner->tls.KubeletClientCertKey - + tls.KubeletBootstrapCABundle tls.KubeletBootstrapCABundle - + tls.KubeletBootstrapCertSigner->tls.KubeletBootstrapCABundle - + tls.AdminKubeConfigCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerCompleteClientCABundle tls.KubeAPIServerCompleteClientCABundle - + tls.AdminKubeConfigCABundle->tls.KubeAPIServerCompleteClientCABundle - + tls.AggregatorCA tls.AggregatorCA - + tls.AggregatorCA->bootstrap.Bootstrap - + tls.APIServerProxyCertKey tls.APIServerProxyCertKey - + tls.AggregatorCA->tls.APIServerProxyCertKey - + tls.AggregatorCABundle tls.AggregatorCABundle - + tls.AggregatorCABundle->bootstrap.Bootstrap - - + + - + tls.AggregatorSignerCertKey tls.AggregatorSignerCertKey - + tls.AggregatorSignerCertKey->bootstrap.Bootstrap - + tls.AggregatorSignerCertKey->tls.AggregatorCABundle - + tls.AggregatorClientCertKey tls.AggregatorClientCertKey - + tls.AggregatorSignerCertKey->tls.AggregatorClientCertKey - + tls.AggregatorClientCertKey->bootstrap.Bootstrap - - + + - + tls.APIServerProxyCertKey->bootstrap.Bootstrap - - + + - + tls.JournalCertKey->bootstrap.Bootstrap - + tls.JournalCertKey->Target Cluster - + tls.KubeAPIServerExternalLBServerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerInternalLBServerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerLocalhostServerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerServiceNetworkServerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerCompleteClientCABundle->bootstrap.Bootstrap - + tls.KubeletClientCABundle tls.KubeletClientCABundle - + tls.KubeletClientCABundle->bootstrap.Bootstrap - + tls.KubeletClientCABundle->tls.KubeAPIServerCompleteClientCABundle - + tls.KubeletCSRSignerCertKey tls.KubeletCSRSignerCertKey - + tls.KubeletCSRSignerCertKey->bootstrap.Bootstrap - + tls.KubeletCSRSignerCertKey->tls.KubeletClientCABundle - + tls.KubeletServingCABundle tls.KubeletServingCABundle - + tls.KubeletCSRSignerCertKey->tls.KubeletServingCABundle - + tls.KubeControlPlaneCABundle->bootstrap.Bootstrap - + tls.KubeControlPlaneCABundle->tls.KubeAPIServerCompleteClientCABundle - + tls.KubeControlPlaneSignerCertKey tls.KubeControlPlaneSignerCertKey - + tls.KubeControlPlaneSignerCertKey->bootstrap.Bootstrap - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneCABundle - + tls.KubeControlPlaneKubeControllerManagerClientCertKey tls.KubeControlPlaneKubeControllerManagerClientCertKey - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeControllerManagerClientCertKey - + tls.KubeControlPlaneKubeSchedulerClientCertKey tls.KubeControlPlaneKubeSchedulerClientCertKey - + tls.KubeControlPlaneSignerCertKey->tls.KubeControlPlaneKubeSchedulerClientCertKey - + tls.KubeAPIServerToKubeletCABundle tls.KubeAPIServerToKubeletCABundle - + tls.KubeAPIServerToKubeletCABundle->bootstrap.Bootstrap - + tls.KubeAPIServerToKubeletCABundle->tls.KubeAPIServerCompleteClientCABundle - + tls.KubeAPIServerToKubeletSignerCertKey tls.KubeAPIServerToKubeletSignerCertKey - + tls.KubeAPIServerToKubeletSignerCertKey->bootstrap.Bootstrap - + tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletCABundle - + tls.KubeAPIServerToKubeletClientCertKey tls.KubeAPIServerToKubeletClientCertKey - + tls.KubeAPIServerToKubeletSignerCertKey->tls.KubeAPIServerToKubeletClientCertKey - + tls.KubeletBootstrapCABundle->bootstrap.Bootstrap - + tls.KubeletBootstrapCABundle->tls.KubeAPIServerCompleteClientCABundle - + tls.KubeAPIServerToKubeletClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneKubeControllerManagerClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeControlPlaneKubeSchedulerClientCertKey->bootstrap.Bootstrap - - + + - + tls.KubeletServingCABundle->bootstrap.Bootstrap - - + + - + 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 - - + + From 508e44b66935058f4ff7162f1d1278279ef3d383 Mon Sep 17 00:00:00 2001 From: David Eads Date: Tue, 23 Apr 2019 18:52:59 -0400 Subject: [PATCH 2/2] etcd: move etcd service to openshift-etcd etcd has moved to openshift-etcd. This reflects that change and the consuming components have already been updated to handle it. --- .../manifests/bootkube/etcd-namespace.yaml | 6 ++ .../data/manifests/bootkube/etcd-service.yaml | 2 +- .../host-etcd-service-endpoints.yaml.template | 2 +- .../manifests/bootkube/host-etcd-service.yaml | 2 +- pkg/asset/manifests/operators.go | 14 ++-- pkg/asset/targets/targets.go | 7 +- .../content/bootkube/etcd-namespace.go | 64 +++++++++++++++++++ .../content/bootkube/etcd-service.go | 24 +++---- .../bootkube/host-etcd-service-endpoints.go | 24 +++---- .../content/bootkube/host-etcd-service.go | 24 +++---- 10 files changed, 121 insertions(+), 48 deletions(-) create mode 100644 data/data/manifests/bootkube/etcd-namespace.yaml create mode 100644 pkg/asset/templates/content/bootkube/etcd-namespace.go diff --git a/data/data/manifests/bootkube/etcd-namespace.yaml b/data/data/manifests/bootkube/etcd-namespace.yaml new file mode 100644 index 00000000000..15e11a403a7 --- /dev/null +++ b/data/data/manifests/bootkube/etcd-namespace.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openshift-etcd + labels: + openshift.io/run-level: "1" diff --git a/data/data/manifests/bootkube/etcd-service.yaml b/data/data/manifests/bootkube/etcd-service.yaml index d2ca703e4e4..8724f004142 100644 --- a/data/data/manifests/bootkube/etcd-service.yaml +++ b/data/data/manifests/bootkube/etcd-service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: etcd - namespace: kube-system + namespace: openshift-etcd labels: # this label is used to indicate that it should be scraped by prometheus k8s-app: etcd diff --git a/data/data/manifests/bootkube/host-etcd-service-endpoints.yaml.template b/data/data/manifests/bootkube/host-etcd-service-endpoints.yaml.template index a478bdee68f..23ce69c881d 100644 --- a/data/data/manifests/bootkube/host-etcd-service-endpoints.yaml.template +++ b/data/data/manifests/bootkube/host-etcd-service-endpoints.yaml.template @@ -2,7 +2,7 @@ apiVersion: v1 kind: Endpoints metadata: name: host-etcd - namespace: kube-system + namespace: openshift-etcd annotations: alpha.installer.openshift.io/dns-suffix: {{.EtcdEndpointDNSSuffix}} subsets: diff --git a/data/data/manifests/bootkube/host-etcd-service.yaml b/data/data/manifests/bootkube/host-etcd-service.yaml index 348a29bc763..329618a7775 100644 --- a/data/data/manifests/bootkube/host-etcd-service.yaml +++ b/data/data/manifests/bootkube/host-etcd-service.yaml @@ -2,7 +2,7 @@ apiVersion: v1 kind: Service metadata: name: host-etcd - namespace: kube-system + namespace: openshift-etcd labels: # this label is used to indicate that it should be scraped by prometheus k8s-app: etcd diff --git a/pkg/asset/manifests/operators.go b/pkg/asset/manifests/operators.go index 5506a28faf0..2f1181d7be0 100644 --- a/pkg/asset/manifests/operators.go +++ b/pkg/asset/manifests/operators.go @@ -70,9 +70,10 @@ func (m *Manifests) Dependencies() []asset.Asset { &tls.MCSCertKey{}, &bootkube.CVOOverrides{}, - &bootkube.EtcdServiceKubeSystem{}, - &bootkube.HostEtcdServiceEndpointsKubeSystem{}, - &bootkube.HostEtcdServiceKubeSystem{}, + &bootkube.EtcdNamespaceOpenshiftEtcd{}, + &bootkube.EtcdServiceOpenshiftEtcd{}, + &bootkube.HostEtcdServiceEndpointsOpenshiftEtcd{}, + &bootkube.HostEtcdServiceOpenshiftEtcd{}, &bootkube.KubeCloudConfig{}, &bootkube.KubeSystemConfigmapEtcdCA{}, &bootkube.KubeSystemConfigmapEtcdServingCA{}, @@ -191,9 +192,10 @@ func (m *Manifests) generateBootKubeManifests(dependencies asset.Parents) []*ass files := []*asset.File{} for _, a := range []asset.WritableAsset{ &bootkube.CVOOverrides{}, - &bootkube.EtcdServiceKubeSystem{}, - &bootkube.HostEtcdServiceEndpointsKubeSystem{}, - &bootkube.HostEtcdServiceKubeSystem{}, + &bootkube.EtcdNamespaceOpenshiftEtcd{}, + &bootkube.EtcdServiceOpenshiftEtcd{}, + &bootkube.HostEtcdServiceEndpointsOpenshiftEtcd{}, + &bootkube.HostEtcdServiceOpenshiftEtcd{}, &bootkube.KubeCloudConfig{}, &bootkube.KubeSystemConfigmapEtcdCA{}, &bootkube.KubeSystemConfigmapEtcdServingCA{}, diff --git a/pkg/asset/targets/targets.go b/pkg/asset/targets/targets.go index 42bf351ee1a..762df51e9a9 100644 --- a/pkg/asset/targets/targets.go +++ b/pkg/asset/targets/targets.go @@ -34,13 +34,14 @@ var ( &bootkube.KubeCloudConfig{}, &bootkube.MachineConfigServerTLSSecret{}, &bootkube.CVOOverrides{}, - &bootkube.HostEtcdServiceEndpointsKubeSystem{}, + &bootkube.HostEtcdServiceEndpointsOpenshiftEtcd{}, &bootkube.KubeSystemConfigmapEtcdServingCA{}, &bootkube.KubeSystemConfigmapRootCA{}, &bootkube.KubeSystemSecretEtcdClient{}, &bootkube.OpenshiftMachineConfigOperator{}, - &bootkube.EtcdServiceKubeSystem{}, - &bootkube.HostEtcdServiceKubeSystem{}, + &bootkube.EtcdNamespaceOpenshiftEtcd{}, + &bootkube.EtcdServiceOpenshiftEtcd{}, + &bootkube.HostEtcdServiceOpenshiftEtcd{}, &bootkube.OpenshiftConfigSecretEtcdMetricClient{}, &bootkube.OpenshiftConfigConfigmapEtcdMetricServingCA{}, &bootkube.OpenshiftConfigSecretPullSecret{}, diff --git a/pkg/asset/templates/content/bootkube/etcd-namespace.go b/pkg/asset/templates/content/bootkube/etcd-namespace.go new file mode 100644 index 00000000000..962aa4a0349 --- /dev/null +++ b/pkg/asset/templates/content/bootkube/etcd-namespace.go @@ -0,0 +1,64 @@ +package bootkube + +import ( + "os" + "path/filepath" + + "github.com/openshift/installer/pkg/asset" + "github.com/openshift/installer/pkg/asset/templates/content" +) + +const ( + etcdNamespaceOpenshiftEtcdFileName = "etcd-namespace.yaml" +) + +var _ asset.WritableAsset = (*EtcdNamespaceOpenshiftEtcd)(nil) + +// EtcdNamespaceOpenshiftEtcd is the constant to represent contents of etcd-service.yaml file +type EtcdNamespaceOpenshiftEtcd struct { + FileList []*asset.File +} + +// Dependencies returns all of the dependencies directly needed by the asset +func (t *EtcdNamespaceOpenshiftEtcd) Dependencies() []asset.Asset { + return []asset.Asset{} +} + +// Name returns the human-friendly name of the asset. +func (t *EtcdNamespaceOpenshiftEtcd) Name() string { + return "EtcdNamespaceOpenshiftEtcd" +} + +// Generate generates the actual files by this asset +func (t *EtcdNamespaceOpenshiftEtcd) Generate(parents asset.Parents) error { + fileName := etcdNamespaceOpenshiftEtcdFileName + 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 *EtcdNamespaceOpenshiftEtcd) Files() []*asset.File { + return t.FileList +} + +// Load returns the asset from disk. +func (t *EtcdNamespaceOpenshiftEtcd) Load(f asset.FileFetcher) (bool, error) { + file, err := f.FetchByName(filepath.Join(content.TemplateDir, etcdNamespaceOpenshiftEtcdFileName)) + if err != nil { + if os.IsNotExist(err) { + return false, nil + } + return false, err + } + t.FileList = []*asset.File{file} + return true, nil +} diff --git a/pkg/asset/templates/content/bootkube/etcd-service.go b/pkg/asset/templates/content/bootkube/etcd-service.go index 6200c04789e..77aa563c2da 100644 --- a/pkg/asset/templates/content/bootkube/etcd-service.go +++ b/pkg/asset/templates/content/bootkube/etcd-service.go @@ -9,29 +9,29 @@ import ( ) const ( - etcdServiceKubeSystemFileName = "etcd-service.yaml" + etcdServiceOpenshiftEtcdFileName = "etcd-service.yaml" ) -var _ asset.WritableAsset = (*EtcdServiceKubeSystem)(nil) +var _ asset.WritableAsset = (*EtcdServiceOpenshiftEtcd)(nil) -// EtcdServiceKubeSystem is the constant to represent contents of etcd-service.yaml file -type EtcdServiceKubeSystem struct { +// EtcdServiceOpenshiftEtcd is the constant to represent contents of etcd-service.yaml file +type EtcdServiceOpenshiftEtcd struct { FileList []*asset.File } // Dependencies returns all of the dependencies directly needed by the asset -func (t *EtcdServiceKubeSystem) Dependencies() []asset.Asset { +func (t *EtcdServiceOpenshiftEtcd) Dependencies() []asset.Asset { return []asset.Asset{} } // Name returns the human-friendly name of the asset. -func (t *EtcdServiceKubeSystem) Name() string { - return "EtcdServiceKubeSystem" +func (t *EtcdServiceOpenshiftEtcd) Name() string { + return "EtcdServiceOpenshiftEtcd" } // Generate generates the actual files by this asset -func (t *EtcdServiceKubeSystem) Generate(parents asset.Parents) error { - fileName := etcdServiceKubeSystemFileName +func (t *EtcdServiceOpenshiftEtcd) Generate(parents asset.Parents) error { + fileName := etcdServiceOpenshiftEtcdFileName data, err := content.GetBootkubeTemplate(fileName) if err != nil { return err @@ -46,13 +46,13 @@ func (t *EtcdServiceKubeSystem) Generate(parents asset.Parents) error { } // Files returns the files generated by the asset. -func (t *EtcdServiceKubeSystem) Files() []*asset.File { +func (t *EtcdServiceOpenshiftEtcd) Files() []*asset.File { return t.FileList } // Load returns the asset from disk. -func (t *EtcdServiceKubeSystem) Load(f asset.FileFetcher) (bool, error) { - file, err := f.FetchByName(filepath.Join(content.TemplateDir, etcdServiceKubeSystemFileName)) +func (t *EtcdServiceOpenshiftEtcd) Load(f asset.FileFetcher) (bool, error) { + file, err := f.FetchByName(filepath.Join(content.TemplateDir, etcdServiceOpenshiftEtcdFileName)) if err != nil { if os.IsNotExist(err) { return false, nil diff --git a/pkg/asset/templates/content/bootkube/host-etcd-service-endpoints.go b/pkg/asset/templates/content/bootkube/host-etcd-service-endpoints.go index 30f9b663e19..99530545e96 100644 --- a/pkg/asset/templates/content/bootkube/host-etcd-service-endpoints.go +++ b/pkg/asset/templates/content/bootkube/host-etcd-service-endpoints.go @@ -9,29 +9,29 @@ import ( ) const ( - hostEtcdServiceEndpointsKubeSystemFileName = "host-etcd-service-endpoints.yaml.template" + hostEtcdServiceEndpointsOpenshiftEtcdFileName = "host-etcd-service-endpoints.yaml.template" ) -var _ asset.WritableAsset = (*HostEtcdServiceEndpointsKubeSystem)(nil) +var _ asset.WritableAsset = (*HostEtcdServiceEndpointsOpenshiftEtcd)(nil) -// HostEtcdServiceEndpointsKubeSystem is the constant to represent contents of etcd-service-endpoints.yaml.template file. -type HostEtcdServiceEndpointsKubeSystem struct { +// HostEtcdServiceEndpointsOpenshiftEtcd is the constant to represent contents of etcd-service-endpoints.yaml.template file. +type HostEtcdServiceEndpointsOpenshiftEtcd struct { FileList []*asset.File } // Dependencies returns all of the dependencies directly needed by the asset -func (t *HostEtcdServiceEndpointsKubeSystem) Dependencies() []asset.Asset { +func (t *HostEtcdServiceEndpointsOpenshiftEtcd) Dependencies() []asset.Asset { return []asset.Asset{} } // Name returns the human-friendly name of the asset. -func (t *HostEtcdServiceEndpointsKubeSystem) Name() string { - return "HostEtcdServiceEndpointsKubeSystem" +func (t *HostEtcdServiceEndpointsOpenshiftEtcd) Name() string { + return "HostEtcdServiceEndpointsOpenshiftEtcd" } // Generate generates the actual files by this asset -func (t *HostEtcdServiceEndpointsKubeSystem) Generate(parents asset.Parents) error { - fileName := hostEtcdServiceEndpointsKubeSystemFileName +func (t *HostEtcdServiceEndpointsOpenshiftEtcd) Generate(parents asset.Parents) error { + fileName := hostEtcdServiceEndpointsOpenshiftEtcdFileName data, err := content.GetBootkubeTemplate(fileName) if err != nil { return err @@ -46,13 +46,13 @@ func (t *HostEtcdServiceEndpointsKubeSystem) Generate(parents asset.Parents) err } // Files returns the files generated by the asset. -func (t *HostEtcdServiceEndpointsKubeSystem) Files() []*asset.File { +func (t *HostEtcdServiceEndpointsOpenshiftEtcd) Files() []*asset.File { return t.FileList } // Load returns the asset from disk. -func (t *HostEtcdServiceEndpointsKubeSystem) Load(f asset.FileFetcher) (bool, error) { - file, err := f.FetchByName(filepath.Join(content.TemplateDir, hostEtcdServiceEndpointsKubeSystemFileName)) +func (t *HostEtcdServiceEndpointsOpenshiftEtcd) Load(f asset.FileFetcher) (bool, error) { + file, err := f.FetchByName(filepath.Join(content.TemplateDir, hostEtcdServiceEndpointsOpenshiftEtcdFileName)) if err != nil { if os.IsNotExist(err) { return false, nil diff --git a/pkg/asset/templates/content/bootkube/host-etcd-service.go b/pkg/asset/templates/content/bootkube/host-etcd-service.go index a1840f62c2b..11b53c27401 100644 --- a/pkg/asset/templates/content/bootkube/host-etcd-service.go +++ b/pkg/asset/templates/content/bootkube/host-etcd-service.go @@ -9,29 +9,29 @@ import ( ) const ( - hostEtcdServiceKubeSystemFileName = "host-etcd-service.yaml" + hostEtcdServiceOpenshiftEtcdFileName = "host-etcd-service.yaml" ) -var _ asset.WritableAsset = (*HostEtcdServiceKubeSystem)(nil) +var _ asset.WritableAsset = (*HostEtcdServiceOpenshiftEtcd)(nil) -// HostEtcdServiceKubeSystem is the constant to represent contents of etcd-service.yaml file -type HostEtcdServiceKubeSystem struct { +// HostEtcdServiceOpenshiftEtcd is the constant to represent contents of etcd-service.yaml file +type HostEtcdServiceOpenshiftEtcd struct { FileList []*asset.File } // Dependencies returns all of the dependencies directly needed by the asset -func (t *HostEtcdServiceKubeSystem) Dependencies() []asset.Asset { +func (t *HostEtcdServiceOpenshiftEtcd) Dependencies() []asset.Asset { return []asset.Asset{} } // Name returns the human-friendly name of the asset. -func (t *HostEtcdServiceKubeSystem) Name() string { - return "HostEtcdServiceKubeSystem" +func (t *HostEtcdServiceOpenshiftEtcd) Name() string { + return "HostEtcdServiceOpenshiftEtcd" } // Generate generates the actual files by this asset -func (t *HostEtcdServiceKubeSystem) Generate(parents asset.Parents) error { - fileName := hostEtcdServiceKubeSystemFileName +func (t *HostEtcdServiceOpenshiftEtcd) Generate(parents asset.Parents) error { + fileName := hostEtcdServiceOpenshiftEtcdFileName data, err := content.GetBootkubeTemplate(fileName) if err != nil { return err @@ -46,13 +46,13 @@ func (t *HostEtcdServiceKubeSystem) Generate(parents asset.Parents) error { } // Files returns the files generated by the asset. -func (t *HostEtcdServiceKubeSystem) Files() []*asset.File { +func (t *HostEtcdServiceOpenshiftEtcd) Files() []*asset.File { return t.FileList } // Load returns the asset from disk. -func (t *HostEtcdServiceKubeSystem) Load(f asset.FileFetcher) (bool, error) { - file, err := f.FetchByName(filepath.Join(content.TemplateDir, hostEtcdServiceKubeSystemFileName)) +func (t *HostEtcdServiceOpenshiftEtcd) Load(f asset.FileFetcher) (bool, error) { + file, err := f.FetchByName(filepath.Join(content.TemplateDir, hostEtcdServiceOpenshiftEtcdFileName)) if err != nil { if os.IsNotExist(err) { return false, nil