added gcloud intro
- Created a new script `instalL_asciinema.sh` to automate the installation of asciinema. - The script detects the operating system and architecture to download the appropriate binary. - Supports Linux (both musl and GNU) and macOS (Darwin). - Sets executable permissions for the downloaded binary and verifies the installation by displaying the version.
|
|
@ -2,9 +2,9 @@
|
||||||
level: 2
|
level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
# Configuration
|
# `infctl`
|
||||||
|
|
||||||
Configuration is based on a simple list of JSON objects.
|
Keep it simple, list of JSON objects.
|
||||||
|
|
||||||
````md magic-move {lines: true}
|
````md magic-move {lines: true}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,27 @@
|
||||||
level: 2
|
level: 2
|
||||||
---
|
---
|
||||||
|
|
||||||
# MVK
|
# MVK for pre-production
|
||||||
|
|
||||||
The **V** in MVK is for *viable*, so why is MVK viable ?
|
The **V** in MVK is for *viable*, so why is MVK viable for 3 or more nodes ?
|
||||||
|
|
||||||
<div class="grid grid-cols-1">
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
```mermaid
|
```mermaid
|
||||||
%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true }}}%%
|
%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true }}}%%
|
||||||
flowchart LR
|
flowchart LR
|
||||||
root((MVK))
|
root((3-node))
|
||||||
PS[Persistent Storage]
|
PS[Persistent Storage]
|
||||||
LH[Longhorn]
|
LH[Longhorn]
|
||||||
ING[Ingress]
|
ING[Ingress]
|
||||||
TRA[Traefik]
|
TRA[Traefik]
|
||||||
MET[Metallb]
|
MET[cert-manager]
|
||||||
ETCD[etcd]
|
ETCD[etcd]
|
||||||
KA[keepalived]
|
KA[keepalived]
|
||||||
|
|
||||||
root --> PS --> LH
|
root --> PS --> LH
|
||||||
root --> ING --> TRA --> MET
|
root --> ING --> TRA
|
||||||
|
ING --> MET
|
||||||
root --> ETCD --> KA
|
root --> ETCD --> KA
|
||||||
|
|
||||||
classDef default fill:transparent,color:#fff,stroke:#888
|
classDef default fill:transparent,color:#fff,stroke:#888
|
||||||
|
|
@ -31,9 +32,7 @@ flowchart LR
|
||||||
|
|
||||||
<div v-click>
|
<div v-click>
|
||||||
|
|
||||||
We have in the build so far etcd and keepalived
|
close to production - storage and multi node
|
||||||
|
|
||||||
there is still no persistent volume management or ingress
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
58
pages/diagram-single-node.md
Normal file
|
|
@ -0,0 +1,58 @@
|
||||||
|
---
|
||||||
|
level: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# MVK for development
|
||||||
|
|
||||||
|
The **V** in MVK is for *viable*, so why is MVK viable for single 'dev' nodes ?
|
||||||
|
|
||||||
|
<div class="grid grid-cols-1">
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
%%{init: {'theme': 'dark', 'themeVariables': { 'darkMode': true }}}%%
|
||||||
|
flowchart LR
|
||||||
|
root((1-node))
|
||||||
|
PS[Persistent Storage]
|
||||||
|
LH[Local attached]
|
||||||
|
ING[Ingress]
|
||||||
|
TRA[Traefik]
|
||||||
|
MET[cert-manager]
|
||||||
|
ETCD[etcd]
|
||||||
|
|
||||||
|
root --> PS --> LH
|
||||||
|
root --> ING --> TRA
|
||||||
|
ING --> MET
|
||||||
|
root --> ETCD
|
||||||
|
|
||||||
|
classDef default fill:transparent,color:#fff,stroke:#888
|
||||||
|
```
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div v-click>
|
||||||
|
|
||||||
|
Locally attached storage - single node implementation
|
||||||
|
|
||||||
|
Ingress can represent that of prodution environmetns that use cert-manager
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
why is MVK 'viable' ?
|
||||||
|
|
||||||
|
Out of the box K8s examples and some deployments are not useable without other externalities
|
||||||
|
|
||||||
|
* Persistent storage - often built in to managed kubernetes cloud platforms
|
||||||
|
* Ingress - is also provided by cloud providers, K8s does not natively have this
|
||||||
|
* ETCD is often offered as the 'management plane', again as part of managed kubernetes by cloud providers
|
||||||
|
|
||||||
|
K3s does not use k8s traditional 3 node ETCD unless you configure it to do so
|
||||||
|
|
||||||
|
MKK's infctl pipelines configure 3 node k3s on all 3 nodes
|
||||||
|
|
||||||
|
it also adds Longhorn for persistent storage
|
||||||
|
|
||||||
|
ingress is impossible without metallb and some kind of load balancer - traefik being my preference but others could be used, of course
|
||||||
|
|
||||||
|
-->
|
||||||
85
pages/gcloud-single.md
Normal file
|
|
@ -0,0 +1,85 @@
|
||||||
|
---
|
||||||
|
level: 2
|
||||||
|
---
|
||||||
|
|
||||||
|
# GCE
|
||||||
|
|
||||||
|
Google Compute Engine
|
||||||
|
|
||||||
|
````md magic-move {lines: true}
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. PREREQS
|
||||||
|
# 2. CONFIGURE
|
||||||
|
# 3. RUN
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PREREQS
|
||||||
|
# run pre flight checks ...
|
||||||
|
#
|
||||||
|
# we need to run this at least once to ensure we have tooling available ...
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PREREQS
|
||||||
|
# run pre flight checks ...
|
||||||
|
cd /home/user/projects/infctl-cli # where we checked out infct-cli to
|
||||||
|
./gcloud/tf/scripts/pre-flight-checks.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# PREREQS
|
||||||
|
# running pre flight checks ...
|
||||||
|
./gcloud/tf/scripts/pre-flight-checks.sh
|
||||||
|
# .....
|
||||||
|
|
||||||
|
✅ tofu is installed,...
|
||||||
|
|
||||||
|
✅ gcloud is installed,...
|
||||||
|
|
||||||
|
✅ kubectl is installed,...
|
||||||
|
|
||||||
|
✅ envsubst is installed,...
|
||||||
|
|
||||||
|
# .....
|
||||||
|
|
||||||
|
✅ Pre-flight checks passed. You are ready to proceed 🙂
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# CONFIGURE
|
||||||
|
[ -f .env ] || cp -v .env.gcloud-example .env
|
||||||
|
# edit to include
|
||||||
|
export PROJECT_NAME="the name of your gcp project, often referred to as the project"
|
||||||
|
export EMAIL="your email address to identify yourself with letsencrypt"
|
||||||
|
export APP_DOMAIN_NAME="your domain name for the app, e.g., frgdr.some-domain.com"
|
||||||
|
export INSTALL_FORGEJO="true"
|
||||||
|
```
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# RUN
|
||||||
|
LOG_FORMAT=none infctl -f ./gcloud/tf/scripts/build-gcloud-k3s-pipeline-wait-dns.json
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
````
|
||||||
|
<div v-click>
|
||||||
|
|
||||||
|
Lets see a Google Compute Engine install [Demo](https://ascii.headshed.dev/a/qslfF9KTMj69zcSwzD6xm1uZ7)
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
TBC
|
||||||
|
|
||||||
|
....
|
||||||
|
|
||||||
|
-->
|
||||||
|
|
@ -1,18 +1,13 @@
|
||||||
# Minimal Viable Kubernetes?
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
What is MVK ?
|
What is MVK ?
|
||||||
|
|
||||||
≥ **CLI first** uses [`infctl`](https://mvk.headshed.dev/infctl/quick-start/)
|
### ≥ CLI friendly, CLI first
|
||||||
|
|
||||||
🧑💻 **Startup Ready** functional simply
|
|
||||||
|
|
||||||
🤹 **Automated** infrastructure as code
|
|
||||||
|
|
||||||
🎥 **Repeatable** re-useable and predictable.
|
|
||||||
|
|
||||||
📤 **Portable** kubernetes that can run anywhere
|
|
||||||
|
|
||||||
🛠 **Hackable** simple to modify & extend
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
26
pages/intro02.md
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
What is MVK ?
|
||||||
|
|
||||||
|
### ≥ CLI friendly, CLI first
|
||||||
|
|
||||||
|
### 🤹 Promotes Infrastructure as code
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
26
pages/intro03.md
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
What is MVK ?
|
||||||
|
|
||||||
|
### ≥ CLI friendly, CLI first
|
||||||
|
|
||||||
|
### 🤹 Promotes Infrastructure as code
|
||||||
|
|
||||||
|
### 📤 **Portable** on-prem, cloud
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
27
pages/intro04.md
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
What is MVK ?
|
||||||
|
|
||||||
|
### ≥ CLI friendly, CLI first
|
||||||
|
|
||||||
|
### 🤹 Promotes Infrastructure as code
|
||||||
|
|
||||||
|
### 📤 **Portable** on-prem, cloud
|
||||||
|
|
||||||
|
### 🧐 Fosters inquisitiveness
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
29
pages/intro05.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
What is MVK ?
|
||||||
|
|
||||||
|
### ≥ CLI friendly, CLI first
|
||||||
|
|
||||||
|
### 🤹 Promotes Infrastructure as code
|
||||||
|
|
||||||
|
### 📤 **Portable** on-prem, cloud
|
||||||
|
|
||||||
|
### 🧐 Fosters inquisitiveness
|
||||||
|
|
||||||
|
### 🔒 Favours independence over lock-in
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
28
pages/uses01.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
Use Cases ?
|
||||||
|
|
||||||
|
### 🏠 Local development
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
29
pages/uses02.md
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
Use Cases ?
|
||||||
|
|
||||||
|
### 🏠 Local development
|
||||||
|
|
||||||
|
### 🛠️ Integration and smoke testing
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
28
pages/uses03.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
Use Cases ?
|
||||||
|
|
||||||
|
### 🏠 Local development
|
||||||
|
|
||||||
|
### 🛠️ Integration and smoke testing
|
||||||
|
|
||||||
|
### 🎬 Pre-prod & production
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
28
pages/uses04.md
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
# Minimal Viable Kubernetes
|
||||||
|
|
||||||
|
Use Cases ?
|
||||||
|
|
||||||
|
### 🏠 Local development
|
||||||
|
|
||||||
|
### 🛠️ Integration and smoke testing
|
||||||
|
|
||||||
|
### 🎬 Pre-prod & production
|
||||||
|
|
||||||
|
### 💣 Disaster recovery rehearsal
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!--
|
||||||
|
|
||||||
|
We live in the command line, so MVK is CLI centric. It uses a very simple command line tool, `infctl` to marshal scripts and commands in a stop by step manner, similar to the way we right pipelines in the cloud.
|
||||||
|
|
||||||
|
It is simple to get started, so that startups and the impatient can become productive with Kubernetes quickly, without having to rely on managed offerings and in order to self host easily.
|
||||||
|
|
||||||
|
Each pipeline use steps of code that are repeatable, idempotent and using infrastructure as code.
|
||||||
|
|
||||||
|
Kubernetes *can run anywhere* so MVK takes that principle and applies this to the self hosted approach making it possible to have the same setup on-prem and in the cloud
|
||||||
|
|
||||||
|
It is important to keep things simple so as to be understandable, maintainable and easy to change and extend to our own use cases
|
||||||
|
|
||||||
|
-->
|
||||||
BIN
public/boat-under-water.jpg
Normal file
|
After Width: | Height: | Size: 184 KiB |
BIN
public/cont13_c.jpg
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
public/cont3_c.jpg
Normal file
|
After Width: | Height: | Size: 244 KiB |
BIN
public/cont8_c.jpg
Normal file
|
After Width: | Height: | Size: 267 KiB |
BIN
public/cont_ship3_c.jpg
Normal file
|
After Width: | Height: | Size: 205 KiB |
BIN
public/cont_ship4_c.jpg
Normal file
|
After Width: | Height: | Size: 295 KiB |
BIN
public/cont_ship5_c.jpg
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
public/container_pipeline.jpg
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
public/containers2.jpg
Normal file
|
After Width: | Height: | Size: 270 KiB |
BIN
public/error.png
Normal file
|
After Width: | Height: | Size: 831 KiB |
BIN
public/hi-and-dry.png
Normal file
|
After Width: | Height: | Size: 1.2 MiB |
46
scripts/instalL_asciinema.sh
Executable file
|
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
|
||||||
|
## available versions as of Tue 7 Oct 18:34:05 BST 2025
|
||||||
|
|
||||||
|
# https://github.com/asciinema/asciinema/releases/download/v3.0.0/asciinema-aarch64-apple-darwin
|
||||||
|
# https://github.com/asciinema/asciinema/releases/download/v3.0.0/asciinema-aarch64-unknown-linux-gnu
|
||||||
|
# https://github.com/asciinema/asciinema/releases/download/v3.0.0/asciinema-x86_64-apple-darwin
|
||||||
|
# https://github.com/asciinema/asciinema/releases/download/v3.0.0/asciinema-x86_64-unknown-linux-gnu
|
||||||
|
# https://github.com/asciinema/asciinema/releases/download/v3.0.0/asciinema-x86_64-unknown-linux-musl
|
||||||
|
|
||||||
|
VERSION="3.0.0"
|
||||||
|
LINK="https://github.com/asciinema/asciinema/releases/download/v${VERSION}/asciinema-"
|
||||||
|
|
||||||
|
unameOut="$(uname -s)"
|
||||||
|
archOut="$(uname -m)"
|
||||||
|
|
||||||
|
case "${unameOut}" in
|
||||||
|
Linux)
|
||||||
|
if ldd --version 2>&1 | grep -q musl; then
|
||||||
|
platform="x86_64-unknown-linux-musl"
|
||||||
|
else
|
||||||
|
platform="x86_64-unknown-linux-gnu"
|
||||||
|
fi
|
||||||
|
if [[ "${archOut}" == "aarch64" ]]; then
|
||||||
|
platform="aarch64-unknown-linux-gnu"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
Darwin)
|
||||||
|
if [[ "${archOut}" == "arm64" ]]; then
|
||||||
|
platform="aarch64-apple-darwin"
|
||||||
|
else
|
||||||
|
platform="x86_64-apple-darwin"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unsupported platform: ${unameOut} ${archOut}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "Detected platform: $platform"
|
||||||
|
echo "installing asciinema version ${VERSION} for ${platform}"
|
||||||
|
sudo curl -sL "${LINK}${platform}" -o /usr/local/bin/asciinema
|
||||||
|
sudo chmod +x /usr/local/bin/asciinema
|
||||||
|
asciinema --version
|
||||||
86
slides.md
|
|
@ -7,7 +7,7 @@ theme: seriph
|
||||||
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/mYBMP8pW4uQ.webp
|
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/mYBMP8pW4uQ.webp
|
||||||
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/zRkBOOpKRhs.webp
|
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/zRkBOOpKRhs.webp
|
||||||
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/3XXSKa4jKaM.webp
|
# background: https://cdn.jsdelivr.net/gh/slidevjs/slidev-covers@main/static/3XXSKa4jKaM.webp
|
||||||
background: containers.webp
|
background: container_pipeline.jpg
|
||||||
# some information about your slides (markdown enabled)
|
# some information about your slides (markdown enabled)
|
||||||
title: Minimal Viable Kubernetes
|
title: Minimal Viable Kubernetes
|
||||||
info: |
|
info: |
|
||||||
|
|
@ -37,7 +37,7 @@ seoMeta:
|
||||||
Kubernetes for the impatient and pragmatic
|
Kubernetes for the impatient and pragmatic
|
||||||
|
|
||||||
Jon Brookes 2025
|
Jon Brookes 2025
|
||||||
|
cont13_c.jpg
|
||||||
[https://headshed.dev/n25](https://headshed.dev/n25)
|
[https://headshed.dev/n25](https://headshed.dev/n25)
|
||||||
|
|
||||||
<div @click="$slidev.nav.next" class="mt-12 py-1" hover:bg="white op-10">
|
<div @click="$slidev.nav.next" class="mt-12 py-1" hover:bg="white op-10">
|
||||||
|
|
@ -60,13 +60,74 @@ Jon Brookes 2025
|
||||||
This is an introduction to Minimal Viable Kubernetes (MVK). What it is, why it is brought into being and the tooling around it.
|
This is an introduction to Minimal Viable Kubernetes (MVK). What it is, why it is brought into being and the tooling around it.
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-right
|
||||||
|
image: cont3_c.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/intro01.md
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-right
|
||||||
|
image: cont8_c.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/intro02.md
|
||||||
|
---
|
||||||
|
|
||||||
---
|
---
|
||||||
layout: image-right
|
layout: image-right
|
||||||
image: containers3.png
|
image: containers3.png
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/intro-slide.md
|
src: ./pages/intro03.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-right
|
||||||
|
image: containers2.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/intro04.md
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-right
|
||||||
|
image: boat-under-water.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/intro05.md
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-left
|
||||||
|
image: cont_ship3_c.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/uses01.md
|
||||||
|
---
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-left
|
||||||
|
image: cont_ship4_c.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/uses02.md
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-left
|
||||||
|
image: cont_ship5_c.jpg
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/uses03.md
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
layout: image-left
|
||||||
|
image: hi-and-dry.png
|
||||||
|
transition: fade-out
|
||||||
|
src: ./pages/uses04.md
|
||||||
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
You can have `style` tag in markdown to override the style for the current page.
|
You can have `style` tag in markdown to override the style for the current page.
|
||||||
Learn more: https://sli.dev/features/slide-scope-style
|
Learn more: https://sli.dev/features/slide-scope-style
|
||||||
|
|
@ -99,31 +160,27 @@ src: ./pages/usage-slide.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/run-slide.md
|
src: ./pages/diagram-single-node.md
|
||||||
---
|
---
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/diagram.md
|
src: ./pages/diagram-3node.md
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
transition: fade-out
|
transition: fade-out
|
||||||
src: ./pages/storage.md
|
src: ./pages/gcloud-single.md
|
||||||
---
|
---
|
||||||
|
|
||||||
---
|
|
||||||
transition: fade-out
|
|
||||||
src: ./pages/ingress.md
|
|
||||||
---
|
|
||||||
|
|
||||||
---
|
|
||||||
transition: fade-out
|
|
||||||
src: ./pages/ingress-test.md
|
|
||||||
---
|
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -147,4 +204,3 @@ class: text-center
|
||||||
|
|
||||||
[https://headshed.dev/n25/](https://headshed.dev/n25/)
|
[https://headshed.dev/n25/](https://headshed.dev/n25/)
|
||||||
|
|
||||||
<PoweredBySlidev mt-10 />
|
|
||||||
|
|
|
||||||