Deployment Options
- MeshAgent CLI: Automate deployments and integrate with CI/CD workflows. The CLI accepts both
kind: Serviceandkind: ServiceTemplatemanifests. Usemeshagent service validate-templateto validate templates andmeshagent service create-template/update-templateto deploy them with values. - MeshAgent Studio: Deploy and manage services through the web UI at studio.meshagent.com
- Powerboards Install Links: Install services directly into Powerboards (room services only).
Before you deploy
For common agents (like chatbots and voicebots) you can use the CLI to deploy the agent in one step (e.g.meshagent chatbot deploy...)
For custom services, you can deploy from the MeshAgent Studio UI, or you’ll need to create a service configuration file (meshagent.yaml) that specifies either:
- Containerized services: Container image, commands, and applicable environment variables or secrets.
- External services: URL where your service is already running.
ServiceTemplate, provide values at deploy time using --values-file or --value. You can also validate the template first with meshagent service validate-template.
For kind: Service manifests, validate locally with meshagent service validate before deploying.
Example: Deploy a Custom ChatBot
Step 1: Create the agent file
Let’s create a simple chatbot that can be deployed as a project or room service. We’ll add the container image andmeshagent.yaml next.
- main.py: A MeshAgent-native chatbot service using ServiceHost
Step 2: Choose a container layout
You can package the service in two ways. The example YAML below uses the runtime image + code image mount layout. Option A: Runtime image + code image mount (matches the sample YAML) Build a code-only image that just ships your source to/src:
Dockerfile
container.image points to a runtime image (for example meshagent/python-sdk-slim), and container.storage.images mounts the code-only image into the container. The command runs from the mounted path.
This approach is the recommended path because it allows you to use existing optimized MeshAgent base images with small code-only images that can be pulled and run quickly.
Option B: Single image (self-contained)
Build a single image that includes the runtime and your code:
Dockerfile
Step 3: Build and push the container image(s)
Build and push the Docker image(s) to your registry. Make sure$IMAGE and $TAG are set for your repo. You can skip this step and still run the example by using the public docs example image in the meshagent.yaml file below.
Note: We recommend docker buildx because it supports cross-platform builds, pushes directly to your registry in one step, and enables optional layer caching for much faster CI builds.
Step 4: Configure the meshagent.yaml file
Update the container section of the YAML file to use your image(s) (if applicable). The example below uses the runtime + code image mount pattern from the standard agent samples. If you follow the single-image path, update container.image, remove storage.images, and adjust command to match your entrypoint or file path.
meshagent.agent.schedule annotation to the relevant agent in meshagent.yaml (cron or one-time). See the packaging guide for the annotation format and the Scheduled Tasks API for programmatic management.
For more details on the configuration files see the packaging services documentation. Don’t forget to add a pull_secret parameter to the container section of the manifest if you are pulling from a private repository.
Step 5: Deploy the Service
Deploy via CLI
We can deploy the service to the entire project or to a specific room. To deploy to the entire project, omit--room. To deploy to a specific room, include --room <room>.
bash
ServiceTemplate, validate it and provide values when deploying:
bash
Deploy from MeshAgent Studio
You can also deploy and manage services from MeshAgent Studio. Project Service- Visit studio.meshagent.com and select your project
- Select the Services tab and choose New Service
- Provide the required information
- Save the configuration
- Visit studio.meshagent.com and open a specific room
- Select the menu icon on a room then Services then click New Service
- Provide the required information
- Save the configuration
Step 6: Use the Service
Now that your service is deployed, try it out in MeshAgent Studio. Project Services If you deployed the agent as a project service, it will appear under the Services tab of the UI. To use the service, simply start a new session in any room and enter the room, the chatbot will appear in the participants tab for you to interact with. Room Services If you deployed the agent to a specific room, it will appear in the room services menu. When you start the room, the service will come up and you can begin using it.Update an Existing Service
If you make modifications to your service, you can easily update it using the MeshAgent CLI.bash