Topology Template
The following is a template to create a topology YAML file to install KubeSlice. This is a complete reference of all the possible values that can be passed in a topology file.
configuration:
cluster_configuration:
profile: #{the KubeSlice Profile for the demo. Possible values [full-demo, minimal-demo]}
kube_config_path: #{specify the kube config file to use for topology setup; for topology only}
cluster_type: #{optional: specify the type of cluster. Valid values are kind, cloud, data-center}
controller:
name: #{the user defined name of the controller cluster}
context_name: #{the name of the context to use from kubeconfig file; for topology only}
kube_config_path: #{the path to kube config file to use for controller installation; for topology only.}
#{This takes precedence over configuration.cluster_configuration.kube_config_path}
control_plane_address: #{the address of the control plane kube-apiserver. slicectl determines the address from kubeconfig}
#{Override this flag if the address in kubeconfig is not reachable by other clusters in topology}
node_ip: #{the IP address of one of the node in this cluster. slicectl determines this address from kubectl get nodes}
#{Override this flag to an address which is discoverable by other clusters in the topology}
workers: #{specify the list of worker clusters}
- name: #{the user defined name of the worker cluster}
context_name: #{the name of the context to use from the kubeconfig file; for topology only}
kube_config_path: #{the path to kube config file to use for worker installation; for topology only.}
#{This takes precedence over configuration.cluster_configuration.kube_config_path}
control_plane_address: #{the address of the control plane kube-apiserver. slicectl determines the address from kubeconfig}
#{Override this flag if the address in kubeconfig is not reachable by other clusters in topology}
node_ip: #{the IP address of one of the node in this cluster. slicectl determines this address from kubectl get nodes}
#{Override this flag to an address which is discoverable by other clusters in the topology}
- name: #{the user defined name of the worker cluster}
context_name: #{the name of the context to use from the kubeconfig file; for topology only}
kube_config_path: #{the path to kube config file to use for worker installation; for topology only.}
#{This takes precedence over configuration.cluster_configuration.kube_config_path}
control_plane_address: #{the address of the control plane kube-apiserver. slicectl determines the address from kubeconfig}
#{Override this flag if the address in kubeconfig is not reachable by other clusters in topology}
node_ip: #{the IP address of one of the node in this cluster. slicectl determines this address from kubectl get nodes}
#{Override this flag to an address which is discoverable by other clusters in the topology}
kubeslice_configuration:
project_name: #{the name of the KubeSlice Project}
helm_chart_configuration:
repo_alias: #{The alias of the helm repo for KubeSlice Charts}
repo_url: #{The URL of the Helm Charts for KubeSlice}
cert_manager_chart:
chart_name: #{The name of the Cert Manager Chart}
version: #{The version of the chart to use. Leave blank for latest version}
controller_chart:
chart_name: #{The name of the Controller Chart}
version: #{The version of the chart to use. Leave blank for latest version}
values: #{Values to be passed as --set arguments to helm install}
worker_chart:
chart_name: #{The name of the Worker Chart}
version: #{The version of the chart to use. Leave blank for latest version}
values: #{Values to be passed as --set arguments to helm install}
ui_chart:
chart_name: #{The name of the UI/Enterprise Chart}
version: #{The version of the chart to use. Leave blank for latest version}
values: #{Values to be passed as --set arguments to helm install}
helm_username: #{Helm Username if the repo is private}
helm_password: #{Helm Password if the repo is private}
image_pull_secret: #{The image pull secrets. Optional for OpenSource, required for enterprise}
registry: #{The endpoint of the OCI registry to use}
username: #{The username to authenticate against the OCI registry}
password: #{The password to authenticate against the OCI registry}
email: #{The email to authenticate against the OCI registry}
info
To learn more about the configuration parameters used to create topology configuration file for KubeSlice, see configuration parameters.