Compare commits

..

No commits in common. "main" and "staging-old" have entirely different histories.

22 changed files with 100 additions and 119 deletions

View file

@ -7,10 +7,10 @@ variables:
steps:
build:
image: golang:1.23-bookworm
image: golang:1.22-bookworm
environment:
HUGO_VERSION: 0.135.0
TZ: Europe/Berlin
- HUGO_VERSION=0.128.2
- TZ=Europe/Berlin
commands:
- wget https://github.com/gohugoio/hugo/releases/download/v$${HUGO_VERSION}/hugo_extended_$${HUGO_VERSION}_linux-amd64.deb && apt install ./hugo_extended_$${HUGO_VERSION}_linux-amd64.deb && rm -f hugo_extended_$${HUGO_VERSION}_linux-amd64.deb
- hugo --minify --destination ./public

View file

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2023-2024 Adora Laura Kalb <dev@lauka.net>
Copyright (c) 2023 Adora Laura Kalb <dev@lauka.net>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

View file

@ -0,0 +1,23 @@
---
title: "Issues with Docker Swarm on ESXi"
description: "How to make Docker Swarm work with Nodes on ESXi"
publishdate: "2021-04-20"
author: "Adora 🌹"
draft: true
---
I once tried to set up a Docker Swarm Cluster. I had three nodes, two on Proxmox hosts, and one on a ESXi 7 host. The nodes had a GlusterFS storage attached to them which synced data to all three nodes so containers could be started on any node.
Everything worked wonderfully. Until I found out that some Containers couldn't talk to others.
Off to troubleshooting then. It seemed very sporadic, with communication working most of the time somehow. I tried some things, until I found out that it only happens if a container on the ESXi node tried to talk to others on the Proxmox nodes.
After _A LOT_ of googling and searching many a reddit thread I finally found out why:
It seems like ESXi, even when in standalone mode, silently drops packets on `udp/4789`, which apparently is VMWares `VTEP VXLAN Port for NSX-T`.
The fix for the Swarm cluster is to (re-)create the Swarm Cluster with `--data-path-port=xxxx`:
```
docker swarm init --data-path-port=(port that's not 4789)
```
Afterwards all communication works again 🎉

7
content/blog/_index.md Normal file
View file

@ -0,0 +1,7 @@
---
title: My Blog 🌸
description: "Lauras Blog about random stuff :3"
---
I'll be posting about random stuff here :3 IT, Politics, Love...
Posts will be in _English_ and in _German_!

View file

@ -3,8 +3,8 @@ weight: 1
params:
company: COI GmbH
position: Apprenticeship Fachinformatiker Anwendungsentwicklung
begin: Sep 2012
end: Aug 2015
begin: Sep. 2012
end: Aug. 2015
type: experience
---
Apprenticeship Software Development

View file

@ -3,10 +3,8 @@ weight: 2
params:
company: BRZ Deutschland GmbH
position: Apprenticeship Fachinformatiker Systemintegration
begin: Aug 2016
end: Feb 2019
begin: Aug. 2016
end: Feb. 2019
type: experience
---
Apprenticeship Systems Integration
In the last 16 months of this apprenticeship I already managed the internal network as the primary admin for our network infrastructure, and in this position I completely reworked how we bootstrapped switches and deployed our infrastructure.
Apprenticeship Systems Integration

View file

@ -3,9 +3,9 @@ weight: 3
params:
company: BRZ Deutschland GmbH
position: Administrator Communication and Security
begin: Feb 2019
end: Oct 2021
begin: Feb. 2019
end: Oct. 2021
type: experience
---
Administrator and Specialist responsible for management of switching, routing and security infrastructure. I was primarily responsible for the design and deployment of 100G Datacenter Backbone-Infrastructure, deployment of a L3 campus design and the introduction of a hybrid cloud/on-prem datacenter. In addition to that, I taught our Azubis and administered our Cisco PBX.
Administrator and Specialist responsible for management of switching, routing and security infrastructure. I was primarily responsible for the design and deployment of 100G Datacenter Backbone-Infrastructure, deployment of a L3 campus design and the introduction of a hybrid cloud/on-prem datacenter.

View file

@ -3,9 +3,9 @@ weight: 4
params:
company: noris network AG
position: Network Engineer
begin: Nov 2021
end: Apr 2023
begin: Nov. 2021
end: Apr. 2023
type: experience
---
I was responsible for design, deployment and maintenance of our datacenter network infrastructure. In addition to that, I was working on implementing and automating a new datacenter fabric. I primarily used Juniper, Arista and Fortigate hardware. Management of noris' and our customers Extreme Networks WiFi hardware was also part of my responsibility.
I was responsible for design, deployment and maintenance of our datacenter network infrastructure. In addition to that, I was working on implementing and automating a new datacenter fabric. I primarily used Juniper, Arista and Fortigate hardware.

View file

@ -4,7 +4,7 @@ params:
company: "DATEV e.G."
position: IT Security Engineer
begin: May 2023
end: Sep 2024
end:
type: experience
---
At DATEV I'm managing our firewall fleet, and I analyze IDPS Alerts and other IT Security incidents. In addition to that, I help automate internal processes and help with design implementations. In addition to that, I teach network and firewalling classes in the DATEV Azubi-LAB.

View file

@ -1,10 +0,0 @@
---
weight: 6
params:
company: "DATEV e.G."
position: Cloud Engineer
begin: Sep 2024
end:
type: experience
---
I'm responsible for managing DATEVs own on premise private cloud with Kubernetes, OpenStack, Terraform and various other Identity, OIDC, Email and Storage providers.

View file

@ -4,7 +4,6 @@ title: "Adoras CV"
description: "Adoras CV ^-^"
---
## About me
![Portrait of Adora](/images/portrait.webp)
Im a network engineer with a lot of software development experience, currently embroiled in network security, and Ive managed mid-sized networks and Linux infrastructure aswell as Datacenter Networks and their automation.
Im interested in enterprise networks and software automation and Id love to combine those two!

View file

@ -5,26 +5,26 @@ description: "A list of interesting things curated by Adora 🌠"
A list of cool things, curated by me 🌠
## Stuff
- [FireZone](https://www.firezone.dev/): Wireguard-GUI and config generator (💀, not selfhostabale anymore)
- [FireZone](https://www.firezone.dev/): Wireguard-GUI and config generator
- [Calcure](https://github.com/anufrievroman/calcure): TUI calendar app, installed via pip. Currently lacks support for `.ics` and external calendars.
- [LittleLink](https://demo.littlelink-custom.com/): linktree alternative with php
- [YourSpotify](https://github.com/Yooooomi/your_spotify): Spotify Dashboard for statistics and fun
- [MDwiki](https://dynalon.github.io/mdwiki/#!faq.md) oder [Gollum](https://github.com/gollum/gollum): Wikis
- [today](https://git.sr.ht/~sotirisp/today): shell app for journaling.
- [devShort](https://git.sr.ht/~rwa/devshort): url shortener that looks intriguing ^-^
- [Ursus](https://git.sr.ht/~whiisker/ursus): webapp for managing PowerDNS (💀)
- [Ursus](https://git.sr.ht/~whiisker/ursus): webapp for managing PowerDNS
- [chiaki](https://git.sr.ht/~thestr4ng3r): multi platform PS4 and PS5 remote play (feature complete)
- [undocker](https://git.sr.ht/~motiejus/undocker): docker to rootfs converter
- [Matrix: dendrite](https://matrix.org/docs/projects/server/dendrite): 2nd gen Matrix server
- [ergo](https://ergo.chat/): Modern IRC implementation in Go
## CSS
- [Ant Design 5.0:](https://ant.design/) CSS Framework for very beautiful UI designs
- [Puppertino:](https://codedgar.github.io/Puppertino/) CSS Framework to mimic MacOS ^-^
Sonstiges:
- [Design tools and Tips for Developers in a Hurry](https://github.com/sw-yx/spark-joy)
- [Halfmoon:](https://www.gethalfmoon.com/docs/) Framework which Codeberg based its design on
- [Halfmoon](https://www.gethalfmoon.com/docs/) Framework which Codeberg based its design on
- [CSS Patterns](https://css-pattern.com/)
- [Canadian design system:](https://design.canada.ca) CSS Framework of the Canadian Government
- [magick.css:](https://css.winterveil.net/) minimalistic, (mostly) classless CSS that isjust simple and beautiful.
- [Bulma:](https://bulma.io/) Stylish CSS framework I wish to use for some apps ^-^
- [Canadian design system](https://design.canada.ca) CSS Framework of the Canadian Government
- [magick.css: ](https://css.winterveil.net/) minimalistic, (mostly) classless CSS that isjust simple and beautiful.
- [Bulma: ](https://bulma.io/) Stylish CSS framework I wish to use for some apps ^-^
## Fonts
- [Comic Mono](https://dtinth.github.io/comic-mono-font/) Comic Sans in good, as a monospace font
@ -43,6 +43,12 @@ Sonstiges:
- [https://themes.gohugo.io/themes/hugo-flex/](https://themes.gohugo.io/themes/hugo-flex/): Simple Website template
- [A4 Resume](https://themes.gohugo.io/themes/resume-a4/): Resume Template
## Zola Themes
- [Oceanic Zen](https://github.com/barlog-m/oceanic-zen): Minimalistic dark theme
## IAM
- [WitchAuth](https://codeberg.org/cyberwitch/witchauth) tries to empower small communities and groups to have an identity provider for easy management and better security through SSO.
## Mail
- [aerc](https://sr.ht/~rjarry/aerc) is an email client for your terminal
@ -53,8 +59,4 @@ Sonstiges:
- [sli.dev](https://sli.dev/): Presentation Slides for Developers (with nodejs)
### Games
- [OpenRA](https://www.openra.net): Red Alert, Command & Conquer, Dune 2000 rebuilt for the Modern Era. Open Source and free!
### HTTP
- [Ohayou (おはよう)](https://github.com/hatoo/oha): HTTP load generator, inspired by rakyll/hey with tui animation
- [GoAccess](https://goaccess.io): Real-time web log analyzer and interactive viewer
- [OpenRA](https://www.openra.net): Red Alert, Command & Conquer, Dune 2000 rebuilt for the Modern Era. Open Source and free!

View file

@ -1,50 +1,24 @@
---
title: "Portfolio"
description: "Adoras Software Development portfolio"
params:
JS:
LatestVersion: true
---
Here you can find a list of projects I worked on or am currently working on:
## certwarden-deploy
Language: `Go`
Source: [code.lila.network/adoralaura/certwarden-deploy](https://code.lila.network/adoralaura/certwarden-deploy)
Documentation: [certwarden-deploy.adora.codes](https://certwarden-deploy.adora.codes)
Latest Version: {{< latest-forgejo-version "adoralaura/certwarden-deploy" >}}
Deployment tool for (Let's Encrypt) certificates managed by a CertWarden Instance (similar to certbot or acme.sh, just without the ACME stuff)
## Mailcow Alias Automation
Language: `Go`
Source: [code.lila.network/adoralaura/mailcow-admin-aliases](https://code.lila.network/adoralaura/mailcow-admin-aliases)
Latest Version: {{< latest-forgejo-version "adoralaura/mailcow-admin-aliases" >}}
Automates the creation of important admin mail aliases (think security@..., postmaster@...).
## ntppool-exporter
Language: `Go`
Source: [code.lila.network/adoralaura/ntppool-exporter](https://code.lila.network/adoralaura/ntppool-exporter)
Latest Version: {{< latest-forgejo-version "adoralaura/ntppool-exporter" >}}
Language: `Go`
Source: [code.lila.network/adoralaura/ntppool-exporter](https://code.lila.network/adoralaura/ntppool-exporter)
A Prometheus exporter application that pulls data from the ntppool.org API for a given NTP server and serves it in a Prometheus compatible format.
## forgejo-release-proxy
Language: `Go`
Source: [code.lila.network/adoralaura/forgejo-release-proxy](https://code.lila.network/adoralaura/forgejo-release-proxy)
Latest Version: {{< latest-forgejo-version "adoralaura/forgejo-release-proxy" >}}
A tiny proxy that this portfolio page here queries to display the latest releases for my projects. It communicates with the API of my forgejo Git Instance.
## IPAM
Language: `Go`
Language: `Go`
Source: [https://codeberg.org/lauralani/ipam](https://codeberg.org/lauralani/ipam)
A cli based IP Address Management tool written in Go with PowerDNS integration.
## go-urlsh
Language: `Go`
Language: `Go`
Source: [https://codeberg.org/lauralani/go-urlsh](https://codeberg.org/lauralani/go-urlsh)
Go based URL shortener. Hosted via Docker and utilizing PostgreSQL.
@ -73,4 +47,3 @@ Python based DynDNS client that can edit records managed by OVH and Azure
- Automated my home WIFI with radius assigned VLANs via Freeradius and custom frontend (Will be open sourced soon) (Language: `PHP`)
- Manage my own DNS via OctoDNS as Code
- Host my own mail since 2020
- Host my own Git and CI/CD tools

View file

@ -6,13 +6,12 @@
<title>{{ or .Title .Site.Title }}</title>
{{ partial "head/favicon.html" . }}
{{ partial "head/styling.html" . }}
{{ partial "head/scripts.html" . }}
</head>
<body>
{{ partial "body/nav.html" . }}
{{ block "page" . }}{{ end }}
<script async src="https://esseles.adora.codes/script.js" data-website-id="a163d1bf-b3af-472d-bded-be9347b32628"></script>
<script async src="https://info.lauka.net/script.js" data-website-id="a163d1bf-b3af-472d-bded-be9347b32628"></script>
</body>
</html>
</html>

24
layouts/blog/section.html Normal file
View file

@ -0,0 +1,24 @@
{{ define "page" }}
<content>
<h1>{{ .Title }}</h1>
<p>{{ .Content }}</p>
<h2>Latest posts</h2>
{{ range .Pages }}
<div class="section-page-item">
<h3>{{ .Title }}</h3>
<div class="details">
<time class="float-left">{{ .PublishDate | time.Format ":date_medium" }}</time>
{{- if .Site.Params.Display.ReadingTime -}}
<div class="read-time float-left"> &bull; {{ partial "reading-time.html" . }}</div>
{{- end -}}
{{- if and .Site.Params.Display.Author .Page.Params.Author -}}
<div class="author float-left"> &bull; by {{ .Page.Params.Author }}</div>
{{- end -}}
</div>
<div class="summary">{{ .Summary }}</div>
<a href="{{ .RelPermalink }}">Read more &rarr;</a>
</div>
{{ end }}
</content>
{{ end }}

View file

@ -8,7 +8,7 @@
<h3>{{ .Params.position }} @ {{ .Params.company }}</h3>
<div class="details">
<time class="float-left">
{{ .Params.begin }} until {{ .Params.end | default "now" }}
{{ .Params.begin }} to {{ .Params.end | default "now" }}
</time>
</div>
{{ .Content }}

View file

@ -8,8 +8,8 @@
{{- if eq $menu_item_url $page_url -}}
<a href="{{ .URL }}" class="disabled" aria-current="page">{{ .Name }}</a>
{{- else -}}
<a href="{{ .URL }}" class="nav-link" data-umami-event="{{ .Name }}">{{ .Name }}</a>
<a href="{{ .URL }}" class="nav-link">{{ .Name }}</a>
{{- end -}}
{{- end }}
</div>
</nav>
</nav>

View file

@ -1,3 +0,0 @@
{{ if .Page.Params.JS.LatestVersion }}
<script src="/js/latest-version.js" defer></script>
{{ end }}

View file

@ -1 +0,0 @@
<span class="forgejo-version", data-forgejo-repo="{{ .Get 0 }}">currently unavailable</span>

View file

@ -1,8 +1,8 @@
# Personal Website
This is the source code for my personal website.
It's built with https://gohugo.io and is available at https://adora.codes
It's built with https://gohugo.io and is available at https://www.lauka.net
CI-Status:
[![status-badge](https://ci.lila.network/api/badges/5/status.svg)](https://ci.lila.network/repos/5)
[![status-badge](https://ci.lila.network/api/badges/5/status.svg)](https://ci.lila.network/repos/5)

View file

@ -1,4 +1,4 @@
Contact: mailto:security@lila.network
Expires: 2034-10-10T21:59:00.000Z
Contact: mailto:security@lauka.net
Expires: 2033-08-08T21:59:00.000Z
Preferred-Languages: en, de
Canonical: https://adora.codes/.well-known/security.txt
Canonical: https://www.lauka.net/.well-known/security.txt

View file

@ -1,30 +0,0 @@
async function FillLatestForgejoRelease() {
const apiPath = `https://forgejo-proxy.services-prod.lila.network/api/v1/code.lila.network/releases`
var forgejoItems = document.getElementsByClassName('forgejo-version')
const requestOptions = {
method: "GET",
redirect: "follow",
};
[...forgejoItems].forEach(async item => {
var repo = item.getAttribute("data-forgejo-repo");
var queryParam = new URLSearchParams({ namespace: repo }).toString()
var response = await fetch(`${apiPath}?${queryParam}`, requestOptions)
if (response.ok) {
item.textContent = await response.text()
}
});
}
FillLatestForgejoRelease()