Documentation ¶
Overview ¶
Package types defines structures for user-supplied installer configuration.
Index ¶
- type AWSMachinePoolPlatform
- type AWSPlatform
- type Admin
- type ClusterAWSPlatformMetadata
- type ClusterLibvirtPlatformMetadata
- type ClusterMetadata
- type ClusterOpenStackPlatformMetadata
- type ClusterPlatformMetadata
- type EC2RootVolume
- type InstallConfig
- type LibvirtMachinePoolPlatform
- type LibvirtNetwork
- type LibvirtPlatform
- type MachinePool
- type MachinePoolPlatform
- type NetworkType
- type Networking
- type OpenStackMachinePoolPlatform
- type OpenStackPlatform
- type OpenStackRootVolume
- type Platform
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSMachinePoolPlatform ¶
type AWSMachinePoolPlatform struct { // InstanceType defines the ec2 instance type. // eg. m4-large InstanceType string `json:"type"` // IAMRoleName defines the IAM role associated // with the ec2 instance. IAMRoleName string `json:"iamRoleName"` // EC2RootVolume defines the storage for ec2 instance. EC2RootVolume `json:"rootVolume"` }
AWSMachinePoolPlatform stores the configuration for a machine pool installed on AWS.
type AWSPlatform ¶
type AWSPlatform struct { // Region specifies the AWS region where the cluster will be created. Region string `json:"region"` // UserTags specifies additional tags for AWS resources created for the cluster. UserTags map[string]string `json:"userTags,omitempty"` // DefaultMachinePlatform is the default configuration used when // installing on AWS for machine pools which do not define their own // platform configuration. DefaultMachinePlatform *AWSMachinePoolPlatform `json:"defaultMachinePlatform,omitempty"` // VPCID specifies the vpc to associate with the cluster. // If empty, new vpc will be created. // +optional VPCID string `json:"vpcID"` // VPCCIDRBlock // +optional VPCCIDRBlock string `json:"vpcCIDRBlock"` }
AWSPlatform stores all the global configuration that all machinesets use.
type Admin ¶
type Admin struct { // Email is the email address of the admin user. Email string `json:"email"` // Password is the password of the admin user. Password string `json:"password"` // SSHKey to use for the access to compute instances. SSHKey string `json:"sshKey,omitempty"` }
Admin is the configuration for the admin user.
type ClusterAWSPlatformMetadata ¶
type ClusterAWSPlatformMetadata struct { Region string `json:"region"` // Most AWS resources are tagged with these tags as identifier. Identifier map[string]string `json:"identifier"` }
ClusterAWSPlatformMetadata contains AWS metadata.
type ClusterLibvirtPlatformMetadata ¶
type ClusterLibvirtPlatformMetadata struct {
URI string `json:"uri"`
}
ClusterLibvirtPlatformMetadata contains libvirt metadata.
type ClusterMetadata ¶
type ClusterMetadata struct { ClusterName string `json:"clusterName"` ClusterPlatformMetadata `json:",inline"` }
ClusterMetadata contains information regarding the cluster that was created by installer.
type ClusterOpenStackPlatformMetadata ¶
type ClusterOpenStackPlatformMetadata struct { Region string `json:"region"` // Most OpenStack resources are tagged with these tags as identifier. Identifier map[string]string `json:"identifier"` }
ClusterOpenStackPlatformMetadata contains OpenStack metadata.
type ClusterPlatformMetadata ¶
type ClusterPlatformMetadata struct { AWS *ClusterAWSPlatformMetadata `json:"aws,omitempty"` OpenStack *ClusterOpenStackPlatformMetadata `json:"openstack,omitempty"` Libvirt *ClusterLibvirtPlatformMetadata `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 EC2RootVolume ¶
type EC2RootVolume struct { // IOPS defines the iops for the instance. IOPS int `json:"iops"` // Size defines the size of the instance. Size int `json:"size"` // Type defines the type of the instance. Type string `json:"type"` }
EC2RootVolume defines the storage for an ec2 instance.
type InstallConfig ¶
type InstallConfig struct { // +optional metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // ClusterID is the ID of the cluster. ClusterID string `json:"clusterID"` // Admin is the configuration for the admin user. Admin Admin `json:"admin"` // 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"` // Machines is the list of MachinePools that need to be installed. Machines []MachinePool `json:"machines"` // 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) MasterCount ¶
func (c *InstallConfig) MasterCount() int
MasterCount returns the number of replicas in the master machine pool, defaulting to one if no machine pool was found.
type LibvirtMachinePoolPlatform ¶
type LibvirtMachinePoolPlatform struct { // ImagePool is the name of the libvirt storage pool to which the storage // volume containing the OS image belongs. ImagePool string `json:"imagePool,omitempty"` // ImageVolume is the name of the libvirt storage volume containing the OS // image. ImageVolume string `json:"imageVolume,omitempty"` // Image is the URL to the OS image. // E.g. "http://aos-ostree.rhev-ci-vms.eng.rdu2.redhat.com/rhcos/images/cloud/latest/rhcos-qemu.qcow2.gz" Image string `json:"image"` }
LibvirtMachinePoolPlatform stores the configuration for a machine pool installed on libvirt.
type LibvirtNetwork ¶
type LibvirtNetwork struct { // Name is the name of the nework. Name string `json:"name"` // IfName is the name of the network interface. IfName string `json:"if"` // IPRange is the range of IPs to use. IPRange string `json:"ipRange"` }
LibvirtNetwork is the configuration of the libvirt network.
type LibvirtPlatform ¶
type LibvirtPlatform struct { // URI is the identifier for the libvirtd connection. It must be // reachable from both the host (where the installer is run) and the // cluster (where the cluster-API controller pod will be running). URI string `json:"URI"` // DefaultMachinePlatform is the default configuration used when // installing on AWS for machine pools which do not define their own // platform configuration. DefaultMachinePlatform *LibvirtMachinePoolPlatform `json:"defaultMachinePlatform,omitempty"` // Network Network LibvirtNetwork `json:"network"` // MasterIPs MasterIPs []net.IP `json:"masterIPs"` }
LibvirtPlatform stores all the global configuration that all machinesets use.
type MachinePool ¶
type MachinePool struct { // Name is the name of the machine pool. Name string `json:"name"` // Replicas is the count of machines for this machine pool. // Default is 1. Replicas *int64 `json:"replicas"` // 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 *AWSMachinePoolPlatform `json:"aws,omitempty"` // Libvirt is the configuration used when installing on libvirt. Libvirt *LibvirtMachinePoolPlatform `json:"libvirt,omitempty"` // OpenStack is the configuration used when installing on OpenStack. OpenStack *OpenStackMachinePoolPlatform `json:"openstack,omitempty"` }
MachinePoolPlatform is the platform-specific configuration for a machine pool. Only one of the platforms should be set.
type NetworkType ¶
type NetworkType string
NetworkType defines the pod network provider in the cluster.
const ( // NetworkTypeOpenshiftSDN is used to install with SDN. NetworkTypeOpenshiftSDN NetworkType = "openshift-sdn" // NetworkTypeOpenshiftOVN is used to install with OVN. NetworkTypeOpenshiftOVN NetworkType = "openshift-ovn" )
type Networking ¶
type Networking struct { Type NetworkType `json:"type"` ServiceCIDR ipnet.IPNet `json:"serviceCIDR"` PodCIDR ipnet.IPNet `json:"podCIDR"` }
Networking defines the pod network provider in the cluster.
type OpenStackMachinePoolPlatform ¶
type OpenStackMachinePoolPlatform struct { // FlavorName defines the OpenStack Nova flavor. // eg. m1.large FlavorName string `json:"type"` // OpenStackRootVolume defines the storage for Nova instance. OpenStackRootVolume `json:"rootVolume"` }
OpenStackMachinePoolPlatform stores the configuration for a machine pool installed on OpenStack.
type OpenStackPlatform ¶
type OpenStackPlatform struct { // Region specifies the OpenStack region where the cluster will be created. Region string `json:"region"` // VPCID specifies the vpc to associate with the cluster. // If empty, new vpc will be created. // +optional VPCID string `json:"vpcID"` // NetworkCIDRBlock // +optional NetworkCIDRBlock string `json:"NetworkCIDRBlock"` // BaseImage // Name of image to use from OpenStack cloud BaseImage string `json:"baseImage"` // Cloud // Name of OpenStack cloud to use from clouds.yaml Cloud string `json:"cloud"` // ExternalNetwork // The OpenStack external network to be used for installation. ExternalNetwork string `json:"externalNetwork"` }
OpenStackPlatform stores all the global configuration that all machinesets use.
type OpenStackRootVolume ¶
type OpenStackRootVolume struct { // IOPS defines the iops for the instance. IOPS int `json:"iops"` // Size defines the size of the instance. Size int `json:"size"` // Type defines the type of the instance. Type string `json:"type"` }
OpenStackRootVolume defines the storage for a Nova instance.
type Platform ¶
type Platform struct { // AWS is the configuration used when installing on AWS. AWS *AWSPlatform `json:"aws,omitempty"` // Libvirt is the configuration used when installing on libvirt. Libvirt *LibvirtPlatform `json:"libvirt,omitempty"` // OpenStack is the configuration used when installing on OpenStack. OpenStack *OpenStackPlatform `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.