Documentation ¶
Index ¶
- Constants
- Variables
- func IsExecutionFailed(err error) bool
- func IsInvalidCredentialSecretError(err error) bool
- func Migrate(ctx context.Context, c cluster.Config, f flags.Flags) error
- type API
- type App
- type AppExtraConfig
- type AppInfo
- type Apps
- type Cluster
- type ClusterAppValuesData
- type Config
- type ConfigService
- type Connectivity
- type ContentFrom
- type ControlPlane
- type DefaultAppsConfig
- type ExtraConfig
- type File
- type Global
- type Internal
- type Kubernetes
- type Metadata
- type Migration
- type Network
- type NodePool
- type Pods
- type ProviderSpecific
- type Secret
- type SecurityGroup
- type Service
- func (s *Service) CleanVintageCluster(ctx context.Context) error
- func (s *Service) CreateAWSClients(awsSession *session.Session)
- func (s *Service) GenerateCAPIClusterTemplates(ctx context.Context) error
- func (s *Service) PrepareMigration(ctx context.Context) error
- func (s *Service) ProvisionCAPICluster(ctx context.Context) error
- func (s *Service) StopVintageReconciliation(ctx context.Context) error
- type Services
- type Subnet
- type VintageCRs
Constants ¶
View Source
const ( ClusterAppVersion = "0.60.0" ClusterAppCatalog = "cluster" DefaultAppsVersion = "0.45.1" DefaultAppsCatalog = "cluster" DefaultAppsAWSRepoName = "default-apps-aws" ClusterAWSRepoName = "cluster-aws" SecretKindLoverCase = "secret" SecretKindUpperCase = "Secret" ConfigMapKindLoverCase = "configmap" ConfigMapKindUpperCase = "ConfigMap" )
View Source
const ( AWSOperatorVersionLabel = "aws-operator.giantswarm.io/version" ChartOperatorPaused = "chart-operator.giantswarm.io/paused" )
Variables ¶
View Source
var ClusterAWSDefaultAppList = []string{"cilium", "aws-ebs-csi-driver", "aws-cloud-controller-manager", "coredns"}
View Source
var DefaultAppsAWSAppList = []string{"aws-pod-identity-webhook", "cert-exporter", "cert-manager", "cluster-autoscaler", "external-dns", "metrics-server", "net-exporter", "node-exporter", "vertical-pod-autoscaler"}
Functions ¶
func IsExecutionFailed ¶
IsExecutionFailed asserts executionFailedError.
func IsInvalidCredentialSecretError ¶
IsInvalidCredentialSecretError asserts invalidCredentialSecretError.
Types ¶
type App ¶
type App struct {
ExtraConfigs []ExtraConfig `yaml:"extraConfigs,omitempty"`
}
type AppExtraConfig ¶
type AppExtraConfig struct { AwsPodIdentityWebhook App `yaml:"aws-pod-identity-webhook,omitempty"` CertExporter App `yaml:"certExporter,omitempty"` CertManager App `yaml:"certManager,omitempty"` ClusterAutoscaler App `yaml:"cluster-autoscaler,omitempty"` ExternalDns App `yaml:"externalDns,omitempty"` MetricsServer App `yaml:"metricsServer,omitempty"` NetExporter App `yaml:"netExporter,omitempty"` NodeExporter App `yaml:"nodeExporter,omitempty"` VPA App `yaml:"vpa,omitempty"` }
type Cluster ¶
type Cluster struct {
Kubernetes Kubernetes `yaml:"kubernetes"`
}
type ClusterAppValuesData ¶
type ConfigService ¶
type ConfigService struct {
Cluster Cluster `yaml:"cluster"`
}
type Connectivity ¶
type ContentFrom ¶
type ContentFrom struct {
Secret Secret `yaml:"secret"`
}
type ControlPlane ¶
type ControlPlane struct { AdditionalSecurityGroups []SecurityGroup `yaml:"additionalSecurityGroups"` ApiExtraArgs map[string]string `yaml:"apiExtraArgs"` ApiExtraCertSans []string `yaml:"apiExtraCertSANs"` InstanceType string `yaml:"instanceType"` SubnetTags []map[string]string `yaml:"subnetTags"` }
type DefaultAppsConfig ¶
type DefaultAppsConfig struct { ClusterName string `yaml:"clusterName,omitempty"` Organization string `yaml:"organization,omitempty"` Apps AppExtraConfig `yaml:"apps,omitempty"` }
type ExtraConfig ¶
type File ¶
type File struct { ContentFrom ContentFrom `yaml:"contentFrom"` Path string `yaml:"path"` Permissions string `yaml:"permissions"` }
type Global ¶
type Global struct { Metadata Metadata `yaml:"metadata"` Apps Apps `yaml:"apps,omitempty"` ControlPlane ControlPlane `yaml:"controlPlane"` Connectivity Connectivity `yaml:"connectivity"` NodePools map[string]NodePool `yaml:"nodePools"` ProviderSpecific ProviderSpecific `yaml:"providerSpecific"` }
type Kubernetes ¶
type Kubernetes struct {
API API `yaml:"api"`
}
type Migration ¶
type Migration struct { ApiBindPort int `yaml:"apiBindPort"` ControlPlaneExtraFiles []File `yaml:"controlPlaneExtraFiles"` ControlPlanePreKubeadmCommands []string `yaml:"controlPlanePreKubeadmCommands"` ControlPlanePostKubeadmCommands []string `yaml:"controlPlanePostKubeadmCommands"` EtcdExtraArgs map[string]string `yaml:"etcdExtraArgs"` IrsaAdditionalDomain string `yaml:"irsaAdditionalDomain"` }
type NodePool ¶
type NodePool struct { AdditionalSecurityGroups []SecurityGroup `yaml:"additionalSecurityGroups"` AvailabilityZones []string `yaml:"availabilityZones"` InstanceType string `yaml:"instanceType"` MinSize int `yaml:"minSize"` MaxSize int `yaml:"maxSize"` RootVolumeSizeGB int `yaml:"rootVolumeSizeGB"` SubnetTags []map[string]string `yaml:"subnetTags"` CustomNodeLabel []string `yaml:"customNodeLabel"` }
type ProviderSpecific ¶
type SecurityGroup ¶
type SecurityGroup struct {
ID string `yaml:"id"`
}
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func (*Service) CleanVintageCluster ¶
CleanVintageCluster drains all vintage nodes and deletes the ASGs
func (*Service) CreateAWSClients ¶
func (*Service) GenerateCAPIClusterTemplates ¶
func (*Service) ProvisionCAPICluster ¶
type VintageCRs ¶
type VintageCRs struct { AwsCluster *giantswarmawsalpha3.AWSCluster AwsControlPlane *giantswarmawsalpha3.AWSControlPlane AwsMachineDeployments []giantswarmawsalpha3.AWSMachineDeployment Cluster *capi.Cluster MachineDeployments []capi.MachineDeployment }
Click to show internal directories.
Click to hide internal directories.