Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AWSCloudBuilder ¶
type AWSCloudBuilder struct { // AccessKeyID is the AWS access key ID. AccessKeyID string // SecretAccessKey is the AWS secret access key. SecretAccessKey string // UserTags are user-provided tags to add to resources. UserTags map[string]string // Region is the AWS region to which to install the cluster Region string }
AWSCloudBuilder encapsulates cluster artifact generation logic specific to AWS.
func NewAWSCloudBuilderFromSecret ¶ added in v1.0.6
func NewAWSCloudBuilderFromSecret(credsSecret *corev1.Secret) *AWSCloudBuilder
type AzureCloudBuilder ¶
type AzureCloudBuilder struct { // ServicePrincipal is the bytes from a service principal file, typically ~/.azure/osServicePrincipal.json. ServicePrincipal []byte // BaseDomainResourceGroupName is the resource group where the base domain for this cluster is configured. BaseDomainResourceGroupName string // Region is the Azure region to which to install the cluster. Region string }
AzureCloudBuilder encapsulates cluster artifact generation logic specific to Azure.
func NewAzureCloudBuilderFromSecret ¶ added in v1.0.6
func NewAzureCloudBuilderFromSecret(credsSecret *corev1.Secret) *AzureCloudBuilder
type Builder ¶
type Builder struct { // Name is the name of your Cluster. Will be used for both the ClusterDeployment.Name and the // ClusterDeployment.Spec.ClusterName, which encompasses the subdomain and cloud provider resource // tagging. Name string // Namespace where the ClusterDeployment and all associated artifacts will be created. Namespace string // Labels are labels to be added to the ClusterDeployment. Labels map[string]string // CloudBuilder encapsulates logic for building the objects for a specific cloud. CloudBuilder CloudBuilder // PullSecret is the secret to use when pulling images. PullSecret string // SSHPrivateKey is an optional SSH key to configure on hosts in the cluster. This would // typically be read from ~/.ssh/id_rsa. SSHPrivateKey string // SSHPublicKey is an optional public SSH key to configure on hosts in the cluster. This would // typically be read from ~/.ssh/id_rsa.pub. Must match the SSHPrivateKey. SSHPublicKey string // InstallOnce indicates that the provision job should not be retried on failure. InstallOnce bool // BaseDomain is the DNS base domain to be used for the cluster. BaseDomain string // WorkerNodesCount is the number of worker nodes to create in the cluster initially. WorkerNodesCount int64 // ManageDNS can be set to true to enable Hive's automatic DNS zone creation and forwarding. (assuming // this is properly configured in HiveConfig) ManageDNS bool // DeleteAfter is the duration after which the cluster should be automatically destroyed, relative to // creationTimestamp. Stored as an annotation on the ClusterDeployment. DeleteAfter string // ServingCert is the contents of a serving certificate to be used for the cluster. ServingCert string // ServingCertKey is the contents of a key for the ServingCert. ServingCertKey string // Adopt is a flag indicating we're adopting a pre-existing cluster. Adopt bool // AdoptAdminKubeconfig is a cluster administrator admin kubeconfig typically obtained // from openshift-install. Required when adopting pre-existing clusters. AdoptAdminKubeconfig []byte // AdoptClusterID is the unique generated ID for a cluster being adopted. // Required when adopting pre-existing clusters. AdoptClusterID string // AdoptInfraID is the unique generated infrastructure ID for a cluster being adopted. // Required when adopting pre-existing clusters. AdoptInfraID string // AdoptAdminUsername is the admin username for an adopted cluster, typically written to disk // after openshift-install create-cluster. This field is optional when adopting. AdoptAdminUsername string // AdoptAdminPassword is the admin password for an adopted cluster, typically written to disk // after openshift-install create-cluster. This field is optional when adopting. AdoptAdminPassword string // InstallerManifests is a map of filename strings to bytes for files to inject into the installers // manifests dir before launching create-cluster. InstallerManifests map[string][]byte // ImageSet is the ClusterImageSet to use for this cluster. ImageSet string // ReleaseImage is a specific OpenShift release image to install this cluster with. Will override // ImageSet. ReleaseImage string // MachineNetwork is the subnet to use for the cluster's machine network. MachineNetwork string // SkipMachinePools should be true if you do not want Hive to manage MachineSets in the spoke cluster once it is installed. SkipMachinePools bool }
Builder can be used to build all artifacts required for to create a ClusterDeployment.
type CloudBuilder ¶
type CloudBuilder interface {
// contains filtered or unexported methods
}
CloudBuilder interface exposes the functions we will use to set cloud specific portions of the cluster's resources.
type GCPCloudBuilder ¶
type GCPCloudBuilder struct { // ServicePrincipal is the bytes from a service account file, typically ~/.gcp/osServiceAccount.json. ServiceAccount []byte // ProjectID is the GCP project to use. ProjectID string // Region is the GCP region to which to install the cluster. Region string }
GCPCloudBuilder encapsulates cluster artifact generation logic specific to GCP.
func NewGCPCloudBuilderFromSecret ¶ added in v1.0.6
func NewGCPCloudBuilderFromSecret(credsSecret *corev1.Secret) (*GCPCloudBuilder, error)
type OpenStackCloudBuilder ¶ added in v1.0.1
type OpenStackCloudBuilder struct { // APIFloatingIP is the OpenStack Floating IP for the cluster to use for its API APIFloatingIP string // Cloud is the named section from the clouds.yaml in the Secret containing the creds. Cloud string // CloudsYAMLContent is the data that will be used as the clouds.yaml file for // cluster provisioning. CloudsYAMLContent []byte // ExternalNetwork is the OpenStack network to install the cluster into. ExternalNetwork string // ComputeFlavor is the OpenStack flavor type to use for workers and to set // the default for other machine pools. ComputeFlavor string // MasterFlavor is the OpenStack flavor type to use for master instances. MasterFlavor string }
OpenStackCloudBuilder encapsulates cluster artifact generation logic specific to OpenStack.
type OvirtCloudBuilder ¶ added in v1.0.6
type OvirtCloudBuilder struct { // OvirtConfig is the data that will be used as the ovirt-config.yaml file for // cluster provisioning. OvirtConfig []byte // The target cluster under which all VMs will run ClusterID string // The target storage domain under which all VM disk would be created. StorageDomainID string // The target network of all the network interfaces of the nodes. Omitting defaults to ovirtmgmt // network which is a default network for every oVirt cluster. NetworkName string // APIVIP is an IP which will be served by bootstrap and then pivoted masters, using keepalived APIVIP string // DNSVIP is the IP of the internal DNS which will be operated by the cluster DNSVIP string // IngressIP is an external IP which routes to the default ingress controller. // The IP is a suitable target of a wildcard DNS record used to resolve default route host names. IngressVIP string // CACert is the CA certificate(s) used to communicate with oVirt. CACert []byte }
OvirtCloudBuilder encapsulates cluster artifact generation logic specific to oVirt.
type VSphereCloudBuilder ¶ added in v1.0.5
type VSphereCloudBuilder struct { // VCenter is the domain name or IP address of the vCenter. VCenter string // Username is the name of the user to use to connect to the vCenter. Username string // Password is the password for the user to use to connect to the vCenter. Password string // Datacenter is the name of the datacenter to use in the vCenter. Datacenter string // DefaultDatastore is the default datastore to use for provisioning volumes. DefaultDatastore string // Folder is the name of the folder that will be used and/or created for // virtual machines. Folder string // Cluster is the name of the cluster virtual machines will be cloned into. Cluster string // APIVIP is the virtual IP address for the api endpoint APIVIP string // IngressVIP is the virtual IP address for ingress IngressVIP string // Network specifies the name of the network to be used by the cluster. Network string // CACert is the CA certificate(s) used to communicate with the vCenter. CACert []byte }
VSphereCloudBuilder encapsulates cluster artifact generation logic specific to vSphere.