resources

package
v1.30.3 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DeleteCluster

func DeleteCluster(name string, clientset simple.Clientset, count int, interval, wait time.Duration) error

Types

type ApplyOptions

type ApplyOptions struct {
	// Skip allows skipping cluster apply
	Skip bool
	// AllowKopsDowngrade permits applying with a kops version older than what was last used to apply to the cluster
	AllowKopsDowngrade bool
	// LifecycleOverrides is passed in to override the lifecycle for one of more tasks.
	// The key value is the task name such as InternetGateway and the value is the fi.Lifecycle
	// that is re-mapped.
	LifecycleOverrides map[string]string
}

type Cluster

type Cluster struct {
	kops.ClusterSpec
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	Labels map[string]string
	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	Annotations map[string]string
	// Name defines the cluster name
	Name string
	// AdminSshKey defines the cluster admin ssh key
	AdminSshKey string
	// Secrets defines the cluster secret
	Secrets *ClusterSecrets
	// Revision is incremented every time the resource changes, this is useful for triggering cluster updater
	Revision int
	// Delete holds cluster delete options
	Delete DeleteOptions
}

Cluster defines the configuration for a cluster

func CreateCluster

func CreateCluster(name string, labels map[string]string, annotations map[string]string, adminSshKey string, secrets *ClusterSecrets, spec kops.ClusterSpec, clientset simple.Clientset) (*Cluster, error)

func GetCluster

func GetCluster(name string, clientset simple.Clientset) (*Cluster, error)

func UpdateCluster

func UpdateCluster(name string, labels map[string]string, annotations map[string]string, adminSshKey string, secrets *ClusterSecrets, spec kops.ClusterSpec, clientset simple.Clientset) (*Cluster, error)

type ClusterSecrets

type ClusterSecrets struct {
	// DockerConfig holds a valid docker config.
	// After creating a dockerconfig secret, a /root/.docker/config.json file will be added to newly created nodes.
	// This file will be used by Kubernetes to authenticate to container registries and will also work when using containerd as container runtime.
	DockerConfig  string
	ClusterCaCert string
	ClusterCaKey  string
}

ClusterSecrets defines cluster secrets

func CreateOrUpdateClusterSecrets

func CreateOrUpdateClusterSecrets(secretStore fi.SecretStore, keyStore fi.CAStore, secrets *ClusterSecrets) (*ClusterSecrets, error)

func GetClusterSecrets

func GetClusterSecrets(secretStore fi.SecretStore, keyStore fi.CAStore) (*ClusterSecrets, error)

type ClusterUpdater

type ClusterUpdater struct {
	// Revision is incremented every time the resource changes, this is useful for triggering cluster updater
	Revision int
	// ProviderVersion is set to the currently running provider version, this will trigger cluster updater on version changes
	ProviderVersion string
	// ClusterName is the target cluster name
	ClusterName string
	// Keepers contains arbitrary strings used to update the resource when one changes
	Keepers map[string]string
	// Apply holds cluster apply options
	Apply ApplyOptions
	// RollingUpdate holds cluster rolling update options
	RollingUpdate RollingUpdateOptions
	// Validate holds cluster validation options
	Validate ValidateOptions
}

ClusterUpdater takes care of applying changes and/or rolling update the cluster when needed

func (*ClusterUpdater) UpdateCluster

func (u *ClusterUpdater) UpdateCluster(clientset simple.Clientset) error

type DeleteOptions added in v1.29.0

type DeleteOptions struct {
	// Interval is the time to wait between deletion attempts (default 10s)
	Interval *metav1.Duration
	// Wait is the amount of time to wait for the cluster resources to de deleted (default 10m0s)
	Wait *metav1.Duration
	// Count is the number of deletion retries to make before giving up (default 0)
	Count *int
}

type InstanceGroup

type InstanceGroup struct {
	kops.InstanceGroupSpec
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	Labels map[string]string
	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	Annotations map[string]string
	// ClusterName defines the cluster name the instance group belongs to
	ClusterName string
	// Name defines the instance group name
	Name string
	// Revision is incremented every time the resource changes, this is useful for triggering cluster updater
	Revision int
}

InstanceGroup represents a group of instances (either bastions, nodes or masters) with the same configuration

func CreateInstanceGroup

func CreateInstanceGroup(clusterName, name string, labels map[string]string, annotations map[string]string, spec kops.InstanceGroupSpec, clientset simple.Clientset) (*InstanceGroup, error)

func GetInstanceGroup

func GetInstanceGroup(clusterName, name string, clientset simple.Clientset) (*InstanceGroup, error)

func UpdateInstanceGroup

func UpdateInstanceGroup(clusterName, name string, labels map[string]string, annotations map[string]string, spec kops.InstanceGroupSpec, clientset simple.Clientset) (*InstanceGroup, error)

type RollingUpdateOptions

type RollingUpdateOptions struct {
	// Skip allows skipping cluster rolling update
	Skip bool
	utils.RollingUpdateOptions
}

type ValidateOptions

type ValidateOptions struct {
	// Skip allows skipping cluster validation
	Skip bool
	utils.ValidateOptions
}

Jump to

Keyboard shortcuts

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