Documentation
¶
Overview ¶
Package types defines structures for installer configuration and management.
Index ¶
Constants ¶
const (
// InstallConfigVersion is the version supported by this package.
InstallConfigVersion = "v1beta3"
)
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, } // 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"`
// The size of blocks to allocate from the larger pool.
// This is the length in bits - so a 9 here will allocate a /23.
HostSubnetLength int32 `json:"hostSubnetLength"`
}
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"`
}
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"`
// Type is the network type to install
// +optional
// Default is OpenShiftSDN.
Type string `json:"type,omitempty"`
// ServiceCIDR is the IP address space from which to assign service IPs.
// +optional
// Default is 172.30.0.0/16.
ServiceCIDR *ipnet.IPNet `json:"serviceCIDR,omitempty"`
// ClusterNetworks is the IP address space from which to assign pod IPs.
// +optional
// Default is a single cluster network with a CIDR of 10.128.0.0/14
// and a host subnet length of 9.
ClusterNetworks []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"`
}
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. |