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.