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. |