package v1alpha5
import "github.com/oslokommune/okctl/pkg/apis/eksctl.io/v1alpha5"
nolint stylecheck
Index ¶
- Constants
- func AllCloudWatchLogging() []string
- type Addon
- type ClusterCloudWatch
- type ClusterCloudWatchLogging
- type ClusterConfig
- type ClusterEndpoints
- type ClusterIAM
- type ClusterIAMMeta
- type ClusterIAMServiceAccount
- type ClusterMeta
- type ClusterNetwork
- type ClusterStatus
- type ClusterSubnets
- type ClusterVPC
- type FargateProfile
- type FargateProfileSelector
- type NodeGroup
- type ScalingConfig
Constants ¶
const ( // ClusterConfigKind maps up the resource Kind defined by eksctl ClusterConfigKind = "ClusterConfig" // ClusterConfigAPIVersion maps up the API Version we currently use towards eksctl ClusterConfigAPIVersion = "eksctl.io/v1alpha5" )
const ( CloudWatchAPILogging = "api" CloudWatchAuditLogging = "audit" CloudWatchAuthenticatorLogging = "authenticator" CloudWatchControllerManagerLogging = "controllerManager" CloudWatchSchedulerLogging = "scheduler" )
nolint: golint
Functions ¶
func AllCloudWatchLogging ¶
func AllCloudWatchLogging() []string
AllCloudWatchLogging returns all the available cloud watch loggers
Types ¶
type Addon ¶
type Addon struct { Name string `json:"name,omitempty"` AttachPolicyARNs []string `json:"attachPolicyARNs,omitempty"` PermissionsBoundary string `json:"permissionsBoundary,omitempty"` Version string `json:"version"` }
Addon holds the EKS addon configuration
type ClusterCloudWatch ¶
type ClusterCloudWatch struct { ClusterLogging *ClusterCloudWatchLogging `json:"clusterLogging,omitempty"` }
ClusterCloudWatch maps up parts of the eksctl config that we require
type ClusterCloudWatchLogging ¶
type ClusterCloudWatchLogging struct { EnableTypes []string `json:"enableTypes,omitempty"` }
ClusterCloudWatchLogging maps up parts of the eksctl config that we require
type ClusterConfig ¶
type ClusterConfig struct { metav1.TypeMeta `json:",inline"` Metadata ClusterMeta `json:"metadata"` IAM ClusterIAM `json:"iam"` VPC *ClusterVPC `json:"vpc,omitempty"` FargateProfiles []FargateProfile `json:"fargateProfiles,omitempty"` NodeGroups []NodeGroup `json:"nodeGroups,omitempty"` Status *ClusterStatus `json:"status,omitempty"` CloudWatch *ClusterCloudWatch `json:"cloudWatch,omitempty"` Addons []*Addon `json:"addons,omitempty"` }
ClusterConfig is a recreation of: https://github.com/weaveworks/eksctl/blob/master/pkg/apis/eksctl.io/v1alpha5/types.go where we have extract the parts that we are interested in for managing a eksctl cluster
func (*ClusterConfig) YAML ¶
func (c *ClusterConfig) YAML() ([]byte, error)
YAML returns a serializes version of the config
type ClusterEndpoints ¶
type ClusterEndpoints struct { PrivateAccess bool `json:"privateAccess"` PublicAccess bool `json:"publicAccess"` }
ClusterEndpoints comes from eksctl and maps up what we need
type ClusterIAM ¶
type ClusterIAM struct { ServiceRolePermissionsBoundary string `json:"serviceRolePermissionsBoundary,omitempty"` FargatePodExecutionRolePermissionsBoundary string `json:"fargatePodExecutionRolePermissionsBoundary,omitempty"` WithOIDC bool `json:"withOIDC"` ServiceAccounts []*ClusterIAMServiceAccount `json:"serviceAccounts,omitempty"` }
ClusterIAM comes from eksctl and maps up what we need
type ClusterIAMMeta ¶
type ClusterIAMMeta struct { Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` Labels map[string]string `json:"labels,omitempty"` }
ClusterIAMMeta holds information we can use to create ObjectMeta for service accounts
type ClusterIAMServiceAccount ¶
type ClusterIAMServiceAccount struct { ClusterIAMMeta `json:"metadata,omitempty"` AttachPolicyARNs []string `json:"attachPolicyARNs"` PermissionsBoundary string `json:"permissionsBoundary"` }
ClusterIAMServiceAccount comes from eksctl and maps up what we need
type ClusterMeta ¶
type ClusterMeta struct { Name string `json:"name"` Region string `json:"region"` Version string `json:"version,omitempty"` Tags map[string]string `json:"tags,omitempty"` }
ClusterMeta comes from eksctl and maps up what we need
func (*ClusterMeta) String ¶
func (c *ClusterMeta) String() string
type ClusterNetwork ¶
ClusterNetwork comes from eksctl and maps up what we need
type ClusterStatus ¶
type ClusterStatus struct { Endpoint string `json:"endpoint,omitempty"` CertificateAuthorityData []byte `json:"certificateAuthorityData,omitempty"` ARN string `json:"arn,omitempty"` StackName string `json:"stackName,omitempty"` }
ClusterStatus hold read-only attributes of a cluster
type ClusterSubnets ¶
type ClusterSubnets struct { Private map[string]ClusterNetwork `json:"private"` Public map[string]ClusterNetwork `json:"public"` }
ClusterSubnets comes from eksctl and maps up what we need
type ClusterVPC ¶
type ClusterVPC struct { ID string `json:"id"` CIDR string `json:"cidr"` ClusterEndpoints ClusterEndpoints `json:"clusterEndpoints"` Subnets ClusterSubnets `json:"subnets"` }
ClusterVPC comes from eksctl and maps up what we need
type FargateProfile ¶
type FargateProfile struct { Name string `json:"name"` Selectors []FargateProfileSelector `json:"selectors"` }
FargateProfile comes from eksctl and maps up what we need
type FargateProfileSelector ¶
type FargateProfileSelector struct { Namespace string `json:"namespace"` }
FargateProfileSelector comes from eksctl and maps up what we need
type NodeGroup ¶
type NodeGroup struct { Name string `json:"name"` InstanceType string `json:"instanceType"` Labels map[string]string `json:"labels"` Tags map[string]string `json:"tags"` PrivateNetworking bool `json:"privateNetworking"` AvailabilityZones []string `json:"availabilityZones"` VolumeSize int `json:"volumeSize"` VolumeEncrypted bool `json:"volumeEncrypted"` ScalingConfig `json:",inline"` }
NodeGroup comes from eksctl and maps up what we need
type ScalingConfig ¶
type ScalingConfig struct { DesiredCapacity int `json:"desiredCapacity"` MinSize int `json:"minSize"` MaxSize int `json:"maxSize"` }
ScalingConfig comes from eksctl and maps up what we need
Source Files ¶
- Version
- v0.0.106 (latest)
- Published
- Oct 21, 2022
- Platform
- linux/amd64
- Imports
- 3 packages
- Last checked
- 18 hours ago –
Tools for package owners.