> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Updates & Maintenance

> Seamless updates with automatic health checks and rollbacks

## What It Does

Tell Monk to deploy. Or push to git if you've [set up CI/CD](/features/build-and-cicd). Monk handles the rest — deployment, health checks, rollback if anything breaks.

Infrastructure changes, workload changes, API configurations, dependency upgrades — all applied automatically.

## How Updates Work

### Method 1: Direct Deployment

Tell Monk what you want:

```
You: Deploy the latest changes
```

Monk detects what changed, updates containers, applies new config, and verifies everything works.

### Method 2: Automatic via CI/CD

If you've [set up CI/CD](/features/build-and-cicd):

1. Push changes to your repository
2. CI pipeline triggers automatically
3. Monk deploys to production
4. Health checks verify the deployment

That's it.

### What Gets Updated

On every deploy, Monk handles:

**Application** — code changes, environment variables, container images, resource allocation (memory, CPU).

**Infrastructure** — new services added, removed services cleaned up, network routing updated, firewall rules adjusted.

**API configuration** — webhook URLs (Stripe, Auth0, etc.), OAuth callbacks, third-party API resources. See [APIs](/features/apis).

**Dependencies** — databases, caches, queues, and other supporting services upgraded to latest stable versions from the [package ecosystem](/features/service-templates). Data preserved.

All applied with zero downtime.

## Health Checks & Rollback

Monk doesn't consider a deployment done until it's verified.

**During rollout:**

* New containers must start successfully
* Services must respond to health endpoints
* Database connections must establish
* All dependencies must be reachable
* Traffic shifts gradually to the new version
* Old version stays live during transition

**If something fails:**

Monk reverts automatically. No manual intervention. The old version keeps running. You get notified.

### Manual Rollback

Keep your app and Monk config in git. Rolling back is straightforward:

1. Check out a previous commit: `git checkout <previous-commit>`
2. Tell Monk: `deploy this version`
3. Done — application, containers, infrastructure, service wiring all rolled back

With CI/CD, just push the previous commit. The pipeline handles it.

Monk treats your git history as your deployment history. Any commit can be deployed.

## OS & Runtime Updates

<Info>Automatic OS and runtime updates — rolling VM patches, security updates, orchestrator self-updates — are on the roadmap. [Vote on what to prioritize](https://monk.io/roadmap).</Info>

<CardGroup cols={2}>
  <Card icon="code-branch" title="Build & CI/CD" href="/features/build-and-cicd">
    Automatic deployments on every push.
  </Card>

  <Card icon="heart-pulse" title="Monitoring" href="/features/monitoring">
    Health checks, alerts, and validation.
  </Card>
</CardGroup>
