Remove outdated guides and restructure documentation for infctl and MVK

- Deleted the following guides:
  - Introduction to infctl
  - Local K3d Instance creation
  - Traefik ingress setup
  - Longhorn storage setup
  - Local Vagrant cluster setup
  - Quick Start guide for MVK
  - Minimal Viable Kubernetes overview

- Added new guides:
  - Local Development Environment setup
  - Initial Pipeline Run for infctl
  - Create a Vagrant 3 node cluster
  - Smoke test for Vagrant cluster
  - Add Longhorn Storage guide
  - Add Ingress guide
  - Smoke test for Ingress

- Updated index and navigation links to reflect new structure.
This commit is contained in:
jon brookes 2025-08-25 18:49:33 +01:00
parent c1cea80b12
commit ff6341edf1
16 changed files with 97 additions and 6811 deletions

View file

@ -0,0 +1,58 @@
---
title: Create a Local K3d Instance
description: A guide to creating an initial local k3d instance.
---
clone the `infctl-cli` repo in order to have local access to its scripts, files and manifests to use later on.
Where you put this is up to you but we will work on the assumption that this will be in `$HOME/projects` :
```bash
mkdir -p $HOME/projects/
cd $HOME/projects
git clone https://codeberg.org/headshed/infctl-cli.git
cd infctl-cli
```
take a look at the script `scripts/create_k3d_cluster.sh` to familiarise yourself with what it does and when ready to run it
```bash
./scripts/create_k3d_cluster.sh
```
k3d can also list this and any other clusters you have running locally with
```bash
k3d cluster list
NAME SERVERS AGENTS LOADBALANCER
mycluster 1/1 0/0 true
```
if all goes well, you should have a k3d ( k3s ) cluster running locally that you can see its single node running with
```bash
kubectl get nodes
NAME STATUS ROLES AGE VERSION
k3d-mycluster-server-0 Ready control-plane,master 93m v1.31.5+k3s1
```
A healthy state and most of the resources may be viewed in several ways but 2 for starters can be:
```bash
kubectl get events -A
kubectl get all -A
```
The first will list any events logged by the cluster.
The second will list 'all' resources which can be a bit misleading as not all the things are actually listed, just the main ones we are interested in.
When your done with this secion and are ready to, delete the cluster ( you can create a new one any time with the above command )
```bash
k3d cluster delete mycluster
```

View file

@ -0,0 +1,53 @@
---
title: Initial Pipeline Run
description: A guide to running infctl for the first time.
---
having already cloned the `infctl-cli` see [Create a local k3d instance](/guides/local-k3d/) change directory to where this code repository was checked out on your system.
If necessary, re-run `scripts/create_k3d_cluster.sh` to create a new local cluster or just use one created earlier if you chose not to delete it.
Take a look at `pipeline.json.example` to familiarize yourself with what we're about to do next.
This pipeline file will be used by `infctl` to create a couple of resources to smoke test the cluster.
To run `infctl` for the first time:
```bash
cp base.json.example base.json
cp config.json.example config.json
cp pipeline.json.example pipeline.json
```
then run the above pipeline file with
```bash
infctl --deployment-file pipeline.json
```
which will look something like this
```bash
infctl --deployment-file pipeline.json.
{"time":"2025-07-17T10:56:24.110418886+01:00","level":"INFO","msg":"Project name already exists: hdshd\n"}
{"time":"2025-07-17T10:56:24.110627046+01:00","level":"INFO","msg":"🔄 Running step: ensure inf namespace exists"}
{"time":"2025-07-17T10:56:24.552137383+01:00","level":"INFO","msg":"in k8sCreateNamespace with project: infctl"}
{"time":"2025-07-17T10:56:24.941141859+01:00","level":"INFO","msg":"✅ Step completed: ensure inf namespace exists"}
{"time":"2025-07-17T10:56:24.941312202+01:00","level":"INFO","msg":"🔄 Running step: create php configmap"}
{"time":"2025-07-17T10:56:24.941344298+01:00","level":"DEBUG","msg":"🐞 Running command: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:25.769192514+01:00","level":"DEBUG","msg":"RunCommand executed successfully: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:25.769260959+01:00","level":"DEBUG","msg":"RunCommand output: configmap/php-config created\nNGINX configmap created successfully.\n"}
{"time":"2025-07-17T10:56:25.769297009+01:00","level":"INFO","msg":"✅ Step completed: create php configmap"}
{"time":"2025-07-17T10:56:25.769309708+01:00","level":"INFO","msg":"🔄 Running step: ensure inf namespace exists\n"}
{"time":"2025-07-17T10:56:26.138647622+01:00","level":"INFO","msg":"k8sNamespaceExists nothing to do - project: infctl eists ..."}
{"time":"2025-07-17T10:56:26.139002888+01:00","level":"INFO","msg":"✅ Step completed: ensure inf namespace exists\n"}
{"time":"2025-07-17T10:56:26.139033185+01:00","level":"INFO","msg":"🔄 Running step: create php configmap\n"}
{"time":"2025-07-17T10:56:26.139092779+01:00","level":"DEBUG","msg":"🐞 Running command: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:26.805475502+01:00","level":"DEBUG","msg":"RunCommand executed successfully: ./scripts/create_php_configmap_ctl.sh"}
{"time":"2025-07-17T10:56:26.805522802+01:00","level":"DEBUG","msg":"RunCommand output: configmap/php-config configured\nNGINX configmap created successfully.\n"}
{"time":"2025-07-17T10:56:26.805530251+01:00","level":"INFO","msg":"✅ Step completed: create php configmap\n"}
{"time":"2025-07-17T10:56:26.805550056+01:00","level":"INFO","msg":"🎉 Pipeline setup complete!\n"}
```