Skip to content
View MrGuato's full-sized avatar
⚔️
Fighting Evil!
⚔️
Fighting Evil!

Block or report MrGuato

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
mrguato/README.md

Jonathan DeLeon

I work on the infrastructure and security side of things, and I like keeping those two connected instead of treating security like something you bolt on afterward. Day to day that looks like hypervisors, Kubernetes, IaC pipelines, identity, and the compliance work that ties it together.

LinkedInCredlyGitOps NotesLanding Site


Live: homelab k3s cluster

Cluster

Multi-arch k3s cluster running on multiple Raspberry Pi 4's and a Lenovo ThinkCentre. Everything is managed through FluxCD from MrGuato/pi-cluster so I never really touch the cluster directly. Secrets are encrypted with SOPS and age and committed right into the repo. Traefik handles routing, Cloudflare Tunnel gets traffic in without exposing anything, Longhorn does the block storage, and Velero backs everything up to a MinIO bucket on a separate node. The dashboard above is pulling from kube-prometheus-stack.


What I work on

A rough map of where I spend my time and the tools I tend to reach for.

AreaNotes
Kubernetesk3s, Helm, FluxCD, Kustomize, Longhorn, Velero. Currently looking at Talos and Omni.
IaCTerraform, Ansible, and Packer. I usually build golden images with Packer, spin them up with Terraform, and let Ansible handle the config drift.
CI/CDGitLab CI and GitHub Actions, with Flux for GitOps. I like keeping scanning (SAST, SBOM, container, IaC) as actual gates in the pipeline so things fail fast.
VirtualizationvSphere and ProxMox. Hardened base images and automated patching.
NetworkFortiGate, Palo Alto, Ubiquiti, Cisco.
IdentityEntra ID and Conditional Access.
ComplianceLeading a CMMC Level 2 program. Also comfortable with CIS v8, NIST CSF 2.0, and Zero Trust work.
Security opsSentinel, SentinelOne, Rapid7, Defender XDR, and Tines for SOAR. Good telemetry usually makes detection a lot easier.

Projects

My homelab cluster, fully declarative. Flux reconciles apps and infrastructure from Git, SOPS-encrypted secrets live in the public repo, and Renovate keeps image tags fresh with automated PRs. Velero does restic backups out to MinIO on a separate node, and Longhorn handles distributed block storage across the ARM and x86 nodes. The live dashboard at the top of this README runs on it.

Security research demonstrating zero-trust C2 architecture for autonomous drones in contested RF environments. Built on RHEL 10 with ArduPilot SITL for realistic flight simulation and a WireGuard dual-interface mesh enforcing per-identity tunnel segmentation. Implements a structured threat model (T-01 through T-03) covering RF jamming, link hijacking, and GCS compromise scenarios. GCS stack runs on k3s with Traefik mTLS, FluxCD GitOps, and Prometheus/Loki for full observability. Companion site at vertex-c2.vercel.app documents architecture and threat findings.

Self-hosted Windrose dedicated server for Linux, packaged as a Docker container running SteamCMD and Wine with Xvfb for a headless runtime. A single ./windrose CLI handles setup, lifecycle, status, and updates, with all configuration driven from a .env file so there is no manual JSON editing. Anonymous SteamCMD validates the install on every container start, saves and config persist through bind-mounted volumes, and a healthcheck watches the server process. Backup and restore scripts handle retention, automated builds publish signed images to GHCR, and players join via in-game invite code so there is no port forwarding to deal with. Documentation site is published with Just the Docs.

Containerized game server for Enshrouded, built from scratch on ubuntu:22.04 with WineHQ and SteamCMD. Runs as non-root with semantic versioning and a GitHub Actions pipeline that publishes signed images to GHCR. Getting SteamCMD symlinks and Xvfb lock files to behave in a clean container was more fun than I expected.

A small reusable GitHub Action I wrote for syncing build artifacts to Azure Blob Storage. Published publicly so other folks can use it.

A serverless site on S3, CloudFront, Lambda, API Gateway, and DynamoDB, all provisioned through CloudFormation with least-privilege IAM and a proper deploy pipeline.


Stack

Platform

KubernetesHelmFluxCDDockerProxmoxvSphere

Infrastructure as Code

TerraformAnsiblePackerCloudFormation

Pipelines and supply chain

GitLab CIGitHub ActionsSnykTrivySOPSRenovate

Cloud and edge

AzureAWSCloudflareTraefik

Network

FortinetPalo AltoUbiquiti

Observability

PrometheusGrafanaLoki

Security operations

SentinelSentinelOneRapid7Defender XDRTinesNessus

Compliance

CMMC L2NIST 800-171NIST CSF 2.0CIS v8Zero Trust


Credentials

CISMCCSPSentinelOne AdministratorSentinelOne Incident ResponderMicrosoft Security Compliance and Identity FundamentalsAzure FundamentalsFortinet Certified Associate CybersecurityCompTIA CCAP
CompTIA CSISCompTIA CSCPCCSKCredly BadgeCredly BadgeAPIsec Certified PractitionerITIL

Education

WGU Graduate, Network Engineering and Cybersecurity

Working Towards

Microsoft Security EngineerKubernetes and Cloud Native Associate (KCNA)Kubernetes and Cloud Native Security Associate (KCSA)

MrGuato's GitHub stats - DarkMrGuato's GitHub stats - LightTop Langs - DarkTop Langs - Light

Pinned Loading

  1. pi-clusterpi-clusterPublic

    Self-hosted Kubernetes homelab running k3s on mixed architecture (ARM64 + x86_64), managed entirely through FluxCD GitOps.

    HTML 2

  2. AWS-Cloud-ChallengeAWS-Cloud-ChallengePublic

    AWS Cloud Challenge for learning AWS tools and functions.

    SCSS 2

  3. enshrouded-dockerenshrouded-dockerPublic

    Enshrouded dedicated server container with runtime SteamCMD updates, immutable infrastructure, and production-style DevOps automation.

    Shell 5 1

  4. Azure-Blob-Sync-ActionAzure-Blob-Sync-ActionPublic

    Automatically syncs files from a local directory to Azure Blob Storage using Azure CLI. Perfect for keeping your storage updated with ease.

    Shell 7

  5. gitops-notesgitops-notesPublic

    A personal journal of GitOps and DevOps experiments - built with Astro. Notes, writeups, and lessons from the homelab.

    Astro 2

  6. vertex-c2vertex-c2Public

    Hardened command‑and‑control architecture for autonomous systems in contested RF environments. Reproduces MAVLink failure modes, implements a zero‑trust GCS stack, and maps mitigations to NIST SP 8…

    Makefile 1