mirror of
https://github.com/mulgadc/spinifex.git
synced 2026-10-20 03:11:46 +00:00
102 lines
4.4 KiB
Markdown
102 lines
4.4 KiB
Markdown
---
|
|
title: "EKS API Coverage"
|
|
seoTitle: "Elastic Kubernetes Service API Coverage — Spinifex Docs"
|
|
description: "Every operation in the Amazon EKS API model and whether Spinifex implements it, covering clusters, nodegroups, add-ons and access entries on each build."
|
|
category: "Coverage"
|
|
sections:
|
|
- overview
|
|
tags:
|
|
- aws
|
|
- compatibility
|
|
- coverage
|
|
- eks
|
|
- kubernetes
|
|
- containers
|
|
---
|
|
|
|
# EKS API Coverage
|
|
|
|
## Overview
|
|
|
|
Spinifex implements **34 of the 56** operations in the EKS `2017-11-01` API model, as pinned in `aws-sdk-go v1.55.8` — **60.7%**.
|
|
|
|
### Routing
|
|
|
|
EKS is REST-JSON, dispatched by HTTP method and path rather than by an action parameter, so the gateway's routing table is the authoritative list of what it serves. Clusters run K3s on control-plane VMs; nodegroups are EC2 instances joined to them.
|
|
|
|
### Internal routes
|
|
|
|
Four routes on this surface are internal, not AWS actions, and appear in the table below as registered outside the pinned model:
|
|
|
|
- `PublishInternal` — the control-plane VM broker, relaying bootstrap and state posts onto the message bus.
|
|
- `WebhookTokenReview` — the token webhook posting bearer tokens for host-side resolution.
|
|
- `ListInternalAddons` — the on-VM add-on sync agent fetching its staged manifests.
|
|
- `GetRecoveryDirective` — the on-VM recovery agent reading its per-member directive at boot.
|
|
|
|
None is callable with an ordinary tenant credential. Each names the target account in the path rather than taking it from the credential, so each requires a control-plane instance-role session bound to the named cluster; a broad `eks:*` grant does not reach them.
|
|
|
|
### Operations
|
|
|
|
| Operation | Status |
|
|
|---|---|
|
|
| `AssociateAccessPolicy` | ✅ Implemented |
|
|
| `AssociateEncryptionConfig` | ❌ Not implemented |
|
|
| `AssociateIdentityProviderConfig` | ✅ Implemented |
|
|
| `CreateAccessEntry` | ✅ Implemented |
|
|
| `CreateAddon` | ✅ Implemented |
|
|
| `CreateCluster` | ✅ Implemented |
|
|
| `CreateEksAnywhereSubscription` | ❌ Not implemented |
|
|
| `CreateFargateProfile` | ❌ Not implemented |
|
|
| `CreateNodegroup` | ✅ Implemented |
|
|
| `CreatePodIdentityAssociation` | ❌ Not implemented |
|
|
| `DeleteAccessEntry` | ✅ Implemented |
|
|
| `DeleteAddon` | ✅ Implemented |
|
|
| `DeleteCluster` | ✅ Implemented |
|
|
| `DeleteEksAnywhereSubscription` | ❌ Not implemented |
|
|
| `DeleteFargateProfile` | ❌ Not implemented |
|
|
| `DeleteNodegroup` | ✅ Implemented |
|
|
| `DeletePodIdentityAssociation` | ❌ Not implemented |
|
|
| `DeregisterCluster` | ❌ Not implemented |
|
|
| `DescribeAccessEntry` | ✅ Implemented |
|
|
| `DescribeAddon` | ✅ Implemented |
|
|
| `DescribeAddonConfiguration` | ❌ Not implemented |
|
|
| `DescribeAddonVersions` | ✅ Implemented |
|
|
| `DescribeCluster` | ✅ Implemented |
|
|
| `DescribeEksAnywhereSubscription` | ❌ Not implemented |
|
|
| `DescribeFargateProfile` | ❌ Not implemented |
|
|
| `DescribeIdentityProviderConfig` | ✅ Implemented |
|
|
| `DescribeInsight` | ❌ Not implemented |
|
|
| `DescribeNodegroup` | ✅ Implemented |
|
|
| `DescribePodIdentityAssociation` | ❌ Not implemented |
|
|
| `DescribeUpdate` | ❌ Not implemented |
|
|
| `DisassociateAccessPolicy` | ✅ Implemented |
|
|
| `DisassociateIdentityProviderConfig` | ✅ Implemented |
|
|
| `ListAccessEntries` | ✅ Implemented |
|
|
| `ListAccessPolicies` | ✅ Implemented |
|
|
| `ListAddons` | ✅ Implemented |
|
|
| `ListAssociatedAccessPolicies` | ✅ Implemented |
|
|
| `ListClusters` | ✅ Implemented |
|
|
| `ListEksAnywhereSubscriptions` | ❌ Not implemented |
|
|
| `ListFargateProfiles` | ❌ Not implemented |
|
|
| `ListIdentityProviderConfigs` | ✅ Implemented |
|
|
| `ListInsights` | ❌ Not implemented |
|
|
| `ListNodegroups` | ✅ Implemented |
|
|
| `ListPodIdentityAssociations` | ❌ Not implemented |
|
|
| `ListTagsForResource` | ✅ Implemented |
|
|
| `ListUpdates` | ❌ Not implemented |
|
|
| `RegisterCluster` | ❌ Not implemented |
|
|
| `TagResource` | ✅ Implemented |
|
|
| `UntagResource` | ✅ Implemented |
|
|
| `UpdateAccessEntry` | ✅ Implemented |
|
|
| `UpdateAddon` | ✅ Implemented |
|
|
| `UpdateClusterConfig` | ✅ Implemented |
|
|
| `UpdateClusterVersion` | ✅ Implemented |
|
|
| `UpdateEksAnywhereSubscription` | ❌ Not implemented |
|
|
| `UpdateNodegroupConfig` | ✅ Implemented |
|
|
| `UpdateNodegroupVersion` | ✅ Implemented |
|
|
| `UpdatePodIdentityAssociation` | ❌ Not implemented |
|
|
| `GetRecoveryDirective` | 🔒 Outside the pinned model |
|
|
| `ListInternalAddons` | 🔒 Outside the pinned model |
|
|
| `PublishInternal` | 🔒 Outside the pinned model |
|
|
| `WebhookTokenReview` | 🔒 Outside the pinned model |
|