Skip to content
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
4c1d4ba
feat: add doctor command
user-cube Feb 17, 2026
6e7c58f
feat: add health checks
user-cube Feb 17, 2026
dde7485
feat: add validate
user-cube Feb 17, 2026
a6f4253
feat: add validate
user-cube Feb 17, 2026
f77f835
feat: improve status
user-cube Feb 17, 2026
18f6b00
feat: improve status
user-cube Feb 17, 2026
62cdf30
feat: add output format
user-cube Feb 17, 2026
bd9af4c
feat: add output format
user-cube Feb 17, 2026
1167027
feat: template command
user-cube Feb 17, 2026
df95749
feat: fix linter
user-cube Feb 17, 2026
cd8a676
feat: Update cli/internal/k8s/appofapps.go
user-cube Feb 17, 2026
d9f17d4
feat: Update cli/cmd/template.go
user-cube Feb 17, 2026
ec405f5
feat: Update cli/cmd/info.go
user-cube Feb 17, 2026
8ed9c82
feat: fix pr comments
user-cube Feb 17, 2026
3f68ed1
Merge branch 'feature/new-commands' of github.com:user-cube/cluster-b…
user-cube Feb 17, 2026
4b42e9b
feat: fix lint issues
user-cube Feb 17, 2026
13c2a83
feat: Update cli/cmd/validate.go
user-cube Feb 17, 2026
797d6a8
feat: fix lint issues
user-cube Feb 17, 2026
7f96231
Merge branch 'feature/new-commands' of github.com:user-cube/cluster-b…
user-cube Feb 17, 2026
3a8afe9
feat: Update cli/cmd/template.go
user-cube Feb 17, 2026
18808c3
feat: Update cli/cmd/template.go
user-cube Feb 17, 2026
372dc34
feat: Update cli/cmd/bootstrap.go
user-cube Feb 17, 2026
d07924b
Merge branch 'main' into feature/new-commands
user-cube Feb 17, 2026
a6133ae
feat: fix lint issues
user-cube Feb 17, 2026
e39855e
feat: Update cli/internal/k8s/secrets_test.go
user-cube Feb 17, 2026
e66f5e0
feat: Update cli/internal/k8s/secrets_test.go
user-cube Feb 17, 2026
30653c0
feat: fix tests
user-cube Feb 17, 2026
552b73f
Merge branch 'feature/new-commands' of github.com:user-cube/cluster-b…
user-cube Feb 17, 2026
9dfba83
feat: update go.sum
user-cube Feb 17, 2026
3577a3a
feat: fix tests
user-cube Feb 17, 2026
2ede935
feat: Update cli/cmd/template.go
user-cube Feb 17, 2026
0c726ba
feat: Update cli/cmd/template.go
user-cube Feb 17, 2026
f8822d9
feat: Update cli/cmd/template_test.go
user-cube Feb 17, 2026
cdf1346
feat: Update cli/cmd/validate.go
user-cube Feb 17, 2026
ca4f2d6
Merge branch 'feature/new-commands' of github.com:user-cube/cluster-b…
user-cube Feb 17, 2026
55c5ae8
feat: fix tests
user-cube Feb 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 37 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,19 +28,29 @@ Online documentation available at [Cluster Boostrap Docs](https://user-cube.gith

## Quick Start

### 1. Build the CLI
### 1. Customize the template (first time only)

Replace the default `user-cube/cluster-bootstrap` with your organization and repository:

```bash
./cli/cluster-bootstrap template customize --org mycompany --repo k8s-gitops
```

This updates Git URLs, GitHub badges, Go module paths, and documentation throughout the codebase. See [Template documentation](docs/cli/template.md) for details.

### 2. Build the CLI

```bash
task build
```

### 2. Initialize secrets (first time only)
### 3. Initialize secrets

```bash
./cli/cluster-bootstrap init
```

### 3. Bootstrap the cluster
### 4. Bootstrap the cluster

```bash
./cli/cluster-bootstrap bootstrap dev
Expand All @@ -53,6 +63,25 @@ This will:
3. Install ArgoCD via Helm
4. Deploy the root **App of Apps** Application

> **💡 Idempotent by design**: The bootstrap command can be safely run multiple times. It automatically detects existing resources and updates them instead of failing. Perfect for configuration updates or GitOps workflows.

#### Bootstrap Reports

The bootstrap command generates comprehensive reports with timing metrics, resource operations, and health check results:

```bash
# Default: Human-readable summary report
./cli/cluster-bootstrap bootstrap dev

# JSON report for automation/metrics collection
./cli/cluster-bootstrap bootstrap dev --report-format json

# Save report to file
./cli/cluster-bootstrap bootstrap dev --report-output bootstrap-report.json
```

See [Bootstrap Reports documentation](docs/cli/bootstrap.md#bootstrap-reports) for details.

#### Using git-crypt instead of SOPS

```bash
Expand Down Expand Up @@ -114,7 +143,11 @@ The `apps/` chart uses a **single dynamic template** that iterates over a `compo

| Command | Description |
|---------|-------------|
| `bootstrap <env>` | Full cluster bootstrap (decrypt secrets, install ArgoCD, deploy App of Apps) |
| `bootstrap <env>` | Full cluster bootstrap (decrypt secrets, install ArgoCD, deploy App of Apps). Generates comprehensive reports with timing metrics and resource operations. Fully idempotent. |
| `template customize` | Customize the template with your organization and repository (replaces placeholders in configs, docs, and code) |
| `doctor` | Run prerequisite checks for tooling and cluster access |
| `status <env>` | Show cluster status and component information |
| `validate <env>` | Validate local config, secrets, and optional cluster access |
| `init` | Interactive setup for encryption config and secrets files |
| `vault-token` | Store Vault root token as Kubernetes secret |
| `gitcrypt-key` | Store git-crypt symmetric key as Kubernetes secret |
Expand Down
Loading
Loading