Projects
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.
- Updating more than 10 servers
- 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.