Skip to content

Commit 6fc2191

Browse files
author
github-actions
committed
Sync docs from ops-cli repo
1 parent 5f36440 commit 6fc2191

15 files changed

Lines changed: 153 additions & 151 deletions

docs/docs-backup/guides/backup-instance.mdx renamed to docs/docs-backup/backup/create.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Back up your Infrahub instance
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide walks you through creating a comprehensive backup of your Infrahub instance. If you need to protect your data, prepare for upgrades, or establish disaster recovery procedures, follow these steps to create reliable backups.
8+
Create a comprehensive backup of an Infrahub instance on Docker Compose. Follow these steps to protect your data before an upgrade or to establish a disaster-recovery routine.
99

1010
## Community edition support
1111

@@ -188,7 +188,7 @@ infrahub-backup restore infrahub_backups/infrahub_backup_20250929_143022.tar.gz
188188

189189
### Automated backups with cron
190190

191-
You can either use a [systemd timer](install#system-service-installation) or regular cron.
191+
You can either use a [systemd timer](./install#system-service-installation) or regular cron.
192192

193193
Create a cron job for regular backups:
194194

@@ -321,5 +321,5 @@ Confirm your backup strategy works:
321321

322322
## Related resources
323323

324-
- [Restore from a backup](./restore-backup.mdx)
324+
- [Restore from a backup](./restore.mdx)
325325
- [CLI command reference](../reference/commands.mdx)

docs/docs-backup/backup/index.mdx

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: Infrahub Backup
3+
---
4+
5+
Use Infrahub Backup to create and restore verifiable recovery points for an Infrahub deployment. Run it as a CLI against Docker Compose, or as a Helm chart on Kubernetes, to capture the graph database and the task-manager database as a single archive you can restore from later. Artifact storage lives outside those databases, so you snapshot it as a separate, coordinated step to keep a recovery complete.
6+
7+
## Why reliable backups matter
8+
9+
Infrahub keeps critical infrastructure state across several systems: the Neo4j graph database, the PostgreSQL database behind the task manager, and external artifact storage. If any piece is lost or corrupted, you can end up with drifted configuration, orphaned tasks, or a deployment that no longer starts. Regulatory and business-continuity requirements often call for auditable recovery procedures, so ad-hoc database dumps are rarely enough — you need consistent, verifiable recovery points.
10+
11+
## How it works
12+
13+
Infrahub Backup coordinates backup and restore across deployment targets. During a backup it captures each database with the correct credentials and packages everything so a restore is deterministic. Enterprise deployments are backed up online, with no downtime; Community Edition is dumped offline, so the tool first stops the Infrahub services and restarts them once the snapshot is complete. During a restore it brings services back in dependency order, reapplies the data, and records logs so you can confirm the operation succeeded. The CLI runs the provider-specific Docker or Kubernetes commands for you and sequences each step.
14+
15+
On Kubernetes, the `infrahub-backup` Helm chart manages backups declaratively through your existing GitOps pipeline. Schedule backups with a CronJob, push archives to S3-compatible storage, and run restores — all without direct kubectl access.
16+
17+
## High availability
18+
19+
Infrahub Backup supports high availability (HA) deployments on both Kubernetes and Docker Compose:
20+
21+
- **Kubernetes**: HA PostgreSQL is supported through [CloudNativePG](https://cloudnative-pg.io/) only. The tool detects the primary pod and targets it during backup and restore — no extra configuration needed.
22+
- **Docker Compose**: HA setups require stopping the `task-manager` and `task-manager-background-svc` containers before a restore, to keep them from accessing the database while data is replaced. See [Restore from a backup](./restore.mdx#docker-high-availability-deployments).
23+
24+
## Community edition support
25+
26+
Infrahub Backup works with Infrahub Community Edition as well as Enterprise deployments. A backup against Community Edition stops the Infrahub service while the snapshot is taken, so plan for a short interruption. A restore must target the same edition that produced the backup — Enterprise backups cannot be restored to Community Edition.
27+
28+
## Best practices
29+
30+
### Schedule regular backups
31+
32+
- On Kubernetes, enable the `infrahub-backup` Helm chart in CronJob mode for automated, declarative scheduling that fits your GitOps workflow.
33+
- On Docker Compose, automate backups with cron, systemd timers, or CI workflows; daily is a good baseline, with more frequent snapshots for high-change environments.
34+
- Configure S3-compatible storage to push backups off-cluster, and apply bucket lifecycle policies for retention.
35+
- Rotate archives with a retention policy that matches your recovery point objectives, and replicate critical backups to an off-site location.
36+
- Monitor backup jobs and alert on failure — silent backup gaps are often noticed only when it is too late.
37+
38+
### Run regular restore tests
39+
40+
- Restore into a disposable environment at least monthly to confirm that credentials, network access, and storage quotas are still correct.
41+
- Track how long a restore takes and compare it to your recovery time objectives; tune the schedule or resource sizing if the gap widens.
42+
- Document each drill, including any manual steps you find, and fold the lessons back into your runbooks.
43+
44+
### Validate backups after major Infrahub upgrades
45+
46+
- After every major Infrahub version upgrade, capture a fresh backup and run a full restore rehearsal.
47+
- Watch for schema migrations or new services introduced by the upgrade that need additional credentials, storage buckets, or automation hooks.
48+
- Keep the validation artifacts — logs, checksums, and timelines — so you can demonstrate post-upgrade recoverability during audits.
49+
50+
## Learn by doing
51+
52+
New to the tool? The [Get started tutorial](../tutorials/getting-started.mdx) covers a full backup and restore cycle on a Docker Compose deployment.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Install Infrahub Backup
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide shows you how to install Infrahub Backup on your system.
8+
Install the `infrahub-backup` CLI on a Docker Compose or Kubernetes deployment, or build it from source.
99

1010
## Prerequisites
1111

@@ -28,7 +28,7 @@ Before installing Infrahub Backup, ensure you have:
2828
**If building from source:**
2929

3030
- Git and network access to clone the repository
31-
- Go 1.21 or later installed
31+
- Go 1.25 or later installed
3232

3333
## Installation methods
3434

@@ -89,7 +89,7 @@ If you need a specific version or architecture, manually select the appropriate
8989

9090
To install Infrahub Backup, build from source:
9191

92-
1. Install Go 1.21 or later:
92+
1. Install Go 1.25 or later:
9393

9494
```bash
9595
# Check if Go is installed
@@ -322,6 +322,6 @@ For Docker deployments, you can run scheduled backups using a systemd service:
322322
323323
## Related resources
324324
325-
- [Getting started tutorial](../tutorials/getting-started.mdx)
325+
- [Get started tutorial](../tutorials/getting-started.mdx)
326326
- [Configuration reference](../reference/configuration.mdx)
327-
- [Back up your Infrahub instance](./backup-instance.mdx)
327+
- [Back up your Infrahub instance](./create.mdx)

docs/docs-backup/guides/kubernetes-backup.mdx renamed to docs/docs-backup/backup/kubernetes-backup.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Back up Infrahub on Kubernetes
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide walks you through backing up your Infrahub instance running on Kubernetes using the `infrahub-backup` Helm chart. If you deploy Infrahub through GitOps tools like ArgoCD or Flux and don't have direct kubectl access, this approach lets you manage backups declaratively through Helm values.
8+
Back up an Infrahub instance running on Kubernetes with the `infrahub-backup` Helm chart. If you deploy Infrahub through GitOps tools like ArgoCD or Flux without direct kubectl access, manage backups declaratively through Helm values.
99

1010
## Why use the Helm chart for backups
1111

@@ -383,4 +383,4 @@ Confirm your backup configuration works:
383383
## Related resources
384384

385385
- [Restore Infrahub on Kubernetes](./kubernetes-restore.mdx)
386-
- [Back up your Infrahub instance (CLI)](./backup-instance.mdx)
386+
- [Back up your Infrahub instance (CLI)](./create.mdx)

docs/docs-backup/guides/kubernetes-restore.mdx renamed to docs/docs-backup/backup/kubernetes-restore.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Restore Infrahub on Kubernetes
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide walks you through restoring your Infrahub instance on Kubernetes from a backup stored in S3-compatible storage. The restore process uses the same `infrahub-backup` Helm chart and runs as a Kubernetes Job.
8+
Restore an Infrahub instance on Kubernetes from a backup stored in S3-compatible storage. The restore runs as a Kubernetes Job through the same `infrahub-backup` Helm chart.
99

1010
:::warning
1111
Restoring a backup will overwrite your current Infrahub data. Create a safety backup before proceeding if you need to preserve any recent changes.
@@ -321,4 +321,4 @@ Confirm your restore completed successfully:
321321
## Related resources
322322

323323
- [Back up Infrahub on Kubernetes](./kubernetes-backup.mdx)
324-
- [Restore from a backup (CLI)](./restore-backup.mdx)
324+
- [Restore from a backup (CLI)](./restore.mdx)

docs/docs-backup/guides/restore-backup.mdx renamed to docs/docs-backup/backup/restore.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Restore from a backup
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide shows you how to restore your Infrahub instance from a backup file. If you need to recover from data loss, roll back changes, or migrate to new infrastructure, follow these steps to safely restore your system.
8+
Restore an Infrahub instance from a backup file on Docker Compose. Follow these steps to recover from data loss, roll back a change, or move to new infrastructure.
99

1010
## Community edition compatibility
1111

@@ -234,5 +234,5 @@ Confirm restoration was successful:
234234

235235
## Related resources
236236

237-
- [Back up your Infrahub instance](./backup-instance.mdx)
237+
- [Back up your Infrahub instance](./create.mdx)
238238
- [CLI command reference](../reference/commands.mdx)

docs/docs-backup/guides/collect-troubleshooting-bundle.mdx renamed to docs/docs-backup/collect/create.mdx

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,7 @@ title: Collect a troubleshooting bundle
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
Use `infrahub-collect` to gather everything OpsMill support needs to investigate an issue — service logs, diagnostic status, configuration, and metrics — into a single local archive. Run it when support asks for logs, or to attach diagnostic data to a support request. The same command produces the same bundle on Docker Compose and Kubernetes deployments.
9-
10-
:::info
11-
Collection is strictly read-only. Unlike `infrahub-backup create`, the collect command never stops, restarts, or scales any container or pod, so it is safe to run against a production instance at any time — including while the instance is degraded.
12-
:::
13-
14-
:::note Collect or back up?
15-
A troubleshooting bundle contains diagnostics for support to read; a [backup](./backup-instance.mdx) is a restorable snapshot of your data. When support asks for both, run `infrahub-collect create --include-backup` to produce them in one run.
16-
:::
8+
Collect a troubleshooting bundle from an Infrahub deployment and share it with OpsMill support. Collection is read-only and safe to run at any time, including while the instance is degraded. See [Infrahub Collect](./index.mdx) for what a bundle contains and how secrets are masked. The same command produces the same bundle on Docker Compose and Kubernetes.
179

1810
## Prerequisites
1911

@@ -22,21 +14,21 @@ Before collecting a bundle:
2214
<Tabs>
2315
<TabItem value="docker" label="Docker Compose" default>
2416

25-
- The `infrahub-collect` binary is installed ([installation guide](./install-collect.mdx))
17+
- The `infrahub-collect` binary is installed ([installation guide](./install.mdx))
2618
- Docker and Docker Compose are available to your user
2719
- The Infrahub Compose project is running (fully or partially)
2820

2921
</TabItem>
3022
<TabItem value="kubernetes" label="Kubernetes">
3123

32-
- The `infrahub-collect` binary is installed ([installation guide](./install-collect.mdx))
24+
- The `infrahub-collect` binary is installed ([installation guide](./install.mdx))
3325
- `kubectl` is configured with access to the cluster running Infrahub
3426
- Your role can read pod logs and execute commands in pods (`pods/log` and `pods/exec`); no write or scale permissions are needed
3527

3628
</TabItem>
3729
</Tabs>
3830

39-
The binary is self-contained and collection works fully offline: it uses your existing Docker or kubectl access and performs no network access beyond your deployment itself.
31+
The binary is self-contained and collection works offline by default: it uses your existing Docker or kubectl access and performs no network access beyond your deployment itself. The one exception is the opt-in `--benchmark`, which downloads a benchmark image.
4032

4133
## Step 1: Verify environment detection
4234

@@ -265,7 +257,7 @@ Confirm your collection works:
265257

266258
## Related resources
267259

268-
- [Install Infrahub Collect](./install-collect.mdx)
269-
- [Back up your Infrahub instance](./backup-instance.mdx)
260+
- [Install Infrahub Collect](./install.mdx)
261+
- [Back up your Infrahub instance](../backup/create.mdx)
270262
- [CLI command reference](../reference/commands.mdx)
271263
- [Configuration reference](../reference/configuration.mdx)

docs/docs-backup/collect/index.mdx

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Infrahub Collect
3+
---
4+
5+
Use Infrahub Collect to gather everything OpsMill support needs to investigate an issue — service logs, diagnostic status, configuration, and metrics — into a single local archive. Run it when support asks for logs, or to attach diagnostic data to a support request. The same command produces the same bundle on Docker Compose and Kubernetes.
6+
7+
## Safe to run at any time
8+
9+
Collection is strictly read-only. Unlike `infrahub-backup create`, the collect command never stops, restarts, or scales any container or pod, so it is safe to run against a production instance at any time — including while the instance is degraded. If a service is down, collection continues with the rest and records the failure in the manifest. A partial bundle is still a useful bundle — a degraded instance is precisely when you need one.
10+
11+
The binary is self-contained. By default, collection works offline: it uses your existing Docker or kubectl access and performs no network access beyond the deployment itself. The one exception is the opt-in `--benchmark`, which downloads a benchmark image.
12+
13+
## Collect or back up?
14+
15+
A troubleshooting bundle contains diagnostics for support to read; a [backup](../backup/create.mdx) is a restorable snapshot of your data. They are separate operations with different safety profiles — collection is read-only, while a backup can stop containers while the snapshot is taken. When support asks for both, run `infrahub-collect create --include-backup` to produce them in one run.
16+
17+
## What a bundle contains
18+
19+
Each bundle is a single `tar.gz` archive. Inside, every file lives under a top-level `bundle/` directory, alongside a `bundle_information.json` manifest that records an explicit outcome — success, failed, or skipped — for every collector, so support can see what was captured and what was not.
20+
21+
| Collector | What it gathers |
22+
|---|---|
23+
| Service logs | Container logs for every service and replica, plus previous-container logs for restarted pods |
24+
| Database | Neo4j server logs (full log directory with `--include-queries`) |
25+
| Message queue | RabbitMQ queues, exchanges, bindings, connections, and status |
26+
| Cache | Redis info, client list, configuration, and slow log |
27+
| Task worker | Prefect worker state, one directory per replica |
28+
| Task manager | Work pools, work queues, recent flow runs, events, and automations |
29+
| Server | Version, installed packages, API information, configuration, schema, and masked environment variables |
30+
| Metrics | Container resource usage |
31+
| Backup (opt-in) | A standalone backup produced by the standard backup behavior and referenced in the manifest, not embedded in the archive (`--include-backup`) |
32+
| Benchmark (opt-in) | Host resource benchmark results (`--benchmark`) |
33+
34+
The layout is identical on Docker Compose and Kubernetes.
35+
36+
## Review before sharing
37+
38+
Masking is based on key names: environment variables and configuration keys containing `password`, `secret`, `token`, or `key` are replaced with `********` before they are written to the bundle. Secrets stored under other key names are not detected. Service logs are collected as-is, and database query logs (`--include-queries`) can contain customer data. Review the bundle contents before sharing it.

docs/docs-backup/guides/install-collect.mdx renamed to docs/docs-backup/collect/install.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ title: Install Infrahub Collect
55
import Tabs from '@theme/Tabs';
66
import TabItem from '@theme/TabItem';
77

8-
This guide shows you how to install Infrahub Collect on your system.
8+
Install the `infrahub-collect` CLI. One binary collects from both Docker Compose and Kubernetes deployments; on Kubernetes it runs from your workstation or a CI runner and reaches the cluster through kubectl.
99

1010
## Prerequisites
1111

@@ -172,6 +172,6 @@ If these commands succeed, installation is complete.
172172

173173
## Related resources
174174

175-
- [Collect a troubleshooting bundle](./collect-troubleshooting-bundle.mdx)
175+
- [Collect a troubleshooting bundle](./create.mdx)
176176
- [CLI command reference](../reference/commands.mdx)
177177
- [Configuration reference](../reference/configuration.mdx)

0 commit comments

Comments
 (0)