Deploy your first agent
This procedure deploys an agent from a container image, and then sends a message to the agent. Complete Quickstart on Kubernetes and Configure a model first.
If you installed with the --with-examples option, the weather agent and tool are present. Go to
Step 2.
Step 1: deploy the agent
-
Open the console at
http://rossoctl-ui.localtest.me:8080and select Agents. -
Select Import new agent.
-
Select Deploy from existing image. Enter this image address:
ghcr.io/rossoctl/examples/weather-service:latest -
Set the environment variables. Select the ollama preset or the openai preset, or import a
.envfile from GitHub. The sample agent also needs the address of its tool:MCP_URL=http://weather-tool:8080/mcp -
To reach the agent from outside the cluster, select Enable external access to the agent endpoint.
-
Select Deploy.
Rossoctl creates a Deployment and a Service. It adds an AgentRuntime resource, which puts the
workload in the platform. If you enabled external access, it also creates an HTTPRoute.
Step 2: send a message to the agent
- Select the agent in the Agents list.
- Select the Details tab.
- Select Chat.
- Ask a question that needs the tool. For example:
What is the weather in Dublin?
If the agent answers, the agent and the tool communicate through the platform.
What Rossoctl did
The operator found the AgentRuntime resource and did four things:
- It added the label
rossoctl.io/type: agentto the workload. - It injected the RossoCortex sidecars, which are the proxy, the identity helper and the client registration.
- It registered the workload as an OAuth client in Keycloak.
- It created an
AgentCardresource, read the card of the agent from/.well-known/agent-card.json, and validated the signature of the card.
Each request to the agent, and each request from the agent, now passes through RossoCortex. See RossoCortex.
To build the agent from source instead
If your agent is in a Git repository and not in a registry, Rossoctl can build it. You need the
--with-builds option at installation time, and 6 available CPUs.
The repository must be on GitHub and must be reachable with the token that you gave to the installer.
The agent must be in a subdirectory that contains a Dockerfile. The agent must not be in the root
directory of the repository.
For the build options, the build strategies and the registries, see Deploy an agent.
If the procedure fails
| What you see | The usual cause |
|---|---|
Init:ErrImagePull or Init:ImagePullBackOff | Your GitHub token is expired. It needs the repo, write:packages and read:packages permissions. |
| The chat returns the status 503, and the log of the agent shows a reset connection | The model is not reachable. Confirm that ollama serve is active. |
The agent stays in the Pending state | The node has insufficient CPU. See Before you start. |
The build pod stays in Pending with Insufficient cpu | The same cause. Deploy from an image, or give the runtime 6 CPUs. |
For more information, see Troubleshooting.
Next
- Connect your first tool.
- Bring your own agent gives the requirements for your own code.