agent-substrate / agent-substrate/substrate

Add `kubectl ate proxy actor` for simple local connectivity

Open
#213 1 comment 0 reactions 1 assignee Claimed by @Rachit-Gandhi View on GitHub
area/cli area/network kind/feature
Dominant language
Go
Stars
1.8k
Forks
316
Avg merge
2d 43m
Merged PRs (30d)
287

Description

In substrate's networking model, each actor gets a stable DNS name that can be resolved within the cluster. For a given actor, it's dns name is `.actors.resources.substrate.ate.dev`.

This all works fine when the client application is running within the cluster, as substrate augments the cluster DNS resolution to resolve `*.actors.resources.substrate.ate.dev` names. However, it introduces friction for actor developers when trying to connect to a given actor from outside the cluster, for example, from a local dev machine.

Something we could consider is adding a `kubectl ate proxy actor` command, which works similar to `kubectl proxy`.

When a user runs `kubectl ate proxy actor my-sandbox-1 --port:8080` we could start a reverse HTTP proxy on the given port, which injects the Host header for the actor (e.g. `Host: my-sandbox-2.actors.resources.substrate.k8s.io`) and sends the request to ate router (atenet).

Then the user can just run (using the sandbox demo app):

```
curl -X POST http://localhost:8888/process -H "Content-Type: application/json" -d '{"command": ["ls", "-la"]}'
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.