1
0
mirror of https://github.com/openshift/installer.git synced 2026-02-05 06:46:36 +01:00
Files
installer/docs/design/resource_dep.dot
Alex Crawford feb41e9d8b docs: rework documentation
This updates the documentation to reflect the new installer.
2018-09-26 09:53:24 -07:00

207 lines
5.8 KiB
Plaintext

strict digraph resource {
rankdir=LR;
size="24,18"; ratio=fill; node[fontsize=20];
compound=true;
node [shape=rectangle];
// Targets.
{
node [shape=box,fontsize=36,style=filled,fillcolor=white,color=yellowgreen,penwidth=3];
install_cfg [label="install config"];
manifests [label="manifests"];
ignition_configs [label="ignition configs"];
cluster [label="cluster"];
}
// User inputs.
{
node [shape=rectangle,style=filled,color=gainsboro];
base_domain [label="base domain"];
cluster_name [label="cluster name"];
pull_secret [label="pull secret"];
platform [label="platform"];
email_address [label="email address"];
password [label="password"];
sshkey [label="SSH key"];
}
// Install config.
{
node [style=filled,color=lightcoral];
install_config [label="install-config.yaml"];
}
// TLS assets
{
node [style=filled,color=violet];
admin_bundle [label="admin crt/key"];
aggregator_ca_bundle [label="aggregator ca crt/key"];
apiserver_bundle [label="apiserver crt/key"];
apiserver_proxy_bundle [label="apiserver proxy crt/key"];
clusterapi_apiserver_bundle [label="clusterapi apiserver crt/key"];
etcd_ca_bundle [label="etcd ca crt/key"];
etcd_client_bundle [label="etcd client crt/key"];
ingress_bundle [label="ingress crt/key"];
kube_ca_bundle [label="kube ca crt/key"];
kubelet_bundle [label="kubelet crt/key"];
openshift_apiserver_bundle [label="openshift apiserver crt/key"];
root_ca_bundle [label="root ca crt/key"];
service_account_bundle [label="service account pub/key"];
service_serving_ca_bundle [label="service serving ca crt/key"];
mcc_bundle [label="machine config controller crt/key"];
}
// Operator assets
{
node [style=filled,color=lightpink];
operator_manifests [label="operator manifests and their configs"];
}
// Cluster assets
{
node [style=filled,color=lightpink];
bootstrap_control_plane [label="bootstrap control plane manifests"];
misc_manifests [label="misc manifests (rbac, namespace, CRD, pod security policy, etc)"];
}
// Ignition files
{
node [style=filled,color=sandybrown];
bootstrap_ignition [label="bootstrap.ign"];
master_ignition [label="master.ign"];
worker_ignition [label="worker.ign"];
}
// Kubeconfigs
{
node [style=filled,color=lightblue];
kubeconfig_admin [label="kubeconfig-admin"];
kubeconfig_kubelet [label="kubeconfig-kubelet"];
}
// Output after cluster launch
{
node [style=filled,color=gold];
terraform_state [label="*.tfstate"];
}
// Dependencies
password -> install_config;
sshkey -> install_config;
platform -> install_config;
email_address -> install_config;
pull_secret -> install_config;
cluster_name -> install_config;
base_domain -> install_config;
install_config -> operator_manifests;
root_ca_bundle -> kube_ca_bundle;
root_ca_bundle -> etcd_ca_bundle;
root_ca_bundle -> aggregator_ca_bundle;
root_ca_bundle -> service_serving_ca_bundle;
root_ca_bundle -> mcc_bundle;
install_config -> mcc_bundle;
root_ca_bundle -> kubeconfig_admin;
root_ca_bundle -> kubeconfig_kubelet;
root_ca_bundle -> bootstrap_control_plane;
root_ca_bundle -> master_ignition;
root_ca_bundle -> worker_ignition;
etcd_ca_bundle -> etcd_client_bundle;
etcd_ca_bundle -> master_ignition;
etcd_ca_bundle -> bootstrap_control_plane;
kube_ca_bundle -> admin_bundle;
kube_ca_bundle -> apiserver_bundle;
install_config -> apiserver_bundle;
kube_ca_bundle -> kubelet_bundle;
kube_ca_bundle -> ingress_bundle;
kube_ca_bundle -> bootstrap_control_plane;
install_config -> ingress_bundle;
aggregator_ca_bundle -> openshift_apiserver_bundle;
install_config -> openshift_apiserver_bundle;
aggregator_ca_bundle -> apiserver_proxy_bundle;
aggregator_ca_bundle -> clusterapi_apiserver_bundle;
aggregator_ca_bundle -> bootstrap_ignition;
admin_bundle -> kubeconfig_admin;
kubelet_bundle -> kubeconfig_kubelet;
install_config -> kubeconfig_admin;
install_config -> kubeconfig_kubelet;
apiserver_bundle -> bootstrap_control_plane;
apiserver_proxy_bundle -> bootstrap_ignition;
clusterapi_apiserver_bundle -> bootstrap_ignition;
etcd_client_bundle -> bootstrap_control_plane;
ingress_bundle -> bootstrap_ignition;
openshift_apiserver_bundle -> bootstrap_ignition;
service_account_bundle -> bootstrap_ignition;
service_serving_ca_bundle -> bootstrap_ignition;
mcc_bundle -> bootstrap_ignition;
operator_manifests -> bootstrap_control_plane;
operator_manifests -> misc_manifests;
operator_manifests -> bootstrap_ignition;
bootstrap_control_plane -> bootstrap_ignition;
misc_manifests -> bootstrap_ignition;
kubeconfig_kubelet -> bootstrap_ignition;
kubeconfig_kubelet -> master_ignition;
bootstrap_ignition -> terraform_state;
master_ignition -> terraform_state;
worker_ignition -> terraform_state;
// Targets
install_config -> install_cfg;
install_config -> terraform_state;
admin_bundle -> manifests;
aggregator_ca_bundle -> manifests;
apiserver_bundle -> manifests;
apiserver_proxy_bundle -> manifests;
clusterapi_apiserver_bundle -> manifests;
etcd_ca_bundle -> manifests;
etcd_client_bundle -> manifests;
ingress_bundle -> manifests;
kube_ca_bundle -> manifests;
kubelet_bundle -> manifests;
openshift_apiserver_bundle -> manifests;
root_ca_bundle -> manifests;
service_account_bundle -> manifests;
service_serving_ca_bundle -> manifests;
mcc_bundle -> manifests;
operator_manifests -> manifests;
bootstrap_control_plane -> manifests;
misc_manifests -> manifests;
kubeconfig_kubelet -> manifests;
kubeconfig_admin -> manifests;
kubeconfig_admin -> cluster;
bootstrap_ignition -> ignition_configs;
master_ignition -> ignition_configs;
worker_ignition -> ignition_configs;
terraform_state -> cluster;
}