docs: comprehensive README for Infrahub deployment
This commit is contained in:
120
README.md
120
README.md
@@ -1,3 +1,119 @@
|
||||
# infrahub-deployment
|
||||
# Infrahub Deployment
|
||||
|
||||
GitOps deployment for Infrahub infrastructure data management platform with Tailscale HTTPS access via Komodo
|
||||
GitOps deployment for Infrahub infrastructure data management platform with Tailscale HTTPS access via Komodo.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
### Generate Secrets
|
||||
|
||||
```bash
|
||||
# Generate admin token and secret key (UUID format)
|
||||
uuidgen # Example: 06438eb2-8019-4776-878c-0941b1f1d1ec
|
||||
uuidgen # Example: 327f747f-efac-42be-9e73-999f08f86b92
|
||||
```
|
||||
|
||||
### Tailscale Auth Key
|
||||
|
||||
Generate a reusable auth key from https://login.tailscale.com/admin/settings/keys
|
||||
|
||||
## Deployment with Komodo
|
||||
|
||||
### 1. Add Git Provider (if using private repo)
|
||||
|
||||
In Komodo UI: Settings → Git Providers → Add your Gitea instance credentials.
|
||||
|
||||
### 2. Create Stack
|
||||
|
||||
1. Navigate to **Stacks** → **New Stack**
|
||||
2. Configure:
|
||||
- **Name**: `infrahub`
|
||||
- **Server**: Select your target server
|
||||
- **Source**: Git Repo
|
||||
- **Git Provider**: `gitea.arnodo.fr` (or your provider)
|
||||
- **Repo**: `Damien/infrahub-deployment`
|
||||
- **Branch**: `main`
|
||||
- **File Paths**: `docker-compose.yml`
|
||||
|
||||
### 3. Configure Environment Variables
|
||||
|
||||
| Variable | Description | Example |
|
||||
|----------|-------------|---------|
|
||||
| `TS_AUTHKEY` | Tailscale auth key (reusable) | `tskey-auth-xxx` |
|
||||
| `VERSION` | Infrahub version (optional) | `latest` or `1.5.0` |
|
||||
| `NEO4J_PASSWORD` | Neo4j database password | *secret* |
|
||||
| `RABBITMQ_USER` | RabbitMQ username | `infrahub` |
|
||||
| `RABBITMQ_PASSWORD` | RabbitMQ password | *secret* |
|
||||
| `INFRAHUB_ADMIN_TOKEN` | Initial admin API token | `06438eb2-...` |
|
||||
| `INFRAHUB_SECRET_KEY` | Security secret key | `327f747f-...` |
|
||||
| `INFRAHUB_ALLOW_ANONYMOUS` | Allow anonymous access | `false` |
|
||||
| `INFRAHUB_LOG_LEVEL` | Log level | `INFO` |
|
||||
|
||||
> **Tip**: Use Komodo's secret variables (marked with 🔒) for sensitive values.
|
||||
|
||||
### 4. Deploy
|
||||
|
||||
Click **Deploy** in Komodo.
|
||||
|
||||
## GitOps Workflow
|
||||
|
||||
### Auto-deploy on Git Push
|
||||
|
||||
1. In Komodo, go to your stack settings
|
||||
2. Enable **Auto Deploy** on push
|
||||
3. Copy the webhook URL
|
||||
4. Add it to your Gitea repository: Settings → Webhooks
|
||||
|
||||
## Access
|
||||
|
||||
Once deployed: https://infrahub.taila5ad8.ts.net
|
||||
|
||||
Default credentials:
|
||||
- Username: `admin`
|
||||
- Password: `infrahub`
|
||||
|
||||
> **Important**: Change the default password after first login!
|
||||
|
||||
## Services
|
||||
|
||||
| Service | Description | Image |
|
||||
|---------|-------------|-------|
|
||||
| `tailscale` | HTTPS ingress via Tailscale | `tailscale/tailscale` |
|
||||
| `database` | Neo4j graph database | `neo4j:5.23-community` |
|
||||
| `cache` | Redis cache | `redis:7-alpine` |
|
||||
| `message-queue` | RabbitMQ message broker | `rabbitmq:3-management-alpine` |
|
||||
| `infrahub-server` | API + UI | `registry.opsmill.io/opsmill/infrahub` |
|
||||
| `task-worker` | Background task worker | `registry.opsmill.io/opsmill/infrahub` |
|
||||
|
||||
## Upgrading
|
||||
|
||||
1. Update the `VERSION` environment variable in Komodo
|
||||
2. Redeploy the stack
|
||||
|
||||
After upgrading, run the database migrations:
|
||||
```bash
|
||||
docker exec -it infrahub-server infrahub db migrate
|
||||
docker exec -it infrahub-server infrahub db update-core-schema
|
||||
```
|
||||
|
||||
## Backup
|
||||
|
||||
### Neo4j Database
|
||||
|
||||
```bash
|
||||
docker exec -it infrahub-database neo4j-admin database backup --to-path=/backups neo4j
|
||||
docker cp infrahub-database:/backups/neo4j-<timestamp>.backup ./
|
||||
```
|
||||
|
||||
## Repository Structure
|
||||
|
||||
```
|
||||
infrahub-deployment/
|
||||
├── docker-compose.yml # Stack definition (relative paths)
|
||||
├── serve-config.json # Tailscale HTTPS serve config
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## References
|
||||
|
||||
- [Infrahub Documentation](https://docs.infrahub.app/)
|
||||
- [Infrahub GitHub](https://github.com/opsmill/infrahub)
|
||||
|
||||
Reference in New Issue
Block a user