Default Configuration File Options

Lists the options that can be included in an Oracle CNE CLI default configuration file.

The default configuration file must be in YAML format and saved to $HOME/.ocne/defaults.yaml. The file can contain any of the following options:

autoStartUI

Sets whether a tunnel to the Oracle CNE UI service is created when a cluster is instantiated, and starts the default browser to load the UI. For example:

autoStartUI: true
bootVolumeContainerImage

The container image registry and tag that contains an Oracle Container Host for Kubernetes (OCK) bootable image. The default is container-registry.oracle.com/olcne/ock:1.31. For example:

bootVolumeContainerImage: container-registry.oracle.com/olcne/ock:1.31
clusterDefinition

The path to a cluster configuration file. Provide this extra layer of configuration for clusters that use complex configuration that isn't provided by this default configuration file. For example:

clusterDefinition: mycluster.yaml
clusterDefinitionInline

Specifies in-line configuration options. Provide this extra layer of configuration for clusters that use complex configuration that isn't provided by this default configuration file. This option can't be used with clusterDefinition. For example:

clusterDefinitionInline: |
  key1: value1
  key2: value2
cni

The Container Networking Interface (CNI) provider to install when the cluster is instantiated. The value can be any CNI available with Oracle CNE, or none if another CNI is to be deployed either manually or using an application catalog.

Note:

Multus can't be used as the primary CNI. Multus is available as an application in the default application catalog. If you install the Multus application, set this option to none.

For example:

cni: flannel
cni: none
communityCatalog

Sets whether the Artifact Hub application catalog is installed. If this is set to true, the catalog is installed. If this is set to false, the catalog isn't installed. The default is false. For example:

communityCatalog: true
ephemeralCluster

Allows customization of any short-lived clusters that might be spawned to perform tasks that can't be completed on the host system. This is often used for changing boot OCK images or deploying Kubernetes Cluster API resources. The options you can use are:

name

The name of the cluster. For example:

ephemeralCluster:
  name: mycluster
preserve

Sets whether the ephemeral cluster is automatically deleted after the work is complete. The default is false, so ephemeral clusters are deleted after they're used. For example:

ephemeralCluster:
  preserve: true
node

Sets the configuration for the VMs. For example:

ephemeralCluster:
  node:
    cpus: 2
    memory: 4GB
    storage: 15GB
extraIgnition

The path to an Ignition file that includes extra Ignition information to include when creating a cluster, or joining nodes to a cluster. The Ignition information must comply with the Ignition specification v3.4.0, as listed in the upstream Ignition documentation, and written in YAML using the Butane Fedora CoreOS Specification v1.5.0, as described in the upstream Butane documentation. For example:

extraIgnition: /home/username/.ocne/ignition.ign
extraIgnitionInline

Extra Ignition information to include when creating a cluster, or joining nodes to a cluster. The Ignition information must comply with the Ignition specification v3.4.0, as listed in the upstream Ignition documentation, and written in YAML using the Butane Fedora CoreOS Specification v1.5.0, as described in the upstream Butane documentation. The format must be:

extraIgnitionInline: |
  key1: value1
  key2: value2
  ...
headless

Sets whether the Oracle CNE UI is installed. If this is set to true, the UI isn't installed. The default is false. For example:

headless: true
kubeApiServerBindPort

Sets the port on which the Kubernetes API Server is exposed. The default is 6443. For example:

kubeApiServerBindPort: 6443
kubeApiServerBindPortAlt

Sets the port on which the Kubernetes API Server listens when deploying a Highly Available cluster using the Keepalived and NGINX load balancer. The default is 6444. For example:

kubeApiServerBindPortAlt: 6444
kubeconfig

The path to the kubeconfig file to use for operations that require a running cluster. For example:

kubeconfig: /home/username/.kube/kubeconfig.utilitycluster
kubeProxyMode

The mode for kube-proxy. This can be set to either iptables or ipvs. The default is iptables. For example:

kubeProxyMode: ipvs

For more information on the kube-proxy modes, see the upstream Kubernetes documentation.

kubernetesVersion

This defines the Kubernetes version. The default is the latest version. For example:

kubernetesVersion: 1.31
osRegistry

Combined with osTag, this identifies an OSTree image in a container registry. It specifies the OSTree transport and the container registry URI.

Possible prefixes for the transport are:

ostree-image-signed
ostree-remote-image
ostree-unverified-image
ostree-unverified-registry

The default value is:

osRegistry: ostree-unverified-registry:container-registry.oracle.com/olcne/ock-ostree
osTag

Combined with osRegistry, this identifies an OSTree image in a container registry. It specifies the tag for the image. For example:

osTag: 1.31
password

A hashed password for the OCK image user (ocne) to authenticate with cluster nodes. For example:

password: $6$jfkldjfsd$n1YMnpdxlGXO...

Surrounding the password with quotes is optional.

You can use the openssl utility to create a hashed password. For example, to generate a hashed password with the SHA512 algorithm and an automatic salt:

openssl passwd -6 -salt password

To generate a SHA512 hashed password using the provided salt phrase:

openssl passwd -6 -salt saltphrase password
podSubnet

The subnet to use for the pod network. The CNI is automatically configured to use this subnet. For example:

podSubnet: 10.244.0.0/16
providers

Specifies provider configuration options. For example:

providers:
  libvirt:
    options
  oci:
    options
  byo: 
    options
  none:
    options

The options for each provider are listed in:

proxy

The proxy server information. This information is configured on the Kubernetes nodes. For example:

proxy:
  httpsProxy: http://myproxy.example.com:2138
  httpProxy: http://myproxy.example.com:2138
  noProxy: .example.com,127.0.0.1,localhost,169.254.169.254,10.96.0.0/12,10.244.0.0/16
quiet

Sets whether to reduce the messages printed by the ocne command. If this is set to true, the messages are reduced. If set to false, the messages aren't reduced. The default is false. For example:

quiet: true
registry

Sets the registry from which to provision container images. The default is container-registry.oracle.com. For example:

registry: myregistry.example.com
serviceSubnet

The subnet to use for the service network. The default is 10.96.0.0/12. For example:

serviceSubnet: 10.96.0.0/12
sshPublicKey

The public key of an RSA key pair for the OCK image user (ocne). Paste the contents of the public key file.

For example:

sshPublicKey: | 
    ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAA...
sshPublicKeyPath

The path to the public key of an RSA key pair for the OCK image user (ocne) to authenticate with cluster nodes.

sshPublicKeyPath: /home/username/.ssh/id_rsa.ocne

libvirt Provider Options

The options for the libvirt provider are:

controlPlaneNode

Sets the configuration options for control plane nodes. To specify sizes, use:

  • M: megabytes

  • G: gigabytes

  • Mi: mebibytes

  • Gi: gibibytes

For example:
providers:
  libvirt:
    controlPlaneNode:
      cpu: 2
      memory: 16Gi
      storage: 8Gi
network

The name of the virtual network to use for domains. For example:

providers:
  libvirt:
    network: bridge-1
sshKey

The path to an SSH key to use for SSH connections. For example:

providers:
  libvirt:
    sshKey: /home/username/.ssh/id_rsa.ocne
storagePool

The name of the storage pool to use for OCK images. For example:

providers:
  libvirt:
    storagePool: mypool
uri

The default value for the libvirt connection URI. For example, for a local connection:

providers:
  libvirt:
    uri: qemu:///system

And for a remote connection:

providers:
  libvirt:
    uri: qemu+ssh://user@host/system
workerNode

Sets the configuration options for worker nodes. To specify sizes, use:

  • M: megabytes

  • G: gigabytes

  • Mi: mebibytes

  • Gi: gibibytes

For example:
providers:
  libvirt:
    workerNode:
      cpu: 2
      memory: 16Gi
      storage: 8Gi

OCI Provider Options

The options for the oci provider are:

compartment

The OCI compartment in which to deploy resources. This can be either the path to a compartment (for example, mytenancy/mycompartment), or the OCID of a compartment. For example:

providers:
  oci:
    compartment: OCID
controlPlaneShape

The name of the shape to use for compute instances when creating control plane nodes. For example:

providers:
  oci:
    controlPlaneShape:
      shape: VM.Standard.E4.Flex
      ocpus: 2
imageBucket

The OCID or name of a bucket to use to store OCK boot images when they're uploaded to OCI object storage. The default name is ocne-images. For example:

providers:
  oci:
    imageBucket: ocne-images
images

The OCI OCIDs of the OCK images to use as the initial disk image for any compute resources. Sets the options for the amd64 and arm64 architectures. For example:

providers:
  oci:
    images:
      amd64: OCID
      arm64: OCID
kubeconfig

The path to the kubeconfig file to use for the target management cluster. For example:

providers:
  oci:
    kubeconfig: /home/username/.kube/kubeconfig.mgmtcluster
loadBalancer

The OCIDs for subnets to use when provisioning OCI load balancers for default deployments. For example:

providers:
  oci:
    loadBalancer:
      subnet1: OCID
      subnet2: OCID
namespace

The Kubernetes namespace where the Kubernetes Cluster API resources are to be deployed.

providers:
  oci:
    namespace: mynamespace
selfManaged

Sets whether a cluster is self-managing. If set to true, the cluster contains the necessary controllers and resources to manage its own life cycle. If set to false, or not set, those resources remain in the initial administration cluster. For example:

providers:
  oci:
    selfManaged: true
profile

Sets the OCI CLI profile to use. This is the name of the profile in the OCI CLI configuration file. The default profile is DEFAULT. For example:

providers:
  oci:
    profile: MYTENANCY
vcn

The OCID of the Virtual Cloud Network to use when creating load balancers for default deployments.

providers:
  oci:
    vcn: OCID
workerShape

The name of the shape to use for compute instances when creating worker nodes. For example:

providers:
  oci:
    workerShape:
      shape: VM.Standard.E4.Flex
      ocpus: 2

Bring Your Own Provider Options

The options for the byo provider are:

automaticTokenCreation

If set to true, any time a join token is required it's created automatically as part of the command. If it's set to false, the token must be created manually. For example:

providers:
  byo:
    automaticTokenCreation: false
networkInterface

Sets the network interface to which the CNI and other Kubernetes services bind. This option is required. For example:

providers:
  byo:
    networkInterface: enp1s0