chore: fix repo URL, gitignore IDE dirs, and prerequisite docs

This commit is contained in:
Paul Harkink 2026-02-28 16:07:57 +01:00
parent 1ccccde18d
commit 5d34d2d2bf
14 changed files with 75 additions and 42 deletions

4
.gitignore vendored
View file

@ -6,5 +6,9 @@ roadmap.md
# Vagrant # Vagrant
.vagrant/ .vagrant/
# IDEs
.idea/
.vscode/
# macOS # macOS
.DS_Store .DS_Store

View file

@ -9,15 +9,25 @@ ArgoCD, MetalLB, Ingress-Nginx, and Tekton — all on a local single-node k3s cl
### Requirements ### Requirements
- [VirtualBox 7.x](https://www.virtualbox.org/wiki/Downloads) Install all three **before** the workshop (ideally the day before — downloads are large):
- [Vagrant 2.4.x](https://developer.hashicorp.com/vagrant/downloads)
- Git | Tool | Install |
- 12 GB RAM free on your laptop, ~15 GB disk |--------------------|------------------------------------------------------------------|
| **VirtualBox 7.x** | https://www.virtualbox.org/wiki/Downloads — reboot after install |
| **Vagrant 2.4.x** | https://developer.hashicorp.com/vagrant/downloads |
| **Git** | https://git-scm.com/downloads |
12 GB RAM free, ~15 GB disk. On Apple Silicon (M1/M2/M3/M4), download the **Apple Silicon build** of VirtualBox — see [docs/vm-setup.md](docs/vm-setup.md).
Quick check — all three must print a version:
```bash
VBoxManage --version && vagrant --version && git --version
```
### 1. Start the VM ### 1. Start the VM
```bash ```bash
git clone https://github.com/innspire/ops-demo.git git clone https://github.com/paulharkink/ops-demo.git
cd ops-demo cd ops-demo
vagrant up # first run: ~1015 min vagrant up # first run: ~1015 min
vagrant ssh vagrant ssh
@ -39,7 +49,7 @@ Then follow the exercises in order.
## Exercises ## Exercises
| # | Exercise | Guide | Type | Est. Time | | # | Exercise | Guide | Type | Est. Time |
|---|----------|-------|------|-----------| |----|---------------------------|------------------------------------------------------------|-------|-----------|
| 01 | Bootstrap ArgoCD | [docs/01-argocd-bootstrap.md](docs/01-argocd-bootstrap.md) | Core | 30 min | | 01 | Bootstrap ArgoCD | [docs/01-argocd-bootstrap.md](docs/01-argocd-bootstrap.md) | Core | 30 min |
| 02 | Deploy podinfo via GitOps | [docs/02-deploy-podinfo.md](docs/02-deploy-podinfo.md) | Core | 30 min | | 02 | Deploy podinfo via GitOps | [docs/02-deploy-podinfo.md](docs/02-deploy-podinfo.md) | Core | 30 min |
| 03 | MetalLB + Ingress-Nginx | [docs/03-metallb-ingress.md](docs/03-metallb-ingress.md) | Core | 45 min | | 03 | MetalLB + Ingress-Nginx | [docs/03-metallb-ingress.md](docs/03-metallb-ingress.md) | Core | 45 min |
@ -55,7 +65,7 @@ Then follow the exercises in order.
## Stack ## Stack
| Component | Purpose | Version | | Component | Purpose | Version |
|-----------|---------|---------| |-----------------------|-------------------------|------------------------|
| k3s | Kubernetes | v1.31.4 | | k3s | Kubernetes | v1.31.4 |
| ArgoCD | GitOps engine | v2.13.x (chart 7.7.11) | | ArgoCD | GitOps engine | v2.13.x (chart 7.7.11) |
| MetalLB | Bare-metal LoadBalancer | v0.14.9 | | MetalLB | Bare-metal LoadBalancer | v0.14.9 |
@ -78,7 +88,7 @@ git show origin/solution/03-metallb-ingress:manifests/networking/metallb/metallb
``` ```
| Branch | State | | Branch | State |
|--------|-------| |--------------------------------|----------------------------------|
| `solution/01-argocd-bootstrap` | ArgoCD running | | `solution/01-argocd-bootstrap` | ArgoCD running |
| `solution/02-deploy-podinfo` | podinfo synced via ArgoCD | | `solution/02-deploy-podinfo` | podinfo synced via ArgoCD |
| `solution/03-metallb-ingress` | LAN access via MetalLB + Ingress | | `solution/03-metallb-ingress` | LAN access via MetalLB + Ingress |

View file

@ -8,7 +8,7 @@ metadata:
spec: spec:
project: workshop project: workshop
source: source:
repoURL: https://github.com/innspire/ops-demo.git repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
path: manifests/apps/podinfo path: manifests/apps/podinfo
destination: destination:

View file

@ -21,7 +21,7 @@ spec:
helm: helm:
valueFiles: valueFiles:
- $values/manifests/argocd/values.yaml - $values/manifests/argocd/values.yaml
- repoURL: https://github.com/innspire/ops-demo.git - repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:

View file

@ -8,7 +8,7 @@ metadata:
spec: spec:
project: workshop project: workshop
source: source:
repoURL: https://github.com/innspire/ops-demo.git repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
path: manifests/ci/pipeline path: manifests/ci/pipeline
destination: destination:

View file

@ -8,7 +8,7 @@ metadata:
spec: spec:
project: workshop project: workshop
source: source:
repoURL: https://github.com/innspire/ops-demo.git repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
path: manifests/ci/tekton path: manifests/ci/tekton
kustomize: {} kustomize: {}

View file

@ -14,7 +14,7 @@ spec:
helm: helm:
valueFiles: valueFiles:
- $values/manifests/monitoring/values.yaml - $values/manifests/monitoring/values.yaml
- repoURL: https://github.com/innspire/ops-demo.git - repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:

View file

@ -14,7 +14,7 @@ spec:
helm: helm:
valueFiles: valueFiles:
- $values/manifests/networking/ingress-nginx/values.yaml - $values/manifests/networking/ingress-nginx/values.yaml
- repoURL: https://github.com/innspire/ops-demo.git - repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:

View file

@ -8,7 +8,7 @@ metadata:
spec: spec:
project: workshop project: workshop
source: source:
repoURL: https://github.com/innspire/ops-demo.git repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
path: manifests/networking/metallb path: manifests/networking/metallb
directory: directory:

View file

@ -14,7 +14,7 @@ spec:
helm: helm:
valueFiles: valueFiles:
- $values/manifests/networking/metallb/values.yaml - $values/manifests/networking/metallb/values.yaml
- repoURL: https://github.com/innspire/ops-demo.git - repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
ref: values ref: values
destination: destination:

View file

@ -6,7 +6,7 @@ metadata:
spec: spec:
project: workshop project: workshop
source: source:
repoURL: https://github.com/innspire/ops-demo.git repoURL: https://github.com/paulharkink/ops-demo.git
targetRevision: HEAD targetRevision: HEAD
path: apps path: apps
destination: destination:

View file

@ -7,6 +7,8 @@ This page walks you through starting the VM and verifying it is healthy before t
## Requirements (install on your laptop before the workshop) ## Requirements (install on your laptop before the workshop)
> **Do this the day before** — downloads can be slow on conference WiFi.
| Tool | Version | Download | | Tool | Version | Download |
|------|---------|----------| |------|---------|----------|
| VirtualBox | 7.x | https://www.virtualbox.org/wiki/Downloads | | VirtualBox | 7.x | https://www.virtualbox.org/wiki/Downloads |
@ -16,12 +18,28 @@ This page walks you through starting the VM and verifying it is healthy before t
**RAM**: The VM uses 8 GB. Your laptop should have at least 12 GB total RAM free. **RAM**: The VM uses 8 GB. Your laptop should have at least 12 GB total RAM free.
**Disk**: ~15 GB free (Vagrant box ~1 GB + k3s images ~5 GB + workspace). **Disk**: ~15 GB free (Vagrant box ~1 GB + k3s images ~5 GB + workspace).
> **Apple Silicon (M1/M2/M3/M4)**: VirtualBox 7.1+ supports Apple Silicon — make sure
> to download the **"macOS / Apple Silicon hosts"** build from the VirtualBox download page,
> not the Intel build.
### Verify your installs before continuing
```bash
# All three must return a version number — if any fail, install it first
VBoxManage --version # e.g. 7.1.4r165100
vagrant --version # e.g. Vagrant 2.4.3
git --version # e.g. git version 2.x.x
```
If `VBoxManage` is not found after installing VirtualBox, reboot your laptop —
VirtualBox installs a kernel extension that requires a restart.
--- ---
## Step 1 — Clone the repo ## Step 1 — Clone the repo
```bash ```bash
git clone https://github.com/innspire/ops-demo.git git clone https://github.com/paulharkink/ops-demo.git
cd ops-demo cd ops-demo
``` ```
@ -138,6 +156,7 @@ vagrant destroy # delete the VM entirely (start fresh)
| Symptom | Fix | | Symptom | Fix |
|---------|-----| |---------|-----|
| `vagrant up`: "No usable default provider" | VirtualBox is not installed — install it and reboot, then retry |
| `vagrant up` fails: VT-x/AMD-V not enabled | Enable virtualisation in BIOS/UEFI settings | | `vagrant up` fails: VT-x/AMD-V not enabled | Enable virtualisation in BIOS/UEFI settings |
| `vagrant up` fails: port conflict | Another VM may be using the host-only range; stop it | | `vagrant up` fails: port conflict | Another VM may be using the host-only range; stop it |
| `kubectl get nodes` shows NotReady | k3s is still starting; wait 3060 s | | `kubectl get nodes` shows NotReady | k3s is still starting; wait 3060 s |

View file

@ -13,7 +13,7 @@ spec:
- name: repo-url - name: repo-url
type: string type: string
description: URL of the ops-demo git repository description: URL of the ops-demo git repository
default: https://github.com/innspire/ops-demo.git default: https://github.com/paulharkink/ops-demo.git
- name: new-tag - name: new-tag
type: string type: string
description: New podinfo image tag to set (e.g. 6.7.0) description: New podinfo image tag to set (e.g. 6.7.0)

View file

@ -12,7 +12,7 @@ spec:
serviceAccountName: pipeline-runner serviceAccountName: pipeline-runner
params: params:
- name: repo-url - name: repo-url
value: https://github.com/innspire/ops-demo.git value: https://github.com/paulharkink/ops-demo.git
- name: new-tag - name: new-tag
value: "6.7.0" value: "6.7.0"
- name: git-user-name - name: git-user-name