Tools 🔧 ​
Utility tools & scripts.
Devops ​
ArgoCD app previews ​
Templates to configure preview environments with ArgoCD by using the Pull Request Generator. The Pull Request generator uses the API of an SCMaaS provider (GitHub, GitLab, Gitea, Bitbucket, ...) to automatically discover open pull requests within a repository, this fits well with the style of building a test environment when you create a pull request.
For further information, see ArgoCD documentation.
Github self-hosted runners ​
Templates to deploy Github Actions Runners accross a Kubernetes cluster.
Using legacy install :
- Install actions-runner-controller helm chart.sh
# Get chart informations helm show chart actions-runner-controller --repo https://actions-runner-controller.github.io/actions-runner-controller helm show values actions-runner-controller --repo https://actions-runner-controller.github.io/actions-runner-controller
- Deploy the runner-deployment.yaml.
Using github install :
- Install actions-runner-controller helm chart.sh
# Get chart informations helm show chart oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller helm show values oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller
For further information, see :
Docker ​
Utils images ​
Image | Description | Dockerfiles |
---|---|---|
ghcr.io/this-is-tobi/tools/act-runner | act runner image for local CI tests (ubuntu based). | Dockerfile |
ghcr.io/this-is-tobi/tools/debug | debug image with all convenients tools (debian based). | Dockerfile |
ghcr.io/this-is-tobi/tools/dev | development image with all convenients tools (debian based). | Dockerfile |
ghcr.io/this-is-tobi/tools/gh-runner | github self hosted runner with common packages (ubuntu based). | Dockerfile |
ghcr.io/this-is-tobi/tools/mc | ligthweight image with tools for s3 manipulations (alpine based). | Dockerfile |
ghcr.io/this-is-tobi/tools/pg-backup | helper image to backup postgresql to s3 (postgres based). | Dockerfile |
ghcr.io/this-is-tobi/tools/s3-backup | helper image to backup s3 bucket to another s3 bucket (debian based). | Dockerfile |
ghcr.io/this-is-tobi/tools/vault-backup | helper image to backup vault raft cluster to s3 bucket (vault based). | Dockerfile |
Versions correlation table :
Name | Image version | Base image |
---|---|---|
act-runner | 2.0.2 | docker.io/ubuntu:24.04 |
debug | 2.1.0 | docker.io/debian:12 |
dev | 2.0.2 | docker.io/debian:12 |
gh-runner | 1.1.0 | ghcr.io/actions/actions-runner:2.323.0 |
mc | 1.1.0 | docker.io/alpine:3.21.3 |
pg-backup | 3.4.0 | docker.io/postgres:17.5 |
pg-backup | 2.4.0 | docker.io/postgres:16.9 |
pg-backup | 1.8.0 | docker.io/postgres:15.13 |
s3-backup | 1.2.0 | docker.io/debian:12 |
vault-backup | 1.5.1 | docker.io/hashicorp/vault:1.19.3 |
TIP
The backup images are supplied with a sample kubernetes cronjob in their respective folders.
Templates images ​
Name | Description |
---|---|
nginx | bitnami/nignx rootless conf with variables substitution. |
Git hooks ​
Name | Type | Description | Config |
---|---|---|---|
conventional-commit | commit-msg | pure bash check for conventional commit pattern in git commit messages. | - |
eslint-lint | pre-commit | lint js, ts and many more files using eslint. | eslint.config.js |
helm-lint | pre-commit | lint helm charts using chart-testing. | chart-testing.yaml |
signed-commit | pre-push | pure bash check if commits are signed. | - |
yaml-lint | pre-commit | lint yaml using yamllint. | yamllint.yaml |
Quick Setup ​
Run the following command to download the hook from the GitHub repository and install it in your current repository:
# Define the target file and the URL to download from
TARGET_FILE=".git/hooks/<git_hook>"
URL="https://raw.githubusercontent.com/this-is-tobi/tools/main/git-hooks/<git_hook>"
# Check if the target file exists
if [ -f "$TARGET_FILE" ]; then
# File exists, download the content and remove the shebang from the first line
curl -fsSL "$URL" | sed '1 s/^#!.*//' >> "$TARGET_FILE"
else
# File does not exist, create the file with the downloaded content
curl -fsSL "$URL" -o "$TARGET_FILE"
fi
# Ensure the file is executable
chmod +x "$TARGET_FILE"
Nodejs ​
Name | Description |
---|---|
crypto.mjs | set of crypto functions. |
Shell ​
Name | Description |
---|---|
backup-kube-pg.sh | backup / restore postgres database from / to a kubernetes pod. |
backup-kube-vault.sh | backup / restore vault raft cluster from / to a kubernetes pod. |
clone-subdir.sh | clone a subdirectory from a git repository. |
compose-to-matrix.sh | parse docker-compose file to create github matrix. |
copy-env-examples.sh | copy all git project env*-examples files to env files. |
delete-ghcr-image.sh | delete image and subsequent manifests from ghcr. |
eol-infos.sh | get package end of life infos. |
export-argocd-resources.sh | export ready-to-apply argocd resources. |
export-kube-resources.sh | export ready-to-apply kubernetes resources. |
init-env-files.sh | init .env and .yaml example files by copying them without -example . |
keycloak-add-clients.sh | add keycloak clients for a given keycloak realm. |
keycloak-add-users.sh | add keycloak users for a given keycloak realm. |
keycloak-get-token.sh | display keycloak token for the given infos. |
keycloak-list-users.sh | list keycloak users for a given keycloak realm. |
keycloak-required-tac.sh | add terms and conditions required action to all realm users. |
manage-etc-hosts.sh | add or update host ip adress in /etc/hosts. |
purge-ghcr-tags.sh | purge ghcr tags older than a given date. |
trivy-report.sh | parse trivy json reports to create a markdown summary. |
update-zsh-completions.sh | update zsh-completions sources. |
TIP
Using a script directly from a curl command :
curl -s https://raw.githubusercontent.com/this-is-tobi/tools/main/shell/<script_name> | bash -s -- -h
Tools ​
Name | Description |
---|---|
act | local github action act wrapper. |
kind | local kubernetes kind wrapper. |
Sources ​
Take a look at the project sources.