Skip to main content

Returns the specified libvirt cloud config

GET 

/v1/cloudconfigs/libvirt/:configUid

Returns the specified libvirt cloud config

Request​

Path Parameters

    configUid stringrequired

    Cluster's cloud config uid

Responses​

OK

Schema

    apiVersionstring

    APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

    kindstring

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    metadata

    object

    ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

    annotations

    object

    Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations

    property name*string
    creationTimestampdate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    deletionTimestampdate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    labels

    object

    Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels

    property name*string
    lastModifiedTimestampdate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    namestring

    Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names

    namespacestring

    Namespace defines the space within each name must be unique. An empty namespace is equivalent to the "default" namespace, but "default" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.

    Must be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces

    resourceVersionstring

    An opaque value that represents the internal version of this object that can be used by clients to determine when objects have changed. May be used for optimistic concurrency, change detection, and the watch operation on a resource or set of resources. Clients must treat these values as opaque and passed unmodified back to the server. They may only be valid for a particular resource or set of resources.

    Populated by the system. Read-only. Value must be treated as opaque by clients and . More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

    selfLinkstring

    SelfLink is a URL representing this object. Populated by the system. Read-only.

    uidstring

    UID is the unique in time and space value for this object. It is typically generated by the server on successful creation of a resource and is not allowed to change on PUT operations.

    Populated by the system. Read-only. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

    spec

    object

    LibvirtCloudConfigSpec defines the desired state of LibvirtCloudConfig

    clusterConfig

    object

    required

    controlPlaneEndpoint

    object

    ControlPlaneEndpoint is the control plane endpoint, which can be an IP or FQDN

    ddnsSearchDomainstring

    DDNSSearchDomain is the search domain used for resolving IP addresses when the EndpointType is DDNS. This search domain is appended to the generated Hostname to obtain the complete DNS name for the endpoint. If Host is already a DDNS FQDN, DDNSSearchDomain is not required

    hoststring

    Host is FQDN(DDNS) or IP

    typestring

    Type indicates DDNS or VIP

    ntpServersstring[]

    NTPServers is a list of NTP servers to use instead of the machine image's default NTP server list

    sshKeysstring[]

    SSHKeys specifies a list of ssh authorized keys to access the vms as a 'spectro' user

    staticIpboolean

    StaticIP indicates if IP allocation type is static IP. DHCP is the default allocation type

    machinePoolConfig

    object[]

    required

  • Array [

  • additionalLabels

    object

    additionalLabels

    property name*string

    additionalTags

    object

    AdditionalTags is an optional set of tags to add to resources managed by the provider, in addition to the ones added by default. For eg., tags for EKS nodeGroup or EKS NodegroupIAMRole

    property name*string

    infraProfileRef

    object

    ObjectReference contains enough information to let you inspect or modify the referred object.

    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    infraProfileTemplate

    object

    ClusterProfileTemplate contains details of a clusterprofile definition

    cloudTypestring

    Possible values: [all, aws, azure, gcp, vsphere, openstack, maas, nested, baremetal, eks, aks, edge, edge-native, libvirt, tencent, tke, coxedge, generic, gke]

    Default value: all

    namestring

    packServerRefs

    object[]

    PackServerRefs is only used on Hubble side it is reference to pack registry servers which PackRef belongs to in hubble, pack server is a top level object, so use a reference to point to it packs within a clusterprofile can come from different pack servers, so this is an array

  • Array [

  • apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

  • ]

  • packServerSecretstring

    This secret is used only on Palette side use case is similar to k8s image pull secret this single secret internally should contains all the pack servers in PackServerRefs if empty, means no credential is needed to access the pack server For spectro saas, Ally will set this field before pass to palette

    packs

    object[]

    Packs definitions here are final definitions. If ClonedFrom and ParamsOverwrite is present, then Packs are the final merge result of ClonedFrom and ParamsOverwrite So orchestration engine will just take the Packs and do the work, no need to worry about parameters merge

  • Array [

  • annotations

    object

    Annotations is used to allow packref to add more arbitrary information one example is to add git reference for values.yaml

    property name*string
    digeststring

    digest is used to specify the version should be installed by palette when pack upgrade available, change this digest to trigger upgrade

    inValidReasonstring
    isInvalidboolean

    pack is invalid when the associated tag is deleted from the registry

    layerstringrequired

    Possible values: [kernel, os, k8s, cni, csi, addon]

    manifests

    object[]

  • Array [

  • apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

  • ]

  • namestringrequired

    pack name

    packUidstring

    PackUID is Hubble packUID, not palette Pack.UID It is used by Hubble only.

    params

    object

    params passed as env variables to be consumed at installation time

    property name*string

    presets

    object[]

  • Array [

  • addstring
    displayNamestring
    groupstring
    namestring
    removestring[]
  • ]

  • registryUidstring

    pack registry uid

    schema

    object[]

  • Array [

  • formatstring
    hintsstring[]
    listOptionsstring[]
    namestring
    readonlyboolean
    regexstring
    requiredboolean
    typestring
  • ]

  • serverstring

    pack registry server or helm repo

    tagstring

    pack tag

    typestring

    Possible values: [spectro, helm, manifest]

    type of the pack

    valuesstring

    values represents the values.yaml used as input parameters either Params OR Values should be used, not both If both applied at the same time, will only use Values

    versionstring

    pack version

  • ]

  • profileVersionstring

    version start from 1.0.0, matching the index of ClusterProfileSpec.Versions[] will be used by clusterSpec to identify which version is applied to the cluster

    typestring
    uidstring
    versionint32

    Deprecated. Use profileVersion

    instanceType

    object

    required

    InstanceType defines the instance configuration of the vms in the machine pool

    cpuPassthroughSpec

    object

    Defines CPU Passthrough Spec. A not null value enables CPU Passthrough for the libvirt domain. Further cache passthrough can be enabled with the CPU passthrough spec.

    cachePassthroughboolean
    isEnabledboolean

    Enables the CPU Passthrough for the libvirt domain

    cpusetstring

    CPUSet defines cpuset for an instance which allows allocation specific set of cpus E.g cpuset="1-4,^3,6" See https://libvirt.org/formatdomain.html#cpu-allocation

    gpuConfig

    object

    GPU configuration

    addresses

    object

    Addresses is a map of PCI device entry name to its addresses. Example entry would be "11:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1eb1] (rev a1)"- > 0000_11_00_0" The address is BDF (Bus Device Function) identifier format seperated by underscores. The first 4 bits are almost always 0000. In the above example 11 is Bus, 00 is Device,0 is function. The values of these addreses are expected in hexadecimal format

    property name*string
    deviceModelstring

    DeviceModel is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]

    numGPUsint32

    NumGPUs is the number of GPUs

    vendorNamestring

    VendorName is the GPU vendor, for eg., NVIDIA or AMD

    memoryInMBint32required

    MemoryinMB is the memory in megabytes

    numCPUsint32required

    NumCPUs is the number of CPUs

    isControlPlaneboolean

    whether this pool is for control plane

    labelsstring[]

    labels for this pool, example: master/worker, gpu, windows

    maxSizeint32

    max size of the pool, for scaling

    minSizeint32

    min size of the pool, for scaling

    namestring

    nonRootDisksInGB

    object[]

    NonRootDisksInGB is the list of additional disks, if required, in GB

  • Array [

  • dataStoragePoolstring

    DataStoragePool is the storage pool from which additional disks are assigned

    managedboolean

    Managed indicates if the disk is a persistent or not. By default its false indicating all disks are ephemeral.

    sizeInGBint32required

    SizeInGB is the target size in GB of the disk to be added

  • ]

  • placements

    object[]

    required

    Placements defines the configurations of the failureDomains(hosts) for the machine pool

  • Array [

  • dataStoragePoolstring

    DataStoragePool is the storage pool from which additional disks are assigned

    gpuDevices

    object[]

    GPU Devices is the list of LibvirtHost GPU devices, to be used for this placement

  • Array [

  • addresses

    object

    Addresses is a map of PCI device entry name to its addresses. Example entry would be "11:00.0 VGA compatible controller [0300]: NVIDIA Corporation Device [10de:1eb1] (rev a1)"- > 0000_11_00_0" The address is BDF (Bus Device Function) identifier format seperated by underscores. The first 4 bits are almost always 0000. In the above example 11 is Bus, 00 is Device,0 is function. The values of these addreses are expected in hexadecimal format

    property name*string
    modelstring

    Model is the model of GPU, for a given vendor, for eg., TU104GL [Tesla T4]

    vendorstring

    Vendor is the GPU vendor, for eg., NVIDIA or AMD

  • ]

  • hostAddressstringrequired

    HostAddress is a FQDN or IP address of the LibvirtHost

    hostIdentity

    object

    HostIdentity is the identity to access the LibvirtHost

    caCertstring

    CACert is the client CA certificate

    modestring

    Mode indicates a system or session connection to the host

    socketPathstring

    SocketPath is an optional path to the socket on the host, if not using defaults

    sshSecret

    object

    SSHSecrets to the secret containing ssh-username

    namestring

    SSH secret name

    privateKeystring

    Private Key to access the host

    hostUidstringrequired

    HostUid is the ID of the LibvirtHost

    networks

    object[]

    required

    Networks defines the network specifications of the vms in the machine pool

  • Array [

  • networkNamestringrequired

    NetworkName of the libvirt network where this machine will be connected

    networkTypestringrequired

    Possible values: [default, bridge]

    NetworkType specifies the type of network

  • ]

  • sourceStoragePoolstringrequired

    SourceStoragePool is the storage pool for the vm image

    targetStoragePoolstring

    TargetStoragePool is the optional storage pool from which additional disks are assigned. If not specified, the sourceStoragePool is also used as the targetStoragePool

  • ]

  • rootDiskInGBint32required

    RootDiskInGB is the size of a vm's root disk, in GB

    sizeint32

    size of the pool, number of machines

    taints

    object[]

    master or worker taints

  • Array [

  • effectstring

    Possible values: [NoSchedule, PreferNoSchedule, NoExecute]

    keystring

    The taint key to be applied to a node

    timeAddeddate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    valuestring

    The taint value corresponding to the taint key.

  • ]

  • updateStrategy

    object

    rolling update strategy for this machinepool if not specified, will use ScaleOut

    typestring

    Possible values: [RollingUpdateScaleOut, RollingUpdateScaleIn]

    update strategy, either ScaleOut or ScaleIn if empty, will default to RollingUpdateScaleOut

    useControlPlaneAsWorkerboolean

    if IsControlPlane==true and useControlPlaneAsWorker==true, then will remove master taint this will not be used for worker pools

  • ]

  • status

    object

    conditions

    object[]

  • Array [

  • lastProbeTimedate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    lastTransitionTimedate-time

    Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.

    messagestring

    Human-readable message indicating details about last transition.

    reasonstring

    Unique, one-word, CamelCase reason for the condition's last transition.

    statusstringrequired
    typestringrequired
  • ]

  • nodeImages

    object[]

    NodeImages are the list of images generated on all the LibvirtHosts

  • Array [

  • hostIDstring

    HostID is the ID of the LibvirtHost

    imageNamestring

    ImageName is the name of the Libvirt image

    storagePoolstring

    StoragePool is the name of the storagePool where is image is located

  • ]

  • sourceImageIdstring

    SourceImageId can be from packref's annotations or from pack.json

Loading...