Documentation ¶
Overview ¶
Package types defines structures for installer configuration and management.
Index ¶
Constants ¶
const ( // InstallConfigVersion is the version supported by this package. // If you bump this, you must also update the list of convertable values in // pkg/conversion/installconfig.go InstallConfigVersion = "v1beta4" )
Variables ¶
var ( // PlatformNames is a slice with all the visibly-supported // platform names in alphabetical order. This is the list of // platforms presented to the user in the interactive wizard. PlatformNames = []string{ aws.Name, vsphere.Name, } // HiddenPlatformNames is a slice with all the // hidden-but-supported platform names. This list isn't presented // to the user in the interactive wizard. HiddenPlatformNames = []string{ none.Name, openstack.Name, } )
Functions ¶
This section is empty.
Types ¶
type ClusterMetadata ¶
type ClusterMetadata struct { // clusterName is the name for the cluster. ClusterName string `json:"clusterName"` // clusterID is a globally unique ID that is used to identify an Openshift cluster. ClusterID string `json:"clusterID"` // infraID is an ID that is used to identify cloud resources created by the installer. InfraID string `json:"infraID"` ClusterPlatformMetadata `json:",inline"` }
ClusterMetadata contains information regarding the cluster that was created by installer.
type ClusterNetworkEntry ¶ added in v0.12.0
type ClusterNetworkEntry struct { // The IP block address pool CIDR ipnet.IPNet `json:"cidr"` // HostPrefix is the prefix size to allocate to each node from the CIDR. // For example, 24 would allocate 2^8=256 adresses to each node. HostPrefix int32 `json:"hostPrefix"` // The size of blocks to allocate from the larger pool. // This is the length in bits - so a 9 here will allocate a /23. DeprecatedHostSubnetLength int32 `json:"hostSubnetLength,omitempty"` }
ClusterNetworkEntry is a single IP address block for pod IP blocks. IP blocks are allocated with size 2^HostSubnetLength.
type ClusterPlatformMetadata ¶
type ClusterPlatformMetadata struct { AWS *aws.Metadata `json:"aws,omitempty"` OpenStack *openstack.Metadata `json:"openstack,omitempty"` Libvirt *libvirt.Metadata `json:"libvirt,omitempty"` }
ClusterPlatformMetadata contains metadata for platfrom.
func (*ClusterPlatformMetadata) Platform ¶
func (cpm *ClusterPlatformMetadata) Platform() string
Platform returns a string representation of the platform (e.g. "aws" if AWS is non-nil). It returns an empty string if no platform is configured.
type InstallConfig ¶
type InstallConfig struct { // +optional metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // SSHKey is the public ssh key to provide access to instances. // +optional SSHKey string `json:"sshKey,omitempty"` // BaseDomain is the base domain to which the cluster should belong. BaseDomain string `json:"baseDomain"` // Networking defines the pod network provider in the cluster. *Networking `json:"networking,omitempty"` // ControlPlane is the configuration for the machines that comprise the // control plane. // +optional ControlPlane *MachinePool `json:"controlPlane,omitempty"` // Compute is the list of compute MachinePools that need to be installed. // +optional Compute []MachinePool `json:"compute,omitempty"` // Platform is the configuration for the specific platform upon which to // perform the installation. Platform `json:"platform"` // PullSecret is the secret to use when pulling images. PullSecret string `json:"pullSecret"` }
InstallConfig is the configuration for an OpenShift install.
func (*InstallConfig) ClusterDomain ¶ added in v0.13.0
func (c *InstallConfig) ClusterDomain() string
ClusterDomain returns the DNS domain that all records for a cluster must belong to.
type MachinePool ¶
type MachinePool struct { // Name is the name of the machine pool. // For the control plane machine pool, the name will always be "master". // For the compute machine pools, the only valid name is "worker". Name string `json:"name"` // Replicas is the count of machines for this machine pool. Replicas *int64 `json:"replicas,omitempty"` // Platform is configuration for machine pool specific to the platfrom. Platform MachinePoolPlatform `json:"platform"` }
MachinePool is a pool of machines to be installed.
type MachinePoolPlatform ¶
type MachinePoolPlatform struct { // AWS is the configuration used when installing on AWS. AWS *aws.MachinePool `json:"aws,omitempty"` // Libvirt is the configuration used when installing on libvirt. Libvirt *libvirt.MachinePool `json:"libvirt,omitempty"` // OpenStack is the configuration used when installing on OpenStack. OpenStack *openstack.MachinePool `json:"openstack,omitempty"` // VSphere is the configuration used when installing on vSphere. VSphere *vsphere.MachinePool `json:"vsphere,omitempty"` }
MachinePoolPlatform is the platform-specific configuration for a machine pool. Only one of the platforms should be set.
func (*MachinePoolPlatform) Name ¶ added in v0.4.0
func (p *MachinePoolPlatform) Name() string
Name returns a string representation of the platform (e.g. "aws" if AWS is non-nil). It returns an empty string if no platform is configured.
type Networking ¶
type Networking struct { // MachineCIDR is the IP address space from which to assign machine IPs. // +optional // Default is 10.0.0.0/16 for all platforms other than Libvirt. // For Libvirt, the default is 192.168.126.0/24. MachineCIDR *ipnet.IPNet `json:"machineCIDR,omitempty"` // NetworkType is the type of network to install. // +optional // Default is OpenShiftSDN. NetworkType string `json:"networkType,omitempty"` // ClusterNetwork is the IP address pool to use for pod IPs. // +optional // Default is 10.128.0.0/14 and a host prefix of /23 ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork,omitempty"` // ServiceNetwork is the IP address pool to use for service IPs. // +optional // Default is 172.30.0.0/16 // NOTE: currently only one entry is supported. ServiceNetwork []ipnet.IPNet `json:"serviceNetwork,omitempty"` // Deprecated name for NetworkType // +optional DeprecatedType string `json:"type,omitempty"` // Depcreated name for ServiceNetwork // +optional DeprecatedServiceCIDR *ipnet.IPNet `json:"serviceCIDR,omitempty"` // Deprecated name for ClusterNetwork // +optional DeprecatedClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks,omitempty"` }
Networking defines the pod network provider in the cluster.
type Platform ¶
type Platform struct { // AWS is the configuration used when installing on AWS. // +optional AWS *aws.Platform `json:"aws,omitempty"` // Libvirt is the configuration used when installing on libvirt. // +optional Libvirt *libvirt.Platform `json:"libvirt,omitempty"` // None is the empty configuration used when installing on an unsupported // platform. None *none.Platform `json:"none,omitempty"` // OpenStack is the configuration used when installing on OpenStack. // +optional OpenStack *openstack.Platform `json:"openstack,omitempty"` // VSphere is the configuration used when installing on vSphere. // +optional VSphere *vsphere.Platform `json:"vsphere,omitempty"` }
Platform is the configuration for the specific platform upon which to perform the installation. Only one of the platform configuration should be set.
Directories ¶
Path | Synopsis |
---|---|
Package aws contains AWS-specific structures for installer configuration and management.
|
Package aws contains AWS-specific structures for installer configuration and management. |
Package libvirt contains libvirt-specific structures for installer configuration and management.
|
Package libvirt contains libvirt-specific structures for installer configuration and management. |
Package none contains generic structures for installer configuration and management.
|
Package none contains generic structures for installer configuration and management. |
Package openstack contains OpenStack-specific structures for installer configuration and management.
|
Package openstack contains OpenStack-specific structures for installer configuration and management. |
validation/mock
Package mock is a generated GoMock package.
|
Package mock is a generated GoMock package. |
Package vsphere contains vSphere-specific structures for installer configuration and management.
|
Package vsphere contains vSphere-specific structures for installer configuration and management. |