| `instance_id` | EC2 instance ID to connect to | yes _(or `instance_name`)_ |
| `instance_name` | EC2 instance Name tag to connect to | yes _(or `instance_id`)_ |
| `remote_port` | Port on the remote instance | yes |
| `remote_host` | Remote host for advanced port forwarding scenarios | no |
| `local_port` | Local port to bind (auto-allocated if not specified) | no |
@@ -137,6 +138,8 @@ This API starts an [AWS Systems Manager (SSM) port forwarding session](https://d
| `env_ctx` | the [environment context to consider](#the-notion-of-env_ctx) | no _(can be guessed)_ |
| `role_arn` | AWS IAM role ARN to assume | no _(can be retrieved from env)_ |
> **Note:** You must provide either `instance_id` or `instance_name`. If `instance_name` is provided, the API will look up the instance ID by the EC2 `Name` tag (only running instances are considered).
### `GET /kubeconfig`
This API generates a complete kubeconfig file for an AWS EKS cluster with a valid authentication token.
@@ -177,7 +180,10 @@ You can also **force SSM tunneling** for public clusters by providing the `insta
| `ttl_minutes` | Time-to-live for the token in minutes (max: 15) | no | `15` |
| `namespace` | Default namespace for kubectl context | no | `default` |
| `user_name` | Username in the kubeconfig | no | `kubectl-user` |
| `instance_id` | EC2 instance ID for SSM port forwarding | **yes** _(for private clusters only)_ | - |
| `instance_id` | EC2 instance ID for SSM port forwarding | **yes** _(for private clusters only, or use `instance_name`)_ | - |
| `instance_name` | EC2 instance Name tag for SSM port forwarding | **yes** _(for private clusters only, or use `instance_id`)_ | - |
> **Note:** For private clusters, you must provide either `instance_id` or `instance_name`. If `instance_name` is provided, the API will look up the instance ID by the EC2 `Name` tag.