types

package
v0.0.0-...-af7b037 Latest Latest
Warning

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

Go to latest
Published: Apr 25, 2022 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Cluster

type Cluster struct {
	// Name specifies the unique name used to identify the cluster.
	Name string `json:"name"`
	// KubernetesVersion specifies the Kubernetes version used.
	KubernetesVersion string `json:"kubernetesVersion"`
	// CPU specifies the number of CPUs available in the cluster.
	CPU int `json:"cpu"`
	// DiskSizeGB indicates the disk size available in the cluster.
	DiskSizeGB int `json:"diskSizeGB"`
	// NodeCount specifies the number of nodes available in the cluster.
	NodeCount int `json:"nodeCount"`
	// MachineType specifies the hardware cluster is provisioned on.
	MachineType string `json:"machineType"`
	// Location specifies the location of the actual cluster.
	Location    string       `json:"location"`
	ClusterInfo *ClusterInfo `json:"clusterInfo"`
}

Cluster contains detailed cluster specification and properties.

type ClusterInfo

type ClusterInfo struct {
	// Endpoint specifies the URL at which you can reach the cluster.
	Endpoint string `json:"endpoint"`
	// CertificateAuthorityData contains certificates required to access the cluster.
	CertificateAuthorityData []byte         `json:"certificateAuthorityData"`
	Status                   *ClusterStatus `json:"status"`
}

ClusterInfo contains the actual provider-related cluster details retrieved after the cluster was provisioned.

type ClusterStatus

type ClusterStatus struct {
	Phase Phase `json:"phase"`
}

ClusterStatus contains possible values used to indicate the current cluster status.

type Option

type Option func(*Options)

Option is a function that allows to extensibly configure Hydroform.

func Persistent

func Persistent() Option

Make hydroform configuration files stay in the file system after running. By default files are always deleted after each call.

func Verbose

func Verbose(verbose bool) Option

func WithDataDir

func WithDataDir(dir string) Option

Set a custom directory where all Hydroform files will be stored.

func WithTimeouts

func WithTimeouts(timeouts *Timeouts) Option

type Options

type Options struct {
	DataDir    string
	Persistent bool
	Timeouts   *Timeouts
	Verbose    bool
}

Options contains all possible configuration options for Hydroform. Options need to be set each time a Hydroform function is called

type Phase

type Phase string

Phase indicates the current status of the cluster.

const (
	// Provisioned indicates that the cluster has been created and is fully usable.
	Provisioned Phase = "Provisioned"
	// Errored indicates that the cluster may be unusable due to errors.
	Errored Phase = "Errored"
	// Unknown indicates that the cluster status is not known.
	Unknown Phase = "Unknown"
)

type Provider

type Provider struct {
	// Type specifies the cloud provider to use.
	Type ProviderType `json:"type"`
	// ProjectName specifies the project the cluster will be created in.
	// In the case of Azure, it represents the resource group.
	ProjectName string `json:"projectName"`
	// CredentialsFilePath specifies the path to credentials used to access the cloud provider.
	CredentialsFilePath string `json:"credentialsFilePath"`
	// CustomConfigurations is a list of custom properties relevant for the chosen provider.
	CustomConfigurations map[string]interface{} `json:"customConfigurations"`
}

Provider specifies the provider-related information Hydroform needs to perform its tasks.

type ProviderType

type ProviderType string

ProviderType lists available cloud providers.

const (
	// GCP stands for the Google Cloud Platform.
	GCP ProviderType = "gcp"
	// Azure stands for the Microsoft Azure Cloud Computing Platform.
	Azure ProviderType = "azure"
	// AWS stands for Amazon Web Services.
	AWS ProviderType = "aws"
	// Gardener stands for the Gardener platform.
	Gardener ProviderType = "gardener"
	// Kind stands for the kind (kubernetes in docker) platform.
	Kind ProviderType = "kind"
)

type Timeouts

type Timeouts struct {
	Create time.Duration
	Update time.Duration
	Delete time.Duration
}

Timeouts specifies timeouts on various operation

Jump to

Keyboard shortcuts

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