diff --git a/docs/design/resource_dep.dot b/docs/design/resource_dep.dot index 9dbbb9916d2..f8b2b433c41 100644 --- a/docs/design/resource_dep.dot +++ b/docs/design/resource_dep.dot @@ -10,7 +10,7 @@ strict digraph resource { install_cfg [label="install config"]; manifests [label="manifests"]; ignition_configs [label="ignition configs"]; - cluster [label="cluster"]; + cluster_target [label="cluster"]; } // User inputs. @@ -79,11 +79,16 @@ strict digraph resource { kubeconfig_kubelet [label="kubeconfig-kubelet"]; } - - // Output after cluster launch + // Terraform tfvar file. { node [style=filled,color=gold]; - terraform_state [label="*.tfstate"]; + terraform_tfvars [label="terraform.tfvars"]; + } + + // cluster asset. + { + node [style=filled, color=lemonchiffon]; + tfstate [label="terraform.state"]; } // Dependencies @@ -165,13 +170,16 @@ strict digraph resource { kubeconfig_kubelet -> bootstrap_ignition; kubeconfig_kubelet -> master_ignition; - bootstrap_ignition -> terraform_state; - master_ignition -> terraform_state; - worker_ignition -> terraform_state; + bootstrap_ignition -> terraform_tfvars; + master_ignition -> terraform_tfvars; + worker_ignition -> terraform_tfvars; + install_config -> terraform_tfvars; + + terraform_tfvars -> tfstate; + kubeconfig_admin -> tfstate; // Targets install_config -> install_cfg; - install_config -> terraform_state; admin_bundle -> manifests; aggregator_ca_bundle -> manifests; @@ -196,11 +204,11 @@ strict digraph resource { kubeconfig_kubelet -> manifests; kubeconfig_admin -> manifests; - kubeconfig_admin -> cluster; bootstrap_ignition -> ignition_configs; master_ignition -> ignition_configs; worker_ignition -> ignition_configs; - terraform_state -> cluster; + kubeconfig_admin -> cluster_target; + tfstate -> cluster_target; } diff --git a/docs/design/resource_dep.svg b/docs/design/resource_dep.svg index 7ca23fa8e99..f60e568d173 100644 --- a/docs/design/resource_dep.svg +++ b/docs/design/resource_dep.svg @@ -1,613 +1,628 @@ - - - + + resource - + install_cfg - -install config + +install config manifests - -manifests + +manifests ignition_configs - -ignition configs + +ignition configs - -cluster - -cluster + +cluster_target + +cluster base_domain - -base domain + +base domain install_config - -install-config.yaml + +install-config.yaml base_domain->install_config - - + + cluster_name - -cluster name + +cluster name cluster_name->install_config - - + + pull_secret - -pull secret + +pull secret pull_secret->install_config - - + + platform - -platform + +platform platform->install_config - - + + email_address - -email address + +email address email_address->install_config - - + + password - -password + +password password->install_config - - + + sshkey - -SSH key + +SSH key sshkey->install_config - - + + - -operator_manifests - -operator manifests and their configs - - -install_config->operator_manifests - - - - -mcc_bundle - -machine config controller crt/key - - -install_config->mcc_bundle - - + +install_config->install_cfg + + apiserver_bundle - -apiserver crt/key + +apiserver crt/key install_config->apiserver_bundle - - + + ingress_bundle - -ingress crt/key + +ingress crt/key install_config->ingress_bundle - - + + openshift_apiserver_bundle - -openshift apiserver crt/key + +openshift apiserver crt/key install_config->openshift_apiserver_bundle - - + + + + +mcc_bundle + +machine config controller crt/key + + +install_config->mcc_bundle + + + + +operator_manifests + +operator manifests and their configs + + +install_config->operator_manifests + + kubeconfig_admin - -kubeconfig-admin + +kubeconfig-admin install_config->kubeconfig_admin - - + + kubeconfig_kubelet - -kubeconfig-kubelet + +kubeconfig-kubelet install_config->kubeconfig_kubelet - - - - -install_config->install_cfg - - + + - -terraform_state - -*.tfstate + +terraform_tfvars + +terraform.tfvars - -install_config->terraform_state - - + +install_config->terraform_tfvars + + admin_bundle - -admin crt/key + +admin crt/key + + +admin_bundle->manifests + + admin_bundle->kubeconfig_admin - - - - -admin_bundle->manifests - - + + aggregator_ca_bundle - -aggregator ca crt/key + +aggregator ca crt/key - -aggregator_ca_bundle->openshift_apiserver_bundle - - + +aggregator_ca_bundle->manifests + + apiserver_proxy_bundle - -apiserver proxy crt/key + +apiserver proxy crt/key aggregator_ca_bundle->apiserver_proxy_bundle - - + + clusterapi_apiserver_bundle - -clusterapi apiserver crt/key + +clusterapi apiserver crt/key aggregator_ca_bundle->clusterapi_apiserver_bundle - - + + + + +aggregator_ca_bundle->openshift_apiserver_bundle + + bootstrap_ignition - -bootstrap.ign + +bootstrap.ign aggregator_ca_bundle->bootstrap_ignition - - + + - -aggregator_ca_bundle->manifests - - + +apiserver_bundle->manifests + + bootstrap_control_plane - -bootstrap control plane manifests + +bootstrap control plane manifests apiserver_bundle->bootstrap_control_plane - - + + - -apiserver_bundle->manifests - - + +apiserver_proxy_bundle->manifests + + apiserver_proxy_bundle->bootstrap_ignition - - + + - -apiserver_proxy_bundle->manifests - - + +clusterapi_apiserver_bundle->manifests + + clusterapi_apiserver_bundle->bootstrap_ignition - - - - -clusterapi_apiserver_bundle->manifests - - + + etcd_ca_bundle - -etcd ca crt/key + +etcd ca crt/key + + +etcd_ca_bundle->manifests + + etcd_client_bundle - -etcd client crt/key + +etcd client crt/key etcd_ca_bundle->etcd_client_bundle - - + + + + +etcd_ca_bundle->bootstrap_control_plane + + master_ignition - -master.ign + +master.ign etcd_ca_bundle->master_ignition - - - - -etcd_ca_bundle->bootstrap_control_plane - - + + - -etcd_ca_bundle->manifests - - + +etcd_client_bundle->manifests + + etcd_client_bundle->bootstrap_control_plane - - + + - -etcd_client_bundle->manifests - - + +ingress_bundle->manifests + + ingress_bundle->bootstrap_ignition - - - - -ingress_bundle->manifests - - + + kube_ca_bundle - -kube ca crt/key + +kube ca crt/key + + +kube_ca_bundle->manifests + + kube_ca_bundle->admin_bundle - - + + kube_ca_bundle->apiserver_bundle - - + + + + +kube_ca_bundle->ingress_bundle + + kubelet_bundle - -kubelet crt/key + +kubelet crt/key kube_ca_bundle->kubelet_bundle - - - - -kube_ca_bundle->ingress_bundle - - + + kube_ca_bundle->bootstrap_control_plane - - + + - -kube_ca_bundle->manifests - - + +kubelet_bundle->manifests + + kubelet_bundle->kubeconfig_kubelet - - + + - -kubelet_bundle->manifests - - + +openshift_apiserver_bundle->manifests + + openshift_apiserver_bundle->bootstrap_ignition - - - - -openshift_apiserver_bundle->manifests - - + + root_ca_bundle - -root ca crt/key + +root ca crt/key - -root_ca_bundle->kube_ca_bundle - - + +root_ca_bundle->manifests + + + + +root_ca_bundle->aggregator_ca_bundle + + root_ca_bundle->etcd_ca_bundle - - + + - -root_ca_bundle->aggregator_ca_bundle - - + +root_ca_bundle->kube_ca_bundle + + service_serving_ca_bundle - -service serving ca crt/key + +service serving ca crt/key root_ca_bundle->service_serving_ca_bundle - - + + root_ca_bundle->mcc_bundle - - - - -root_ca_bundle->kubeconfig_admin - - - - -root_ca_bundle->kubeconfig_kubelet - - + + root_ca_bundle->bootstrap_control_plane - - + + root_ca_bundle->master_ignition - - + + worker_ignition - -worker.ign + +worker.ign root_ca_bundle->worker_ignition - - + + - -root_ca_bundle->manifests - - + +root_ca_bundle->kubeconfig_admin + + + + +root_ca_bundle->kubeconfig_kubelet + + service_account_bundle - -service account pub/key + +service account pub/key + + +service_account_bundle->manifests + + service_account_bundle->bootstrap_ignition - - + + - -service_account_bundle->manifests - - + +service_serving_ca_bundle->manifests + + service_serving_ca_bundle->bootstrap_ignition - - + + - -service_serving_ca_bundle->manifests - - + +mcc_bundle->manifests + + mcc_bundle->bootstrap_ignition - - + + - -mcc_bundle->manifests - - + +operator_manifests->manifests + + operator_manifests->bootstrap_control_plane - - + + misc_manifests - -misc manifests (rbac, namespace, CRD, pod security policy, etc) + +misc manifests (rbac, namespace, CRD, pod security policy, etc) operator_manifests->misc_manifests - - + + operator_manifests->bootstrap_ignition - - + + - -operator_manifests->manifests - - + +bootstrap_control_plane->manifests + + bootstrap_control_plane->bootstrap_ignition - - + + - -bootstrap_control_plane->manifests - - + +misc_manifests->manifests + + misc_manifests->bootstrap_ignition - - - - -misc_manifests->manifests - - - - -bootstrap_ignition->terraform_state - - + + -bootstrap_ignition->ignition_configs - - +bootstrap_ignition->ignition_configs + + - -master_ignition->terraform_state - - + +bootstrap_ignition->terraform_tfvars + + -master_ignition->ignition_configs - - +master_ignition->ignition_configs + + - -worker_ignition->terraform_state - - + +master_ignition->terraform_tfvars + + -worker_ignition->ignition_configs - - +worker_ignition->ignition_configs + + + + +worker_ignition->terraform_tfvars + + -kubeconfig_admin->manifests - - +kubeconfig_admin->manifests + + + + +kubeconfig_admin->cluster_target + + - -kubeconfig_admin->cluster - - + +tfstate + +terraform.state + + +kubeconfig_admin->tfstate + + + + +kubeconfig_kubelet->manifests + + kubeconfig_kubelet->bootstrap_ignition - - + + kubeconfig_kubelet->master_ignition - - - - -kubeconfig_kubelet->manifests - - - - -terraform_state->cluster - - + + + + +terraform_tfvars->tfstate + + + + +tfstate->cluster_target + +