diff --git a/AGENTS.md b/AGENTS.md index 23f751c3c..c19de58fb 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -63,7 +63,7 @@ Agent Substrate uses a `Makefile` for its build and test tasks. 1. Write tests for all new code. We will not merge code that lacks tests. 2. Ensure changes do not break existing tests. 3. Run `make verify` locally before requesting a code review to catch common issues like missed copyright headers or formatting drift. -4. For end-to-end tests involving the actual infrastructure, ensure you have a running cluster (setup via `hack/ate-dev-env.sh.example` and `go run ./tools/setup-gcp --all`). +4. For end-to-end tests involving the actual infrastructure, ensure you have a running cluster (setup via `hack/ate-dev-env.sh.example` and `go run ./tools/setup-gcp bootstrap`). ## Security Considerations diff --git a/COLLABORATING.md b/COLLABORATING.md index 6de64c3b4..2cba4c1ea 100644 --- a/COLLABORATING.md +++ b/COLLABORATING.md @@ -90,7 +90,7 @@ community, and it helps prevent silos from forming within the community. We want to move quickly, but we also want to be respectful of each other's time. For the sake of consistency, this project's "working hours" are Monday -to Friday, 8am to 8pm, US Pacific Time (GMT-7). Please avoid merging PRs late +to Friday, 8am to 8pm, US Pacific Time (PT). Please avoid merging PRs late at night or on weekends, unless it is an urgent fix. This allows for people to have a better work-life balance and prevents burnout. If you do need to merge something outside of normal working hours, please try to give a heads up to the diff --git a/README.md b/README.md index 0f3d9d2fa..231a4be09 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ go install ./cmd/kubectl-ate # create an atespace (required before creating actors), then a counter actor in it kubectl ate create atespace demo -kubectl ate create actor my-counter-1 -a demo --template ate-demo-counter/counter +kubectl ate create actor my-counter-1 -a demo --template=ate-demo-counter/counter # port-forward the network router to bind to local port `8000` kubectl port-forward -n ate-system svc/atenet-router 8000:80 @@ -147,7 +147,7 @@ curl -X POST -H "Host: my-counter-1.demo.actors.resources.substrate.ate.dev" -i go run ./tools/setup-gcp bootstrap ``` -4. Deploy the Agent Substrate system to your cluster (remember to navigate back to root directory of this repo before running the following commands): +4. Deploy the Agent Substrate system to your cluster: ```bash ./hack/install-ate.sh --deploy-ate-system ``` diff --git a/docs/api-guide.md b/docs/api-guide.md index a67776c75..719d14e8f 100644 --- a/docs/api-guide.md +++ b/docs/api-guide.md @@ -156,6 +156,7 @@ metadata: spec: # No sandbox/runsc config here — the binaries come from the WorkerPool's # SandboxConfig (see section 3). + # GKE clusters: use gcr.io/gke-release/pause. Other clusters: registry.k8s.io/pause:3.9 pauseImage: "gcr.io/gke-release/pause@sha256:bcbd57ba5653580ec647b16d8163cdd1112df3609129b01f912a8032e48265da" containers: - name: agent @@ -260,7 +261,7 @@ Activates a suspended actor by restoring it onto a physical worker. * **Request:** `ResumeActorRequest` * `actor`: `ObjectRef` of the actor to resume. * `boot`: (Optional) If `true`, bypasses snapshots and performs a cold boot. -* **Response:** `ResumeActorResponse` containing the updated `Actor` object (including the physical `worker_ip`). +* **Response:** `ResumeActorResponse` containing the updated `Actor` object (including the physical `ateom_pod_ip`). #### `SuspendActor` Hibernate a running actor, capturing its current RAM and disk state into a snapshot. diff --git a/docs/architecture.md b/docs/architecture.md index a29251446..62d804253 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -52,7 +52,7 @@ Standard Kubernetes Pods are simply too heavy for many agentic workloads. ### Terminology: "Actor" Agent Substrate seeks to solve these problems for "agent-like" workloads. -Often we simply say "agents", but it's important clarify that "agent-like" +Often we simply say "agents", but it's important to clarify that "agent-like" workloads are not necessarily literally AI agents. In most of the docs we instead use the term "actor" to refer to an instance of an agent-like workload. @@ -167,7 +167,7 @@ There are a few different personas that interact with the system: 2) **Substrate admins**: These are the people who set up and own the Agent Substrate instance(s) in a Kubernetes cluster. They are obviously aware that it is running in a Kubernetes cluster, and are responsible for - configuring the Kubernetes resources for it (such as WarmPools). + configuring the Kubernetes resources for it (such as WorkerPools). 3) **Agent developers**: These are the people who deploy agents into a substrate for users or higher-level systems to consume. They might have to be aware diff --git a/docs/dev/best-practices/tracing.md b/docs/dev/best-practices/tracing.md index 916d579ae..c3677db68 100644 --- a/docs/dev/best-practices/tracing.md +++ b/docs/dev/best-practices/tracing.md @@ -58,7 +58,7 @@ The YAML manifest for your server should include the `OTEL_EXPORTER_OTLP_ENDPOIN - name: ateapi image: ko://github.com/agent-substrate/substrate/cmd/ateapi ports: - - "443:443" + - containerPort: 443 env: # Tracing related environment variables - name: OTEL_EXPORTER_OTLP_ENDPOINT diff --git a/docs/dev/valkey-direct-access.md b/docs/dev/valkey-direct-access.md index 8bae8f359..1dbf508ae 100644 --- a/docs/dev/valkey-direct-access.md +++ b/docs/dev/valkey-direct-access.md @@ -6,5 +6,4 @@ Valkey is the state store used by `ate-api-server` to track actor and worker rec To open a `valkey-cli` session: -1. `kubectl exec -n=ate-system -it valkey-cluster-0 -- valkey-cli -h valkey-cluster-service -c --tls --cacert /etc/valkey-ca/ca.crt --cer -t /run/servicedns.podcert.ate.dev/credential-bundle.pem --key /run/servicedns.podcert.ate.dev/credential-bundle.pem` +1. `kubectl exec -n=ate-system -it valkey-cluster-0 -- valkey-cli -h valkey-cluster-service -c --tls --cacert /etc/valkey-ca/ca.crt --cert /run/servicedns.podcert.ate.dev/credential-bundle.pem --key /run/servicedns.podcert.ate.dev/credential-bundle.pem` diff --git a/docs/observability.md b/docs/observability.md index bbe9aeee4..303f054a8 100644 --- a/docs/observability.md +++ b/docs/observability.md @@ -74,21 +74,21 @@ Because the logging pipeline indexes the core metadata labels, you can query you To track the unified, continuous lifecycle of a single actor regardless of how many times it migrated across worker pods or was suspended/resumed: ```text -labels.actor_name="test" +labels."ate.dev/actor_name"="test" ``` #### 2. Atespace-Centric View To monitor or debug all actor instances in a specific atespace (e.g., analyzing the collective behavior or error rates of all actors belonging to one tenant): ```text -labels.actor_atespace="ate-demo-counter" +labels."ate.dev/actor_atespace"="ate-demo-counter" ``` #### 3. Template-Centric View To monitor or debug all actor instances created from a specific ActorTemplate (e.g., analyzing the collective behavior or error rates of all counter actors). One atespace can run actors from many templates, so this is a distinct dimension from the atespace view above: ```text -labels.actor_template_name="counter" +labels."ate.dev/actor_template_name"="counter" ``` #### 4. Pod-Centric View