github.com/openshift/installer@v1.4.17/pkg/types/openstack/platform.go (about)

     1  package openstack
     2  
     3  import (
     4  	configv1 "github.com/openshift/api/config/v1"
     5  )
     6  
     7  // Platform stores all the global configuration that all
     8  // machinesets use.
     9  type Platform struct {
    10  	// Region specifies the OpenStack region where the cluster will be created.
    11  	// Deprecated: this value is not used by the installer.
    12  	// +optional
    13  	DeprecatedRegion string `json:"region,omitempty"`
    14  
    15  	// DefaultMachinePlatform is the default configuration used when
    16  	// installing on OpenStack for machine pools which do not define their own
    17  	// platform configuration.
    18  	// +optional
    19  	DefaultMachinePlatform *MachinePool `json:"defaultMachinePlatform,omitempty"`
    20  
    21  	// Cloud is the name of OpenStack cloud to use from clouds.yaml.
    22  	Cloud string `json:"cloud"`
    23  
    24  	// ExternalNetwork is name of the external network in your OpenStack cluster.
    25  	// +optional
    26  	ExternalNetwork string `json:"externalNetwork,omitempty"`
    27  
    28  	// DeprecatedFlavorName is the name of the flavor to use for instances in this cluster.
    29  	// Deprecated: use FlavorName in DefaultMachinePlatform to define default flavor.
    30  	// +optional
    31  	DeprecatedFlavorName string `json:"computeFlavor,omitempty"`
    32  
    33  	// LbFloatingIP is the IP address of an available floating IP in your OpenStack cluster
    34  	// to associate with the OpenShift load balancer.
    35  	// Deprecated: this value has been renamed to apiFloatingIP.
    36  	// +optional
    37  	DeprecatedLbFloatingIP string `json:"lbFloatingIP,omitempty"`
    38  
    39  	// APIFloatingIP is the IP address of an available floating IP in your OpenStack cluster
    40  	// to associate with the OpenShift API load balancer.
    41  	// +optional
    42  	APIFloatingIP string `json:"apiFloatingIP,omitempty"`
    43  
    44  	// IngressFloatingIP is the ID of an available floating IP in your OpenStack cluster
    45  	// that will be associated with the OpenShift ingress port
    46  	// +optional
    47  	IngressFloatingIP string `json:"ingressFloatingIP,omitempty"`
    48  
    49  	// ExternalDNS holds the IP addresses of dns servers that will
    50  	// be added to the dns resolution of all instances in the cluster.
    51  	// +optional
    52  	ExternalDNS []string `json:"externalDNS"`
    53  
    54  	// TrunkSupport holds a `0` or `1` value that indicates whether or not to use trunk ports
    55  	// in your OpenShift cluster.
    56  	// Deprecated: the machine manifest should be used to specify that trunk should be used.
    57  	// +optional
    58  	DeprecatedTrunkSupport string `json:"trunkSupport,omitempty"`
    59  
    60  	// OctaviaSupport holds a `0` or `1` value that indicates whether your OpenStack
    61  	// cluster supports Octavia Loadbalancing.
    62  	// Deprecated: this value is set by the installer automatically.
    63  	// +optional
    64  	DeprecatedOctaviaSupport string `json:"octaviaSupport,omitempty"`
    65  
    66  	// ClusterOSImage is either a URL with `http(s)` or `file` scheme to override
    67  	// the default OS image for cluster nodes, or an existing Glance image name.
    68  	// +optional
    69  	ClusterOSImage string `json:"clusterOSImage,omitempty"`
    70  
    71  	// ClusterOSImageProperties is a list of properties to be added to the metadata of the uploaded Glance ClusterOSImage.
    72  	// Default: the default is to not set any properties.
    73  	// +optional
    74  	ClusterOSImageProperties map[string]string `json:"clusterOSImageProperties,omitempty"`
    75  
    76  	// DeprecatedAPIVIP is the static IP on the nodes subnet that the api port for openshift will be assigned
    77  	// Default: will be set to the 5 on the first entry in the machineNetwork CIDR
    78  	// Deprecated: Use APIVIPs
    79  	//
    80  	// +kubebuilder:validation:Format=ip
    81  	// +optional
    82  	DeprecatedAPIVIP string `json:"apiVIP,omitempty"`
    83  
    84  	// APIVIPs contains the VIP(s) on the nodes subnet that the api port for
    85  	// openshift will be assigned. In dual stack clusters it contains an IPv4
    86  	// and IPv6 address, otherwise only one VIP
    87  	// Default: will be set to the 5 on the first entry in the machineNetwork
    88  	// CIDR
    89  	//
    90  	// +kubebuilder:validation:MaxItems=2
    91  	// +kubebuilder:validation:UniqueItems=true
    92  	// +kubebuilder:validation:Format=ip
    93  	// +optional
    94  	APIVIPs []string `json:"apiVIPs,omitempty"`
    95  
    96  	// DeprecatedIngressVIP is the static IP on the nodes subnet that the apps port for openshift will be assigned
    97  	// Default: will be set to the 7 on the first entry in the machineNetwork CIDR
    98  	// Deprecated: Use IngressVIPs
    99  	//
   100  	// +kubebuilder:validation:Format=ip
   101  	// +optional
   102  	DeprecatedIngressVIP string `json:"ingressVIP,omitempty"`
   103  
   104  	// IngressVIPs contains the VIP(s) on the nodes subnet that the apps port
   105  	// for openshift will be assigned. In dual stack clusters it contains an
   106  	// IPv4 and IPv6 address, otherwise only one VIP
   107  	// Default: will be set to the 7 on the first entry in the machineNetwork
   108  	// CIDR
   109  	//
   110  	// +kubebuilder:validation:MaxItems=2
   111  	// +kubebuilder:validation:UniqueItems=true
   112  	// +kubebuilder:validation:Format=ip
   113  	// +optional
   114  	IngressVIPs []string `json:"ingressVIPs,omitempty"`
   115  
   116  	// DeprecatedMachinesSubnet is a string of the UUIDv4 of an openstack subnet. This subnet will be used by all nodes created by the installer.
   117  	// By setting this, the installer will no longer create a network and subnet.
   118  	// The subnet and network specified in MachinesSubnet will not be deleted or modified by the installer.
   119  	// Deprecated: Use ControlPlanePort
   120  	// +optional
   121  	DeprecatedMachinesSubnet string `json:"machinesSubnet,omitempty"`
   122  
   123  	// ControlPlanePort contains details of the network attached to the control plane port, with the network either containing one openstack
   124  	// subnet for IPv4 or two openstack subnets for dualstack clusters. Providing this configuration will prevent OpenShift from managing
   125  	// or updating this network and its subnets. The network and its subnets will be used during creation of all nodes.
   126  	// +optional
   127  	ControlPlanePort *PortTarget `json:"controlPlanePort,omitempty"`
   128  
   129  	// LoadBalancer defines how the load balancer used by the cluster is configured.
   130  	// +optional
   131  	LoadBalancer *configv1.OpenStackPlatformLoadBalancer `json:"loadBalancer,omitempty"`
   132  }