Attention

You are viewing an older version of the documentation. The latest version is v3.3.

Edge Conductor Configurations

A set of sample configurations is provided in _workspace/config. You can modify the configurations and use specific config files to run the Edge Conductor tool.

There are two config files: top config and custom config files.

Top Config

The conductor tool will configure the target cluster and services using a top config file. The config file includes different sections, which will be used in different stages of the deployment.

  • OS Config Section: This section specifies the OS provider and profiles for bare metal OS deployment. The supported OS provider is Edge Software Provisioner (ESP).

    OS:
        provider: < OS provider type, currently "esp" is supported. Default setting is "none". >
        config: < Config file for the specified OS provider. >
    
  • Cluster Config Section: This section specifies a sub-config file to describe the customer cluster. Sample config files are pre-installed and located in the examples/cluster folder.

    Cluster:
        type: < Type of the cluster, can be "kind", or "rke", or "tanzu", or other supported cluster types. Default type is 'kind' >
        config: < Detailed config file for the specified cluster type.
    
  • Services Config Section: This section specifies the current client identity and a service list to be deployed on the customer cluster. The tool will filter the service list with the client identity to determine the services that are deployed to the target cluster.

    Services:
        client: < Specify the client name to select services from the service manifest >
        config: < Location of the tested service manifest file >
    
  • Host Config Section: This section specifies the service endpoints that the tool provided to the target cluster.

    Host:
        httpport: < Service port of the file service >
        registryport: < Service port of the local registry >
        server: < Service IP >
    

Note: Some environments require network proxies for Docker operations (for example, docker pull, docker push, docker run, and so on). You must ensure these proxies are set correctly prior to using the tool. Note that the Host.server need to be added to no_proxy/NO_PROXY list for the docker proxies.

The configuration of each section will be described in detail in the deployment stages.

Following is a complete example of the top config:

OS:
provider: "none"
config: ""

Cluster:
type: "kind"
config: "config/cluster/kind_cluster.yml"

Services:
client: "dev-kind"
config: "config/service/service_manifest.yml"

Host:
httpport: "8080"
registryport: "9000"
server:
wfport: "50088"

Custom Config

This section describes the custom config file settings. The custom config file is a mandatory parameter for the conductor init command. The custom config file includes information for:

  • registry

    registry:
    # user/password are required for local registry. Can be optional if externalurl is set.
    user: < For local registry, use default user name 'admin' or specify a new user >
    password: < Password to login to the local registry >
    # externalurl is optional. A local registry will be initialized if it is not specified.
    externalurl: < The external registry url >
    # capath is optional.
    capath: < The 3rd party CA certificate>
    

    When externalurl is specified, the Edge Conductor tool will not set up the local registry.

  • ironic

    ironic:
    kubeconfigpath: < point to the kubeconfig file for accessing the Kubernetes cluster provided by Edge Conductor users >
    provisioninginterface: < the interface name of the NIC connected to the provisioning network >
    provisioningip: < the IP address configured on the provisioning NIC >
    dhcprange: < IP allocation range for the provisioning network >
    httpport: < the port of Ironic service >
    ironicuser: < username for Ironic service >
    ironicpassword: < password for ironicuser >
    ironicinspectoruser: < username for Ironic inspector service >
    ironicinspectorpassword: < password for ironicinspectoruser >
    mariadbpassword: < password for mariadb >
    

When the cluster type is set to clusterapi in the top config file, provide these configurations for Ironic.

Set up Local Registry

Set up a local registry for your cluster credentials by editing the customcfg.yml file to add the user and password.

It is recommended to set admin as the user.

The password must be within the " symbols. It is recommended that the password contains at least eight characters with one lowercase letter, one uppercase letter, and one numeric character.

cat > customcfg.yml <<EOF
registry:
user: admin
password: "<passWord_nnnn>"
EOF

Initialize Edge Conductor Tool

Initialize the Edge Conductor tool using your customcfg.yml file:

./conductor init -m customcfg.yml

Note: The tool uses the default kind-top-config.yml file if you do not specify a <type>-top-config.yml in the conductor init command.

You will see an output similar to:

INFO[0000] Init Edge Conductor
INFO[0000] ==
INFO[0000] Current workflow: init
...
INFO[0005] workflow finished
INFO[0005] ==
INFO[0005] Done

After conductor init is executed, the credentials are stored in your local registry.