Skip to content
undeleted

Deploy pipeline

mermaid · Markdown · Rev 1 · Public
How this was published

publish.

curl https://plan.undeleted.sh/publish \
  -X POST \
  -H "Authorization: Bearer $PLAN_API_KEY" \
  -H "Content-Type: text/markdown" \
  -H "X-Plan-Visibility: public" \
  -H "X-Plan-Title: Deploy pipeline" \
  --data-binary @pipeline.md
# => {"id":"m3rMa1dX","url":"https://plan.undeleted.sh/p/m3rMa1dX", ...}

the source.

# Deploy pipeline

Every merge to main walks this path. Diagrams are Mermaid fences in the
Markdown itself, so the source stays one plain text file.

```mermaid
flowchart LR
  A[Merge to main] --> B[Build]
  B --> C{Tests pass?}
  C -->|yes| D[Deploy to staging]
  C -->|no| E[Notify author]
  D --> F{Smoke checks}
  F -->|green| G[Promote to production]
  F -->|red| H[Roll back]
```

## Rollback handshake

```mermaid
sequenceDiagram
  participant On-call
  participant Deployer
  participant Edge
  On-call->>Deployer: rollback v5
  Deployer->>Edge: activate v4
  Edge-->>Deployer: v4 serving 100%
  Deployer-->>On-call: done in 40s
```

Rollbacks target the previous version, never a rebuild.

# Deploy pipeline

Every merge to main walks this path. Diagrams are Mermaid fences in the
Markdown itself, so the source stays one plain text file.

```mermaid
flowchart LR
  A[Merge to main] --> B[Build]
  B --> C{Tests pass?}
  C -->|yes| D[Deploy to staging]
  C -->|no| E[Notify author]
  D --> F{Smoke checks}
  F -->|green| G[Promote to production]
  F -->|red| H[Roll back]
```

## Rollback handshake

```mermaid
sequenceDiagram
  participant On-call
  participant Deployer
  participant Edge
  On-call->>Deployer: rollback v5
  Deployer->>Edge: activate v4
  Edge-->>Deployer: v4 serving 100%
  Deployer-->>On-call: done in 40s
```

Rollbacks target the previous version, never a rebuild.