Documentation ¶
Overview ¶
Package types defines structures for installer configuration and management.
Index ¶
Constants ¶
const ( // ArchitectureAMD64 indicates AMD64 (x86_64). ArchitectureAMD64 = "amd64" // ArchitectureS390X indicates s390x (IBM System Z). ArchitectureS390X = "s390x" // ArchitecturePPC64LE indicates ppc64 little endian (Power PC) ArchitecturePPC64LE = "ppc64le" // ArchitectureARM64 indicates arm (aarch64) systems ArchitectureARM64 = "arm64" )
const ( // InstallConfigVersion is the version supported by this package. // If you bump this, you must also update the list of convertable values in // pkg/types/conversion/installconfig.go InstallConfigVersion = "v1" )
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, azure.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{} )
Functions ¶
This section is empty.
Types ¶
type Architecture ¶
type Architecture string
Architecture is the instruction set architecture for the machines in a pool. +kubebuilder:validation:Enum="";amd64
type BootstrapInPlace ¶
type BootstrapInPlace struct { // InstallationDisk is the target disk drive for coreos-installer InstallationDisk string `json:"installationDisk"` }
BootstrapInPlace defines the configuration for bootstrap-in-place installation
type ClusterNetworkEntry ¶
type ClusterNetworkEntry struct { // CIDR is 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. If this // field is not used by the plugin, it can be left unset. // +optional HostPrefix int32 `json:"hostPrefix,omitempty"` // The size of blocks to allocate from the larger pool. // This is the length in bits - so a 9 here will allocate a /23. // +optional 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 CredentialsMode ¶
type CredentialsMode string
CredentialsMode is the mode by which CredentialsRequests will be satisfied. +kubebuilder:validation:Enum="";Mint;Passthrough;Manual
const ( // ManualCredentialsMode indicates that cloud-credential-operator should not process any CredentialsRequests. ManualCredentialsMode CredentialsMode = "Manual" // MintCredentialsMode indicates that cloud-credential-operator should be creating users for each // CredentialsRequest. MintCredentialsMode CredentialsMode = "Mint" // PassthroughCredentialsMode indicates that cloud-credential-operator should just copy over the cluster's // cloud credentials for each CredentialsRequest. PassthroughCredentialsMode CredentialsMode = "Passthrough" )
type ImageContentSource ¶
type ImageContentSource struct { // Source is the repository that users refer to, e.g. in image pull specifications. Source string `json:"source"` // Mirrors is one or more repositories that may also contain the same images. // +optional Mirrors []string `json:"mirrors,omitempty"` }
ImageContentSource defines a list of sources/repositories that can be used to pull content.
type InstallConfig ¶
type InstallConfig struct { // +optional metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` // SSHKey is the public Secure Shell (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"` // Platform is the configuration for the specific platform upon which to // perform the installation. Platform `json:"platform"` // Licence is the secret to use building Terraform Enterprise. Licence string `json:"licence"` // ImageContentSources lists sources/repositories for the release-image content. // +optional ImageContentSources []ImageContentSource `json:"imageContentSources,omitempty"` // Publish controls how the user facing endpoints of the cluster like the Kubernetes API, OpenShift routes etc. are exposed. // When no strategy is specified, the strategy is "External". // // +kubebuilder:default=External // +optional Publish PublishingStrategy `json:"publish,omitempty"` // CredentialsMode is used to explicitly set the mode with which CredentialRequests are satisfied. // // If this field is set, then the installer will not attempt to query the cloud permissions before attempting // installation. If the field is not set or empty, then the installer will perform its normal verification that the // credentials provided are sufficient to perform an installation. // // There are three possible values for this field, but the valid values are dependent upon the platform being used. // "Mint": create new credentials with a subset of the overall permissions for each CredentialsRequest // "Passthrough": copy the credentials with all of the overall permissions for each CredentialsRequest // "Manual": CredentialsRequests must be handled manually by the user // // For each of the following platforms, the field can set to the specified values. For all other platforms, the // field must not be set. // AWS: "Mint", "Passthrough", "Manual" // Azure: "Passthrough", "Manual" CredentialsMode CredentialsMode `json:"credentialsMode,omitempty"` }
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 MachineNetworkEntry ¶
type MachineNetworkEntry struct { // CIDR is the IP block address pool for machines within the cluster. CIDR ipnet.IPNet `json:"cidr"` }
MachineNetworkEntry is a single IP address block for node IP blocks.
type Networking ¶
type Networking struct { // NetworkType is the type of network to install. // The default value is OVNKubernetes. // // +kubebuilder:default=OVNKubernetes // +optional NetworkType string `json:"networkType,omitempty"` // MachineNetwork is the list of IP address pools for machines. // This field replaces MachineCIDR, and if set MachineCIDR must // be empty or match the first entry in the list. // Default is 10.0.0.0/16 for all platforms other than libvirt and Power VS. // For libvirt, the default is 192.168.126.0/24. // For Power VS, the default is 192.168.0.0/24. // // +optional MachineNetwork []MachineNetworkEntry `json:"machineNetwork,omitempty"` // ClusterNetwork is the list of IP address pools for pods. // Default is 10.128.0.0/14 and a host prefix of /23. // // +optional ClusterNetwork []ClusterNetworkEntry `json:"clusterNetwork,omitempty"` // ServiceNetwork is the list of IP address pools for services. // Default is 172.30.0.0/16. // NOTE: currently only one entry is supported. // // +kubebuilder:validation:MaxItems=1 // +optional ServiceNetwork []ipnet.IPNet `json:"serviceNetwork,omitempty"` // Deprecated way to configure an IP address pool for machines. // Replaced by MachineNetwork which allows for multiple pools. // +optional DeprecatedMachineCIDR *ipnet.IPNet `json:"machineCIDR,omitempty"` // Deprecated name for NetworkType // +optional DeprecatedType string `json:"type,omitempty"` // Deprecated way to configure an IP address pool for services. // Replaced by ServiceNetwork which allows for multiple pools. // +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"` // Azure is the configuration used when installing on Azure. // +optional Azure *azure.Platform `json:"azure,omitempty"` }
Platform is the configuration for the specific platform upon which to perform the installation. Only one of the platform configuration should be set.
type PolicyType ¶
type PolicyType string
PolicyType is for usage polices that are applied to additionalTrustBundle. +kubebuilder:validation:Enum="";Proxyonly;Always
type Proxy ¶
type Proxy struct { // HTTPProxy is the URL of the proxy for HTTP requests. // +optional HTTPProxy string `json:"httpProxy,omitempty"` // HTTPSProxy is the URL of the proxy for HTTPS requests. // +optional HTTPSProxy string `json:"httpsProxy,omitempty"` // NoProxy is a comma-separated list of domains and CIDRs for which the proxy should not be used. // +optional NoProxy string `json:"noProxy,omitempty"` }
Proxy defines the proxy settings for the cluster. At least one of HTTPProxy or HTTPSProxy is required.
type PublishingStrategy ¶
type PublishingStrategy string
PublishingStrategy is a strategy for how various endpoints for the cluster are exposed. +kubebuilder:validation:Enum="";External;Internal
const ( // ExternalPublishingStrategy exposes endpoints for the cluster to the Internet. ExternalPublishingStrategy PublishingStrategy = "External" // InternalPublishingStrategy exposes the endpoints for the cluster to the private network only. InternalPublishingStrategy PublishingStrategy = "Internal" )
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 azure contains Azure-specific structures for installer configuration and management.
|
Package azure contains Azure-specific structures for installer configuration and management. |