deployment-automation_skill

This skill automates end-to-end Muni deployments to rovers and depot, handling cross-compilation, config, services, and rollback procedures.
  • Rust

28

GitHub Stars

1

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill ecto/muni --skill deployment-automation

  • SKILL.md17.0 KB

Overview

This skill guides automated deployment of Municipal Robotics (Muni) software to heterogeneous targets: aarch64 rovers and an x86_64 depot. It covers cross-compilation with the cross tool, the deploy.sh workflow for rovers, systemd service management, and Docker Compose-based depot orchestration. Use it to perform firmware updates, service installs, environment configuration, and rollbacks.

How this skill works

For rovers the skill builds ARM64 binaries (recommended via cross), copies artifacts over SSH/SCP, installs systemd units and config files, and restarts services using deploy.sh. For the depot it uses Docker Compose: build, start, and manage profiles (.env driven), volumes, and rolling updates for containerized services. It also documents troubleshooting, backups, and optional CI integration.

When to use it

  • Deploy a new firmware or CLI binary to a rover (aarch64).
  • Install or update systemd service units and runtime config on rovers.
  • Bring up or update the depot stack with Docker Compose and profiles.
  • Perform rollback after a failing rover deployment.
  • Troubleshoot failed builds, SSH issues, or container startup failures.

Best practices

  • Use cross (Docker-backed) for reliable aarch64 cross-compilation instead of fragile native toolchains.
  • Keep a previous binary as a backup on each rover to enable fast rollbacks.
  • Version-control and securely store .env files; restrict permissions (chmod 600).
  • Run rolling updates for depot services one at a time and monitor logs/health checks.
  • Automate builds and depot deployments in CI with gated image publishing and registry credentials.

Example use cases

  • Build and deploy bvrd to frog-0: cross build -> ./deploy.sh frog-0 --all -> verify systemd status.
  • Push a config change: edit bvr.toml locally -> ./deploy.sh frog-0 --config -> confirm service loads new settings.
  • Enable GPU profile on depot for mapping: docker compose --profile gpu up -d and monitor splat-worker logs.
  • Update discovery service only: git pull -> docker compose build discovery -> docker compose up -d discovery.
  • Recover a bad deploy: stop bvrd, mv bvrd.backup to bvrd, start service.

FAQ

cross provides a consistent Docker toolchain that handles native dependencies and complex builds that often fail with manual cross-compilation.

Which services require restart after changing .env?

Services that read environment variables at startup need restart: console, influxdb, grafana, discovery, and dispatch among others.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational