<h2 align="center">
<img
src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png"
height="30"
width="0px"
/>
smol k8s lab 🧸
</h2>
<p align="center">
<a href="https://github.com/jessebot/smol-k8s-lab/releases">
<img src="https://img.shields.io/github/v/release/jessebot/smol-k8s-lab?style=plastic&labelColor=484848&color=3CA324&logo=GitHub&logoColor=white">
</a>
</p>
A tool to get up and running **quickly** with slimmer k8s distros on your local machine. Also helpful for benchmarking various k8s distros! :)
<p align="center">
<a href="https://raw.githubusercontent.com/jessebot/smol-k8s-lab/main/docs/screenshots/help_text.svg">
<img src="./docs/screenshots/help_text.svg" alt="Output of smol-k8s-lab --help after cloning the directory and installing the prerequisites.">
</a>
</p>
## Getting Started
### Installation
If you've already got Python3.11 and brew installed, you should be able to:
```bash
# install the CLI
pip3.11 install smol-k8s-lab
# Check the help menu before proceeding
smol-k8s-lab --help
```
### Configuration
We've got a [Quickstart guide](https://jessebot.github.io/smol-k8s-lab/quickstart) for you to jump right in, but for sake of getting you up and running quickly, please run the following:
```bash
# create the directory structure. smol-k8s-lab will also use XDG base dir spec.
# if you'd like XDG, change the below line to: mkdir -p $XDG_CONFIG_HOME/smol-k8s-lab
mkdir -p ~/.config/smol-k8s-lab
# this doesn't have to be vim, you can use any editor of your choice :)
vim config.yaml
```
In the newly created `config.yaml`, add the following:
```yaml
# FQDN to access your web interfaces: all of these are only required if you
# specify optional app installs, such as argocd
domain:
# your base domain for use with subdomains below
# if commented out, you need to provide the entire domain name for each app below
base: "coolwebsitefordogs.com"
# subdomain for Argo CD, if you had base set, this would be:
# argocd.coolwebsitefordogs.com
argo_cd: "argocd"
# metallb IPs used for DNS later (make sure they're not in use)
metallb_address_pool:
enabled: true
# Example of required full CIDR notation
# - 192.168.90.01/32
# Used for letsencrypt-staging, to generate certs, change this to your email
email: "coolemailfordogs@verygooddogs.net"
# Use the external secrets provider with gitlab (only gitlab is currently supported)
external_secrets:
enabled: false
gitlab:
# token from here: https://gitlab.com/-/profile/personal_access_tokens
access_token: "kjdfsk758934fkldsafds"
namespace: "nextcloud"
log:
# logging level, Options: debug, info, warn, error
level: "info"
# optional: path of file to log to
# file: "./smol-k8s-log.log"
# a list of extra k3s args you'd like to pass in
extra_k3s_args: []
```
There's also full tutorials to manually set up different distros in the [docs we maintain](https://jessebot.github.io/smol-k8s-lab/distros) as well as BASH scripts for basic automation of each k8s distro in:
`./bash_scripts/{NAME_OF_K8S_DISTRO}/bash_full_quickstart.sh`
## Under the hood
Note: this project is not officially afilliated with any of the below tooling or applications.
### Supported k8s distributions
We always install the latest version of kubernetes that is available from the distro's startup script.
| Distro | Description |
|:----------:|:------------------------------------------------------|
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k0s-logo.svg" width="32">][k0s] <br /> [k0s] | Simple, Solid & Certified Kubernetes Distribution |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k3s_icon.ico" width="26">][k3s] <br /> [k3s] | The certified Kubernetes distribution built for IoT & Edge computing |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/kind_icon.png" width="32">][KinD] <br /> [KinD] | kind is a tool for running local Kubernetes clusters using Docker container “nodes”. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI. |
We tend to test first on k3s first, then the other distros.
### Stack We Install on K8s
Version is the helm chart version, or manifest version.
| Application | Version | Description |
|:-------------------------------:|:-------------:|:------------------------------------------------------|
| 🐄 <br /> [Local Path Provisioner] | latest | [**k3s only**] Default simple local file storage for persistent data |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/metallb_icon.png" width="32px" alt="metallb logo, blue arrow pointing up, with small line on one leg of arrow to show balance">][metallb] <br /> [metallb] | 0.13.10 | loadbalancer for metal, since we're mostly selfhosting |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/nginx.ico" width="32px" alt="nginx logo, white letter N with green background">][nginx-ingress] <br /> [nginx-ingress] | 4.7.1 | The ingress controller allows access to the cluster remotely, needed for web traffic |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/cert-manager_icon.png" width="32px" alt="cert manager logo">][cert-manager] <br /> [cert-manager] | 1.12.3 | For SSL/TLS certificates |
#### Optionally installed
| Application/Tool | Version | Description |
|:----------------:|:-------------:|:------------|
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/eso_icon.png" width="32" alt="ESO logo, outline of robot with astricks in a screen in it's belly">][ESO] <br /> [ESO] | 0.9.1 | external-secrets-operator integrates external secret management systems like GitLab|
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/argo_icon.png" width="32" alt="argo CD logo, an organer squid wearing a fishbowl helmet">][Argo CD] <br /> [Argo CD] | 5.42.1 | Gitops - Continuous Deployment |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/kyverno_icon.png" width="32" alt="kyvero logo">][Kyverno] <br /> [Kyverno] | latest | Kubernetes native policy management to enforce policies on k8s resources |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/keycloak_icon.png" width="32" alt="keycloak logo">][Keycloak] <br /> [KeyCloak] | 16.0.2 | Self hosted IAM/Oauth2 solution |
| [<img src="https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k9s_icon.png" alt="k9s logo, outline of dog with ship wheels for eyes" width="32px">][k9s]</br>[k9s] | latest | Terminal based dashboard for kubernetes |
### Tooling Used for the CLI itself and interface
smol-k8s-lab is written in Python and built and published using [Poetry]. You can check out the `pyproject.toml` for the versions of each library we install below:
- [rich] (this is what makes all the pretty formatted text)
- [PyYAML] (to handle the k8s yamls and configs)
- [bcrypt] (to pass a password to argocd and automatically update your Bitwarden)
- [click] (handles arguments for the CLI)
We also utilize the [Bitwarden cli], for a password manager so you never have to see/know your argocd password.
## Troubleshooting
If you're stuck, checkout the [Notes](https://jessebot.github.io/smol-k8s-lab/notes) to see if we also got stuck on the same thing at some point :) Under each app or tool, we'll have notes on how to learn more about it, as well as any errors we've already battled.
## Other Notes
Check out the [`optional`](optional) directory for quick examples on apps this script does not default install.
e.g. for postgres, go to [`./optional/postgres`](./optional/postgres)
# Status
This is still in later alpha, as we figure out all the distros we want to support,
and pin all the versions, but if you'd like to contribute or just found a :bug:,
feel free to open an issue (or pull request), and we'll take a look! We'll try
to get back to you asap!
## Contributors
<!-- readme: contributors -start -->
<table>
<tr>
<td align="center">
<a href="https://github.com/jessebot">
<img src="https://avatars.githubusercontent.com/u/2389292?v=4" width="100;" alt="jessebot"/>
<br />
<sub><b>JesseBot</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/cloudymax">
<img src="https://avatars.githubusercontent.com/u/84841307?v=4" width="100;" alt="cloudymax"/>
<br />
<sub><b>Max!</b></sub>
</a>
</td></tr>
</table>
<!-- readme: contributors -end -->
## And more!
Want to get started with argocd? If you've installed it via smol-k8s-lab, then you can jump [here](https://github.com/jessebot/argo-example#argo-via-the-gui). Otherwise, if you want to start from scratch, start [here](https://github.com/jessebot/argo-example#argocd)
<!-- k8s distro link references -->
[k3s]: https://k3s.io/
[KinD]: https://kind.sigs.k8s.io/
[k0s]: https://k0sproject.io/
<!-- k8s apps link references -->
[metallb]: https://github.io/metallb/metallb "metallb"
[Local Path Provisioner]: https://github.com/rancher/local-path-provisioner
[nginx-ingress]: https://github.io/kubernetes/ingress-nginx
[cert-manager]: https://cert-manager.io/docs/
<!-- k8s optional apps link references -->
[ESO]: https://external-secrets.io/v0.8.1/
[Argo CD]: https://github.io/argoproj/argo-helm
[Kyverno]: https://github.com/kyverno/kyverno/
[Keycloak]: https://github.com/bitnami/charts/tree/main/bitnami/keycloak/templates
<!-- k8s tooling reference -->
[k9s]: https://k9scli.io/topics/install/
<!-- smol-k8s-lab dependency lib link references -->
[Poetry]: https://python-poetry.org/
[rich]: https://github.com/Textualize/richP
[PyYAML]: https://pyyaml.org/
[bcrypt]: https://pypi.org/project/bcrypt/
[click]: https://pypi.org/project/click/
[Bitwarden cli]: https://bitwarden.com/help/cli/
Raw data
{
"_id": null,
"home_page": "https://small-hack.github.io/smol-k8s-lab",
"name": "smol-k8s-lab",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11,<4.0",
"maintainer_email": "",
"keywords": "kubernetes,homelab,kind,k3s,k8s",
"author": "Jesse Hitch",
"author_email": "jessebot@linux.com",
"download_url": "https://files.pythonhosted.org/packages/56/78/39380dd401cefec5b2a815c5e230066f2d2871723ab361a8a399240d3c51/smol_k8s_lab-0.11.2.tar.gz",
"platform": null,
"description": "<h2 align=\"center\">\n <img\n src=\"https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/misc/transparent.png\"\n height=\"30\"\n width=\"0px\"\n />\nsmol k8s lab \ud83e\uddf8\n</h2>\n\n<p align=\"center\">\n <a href=\"https://github.com/jessebot/smol-k8s-lab/releases\">\n <img src=\"https://img.shields.io/github/v/release/jessebot/smol-k8s-lab?style=plastic&labelColor=484848&color=3CA324&logo=GitHub&logoColor=white\">\n </a>\n</p>\n\nA tool to get up and running **quickly** with slimmer k8s distros on your local machine. Also helpful for benchmarking various k8s distros! :)\n\n<p align=\"center\">\n <a href=\"https://raw.githubusercontent.com/jessebot/smol-k8s-lab/main/docs/screenshots/help_text.svg\">\n <img src=\"./docs/screenshots/help_text.svg\" alt=\"Output of smol-k8s-lab --help after cloning the directory and installing the prerequisites.\">\n </a>\n</p>\n\n\n## Getting Started\n\n### Installation\nIf you've already got Python3.11 and brew installed, you should be able to:\n\n```bash\n# install the CLI\npip3.11 install smol-k8s-lab\n\n# Check the help menu before proceeding\nsmol-k8s-lab --help\n```\n\n### Configuration\nWe've got a [Quickstart guide](https://jessebot.github.io/smol-k8s-lab/quickstart) for you to jump right in, but for sake of getting you up and running quickly, please run the following:\n\n```bash\n# create the directory structure. smol-k8s-lab will also use XDG base dir spec.\n# if you'd like XDG, change the below line to: mkdir -p $XDG_CONFIG_HOME/smol-k8s-lab\nmkdir -p ~/.config/smol-k8s-lab\n\n# this doesn't have to be vim, you can use any editor of your choice :)\nvim config.yaml\n```\n\nIn the newly created `config.yaml`, add the following:\n\n```yaml\n# FQDN to access your web interfaces: all of these are only required if you\n# specify optional app installs, such as argocd\ndomain:\n # your base domain for use with subdomains below\n # if commented out, you need to provide the entire domain name for each app below\n base: \"coolwebsitefordogs.com\"\n # subdomain for Argo CD, if you had base set, this would be:\n # argocd.coolwebsitefordogs.com\n argo_cd: \"argocd\"\n\n# metallb IPs used for DNS later (make sure they're not in use)\nmetallb_address_pool:\n enabled: true\n # Example of required full CIDR notation\n # - 192.168.90.01/32\n\n# Used for letsencrypt-staging, to generate certs, change this to your email\nemail: \"coolemailfordogs@verygooddogs.net\"\n\n# Use the external secrets provider with gitlab (only gitlab is currently supported)\nexternal_secrets:\n enabled: false\n gitlab:\n # token from here: https://gitlab.com/-/profile/personal_access_tokens\n access_token: \"kjdfsk758934fkldsafds\"\n namespace: \"nextcloud\"\n\nlog:\n # logging level, Options: debug, info, warn, error\n level: \"info\"\n # optional: path of file to log to\n # file: \"./smol-k8s-log.log\"\n\n# a list of extra k3s args you'd like to pass in\nextra_k3s_args: []\n```\n\nThere's also full tutorials to manually set up different distros in the [docs we maintain](https://jessebot.github.io/smol-k8s-lab/distros) as well as BASH scripts for basic automation of each k8s distro in:\n\n`./bash_scripts/{NAME_OF_K8S_DISTRO}/bash_full_quickstart.sh`\n\n## Under the hood\nNote: this project is not officially afilliated with any of the below tooling or applications.\n\n### Supported k8s distributions\nWe always install the latest version of kubernetes that is available from the distro's startup script.\n\n| Distro | Description |\n|:----------:|:------------------------------------------------------|\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k0s-logo.svg\" width=\"32\">][k0s] <br /> [k0s] | Simple, Solid & Certified Kubernetes Distribution |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k3s_icon.ico\" width=\"26\">][k3s] <br /> [k3s] | The certified Kubernetes distribution built for IoT & Edge computing |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/kind_icon.png\" width=\"32\">][KinD] <br /> [KinD] | kind is a tool for running local Kubernetes clusters using Docker container \u201cnodes\u201d. kind was primarily designed for testing Kubernetes itself, but may be used for local development or CI. |\n\nWe tend to test first on k3s first, then the other distros.\n\n### Stack We Install on K8s\nVersion is the helm chart version, or manifest version.\n\n| Application | Version | Description |\n|:-------------------------------:|:-------------:|:------------------------------------------------------|\n| \ud83d\udc04 <br /> [Local Path Provisioner] | latest | [**k3s only**] Default simple local file storage for persistent data |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/metallb_icon.png\" width=\"32px\" alt=\"metallb logo, blue arrow pointing up, with small line on one leg of arrow to show balance\">][metallb] <br /> [metallb] | 0.13.10 | loadbalancer for metal, since we're mostly selfhosting |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/nginx.ico\" width=\"32px\" alt=\"nginx logo, white letter N with green background\">][nginx-ingress] <br /> [nginx-ingress] | 4.7.1 | The ingress controller allows access to the cluster remotely, needed for web traffic |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/cert-manager_icon.png\" width=\"32px\" alt=\"cert manager logo\">][cert-manager] <br /> [cert-manager] | 1.12.3 | For SSL/TLS certificates |\n\n\n#### Optionally installed\n\n| Application/Tool | Version | Description |\n|:----------------:|:-------------:|:------------|\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/eso_icon.png\" width=\"32\" alt=\"ESO logo, outline of robot with astricks in a screen in it's belly\">][ESO] <br /> [ESO] | 0.9.1 | external-secrets-operator integrates external secret management systems like GitLab|\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/argo_icon.png\" width=\"32\" alt=\"argo CD logo, an organer squid wearing a fishbowl helmet\">][Argo CD] <br /> [Argo CD] | 5.42.1 | Gitops - Continuous Deployment |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/kyverno_icon.png\" width=\"32\" alt=\"kyvero logo\">][Kyverno] <br /> [Kyverno] | latest | Kubernetes native policy management to enforce policies on k8s resources |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/keycloak_icon.png\" width=\"32\" alt=\"keycloak logo\">][Keycloak] <br /> [KeyCloak] | 16.0.2 | Self hosted IAM/Oauth2 solution |\n| [<img src=\"https://raw.githubusercontent.com/small-hack/smol-k8s-lab/main/docs/icons/k9s_icon.png\" alt=\"k9s logo, outline of dog with ship wheels for eyes\" width=\"32px\">][k9s]</br>[k9s] | latest | Terminal based dashboard for kubernetes |\n\n\n### Tooling Used for the CLI itself and interface\nsmol-k8s-lab is written in Python and built and published using [Poetry]. You can check out the `pyproject.toml` for the versions of each library we install below:\n\n- [rich] (this is what makes all the pretty formatted text)\n- [PyYAML] (to handle the k8s yamls and configs)\n- [bcrypt] (to pass a password to argocd and automatically update your Bitwarden)\n- [click] (handles arguments for the CLI)\n\nWe also utilize the [Bitwarden cli], for a password manager so you never have to see/know your argocd password.\n\n\n## Troubleshooting\nIf you're stuck, checkout the [Notes](https://jessebot.github.io/smol-k8s-lab/notes) to see if we also got stuck on the same thing at some point :) Under each app or tool, we'll have notes on how to learn more about it, as well as any errors we've already battled.\n\n\n## Other Notes\nCheck out the [`optional`](optional) directory for quick examples on apps this script does not default install.\n\ne.g. for postgres, go to [`./optional/postgres`](./optional/postgres)\n\n# Status\nThis is still in later alpha, as we figure out all the distros we want to support,\nand pin all the versions, but if you'd like to contribute or just found a :bug:,\nfeel free to open an issue (or pull request), and we'll take a look! We'll try\nto get back to you asap!\n\n## Contributors\n\n<!-- readme: contributors -start -->\n<table>\n<tr>\n <td align=\"center\">\n <a href=\"https://github.com/jessebot\">\n <img src=\"https://avatars.githubusercontent.com/u/2389292?v=4\" width=\"100;\" alt=\"jessebot\"/>\n <br />\n <sub><b>JesseBot</b></sub>\n </a>\n </td>\n <td align=\"center\">\n <a href=\"https://github.com/cloudymax\">\n <img src=\"https://avatars.githubusercontent.com/u/84841307?v=4\" width=\"100;\" alt=\"cloudymax\"/>\n <br />\n <sub><b>Max!</b></sub>\n </a>\n </td></tr>\n</table>\n<!-- readme: contributors -end -->\n\n## And more!\n\nWant to get started with argocd? If you've installed it via smol-k8s-lab, then you can jump [here](https://github.com/jessebot/argo-example#argo-via-the-gui). Otherwise, if you want to start from scratch, start [here](https://github.com/jessebot/argo-example#argocd)\n\n<!-- k8s distro link references -->\n[k3s]: https://k3s.io/\n[KinD]: https://kind.sigs.k8s.io/\n[k0s]: https://k0sproject.io/\n\n<!-- k8s apps link references -->\n[metallb]: https://github.io/metallb/metallb \"metallb\"\n[Local Path Provisioner]: https://github.com/rancher/local-path-provisioner\n[nginx-ingress]: https://github.io/kubernetes/ingress-nginx\n[cert-manager]: https://cert-manager.io/docs/\n\n<!-- k8s optional apps link references -->\n[ESO]: https://external-secrets.io/v0.8.1/\n[Argo CD]: https://github.io/argoproj/argo-helm\n[Kyverno]: https://github.com/kyverno/kyverno/\n[Keycloak]: https://github.com/bitnami/charts/tree/main/bitnami/keycloak/templates\n\n<!-- k8s tooling reference -->\n[k9s]: https://k9scli.io/topics/install/\n\n<!-- smol-k8s-lab dependency lib link references -->\n[Poetry]: https://python-poetry.org/\n[rich]: https://github.com/Textualize/richP\n[PyYAML]: https://pyyaml.org/\n[bcrypt]: https://pypi.org/project/bcrypt/\n[click]: https://pypi.org/project/click/\n[Bitwarden cli]: https://bitwarden.com/help/cli/\n",
"bugtrack_url": null,
"license": "AGPL-3.0-or-later",
"summary": "bootstrap simple projects on kubernetes with kind and k3s",
"version": "0.11.2",
"project_urls": {
"Bug Tracker": "http://github.com/small-hack/smol-k8s-lab/issues",
"Documentation": "https://small-hack.github.io/smol-k8s-lab",
"Homepage": "https://small-hack.github.io/smol-k8s-lab",
"Repository": "http://github.com/small-hack/smol-k8s-lab"
},
"split_keywords": [
"kubernetes",
"homelab",
"kind",
"k3s",
"k8s"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9898a1c25506bc937ae2c451ac39ed856c1dcceb923e9293d3d9c81fe44bdfcd",
"md5": "46a2a7e9b785c02d7200193304fb3bb5",
"sha256": "d231ca5b202392b455dcc31a97ff54489f0a8873312fda964dd69271d49d70e9"
},
"downloads": -1,
"filename": "smol_k8s_lab-0.11.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "46a2a7e9b785c02d7200193304fb3bb5",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11,<4.0",
"size": 46674,
"upload_time": "2023-08-03T09:50:57",
"upload_time_iso_8601": "2023-08-03T09:50:57.789840Z",
"url": "https://files.pythonhosted.org/packages/98/98/a1c25506bc937ae2c451ac39ed856c1dcceb923e9293d3d9c81fe44bdfcd/smol_k8s_lab-0.11.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "567839380dd401cefec5b2a815c5e230066f2d2871723ab361a8a399240d3c51",
"md5": "dfad5121b3a39c88f326097ac051ba2d",
"sha256": "e88c4e91e0219230aaad18c7aaa9c62fb6ffbfd6e27abde59b24cdb957a3077a"
},
"downloads": -1,
"filename": "smol_k8s_lab-0.11.2.tar.gz",
"has_sig": false,
"md5_digest": "dfad5121b3a39c88f326097ac051ba2d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11,<4.0",
"size": 39573,
"upload_time": "2023-08-03T09:50:59",
"upload_time_iso_8601": "2023-08-03T09:50:59.425827Z",
"url": "https://files.pythonhosted.org/packages/56/78/39380dd401cefec5b2a815c5e230066f2d2871723ab361a8a399240d3c51/smol_k8s_lab-0.11.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-03 09:50:59",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "small-hack",
"github_project": "smol-k8s-lab",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "smol-k8s-lab"
}