EKS

9 resource kinds. Generated from the operator's CRD schemas.

API Group: aws.konfig.io/v1alpha1

EKSAccessEntry # GA

EKSAccessEntry is the Schema for managing EKS Access Entries.

kubectl get eksaccessentries · example on GitHub

Example

# EKSAccessEntry — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#eksaccessentry
apiVersion: aws.konfig.io/v1alpha1
kind: EKSAccessEntry
metadata:
  name: example-eksaccessentry
  namespace: default
spec:
  accessPolicies:
  - accessScope:
      namespaces:
      - example
      type: cluster
    policyArn: arn:aws:iam::123456789012:role/example-role
  clusterName: example-eksaccessentry
  clusterRef:
    clusterName: example-eksaccessentry
    name: example-eksaccessentry
  kubernetesGroups:
  - example
  principalArn: arn:aws:iam::123456789012:role/example-role
  principalRef:
    name: example-principal
  providerRef:
    name: example-eksaccessentry
    region: us-east-1
  tags:
    environment: dev
    team: platform
  type: STANDARD
  username: example-eksaccessentry

Spec

FieldTypeRequiredDescription
accessPoliciesarray<object>—AccessPolicies are the EKS access policies to associate with this entry.
accessPolicies[].accessScopeobjectyesAccessScope defines the scope of the policy.
accessPolicies[].accessScope.namespacesarray<string>—Namespaces is the list of Kubernetes namespaces the policy applies to.
accessPolicies[].accessScope.typeenumyesType is the scope type: cluster or namespace. Allowed: cluster, namespace
accessPolicies[].policyArnstringyesPolicyArn is the ARN of the EKS access policy.
clusterNamestring—ClusterName is the EKS cluster name.
clusterRefobject—ClusterRef references an EKSCluster CR in the same namespace.
clusterRef.clusterNamestring—ClusterName is a direct AWS EKS cluster name, bypassing CR lookup.
clusterRef.namestring—Name of an EKSCluster CR in the same namespace.
kubernetesGroupsarray<string>—KubernetesGroups are the Kubernetes RBAC groups to assign to this principal.
principalArnstring—PrincipalArn is the IAM role or user ARN to grant cluster access.
principalRefobject—PrincipalRef references an IAMRole CR in the same namespace.
principalRef.arnstring—ARN is a direct AWS IAM role ARN.
principalRef.namestring—Name of an IAMRole CR in the same namespace.
principalRef.namespacestring—Namespace of the IAMRole CR.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are AWS resource tags.
typeenum—Type is the access entry type. Allowed: STANDARD, FARGATE_LINUX, EC2_LINUX, EC2_WINDOWS
usernamestring—Username is the Kubernetes username for this principal.

Status

FieldTypeRequiredDescription
accessEntryArnstring—AccessEntryArn is the ARN of the access entry.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.

EKSAddon # GA

EKSAddon is the Schema for managing EKS Add-ons.

kubectl get eksaddons · example on GitHub

Example

# EKSAddon — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#eksaddon
apiVersion: aws.konfig.io/v1alpha1
kind: EKSAddon
metadata:
  name: example-eksaddon
  namespace: default
spec:
  addonName: example-eksaddon
  addonVersion: '1.0'
  clusterName: example-eksaddon
  clusterRef:
    clusterName: example-eksaddon
    name: example-eksaddon
  configurationValues: example
  providerRef:
    name: example-eksaddon
    region: us-east-1
  resolveConflicts: OVERWRITE
  serviceAccountRoleArn: arn:aws:iam::123456789012:role/example-role
  serviceAccountRoleRef:
    name: example-serviceaccountrole
  tags:
    environment: dev
    team: platform

Spec

FieldTypeRequiredDescription
addonNamestringyesAddonName is the name of the EKS add-on (e.g.
addonVersionstring—AddonVersion is the version of the add-on.
clusterNamestring—ClusterName is the EKS cluster name.
clusterRefobject—ClusterRef references an EKSCluster CR in the same namespace.
clusterRef.clusterNamestring—ClusterName is a direct AWS EKS cluster name, bypassing CR lookup.
clusterRef.namestring—Name of an EKSCluster CR in the same namespace.
configurationValuesstring—ConfigurationValues is a JSON or YAML string of configuration values for the add-on.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
resolveConflictsenum—ResolveConflicts controls how conflicts are resolved when updating the add-on. Allowed: OVERWRITE, NONE, PRESERVE
serviceAccountRoleArnstring—ServiceAccountRoleArn is an IAM role ARN for the add-on's service account (IRSA).
serviceAccountRoleRefobject—ServiceAccountRoleRef references an IAMRole CR in the same namespace.
serviceAccountRoleRef.arnstring—ARN is a direct AWS IAM role ARN.
serviceAccountRoleRef.namestring—Name of an IAMRole CR in the same namespace.
serviceAccountRoleRef.namespacestring—Namespace of the IAMRole CR.
tagsmap<string>—Tags are AWS resource tags.

Status

FieldTypeRequiredDescription
addonArnstring—AddonArn is the ARN of the EKS add-on.
addonVersionstring—AddonVersion is the currently installed add-on version.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
statusstring—Status is the add-on status: CREATING, ACTIVE, UPDATING, DEGRADED, DELETING.

EKSCapability # CLOUD CONTROL · AWS::EKS::Capability

EKSCapability manages AWS::EKS::Capability through the AWS Cloud Control API.

kubectl get ekscapabilities · example on GitHub

Example

# EKSCapability — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#ekscapability
apiVersion: aws.konfig.io/v1alpha1
kind: EKSCapability
metadata:
  name: example-ekscapability
  namespace: default
spec:
  capabilityName: example-ekscapability
  clusterName: example-ekscapability
  configuration:
    ack:
      disabledServices:
      - example
      enableCrossNamespace: true
    argoCd:
      awsIdc:
        idcInstanceArn: arn:aws:iam::123456789012:role/example-role
        idcManagedApplicationArn: arn:aws:iam::123456789012:role/example-role
        idcRegion: example
      namespace: example
      networkAccess:
        vpceIds:
        - example
      rbacRoleMappings:
      - identities:
        - id: example-id
          type: SSO_USER
        role: ADMIN
      serverUrl: example
  deletePropagationPolicy: RETAIN
  providerRef:
    name: example-ekscapability
    region: us-east-1
  roleArn: arn:aws:iam::123456789012:role/example-role
  tags:
  - key: example
    value: example
  type: ARGOCD

Spec

FieldTypeRequiredDescription
capabilityNamestringyesA unique name for the capability.
clusterNamestringyesThe name of the EKS cluster where you want to create the capability.
configurationobject—The configuration settings for the capability.
configuration.ackobject—EKSCapabilityAck is a nested property type of AWS::EKS::Capability.
configuration.ack.disabledServicesarray<string>—A list of ACK service names to disable.
configuration.ack.enableCrossNamespaceboolean—Whether cross-namespace references are enabled for ACK controllers.
configuration.argoCdobject—EKSCapabilityArgoCd is a nested property type of AWS::EKS::Capability.
configuration.argoCd.awsIdcobjectyesEKSCapabilityAwsIdc is a nested property type of AWS::EKS::Capability.
configuration.argoCd.awsIdc.idcInstanceArnstringyesThe ARN of the IAM Identity Center instance to use for authentication.
configuration.argoCd.awsIdc.idcManagedApplicationArnstring—The ARN of the managed application created in IAM Identity Center for this Argo CD capability.
configuration.argoCd.awsIdc.idcRegionstring—The Region where your IAM Identity Center instance is located.
configuration.argoCd.namespacestring—The Kubernetes namespace where Argo CD resources will be created.
configuration.argoCd.networkAccessobject—EKSCapabilityNetworkAccess is a nested property type of AWS::EKS::Capability.
configuration.argoCd.networkAccess.vpceIdsarray<string>—A list of VPC endpoint IDs to associate with the managed Argo CD API server endpoint.
configuration.argoCd.rbacRoleMappingsarray<object>—A list of role mappings that define which IAM Identity Center users or groups have which Argo CD roles.
configuration.argoCd.rbacRoleMappings[].identitiesarray<object>yesA list of IAM Identity Center identities (users or groups) that should be assigned this Argo CD role.
configuration.argoCd.rbacRoleMappings[].identities[].idstringyesThe unique identifier of the IAM Identity Center user or group.
configuration.argoCd.rbacRoleMappings[].identities[].typeenumyesThe type of identity. Allowed: SSO_USER, SSO_GROUP
configuration.argoCd.rbacRoleMappings[].roleenumyesThe Argo CD role to assign. Allowed: ADMIN, EDITOR, VIEWER
configuration.argoCd.serverUrlstring—The URL of the Argo CD server.
deletePropagationPolicyenumyesSpecifies how Kubernetes resources managed by the capability should be handled when the capability is deleted. Allowed: RETAIN
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
roleArnstringyesThe Amazon Resource Name (ARN) of the IAM role that the capability uses to interact with AWS services.
tagsarray<object>—An array of key-value pairs to apply to this resource.
tags[].keystringyes
tags[].valuestringyes
typeenumyesThe type of capability to create. Allowed: ARGOCD, ACK, KRO

Status

FieldTypeRequiredDescription
arnstring—The Amazon Resource Name (ARN) of the capability.
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
createdAtstring—The Unix epoch timestamp in seconds for when the capability was created.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
modifiedAtstring—The Unix epoch timestamp in seconds for when the capability was last modified.
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.
statusstring—The current status of the capability.
versionstring—The version of the capability software that is currently running.

EKSCertificateAuthority # CLOUD CONTROL · AWS::EKS::CertificateAuthority

EKSCertificateAuthority manages AWS::EKS::CertificateAuthority through the AWS Cloud Control API.

kubectl get ekscertificateauthorities · example on GitHub

Example

# EKSCertificateAuthority — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#ekscertificateauthority
apiVersion: aws.konfig.io/v1alpha1
kind: EKSCertificateAuthority
metadata:
  name: example-ekscertificateauthority
  namespace: default
spec:
  clusterName: example-ekscertificateauthority
  providerRef:
    name: example-ekscertificateauthority
    region: us-east-1

Spec

FieldTypeRequiredDescription
clusterNamestringyesThe name of the EKS cluster that the certificate authority belongs to.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.

Status

FieldTypeRequiredDescription
activatedAtstring—The timestamp when the certificate authority was activated.
activatedBystring—The entity that activated the certificate authority.
attemptinteger—Attempt counts failed create/delete requests; it salts the Cloud Control idempotency token so a retry is not served the cached failure.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
createdAtstring—The timestamp when the certificate authority was created.
createdBystring—The entity that created the certificate authority.
datastring—The Base64 encoded certificate authority data.
distributionStatusstring—The distribution status of the certificate authority.
idstring—The unique identifier of the certificate authority.
identifierstring—Identifier is the Cloud Control primary identifier of the resource.
lastSyncTimestring—
observedGenerationinteger—
operationstring—Operation is the in-flight operation (CREATE, UPDATE, DELETE).
operationStatusstring—OperationStatus is the last reported operation status.
requestTokenstring—RequestToken tracks an in-flight asynchronous operation.
rollbackAvailableboolean—Whether activation of this certificate authority can still be rolled back.
scheduledEventsobject—The scheduled auto-activation events for the certificate authority.
scheduledEvents.finalAutoActivationstring—The deadline by which EKS will auto-activate this certificate authority (notAfter minus 45 days).
scheduledEvents.firstAutoActivationstring—The earliest date EKS may auto-activate this certificate authority (notAfter minus 6 months).
signingStatusstring—The signing status of the certificate authority.
validityobject—The validity period of the certificate authority.
validity.notAfterstring—The end of the validity period for the certificate authority.
validity.notBeforestring—The start of the validity period for the certificate authority.

EKSCluster # GA

EKSCluster is the Schema for managing EKS Clusters.

kubectl get eksclusters · example on GitHub

Example

# EKSCluster — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#ekscluster
apiVersion: aws.konfig.io/v1alpha1
kind: EKSCluster
metadata:
  name: example-ekscluster
  namespace: default
spec:
  accessConfig:
    authenticationMode: API
    bootstrapClusterCreatorAdminPermissions: false
  bootstrapSelfManagedAddons: false
  clusterName: example-ekscluster
  encryptionConfig:
    providerKeyArn: arn:aws:iam::123456789012:role/example-role
    resources:
    - example
  kubernetesNetworkConfig:
    ipFamily: ipv4
    serviceIpv4Cidr: 10.0.0.0/16
  logging:
    enabledTypes:
    - example
  providerRef:
    name: example-ekscluster
    region: us-east-1
  resourcesVpcConfig:
    endpointPrivateAccess: false
    endpointPublicAccess: false
    publicAccessCidrs:
    - 10.0.0.0/16
    securityGroupRefs:
    - name: example-securitygrouprefs
    subnetRefs:
    - name: example-subnetrefs
  roleArn: arn:aws:iam::123456789012:role/example-role
  roleRef:
    name: example-role
  tags:
    environment: dev
    team: platform
  upgradePolicy:
    supportType: STANDARD
  version: '1.0'

Spec

FieldTypeRequiredDescription
accessConfigobject—AccessConfig configures the cluster authentication mode.
accessConfig.authenticationModeenum—AuthenticationMode controls how IAM principals are granted cluster access. Allowed: API, API_AND_CONFIG_MAP, CONFIG_MAP
accessConfig.bootstrapClusterCreatorAdminPermissionsboolean—BootstrapClusterCreatorAdminPermissions grants the cluster creator admin access.
bootstrapSelfManagedAddonsboolean—BootstrapSelfManagedAddons installs self-managed add-ons on cluster creation.
clusterNamestringyesClusterName is the name of the EKS cluster.
encryptionConfigobject—EncryptionConfig enables KMS encryption of Kubernetes secrets.
encryptionConfig.providerKeyArnstringyesProviderKeyArn is the KMS key ARN to use for encryption.
encryptionConfig.resourcesarray<string>yesResources is the list of Kubernetes resources to encrypt (e.g.
kubernetesNetworkConfigobject—KubernetesNetworkConfig configures the Kubernetes network.
kubernetesNetworkConfig.ipFamilyenum—IPFamily is the IP family for the cluster: ipv4 or ipv6. Allowed: ipv4, ipv6
kubernetesNetworkConfig.serviceIpv4Cidrstring—ServiceIPv4CIDR is the CIDR block for Kubernetes service IPs.
loggingobject—Logging configures control plane logging.
logging.enabledTypesarray<string>—EnabledTypes is the list of log types to enable.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
resourcesVpcConfigobjectyesResourcesVpcConfig is the VPC configuration for the cluster control plane.
resourcesVpcConfig.endpointPrivateAccessboolean—EndpointPrivateAccess enables the private API server endpoint.
resourcesVpcConfig.endpointPublicAccessboolean—EndpointPublicAccess enables the public API server endpoint.
resourcesVpcConfig.publicAccessCidrsarray<string>—PublicAccessCidrs restricts access to the public endpoint.
resourcesVpcConfig.securityGroupRefsarray<object>—SecurityGroupRefs are additional security groups for the control plane ENIs.
resourcesVpcConfig.securityGroupRefs[].idstring—ID is a direct AWS Security Group ID (e.g.
resourcesVpcConfig.securityGroupRefs[].namestring—Name of a SecurityGroup CR in the same namespace.
resourcesVpcConfig.subnetRefsarray<object>yesSubnetRefs are the subnets for the EKS control plane ENIs.
resourcesVpcConfig.subnetRefs[].idstring—ID is a direct AWS Subnet ID (e.g.
resourcesVpcConfig.subnetRefs[].namestring—Name of a Subnet CR in the same namespace.
roleArnstring—RoleArn is the IAM role ARN for the EKS control plane.
roleRefobject—RoleRef is a reference to an IAMRole CR in the same namespace.
roleRef.arnstring—ARN is a direct AWS IAM role ARN.
roleRef.namestring—Name of an IAMRole CR in the same namespace.
roleRef.namespacestring—Namespace of the IAMRole CR.
tagsmap<string>—Tags are AWS resource tags to apply.
upgradePolicyobject—UpgradePolicy configures the cluster version support policy.
upgradePolicy.supportTypeenumyesSupportType is STANDARD or EXTENDED. Allowed: STANDARD, EXTENDED
versionstring—Version is the Kubernetes version for the cluster (e.g.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
certificateAuthoritystring—CertificateAuthority is the base64-encoded certificate authority data.
clusterArnstring—ClusterArn is the ARN of the EKS cluster.
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
endpointstring—Endpoint is the Kubernetes API server endpoint.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
oidcIssuerstring—OIDCIssuer is the OIDC issuer URL for the cluster (used for IRSA).
statusstring—Status is the cluster status: CREATING, ACTIVE, DELETING, FAILED, UPDATING.
versionstring—Version is the current Kubernetes version of the cluster.

EKSFargateProfile # GA

EKSFargateProfile is the Schema for managing EKS Fargate Profiles.

kubectl get eksfargateprofiles · example on GitHub

Example

# EKSFargateProfile — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#eksfargateprofile
apiVersion: aws.konfig.io/v1alpha1
kind: EKSFargateProfile
metadata:
  name: example-eksfargateprofile
  namespace: default
spec:
  clusterName: example-eksfargateprofile
  clusterRef:
    clusterName: example-eksfargateprofile
    name: example-eksfargateprofile
  fargateProfileName: example-eksfargateprofile
  podExecutionRoleArn: arn:aws:iam::123456789012:role/example-role
  podExecutionRoleRef:
    name: example-podexecutionrole
  providerRef:
    name: example-eksfargateprofile
    region: us-east-1
  selectors:
  - labels:
      key: value
    namespace: example
  subnetRefs:
  - name: example-subnetrefs
  tags:
    environment: dev
    team: platform

Spec

FieldTypeRequiredDescription
clusterNamestring—ClusterName is the EKS cluster name.
clusterRefobject—ClusterRef references an EKSCluster CR in the same namespace.
clusterRef.clusterNamestring—ClusterName is a direct AWS EKS cluster name, bypassing CR lookup.
clusterRef.namestring—Name of an EKSCluster CR in the same namespace.
fargateProfileNamestringyesFargateProfileName is the name of the Fargate profile.
podExecutionRoleArnstring—PodExecutionRoleArn is the IAM role ARN for Fargate pod execution.
podExecutionRoleRefobject—PodExecutionRoleRef references an IAMRole CR in the same namespace.
podExecutionRoleRef.arnstring—ARN is a direct AWS IAM role ARN.
podExecutionRoleRef.namestring—Name of an IAMRole CR in the same namespace.
podExecutionRoleRef.namespacestring—Namespace of the IAMRole CR.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
selectorsarray<object>yesSelectors define which pods are scheduled on Fargate.
selectors[].labelsmap<string>—Labels are the Kubernetes pod labels to match.
selectors[].namespacestringyesNamespace is the Kubernetes namespace to match.
subnetRefsarray<object>—SubnetRefs are the private subnets to run Fargate pods in.
subnetRefs[].idstring—ID is a direct AWS Subnet ID (e.g.
subnetRefs[].namestring—Name of a Subnet CR in the same namespace.
tagsmap<string>—Tags are AWS resource tags.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
fargateProfileArnstring—FargateProfileArn is the ARN of the Fargate profile.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
statusstring—Status is the profile status: CREATING, ACTIVE, DELETING, CREATE_FAILED, DELETE_FAILED.

EKSIdentityProviderConfig # GA

EKSIdentityProviderConfig is the Schema for managing EKS OIDC identity provider configurations.

kubectl get eksidentityproviderconfigs · example on GitHub

Example

# EKSIdentityProviderConfig — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#eksidentityproviderconfig
apiVersion: aws.konfig.io/v1alpha1
kind: EKSIdentityProviderConfig
metadata:
  name: example-eksidentityproviderconfig
  namespace: default
spec:
  clusterName: example-eksidentityproviderconfig
  identityProviderConfigName: example-eksidentityproviderconfig
  oidc:
    clientId: example-id
    groupsClaim: example
    groupsPrefix: example
    issuerUrl: example
    requiredClaims:
      key: value
    usernameClaim: example
    usernamePrefix: example
  providerRef:
    name: example-eksidentityproviderconfig
    region: us-east-1
  tags:
    environment: dev
    team: platform

Spec

FieldTypeRequiredDescription
clusterNamestringyesClusterName is the name of the EKS cluster.
identityProviderConfigNamestringyesIdentityProviderConfigName is the name of the identity provider configuration.
oidcobjectyesOIDC is the OIDC identity provider configuration.
oidc.clientIdstringyesClientID is the OIDC client application ID.
oidc.groupsClaimstring—GroupsClaim is the JWT claim to use for group membership.
oidc.groupsPrefixstring—GroupsPrefix is a prefix to prepend to group names.
oidc.issuerUrlstringyesIssuerURL is the OIDC provider URL.
oidc.requiredClaimsmap<string>—RequiredClaims are key-value pairs that must be present in the token.
oidc.usernameClaimstring—UsernameClaim is the JWT claim to use as the username.
oidc.usernamePrefixstring—UsernamePrefix is a prefix to prepend to usernames.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
tagsmap<string>—Tags are AWS resource tags to apply.

Status

FieldTypeRequiredDescription
arnstring—ARN is the ARN of the identity provider configuration.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
statusstring—Status is the current state of the configuration.

EKSNodeGroup # GA

EKSNodeGroup is the Schema for managing EKS Managed Node Groups.

kubectl get eksnodegroups · example on GitHub

Example

# EKSNodeGroup — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#eksnodegroup
apiVersion: aws.konfig.io/v1alpha1
kind: EKSNodeGroup
metadata:
  name: example-eksnodegroup
  namespace: default
spec:
  amiType: AL2_x86_64
  capacityType: ON_DEMAND
  clusterName: example-eksnodegroup
  clusterRef:
    clusterName: example-eksnodegroup
    name: example-eksnodegroup
  diskSize: 2
  instanceTypes:
  - example
  labels:
    key: value
  launchTemplate:
    name: example-eksnodegroup
    version: '1.0'
  nodeRepairConfig:
    enabled: true
  nodeRoleArn: arn:aws:iam::123456789012:role/example-role
  nodeRoleRef:
    name: example-noderole
  nodegroupName: example-eksnodegroup
  providerRef:
    name: example-eksnodegroup
    region: us-east-1
  releaseVersion: '1.0'
  remoteAccess:
    ec2SshKey: example
    sourceSecurityGroupRefs:
    - name: example-sourcesecuritygrouprefs
  scalingConfig:
    desiredSize: 1
    maxSize: 1
    minSize: 1
  subnetRefs:
  - name: example-subnetrefs
  tags:
    environment: dev
    team: platform
  taints:
  - effect: NO_SCHEDULE
    key: example
    value: example
  updateConfig:
    maxUnavailable: 1
    maxUnavailablePercentage: 1
  version: '1.0'

Spec

FieldTypeRequiredDescription
amiTypeenum—AmiType is the AMI type for nodes. Allowed: AL2_x86_64, AL2_x86_64_GPU, AL2_ARM_64, AL2023_x86_64_STANDARD, AL2023_ARM_64_STANDARD, BOTTLEROCKET_x86_64, BOTTLEROCKET_ARM_64, CUSTOM
capacityTypeenum—CapacityType is the capacity type: ON_DEMAND or SPOT. Allowed: ON_DEMAND, SPOT
clusterNamestring—ClusterName is the EKS cluster name.
clusterRefobject—ClusterRef references an EKSCluster CR in the same namespace.
clusterRef.clusterNamestring—ClusterName is a direct AWS EKS cluster name, bypassing CR lookup.
clusterRef.namestring—Name of an EKSCluster CR in the same namespace.
diskSizeinteger—DiskSize is the root EBS volume size in GiB.
instanceTypesarray<string>—InstanceTypes is the list of EC2 instance types.
labelsmap<string>—Labels are Kubernetes labels applied to nodes.
launchTemplateobject—LaunchTemplate is an optional custom launch template.
launchTemplate.idstring—ID is a direct AWS Launch Template ID.
launchTemplate.namestring—Name is a LaunchTemplate CR name in the same namespace.
launchTemplate.versionstring—Version is the launch template version.
nodeRepairConfigobject—NodeRepairConfig configures automatic node repair.
nodeRepairConfig.enabledbooleanyesEnabled enables automatic node repair.
nodeRoleArnstring—NodeRoleArn is the IAM role ARN for the node instances.
nodeRoleRefobject—NodeRoleRef references an IAMRole CR in the same namespace.
nodeRoleRef.arnstring—ARN is a direct AWS IAM role ARN.
nodeRoleRef.namestring—Name of an IAMRole CR in the same namespace.
nodeRoleRef.namespacestring—Namespace of the IAMRole CR.
nodegroupNamestringyesNodegroupName is the name of the node group.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
releaseVersionstring—ReleaseVersion is the AMI release version.
remoteAccessobject—RemoteAccess configures SSH access to nodes.
remoteAccess.ec2SshKeystring—EC2SshKey is the name of the EC2 key pair for SSH access.
remoteAccess.sourceSecurityGroupRefsarray<object>—SourceSecurityGroupRefs restricts SSH access to these security groups.
remoteAccess.sourceSecurityGroupRefs[].idstring—ID is a direct AWS Security Group ID (e.g.
remoteAccess.sourceSecurityGroupRefs[].namestring—Name of a SecurityGroup CR in the same namespace.
scalingConfigobjectyesScalingConfig defines the min/max/desired node counts.
scalingConfig.desiredSizeintegeryesDesiredSize is the desired number of nodes.
scalingConfig.maxSizeintegeryesMaxSize is the maximum number of nodes.
scalingConfig.minSizeintegeryesMinSize is the minimum number of nodes.
subnetRefsarray<object>yesSubnetRefs are the subnets to launch nodes in.
subnetRefs[].idstring—ID is a direct AWS Subnet ID (e.g.
subnetRefs[].namestring—Name of a Subnet CR in the same namespace.
tagsmap<string>—Tags are AWS resource tags.
taintsarray<object>—Taints are Kubernetes taints applied to nodes.
taints[].effectenumyesEffect specifies the taint effect. Allowed: NO_SCHEDULE, NO_EXECUTE, PREFER_NO_SCHEDULE
taints[].keystringyesKey is the taint key.
taints[].valuestring—Value is the taint value.
updateConfigobject—UpdateConfig defines rolling update behavior.
updateConfig.maxUnavailableinteger—MaxUnavailable is the maximum number of nodes unavailable during an update.
updateConfig.maxUnavailablePercentageinteger—MaxUnavailablePercentage is the maximum percentage of nodes unavailable during an update.
versionstring—Version is the Kubernetes version for the node group.

Status

FieldTypeRequiredDescription
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
nodegroupArnstring—NodegroupArn is the ARN of the node group.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
statusstring—Status is the node group status: CREATING, ACTIVE, UPDATING, DELETING, DEGRADED.

PodIdentityAssociation # GA

PodIdentityAssociation links a Kubernetes ServiceAccount to an AWS IAM Role via EKS Pod Identity.

kubectl get podidentityassociations · example on GitHub

Example

# PodIdentityAssociation — EKS
# Full-options example generated from the CRD schema. Optional fields are
# included with sample values; delete what you don't need. Field reference:
# https://konfig-konector.io/docs/eks.html#podidentityassociation
apiVersion: aws.konfig.io/v1alpha1
kind: PodIdentityAssociation
metadata:
  name: example-podidentityassociation
  namespace: default
spec:
  annotateServiceAccount: false
  clusterName: example-podidentityassociation
  providerRef:
    name: example-podidentityassociation
    region: us-east-1
  roleRef:
    name: example-role
  serviceAccountName: example-podidentityassociation
  tags:
    environment: dev
    team: platform
  targetNamespace: example

Spec

FieldTypeRequiredDescription
annotateServiceAccountboolean—AnnotateServiceAccount controls whether the operator also writes the eks.amazonaws.com/role-arn annotation on the target ServiceAccount (for IRSA compatibility).
clusterNamestringyesClusterName is the name of the EKS cluster.
providerRefobject—ProviderRef selects the AWSProvider (account/region) this resource is reconciled against.
providerRef.namestringyesName of a cluster-scoped AWSProvider.
providerRef.regionstring—Region overrides the provider's region for this resource only.
roleRefobjectyesRoleRef references the IAMRole CR or a direct ARN to bind to the ServiceAccount.
roleRef.arnstring—ARN is a direct AWS IAM role ARN.
roleRef.namestring—Name of an IAMRole CR in the same namespace.
roleRef.namespacestring—Namespace of the IAMRole CR.
serviceAccountNamestringyesServiceAccountName is the name of the Kubernetes ServiceAccount to bind.
tagsmap<string>—Tags are AWS resource tags applied to the association.
targetNamespacestringyesNamespace is the Kubernetes namespace of the target ServiceAccount.

Status

FieldTypeRequiredDescription
associationArnstring—AssociationARN is the ARN of the EKS Pod Identity association.
associationIdstring—AssociationID is the EKS Pod Identity association identifier.
awsProviderobject—AWSProvider confirms the account and region this resource was reconciled against.
awsProvider.accountIdstring—AccountID the resource lives in.
awsProvider.namestring—Name of the AWSProvider used; empty when the operator's own credentials were used.
awsProvider.regionstring—Region the resource lives in (empty for global services).
conditionsarray<object>—Conditions describe the current state of the resource.
conditions[].lastTransitionTimestringyeslastTransitionTime is the last time the condition transitioned from one status to another.
conditions[].messagestringyesmessage is a human readable message indicating details about the transition.
conditions[].observedGenerationinteger—observedGeneration represents the .metadata.generation that the condition was set based upon.
conditions[].reasonstringyesreason contains a programmatic identifier indicating the reason for the condition's last transition.
conditions[].statusenumyesstatus of the condition, one of True, False, Unknown. Allowed: True, False, Unknown
conditions[].typestringyestype of condition in CamelCase or in foo.example.com/CamelCase.
lastSyncTimestring—LastSyncTime is when the resource was last successfully reconciled.
observedGenerationinteger—ObservedGeneration is the most recent .metadata.generation reconciled.
roleArnstring—RoleARN is the resolved IAM role ARN.