Project Soon

I have made too many projects in my lifetime, and thought that a repository is not enough to handle support for them. I also believe that to be able to dump my mind from time to time keeps myself on track. I make projects because I like to help people with problems that may or may not be an issue, now or in the future.

Ansible: VyOS v2

I mentioned over a year ago about the collection in Ansible I used for VyOS. I had some issues with it regarding differences and performance, so I had to resolve to some odd workaround which was ugly(clear config path and recreate from scratch, which was very slow on big configs), but quite easy to use directly with VyOS. I later on made some custom templates for it to reduce boilerplate and coupling.

What now

A couple of days ago I found out by my teacher that they skipped the next round of opposition(I think that’s how you translate it), so I have to start all over in the next course starting next week. While they will be more strict this time around, needing to be more specific regarding the research question, I can still reuse most of my current work. Hopefully I can even finish writing earlier due to this, but I have no idea what the future holds.

Block Color Config

I happened to see a boosted post on Mastodon, where someone mentioned that most programs handle their configs badly, basically generating full configs, maybe with commented out options and defaults, which upon updates will be rendered worthless if they change. I responded to how I handle my configs, and suggested an alternative solution, which I implemented. The first version of PixelMap 0.x had all configs statically added to the program, meaning they cannot be changed after the program is compiled.

What happened

I got sick for a couple of weeks, was lazy and had a hard time getting into the mood to work on it at all. I think I just recently got over it, but it is definitely a struggle to keep on going on this, especially as I’m doing it alone. But what I’ve done the last couple of weeks is to fix a couple of issues my tutor told me, add 1-99 percentile (or something similar at least), and contemplate the research question.

Ansible: Release

I forgot to post the above, so a double post! 😄 I released parts of my working Ansible infrastructure, hopefully it can be used and maybe some people want to point out anything that might be problematic: https://github.com/McTwist/ansible-homelab/ This solidifies my integration and allows me to version track my infrastructure. However, I still cannot store my configs, because releasing them would mean I publicize my whole network infrastructure, which would be pretty bad.

Ansible: PHP

As previously mentioned, I created a couple of roles and a playbook to bundle them together. For the last 2 weeks I have been fixing bugs, but it is currently in a state where it is stable to even be released. While I do think that the coupling between the roles might be too tight, I need to split two roles into more sub-roles for it to work properly. One of the roles, php-fpm, is used to handle the PHP part of the server.

Reverse Proxy

A reverse proxy is a service which a client can connect to and it’ll forward all connections to respective service, usually internally. This is mostly used for HTTP requests, where the reverse proxy will handle the default ports, certificates and hosts to keep track on. All requests are then forwarded to an internal web server, or any other server that supports HTTP. It separates the direct access to services and makes it possible for one IP to be used with several services.

Syncthing

Syncthing, a distributed file sharing service. Usually you just fire it up, input the ID from another device and suddenly they are connected and can share folders, files being transferred like any other cloud service. However, each device still need to find each other, so a discovery server is necessary, which several are provided by default. Then comes the transfer of the files, if you are on the same network, they can figure this out and connect automatically.

Hardware passthrough

This is not related to the homelab itself, but specifically to Proxmox and passthrough of hardware. I, as mostly everyone, have been for years been using Windows on a PC to play games. This have worked very great, but for the past 5 years (or more), M$ have been doing some shading things and design decisions that have made me want to move from them. The problem is that I am both unsure how gaming on Linux works, and if it will work for a bunch of games that I play daily.

The dreaded rename, DNS and validation

I finally took an hour of my time and went through all active, and some inactive, services that I run, giving them relatively random names. This way I can separate servers from services. Each server had 5-6 places to change for the name to take effect. I then spent way too long time to figure how to modify the DNS through Ansible to link the service names to each server. The first issue was that I did not find a way to write this without having issues with duplicate CNAMEs.