Skip to content

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 :

  1. 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
  2. Deploy the runner-deployment.yaml.

Using github install :

  1. 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 ​

ImageDescriptionDockerfiles
ghcr.io/this-is-tobi/tools/act-runneract runner image for local CI tests (ubuntu based).Dockerfile
ghcr.io/this-is-tobi/tools/debugdebug image with all convenients tools (debian based).Dockerfile
ghcr.io/this-is-tobi/tools/devdevelopment image with all convenients tools (debian based).Dockerfile
ghcr.io/this-is-tobi/tools/gh-runnergithub self hosted runner with common packages (ubuntu based).Dockerfile
ghcr.io/this-is-tobi/tools/mcligthweight image with tools for s3 manipulations (alpine based).Dockerfile
ghcr.io/this-is-tobi/tools/pg-backuphelper image to backup postgresql to s3 (postgres based).Dockerfile
ghcr.io/this-is-tobi/tools/s3-backuphelper image to backup s3 bucket to another s3 bucket (debian based).Dockerfile
ghcr.io/this-is-tobi/tools/vault-backuphelper image to backup vault raft cluster to s3 bucket (vault based).Dockerfile

Versions correlation table :

NameImage versionBase image
act-runner2.0.2docker.io/ubuntu:24.04
debug2.1.0docker.io/debian:12
dev2.0.2docker.io/debian:12
gh-runner1.1.0ghcr.io/actions/actions-runner:2.323.0
mc1.1.0docker.io/alpine:3.21.3
pg-backup3.4.0docker.io/postgres:17.5
pg-backup2.4.0docker.io/postgres:16.9
pg-backup1.8.0docker.io/postgres:15.13
s3-backup1.2.0docker.io/debian:12
vault-backup1.5.1docker.io/hashicorp/vault:1.19.3

TIP

The backup images are supplied with a sample kubernetes cronjob in their respective folders.

Templates images ​

NameDescription
nginxbitnami/nignx rootless conf with variables substitution.

Git hooks ​

NameTypeDescriptionConfig
conventional-commitcommit-msgpure bash check for conventional commit pattern in git commit messages.-
eslint-lintpre-commitlint js, ts and many more files using eslint.eslint.config.js
helm-lintpre-commitlint helm charts using chart-testing.chart-testing.yaml
signed-commitpre-pushpure bash check if commits are signed.-
yaml-lintpre-commitlint 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:

sh
# 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 ​

NameDescription
crypto.mjsset of crypto functions.

Shell ​

NameDescription
backup-kube-pg.shbackup / restore postgres database from / to a kubernetes pod.
backup-kube-vault.shbackup / restore vault raft cluster from / to a kubernetes pod.
clone-subdir.shclone a subdirectory from a git repository.
compose-to-matrix.shparse docker-compose file to create github matrix.
copy-env-examples.shcopy all git project env*-examples files to env files.
delete-ghcr-image.shdelete image and subsequent manifests from ghcr.
eol-infos.shget package end of life infos.
export-argocd-resources.shexport ready-to-apply argocd resources.
export-kube-resources.shexport ready-to-apply kubernetes resources.
init-env-files.shinit .env and .yaml example files by copying them without -example.
keycloak-add-clients.shadd keycloak clients for a given keycloak realm.
keycloak-add-users.shadd keycloak users for a given keycloak realm.
keycloak-get-token.shdisplay keycloak token for the given infos.
keycloak-list-users.shlist keycloak users for a given keycloak realm.
keycloak-required-tac.shadd terms and conditions required action to all realm users.
manage-etc-hosts.shadd or update host ip adress in /etc/hosts.
purge-ghcr-tags.shpurge ghcr tags older than a given date.
trivy-report.shparse trivy json reports to create a markdown summary.
update-zsh-completions.shupdate zsh-completions sources.

TIP

Using a script directly from a curl command :

sh
curl -s https://raw.githubusercontent.com/this-is-tobi/tools/main/shell/<script_name> | bash -s -- -h

Tools ​

NameDescription
actlocal github action act wrapper.
kindlocal kubernetes kind wrapper.

Sources ​

Take a look at the project sources.