Documentation

Overview

    Package types defines structures for installer configuration and management.

    Index

    Constants

    View Source
    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

    View Source
    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

      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

              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

                    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.

                          func (*Platform) Name

                          func (p *Platform) 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.

                            Directories

                            Path Synopsis
                            aws
                            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.