Deployments: Docker/Helm/Kustomize quickstarts + demo agents#81
Merged
Deployments: Docker/Helm/Kustomize quickstarts + demo agents#81
Conversation
Refactors the Docker deployment documentation and configuration to improve clarity and flexibility for setting up control planes and agents. Key changes include: - Enhancing the README for Docker deployments with more detailed instructions for running agents in Docker, distinguishing between agents on the host and agents within the same Docker Compose network. - Adding specific guidance on using `host.docker.internal` for host-based agents and service names for agents within the same network. - Introducing new Docker Compose services for a demo Go agent and a demo Python agent, enabling them to be run with Docker Compose profiles. - Updating configuration options in `control-plane/internal/config/config.go` to include `mapstructure` tags, improving the flexibility of configuration loading. - Adding a new test case `TestLoadConfig_VCRequirementsFromConfigFile` to verify loading VC requirements from a configuration file. - Modifying the Python hello world example to use an environment variable for the AgentField server URL, making it more adaptable to different deployment scenarios. - Updating the Dockerized README to include validation steps for execution paths and Verifiable Credentials (VCs).
Updates the README files for Docker, Helm, and Kubernetes deployments to improve clarity and provide more streamlined quick-start guides. The changes include: - Simplifying the Docker Compose setup instructions. - Refining the Helm chart documentation to recommend PostgreSQL and the Python demo agent by default. - Streamlining the Kubernetes manifests to suggest the Python demo agent overlay as a recommended starting point. - Modifying the Python demo agent deployment in Kubernetes to directly install the AgentField SDK from PyPI instead of relying on a pre-built local image. This simplifies the local development workflow for the Python agent.
Adds instructions for waiting for demo agents to become ready and for building/loading the Go demo agent image with Minikube. Also includes an example of how to use the API key when authentication is enabled. Updates the control plane deployment configuration to default `AGENTFIELD_CONFIG_FILE` to `/dev/null`. Adjusts the kustomization file for the postgres demo overlay to use the standard `patches` key.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds a complete set of “evaluate AgentField” deployment options with consistent docs across Docker Compose, Helm, and plain Kubernetes manifests (Kustomize). Includes runnable demo agents and clearer guidance around agent callback/public URLs (Docker vs Kubernetes).
What changed
Docker (local)
deployments/docker/README.mdwith a quick start, execute examples, and VC validation steps.deployments/docker/docker-compose.ymlwith optional demo agents:demo-go-agent(default)demo-python-agent(enabled via Compose profilepython-demo)deployments/docker/Dockerfile.demo-go-agentdeployments/docker/Dockerfile.demo-python-agentHelm (Kubernetes)
deployments/helm/agentfieldthat installs:values.yaml+values.schema.jsonand a recommended quick start indeployments/helm/agentfield/README.md.AGENTFIELD_CONFIG_FILE=/dev/nullso installs work without requiring a mounted config file.Kubernetes (Kustomize)
deployments/kubernetes/overlays/python-demo(recommended; installs the Python SDK from PyPI at startup)deployments/kubernetes/overlays/local-demo(Go demo agent; requires a custom image)deployments/kubernetes/overlays/postgres-demo(PostgreSQL + Go demo agent; production-like storage)deployments/kubernetes/README.mdwith quickstart, wait-for-ready commands, and VC checks.Control plane config + docs polish
mapstructuretags to config structs so Viper config/env loading is more reliable for nested keys.TestLoadConfig_VCRequirementsFromConfigFileto validatefeatures.did.vc_requirements.*loads from YAML.docs/ENVIRONMENT_VARIABLES.mdwith clearer Docker/K8s callback URL guidance and Postgres DSN examples.AGENTFIELD_URL.Testing
Executed locally:
cd control-plane && go test ./...helm lint deployments/helm/agentfieldhelm template agentfield deployments/helm/agentfield -n agentfield --set postgres.enabled=true --set controlPlane.storage.mode=postgres --set demoPythonAgent.enabled=truekubectl kustomize deployments/kubernetes/overlays/python-demokubectl kustomize deployments/kubernetes/overlays/local-demokubectl kustomize deployments/kubernetes/overlays/postgres-demodocker compose --profile python-demo up --build+curl /api/v1/execute/...TODO:
Notes for reviewers
python-demooverlay installs Python dependencies at container startup; clusters need outbound network access (or swap to a prebuilt image).