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,54 @@
---
title: Configuration
description: infctl configuration
---
`infctl` uses `json` files for configuration.
It is designed around the idea of pipelines where each pipeline performs a series of steps.
A short, 2 step pipeline configuration can look like :
```json
[
{
"name": "ensure inf namespace exists",
"function": "k8sNamespaceExists",
"params": ["infctl"],
"retryCount": 0,
"shouldAbort": true
},
{
"name": "create php configmap",
"function": "RunCommand",
"params": ["./scripts/create_php_configmap_ctl.sh"],
"retryCount": 0,
"shouldAbort": true
}
]
```
Each Object is a task.
Object task records are executed in a `[]` list and in sequence.
Each task has a `name` to be displayed in logs.
Each task calls a `Function` that is registered within `infctl` and that accepts `params` string, which are any parameters to be passed to that function, script or executable. The simplest example being `RunCommand` which accepts the path to a script or executable as its `params`. This can be anything but can be as simple as :
```bash
echo "hello world"
exit 0
```
So `infctl` is unlimited as to what it can use in its pipeline files to achieve any kind of automation.
If a task fails ( the script or program that is run returns a non zero value ) it may be re-tried up to `retryCount` times.
If a task fails the pipeline will stop running unless `shouldAbort` is set to false, in which case, the pipeline will continue to run with the next step item in the list.

View file

@ -0,0 +1,14 @@
---
title: Introduction
description: introducing infctl and its guiding principles
---
Kubernetes is complicated, so getting started can be a pain.
There are many tools out there to create a development Kubernetes environment.
`infctl` is just another such tool, however it is designed with simplicity in mind, yet with a view to it being extended into production and beyond.

View file

@ -0,0 +1,15 @@
---
title: Quick Start Guide
description: A guide to setting up MVK quickly.
---
Install `infctl` command line tool with
```bash
curl -L https://codeberg.org/headshed/infctl-cli/raw/branch/main/install.sh | bash
```
Alternatively, go to [Releases](https://codeberg.org/headshed/infctl-cli/releases) to find a current version for your Operating System, download it and place a copy in your `PATH`.