types

package
v0.9.0-master Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 6, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package types defines structures for installer configuration and management.

Index

Constants

This section is empty.

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,
		openstack.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,
	}
)

Functions

This section is empty.

Types

type ClusterMetadata

type ClusterMetadata struct {
	ClusterName             string `json:"clusterName"`
	ClusterPlatformMetadata `json:",inline"`
}

ClusterMetadata contains information regarding the cluster that was created by installer.

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"`

	// ClusterID is the ID of the cluster.
	ClusterID string `json:"clusterID"`

	// SSHKey is the public ssh key to provide access to instances.
	SSHKey string `json:"sshKey"`

	// 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 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 *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 {
	// Type is the network type to install
	Type netopv1.NetworkType `json:"type"`

	// ServiceCIDR is the ip block from which to assign service IPs
	ServiceCIDR ipnet.IPNet `json:"serviceCIDR"`

	// ClusterNetworks is the IP address space from which to assign pod IPs.
	ClusterNetworks []netopv1.ClusterNetwork `json:"clusterNetworks,omitempty"`

	// PodCIDR is deprecated (and badly named; it should have always
	// been called ClusterCIDR. If no ClusterNetworks are specified,
	// we will fall back to the PodCIDR
	// TODO(cdc) remove this.
	PodCIDR *ipnet.IPNet `json:"podCIDR,omitempty"`
}

Networking defines the pod network provider in the cluster.

type Platform

type Platform struct {
	// AWS is the configuration used when installing on AWS.
	AWS *aws.Platform `json:"aws,omitempty"`

	// Libvirt is the configuration used when installing on libvirt.
	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.
	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.

func (*Platform) Name added in v0.2.0

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL