Daily tasks

  • Updating my dotfiles
    • This is where I configure Neovim, Zsh/Bash and various applications.
    • It includes a number of shell and Python scripts for various tasks.
    • It doesn’t download third party packages, which would be insecure. Instead I review these and bundle the code directly in this repository.
  • Administrating my infrastructure
    • Updating more than 10 servers
      • 1 dedicated server with 5 virtual machines
      • 5 virtual private servers
      • and another server at home
    • Maintaining my self-hosted Kubernetes cluster
    • Updating large apps like Mastodon, GitLab and Nextcloud
    • salt-ssh is used to ease some of these tasks.
  • Renewing my domain names
  • Being kept up-to-date to security vulnerabilities in my reading

Recent projects

  • You can check my repositories on GitLab.com and my self-hosted GitLab.
  • My IP: a web service used to show your IPv4 and IPv6 along with information about your connection
    • Initially made with nginx, the backend was reworked into a web microservice made in Go, to be installed on Kubernetes: My IP Service.
  • Wolfy Alpha: an anonymous name calculator for Wolfy, a French werewolf game.
    • It is a simple and praised application that just works.
  • acme-dns-sidecar: a sidecar for acme-dns to register accounts using Kubernetes secrets. This is used to automate Let’s Encrypt certificate renewal with cert-manager, with a stateless setup.
    • A future work would be to fork acme-dns and ease the configuration with cert-manager.
  • I made a fork of kube-backup, which is a tool used to periodically dump Kubernetes configuration and push it to a Git repository. It has been updated to work with more recent versions of Kubernetes.
    • I tried to upstream my changes but the project is inactive.

Contributed projects

  • You can find a list of my merged pull requests on GitHub. These are still little contributions but I aim to make more.
  • I added an API call to get Heptapod version from an instance. Heptapod is a fork of GitLab that adds support for Mercurial.
  • I added certificate expiration checks in Gatus, a web service to check website availability.
  • I added support for sudden death in ET Legacy, so that game rounds may continue for a few seconds more.
    • Still need to fix an issue with a certain game mode.
  • I fixed various bugs and regressions in software I use.

Projects on hold

  • etbloat: a mod for Wolfenstein - Enemy territory, which aims to implement fun “bloat” features. It is based on the ET Legacy mod.
  • A news aggregator, or more like a reworking of my access to news, to filter it, organize it into multiple views and republish it to various social networks.
    • It’s been more than four years that I think about it, but I’m unable to write a real specification.
    • I almost went into redeveloping a new FaaS software, but I should really look into what exists already (Knative, Node-RED).
    • Existing applications could be plugged together (like wallabag for reading articles).

Other things

  • 42sh: a partial reimplementation of a POSIX shell, made at 42 with four other students. It took a lot more time that it should have, but I learned a lot by writing the parser for it.
  • Denial of Auth: a proof of concept to create a microservice to hash passwords in a single thread. The idea is that, if it’s easy to make a denial of service attack, it becomes impossible to brute-force the access.
  • A task scheduler library made at school, where I failed to improve task distributions across threads.
  • My code snippets

Latest edition:

Copyright © 2022, Elouan Martinet (Exagone313) — All rights reserved.