Skip to main content

OmniCluster

Resource OmniCluster in pulumi-portainer.
15 min read

Resource OmniCluster in pulumi-portainer.

Pulumi type: portainer:index/omniCluster:OmniCluster.

name is the Pulumi resource name. Nested object fields are documented under that object. They are not arguments of this resource.

Example#

Only required arguments are set. A string in angle brackets stands in for that argument. Any other value is an option or example written in the SDK description.

Arguments#

PropertyTypeRequiredDescription
clusterConfigstringnoRaw Omni cluster template, as an alternative to describing the cluster with the blocks below. Only read when the cluster is created.
clusterPatchesOmniClusterClusterPatch (input)[]noTalos configuration patches to apply to the cluster as a whole.
controlPlaneOmniClusterControlPlane (input)noThe cluster's control plane.
credentialIdnumberyesIdentifier of the Portainer cloud credential holding the Omni endpoint and service account key.
kindstringnoOmni resource kind of the cluster. Leave unset unless Omni asks for a specific one.
kubernetesVersionstringnoKubernetes version to run. Leave unset to let Omni pick, and read the result back from this attribute.
labels{ [key: string]: string }noLabels to set on the Omni cluster resource.
namestringnoName of the cluster. Omni cannot rename a cluster, so changing it replaces the resource.
omniClusterIdstringno
portainerUrlstringnoURL the provisioned nodes reach Portainer on. Leave unset to use the instance's configured URL.
talosVersionstringnoTalos version to run. Use the portainer.getOmniTalosVersions data source to see what the credential supports.
tunnelServerAddressstringnoAddress the provisioned nodes reach Portainer's tunnel server on.
validateBeforeCreatebooleannoWhether to validate the cluster configuration with Portainer before provisioning it. Defaults to true.
workerOmniClusterWorker (input)noThe cluster's worker pool.

Outputs#

Computed outputs are produced by the provider. They are not constructor arguments.

PropertyTypeComputedDescription
availablebooleanyesWhether Omni reports the cluster as available.
backupEnabledbooleanyesWhether Omni backs the cluster's etcd up on a schedule.
backupIntervalstringyesInterval between the scheduled etcd backups.
clusterConfigstringnoRaw Omni cluster template, as an alternative to describing the cluster with the blocks below. Only read when the cluster is created.
clusterPatchesOmniClusterClusterPatch (output)[]noTalos configuration patches to apply to the cluster as a whole.
controlPlaneOmniClusterControlPlane (output)noThe cluster's control plane.
controlPlaneReadybooleanyesWhether the control plane has come up.
credentialIdnumbernoIdentifier of the Portainer cloud credential holding the Omni endpoint and service account key.
diskEncryptionbooleanyesWhether disk encryption is enabled on the cluster.
embeddedDiscoveryServicebooleanyesWhether the cluster uses Omni's embedded discovery service.
endpointIdnumberyesIdentifier of the Portainer environment created for the cluster.
kindstringnoOmni resource kind of the cluster. Leave unset unless Omni asks for a specific one.
kubernetesApiReadybooleanyesWhether the cluster's Kubernetes API is answering.
kubernetesVersionstringnoKubernetes version to run. Leave unset to let Omni pick, and read the result back from this attribute.
labels{ [key: string]: string }noLabels to set on the Omni cluster resource.
machinesConnectednumberyesMachines currently connected to Omni.
machinesHealthynumberyesMachines Omni considers healthy.
machinesRequestednumberyesMachines the cluster asked for.
machinesTotalnumberyesMachines Omni counts in the cluster.
namestringnoName of the cluster. Omni cannot rename a cluster, so changing it replaces the resource.
omniClusterIdstringno
phasenumberyesProvisioning phase Omni reports for the cluster.
portainerUrlstringnoURL the provisioned nodes reach Portainer on. Leave unset to use the instance's configured URL.
readybooleanyesWhether Omni reports the cluster as ready.
talosVersionstringnoTalos version to run. Use the portainer.getOmniTalosVersions data source to see what the credential supports.
tunnelServerAddressstringnoAddress the provisioned nodes reach Portainer's tunnel server on.
validateBeforeCreatebooleannoWhether to validate the cluster configuration with Portainer before provisioning it. Defaults to true.
workerOmniClusterWorker (output)noThe cluster's worker pool.
workloadProxyEnabledbooleanyesWhether Omni's workload proxy is enabled for the cluster.

OmniClusterClusterPatch (input)#

Input object OmniClusterClusterPatch. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
annotationNamestringnoName annotation Omni shows for the patch.
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterControlPlane (input)#

Input object OmniClusterControlPlane. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
kindstringnoOmni resource kind of the control plane. Leave unset unless Omni asks for a specific one.
machinesOmniClusterControlPlaneMachine (input)[]noMachines that make up the cluster's control plane.

OmniClusterControlPlaneMachine (input)#

Input object OmniClusterControlPlaneMachine. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
hostnamestringnoHostname to configure on the machine.
installDiskstringnoBlock device Talos is installed onto, for example /dev/sda.
interfacesOmniClusterControlPlaneMachineInterface (input)[]noNetwork interfaces to configure on the machine.
kindstringnoOmni resource kind of the machine. Leave unset unless Omni asks for a specific one.
namestringyesName of the machine as Omni knows it.
nameserversstring[]noDNS servers to configure on the machine.
patchesOmniClusterControlPlaneMachinePatch (input)[]noTalos machine configuration patches to apply.
systemDiskSizenumbernoSize of the ephemeral system volume in GiB. Omni turns this into a volume configuration patch.
userDiskOmniClusterControlPlaneMachineUserDisk (input)noA user volume to carve out of the remaining disk space.

OmniClusterControlPlaneMachineInterface (input)#

Input object OmniClusterControlPlaneMachineInterface. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
addressesstring[]noStatic addresses in CIDR notation, for example 10.0.0.10/24.
dhcpbooleannoWhether the interface takes its address from DHCP. Leave addresses unset when it does.
interfacestringyesName of the interface, for example eth0.
routesOmniClusterControlPlaneMachineInterfaceRoute (input)[]noStatic routes to add through the interface.

OmniClusterControlPlaneMachineInterfaceRoute (input)#

Input object OmniClusterControlPlaneMachineInterfaceRoute. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
gatewaystringyesGateway the route goes through.
networkstringyesDestination network in CIDR notation. Use 0.0.0.0/0 for a default route.

OmniClusterControlPlaneMachinePatch (input)#

Input object OmniClusterControlPlaneMachinePatch. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterControlPlaneMachineUserDisk (input)#

Input object OmniClusterControlPlaneMachineUserDisk. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
sizenumbernoSize of the volume in GiB. Zero means take all the space that is left.
volumeNamestringyesName of the volume.

OmniClusterWorker (input)#

Input object OmniClusterWorker. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
kindstringnoOmni resource kind of the worker pool. Leave unset unless Omni asks for a specific one.
machinesOmniClusterWorkerMachine (input)[]noMachines that make up this worker pool.
namestringnoName of the worker pool.

OmniClusterWorkerMachine (input)#

Input object OmniClusterWorkerMachine. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
hostnamestringnoHostname to configure on the machine.
installDiskstringnoBlock device Talos is installed onto, for example /dev/sda.
interfacesOmniClusterWorkerMachineInterface (input)[]noNetwork interfaces to configure on the machine.
kindstringnoOmni resource kind of the machine. Leave unset unless Omni asks for a specific one.
namestringyesName of the machine as Omni knows it.
nameserversstring[]noDNS servers to configure on the machine.
patchesOmniClusterWorkerMachinePatch (input)[]noTalos machine configuration patches to apply.
systemDiskSizenumbernoSize of the ephemeral system volume in GiB. Omni turns this into a volume configuration patch.
userDiskOmniClusterWorkerMachineUserDisk (input)noA user volume to carve out of the remaining disk space.

OmniClusterWorkerMachineInterface (input)#

Input object OmniClusterWorkerMachineInterface. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
addressesstring[]noStatic addresses in CIDR notation, for example 10.0.0.10/24.
dhcpbooleannoWhether the interface takes its address from DHCP. Leave addresses unset when it does.
interfacestringyesName of the interface, for example eth0.
routesOmniClusterWorkerMachineInterfaceRoute (input)[]noStatic routes to add through the interface.

OmniClusterWorkerMachineInterfaceRoute (input)#

Input object OmniClusterWorkerMachineInterfaceRoute. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
gatewaystringyesGateway the route goes through.
networkstringyesDestination network in CIDR notation. Use 0.0.0.0/0 for a default route.

OmniClusterWorkerMachinePatch (input)#

Input object OmniClusterWorkerMachinePatch. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterWorkerMachineUserDisk (input)#

Input object OmniClusterWorkerMachineUserDisk. Fields below belong to this object, not to the parent.

PropertyTypeRequiredDescription
sizenumbernoSize of the volume in GiB. Zero means take all the space that is left.
volumeNamestringyesName of the volume.

OmniClusterClusterPatch (output)#

Output object OmniClusterClusterPatch. Fields below belong to this object.

PropertyTypeAlways presentDescription
annotationNamestringnoName annotation Omni shows for the patch.
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterControlPlane (output)#

Output object OmniClusterControlPlane. Fields below belong to this object.

PropertyTypeAlways presentDescription
kindstringnoOmni resource kind of the control plane. Leave unset unless Omni asks for a specific one.
machinesOmniClusterControlPlaneMachine (output)[]noMachines that make up the cluster's control plane.

OmniClusterControlPlaneMachine (output)#

Output object OmniClusterControlPlaneMachine. Fields below belong to this object.

PropertyTypeAlways presentDescription
hostnamestringnoHostname to configure on the machine.
installDiskstringnoBlock device Talos is installed onto, for example /dev/sda.
interfacesOmniClusterControlPlaneMachineInterface (output)[]noNetwork interfaces to configure on the machine.
kindstringnoOmni resource kind of the machine. Leave unset unless Omni asks for a specific one.
namestringyesName of the machine as Omni knows it.
nameserversstring[]noDNS servers to configure on the machine.
patchesOmniClusterControlPlaneMachinePatch (output)[]noTalos machine configuration patches to apply.
systemDiskSizenumbernoSize of the ephemeral system volume in GiB. Omni turns this into a volume configuration patch.
userDiskOmniClusterControlPlaneMachineUserDisk (output)noA user volume to carve out of the remaining disk space.

OmniClusterControlPlaneMachineInterface (output)#

Output object OmniClusterControlPlaneMachineInterface. Fields below belong to this object.

PropertyTypeAlways presentDescription
addressesstring[]noStatic addresses in CIDR notation, for example 10.0.0.10/24.
dhcpbooleannoWhether the interface takes its address from DHCP. Leave addresses unset when it does.
interfacestringyesName of the interface, for example eth0.
routesOmniClusterControlPlaneMachineInterfaceRoute (output)[]noStatic routes to add through the interface.

OmniClusterControlPlaneMachineInterfaceRoute (output)#

Output object OmniClusterControlPlaneMachineInterfaceRoute. Fields below belong to this object.

PropertyTypeAlways presentDescription
gatewaystringyesGateway the route goes through.
networkstringyesDestination network in CIDR notation. Use 0.0.0.0/0 for a default route.

OmniClusterControlPlaneMachinePatch (output)#

Output object OmniClusterControlPlaneMachinePatch. Fields below belong to this object.

PropertyTypeAlways presentDescription
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterControlPlaneMachineUserDisk (output)#

Output object OmniClusterControlPlaneMachineUserDisk. Fields below belong to this object.

PropertyTypeAlways presentDescription
sizenumbernoSize of the volume in GiB. Zero means take all the space that is left.
volumeNamestringyesName of the volume.

OmniClusterWorker (output)#

Output object OmniClusterWorker. Fields below belong to this object.

PropertyTypeAlways presentDescription
kindstringnoOmni resource kind of the worker pool. Leave unset unless Omni asks for a specific one.
machinesOmniClusterWorkerMachine (output)[]noMachines that make up this worker pool.
namestringnoName of the worker pool.

OmniClusterWorkerMachine (output)#

Output object OmniClusterWorkerMachine. Fields below belong to this object.

PropertyTypeAlways presentDescription
hostnamestringnoHostname to configure on the machine.
installDiskstringnoBlock device Talos is installed onto, for example /dev/sda.
interfacesOmniClusterWorkerMachineInterface (output)[]noNetwork interfaces to configure on the machine.
kindstringnoOmni resource kind of the machine. Leave unset unless Omni asks for a specific one.
namestringyesName of the machine as Omni knows it.
nameserversstring[]noDNS servers to configure on the machine.
patchesOmniClusterWorkerMachinePatch (output)[]noTalos machine configuration patches to apply.
systemDiskSizenumbernoSize of the ephemeral system volume in GiB. Omni turns this into a volume configuration patch.
userDiskOmniClusterWorkerMachineUserDisk (output)noA user volume to carve out of the remaining disk space.

OmniClusterWorkerMachineInterface (output)#

Output object OmniClusterWorkerMachineInterface. Fields below belong to this object.

PropertyTypeAlways presentDescription
addressesstring[]noStatic addresses in CIDR notation, for example 10.0.0.10/24.
dhcpbooleannoWhether the interface takes its address from DHCP. Leave addresses unset when it does.
interfacestringyesName of the interface, for example eth0.
routesOmniClusterWorkerMachineInterfaceRoute (output)[]noStatic routes to add through the interface.

OmniClusterWorkerMachineInterfaceRoute (output)#

Output object OmniClusterWorkerMachineInterfaceRoute. Fields below belong to this object.

PropertyTypeAlways presentDescription
gatewaystringyesGateway the route goes through.
networkstringyesDestination network in CIDR notation. Use 0.0.0.0/0 for a default route.

OmniClusterWorkerMachinePatch (output)#

Output object OmniClusterWorkerMachinePatch. Fields below belong to this object.

PropertyTypeAlways presentDescription
idOverridestringnoIdentifier Omni stores the patch under, instead of the generated one.
inlinestringnoPatch body as a JSON object. Use jsonencode({...}).

OmniClusterWorkerMachineUserDisk (output)#

Output object OmniClusterWorkerMachineUserDisk. Fields below belong to this object.

PropertyTypeAlways presentDescription
sizenumbernoSize of the volume in GiB. Zero means take all the space that is left.
volumeNamestringyesName of the volume.