Skip to content
View michealzs's full-sized avatar

Block or report michealzs

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.

Content in all repositories owned by your account will be closed.
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
michealzs/README.md

Micheal

DevOps engineer. I build and run the platform underneath the product: cloud infrastructure, Kubernetes, delivery pipelines, and the monitoring that catches problems before users do.

Repositories · Gists · Terraform · Kubernetes · CI/CD · Observability

Recent work

Platform engineering for a payments product on AWS: 22 microservices on EKS, RDS Postgres, ElastiCache Redis, Kafka, and SQS, deployed through Jenkins and Helm.

  • Ran the clusters day to day: pending pods, crash loops, failed rollouts, node group sizing, Kubernetes version upgrades, namespace and RBAC manifests.
  • Worked a live payment-processing incident through an RDS failover, then traced the outage to a Cluster Autoscaler capped at 8 nodes. Raised the limit, redeployed, and wrote the autoscaling section of the incident review.
  • Brought hand-built infrastructure under code. About 40 percent of the estate had been built in the console. I walked it resource by resource, logged the drift, and pulled it into Terraform state with terraform import.
  • Audited secrets for a SOC 2 review: base64 Kubernetes Secrets committed to private repos, a shared 1Password vault, and a partial Secrets Manager inventory, then mapped every credential to a single store with rotation.
  • Designed the target platform: shared GitHub Actions workflows in place of 22 hand-rolled Jenkins jobs, Argo CD with health-gated syncs and automated rollback, Argo Rollouts for canary releases on the payment path, Kyverno and Conftest policy checks in CI, Atlantis for Terraform from pull requests, Karpenter in place of Cluster Autoscaler, External Secrets Operator, a structured logging standard, and CloudTrail plus EKS audit logs for the auditors.

What I work with

Area Tools
Cloud AWS (EKS, RDS, ElastiCache, S3, SQS, IAM, Secrets Manager, CloudWatch, CloudTrail), Cloudflare, Wasabi
Infrastructure as code Terraform, OpenTofu, Ansible, Helm, Kustomize, Docker Compose
Kubernetes EKS, Argo CD, Argo Rollouts, HPA, Cluster Autoscaler, Karpenter, External Secrets Operator, Kyverno, OPA Gatekeeper, Conftest
CI/CD GitHub Actions, Jenkins, Atlantis, pre-commit, release automation
Data and messaging PostgreSQL, Redis, Kafka, SQS
Observability Prometheus, Alertmanager, Grafana, Loki, Datadog APM, CloudWatch Logs Insights, blackbox probes
Linux and networking Ubuntu, Debian, RHEL, systemd, nginx, WireGuard, iptables/ufw, DNS/DHCP/NTP, Proxmox
Security SSH hardening, fail2ban, auditd, Keycloak, certbot, least-privilege IAM, OIDC for CI, secrets rotation
Languages Python, Bash, TypeScript, SQL, PromQL

Security work

Rebuilt from real work and published with the client, environment and engagement redacted. Each one carries a Context section saying so.

Repository What it is
k8s-admission-control-lab Kyverno policies with a 93-case test suite, a catalogue of ten documented admission bypasses with expected outcomes and MITRE techniques, and the Falcon and Defender runtime layers that cover what admission cannot.
k8s-detection-as-code 22 KQL detections over kube-audit mapped to ATT&CK, Log Analytics ingestion, Logic App response playbooks, and 474 checks that validate the corpus, including that a query's lookback matches its schedule.
privileged-access-recording Recorded, brokered access: Guacamole, Warpgate and Teleport compared and configured, Ansible roles for SSSD, tlog, pam_tty_audit and auditd, and Conditional Access with PIM as code.

Platform and delivery

Reference implementations, written from scratch. No client behind them.

Repository What it is
terraform-aws-platform Terraform modules and environments for a small production AWS platform: VPC, EKS with IRSA, RDS Postgres, ElastiCache, CloudTrail, remote state. Checked by fmt, tflint, and Trivy in CI.
k8s-gitops-platform Argo CD app-of-apps layout with Kustomize workloads, Argo Rollouts canaries, Helm platform components, Kyverno policies, and kubeconform checks on every PR.
github-actions-workflows Reusable workflows and composite actions: container build, scan and attest, Terraform plan and apply over OIDC, Python CI, Helm and manifest checks, policy checks, releases.
ansible-linux-baseline Ansible roles that take a fresh Ubuntu or Debian host to a hardened baseline: SSH, ufw, fail2ban, auditd, unattended upgrades, Docker, node_exporter. Tested with Molecule.
observability-stack Prometheus, Alertmanager, Grafana, Loki and exporters as one Compose stack, with alert rules and dashboards provisioned as code.
ssh-cli SSH access provisioning: a Django REST API plus an idempotent CLI that writes ssh config, known_hosts and authorized_keys with an audit trail.
contextual-feedback-api Async document-analysis API with API-key auth, webhooks, Prometheus metrics, structured logging, Docker, and CI/CD.

How I work

Everything that touches production goes through a pull request, including infrastructure. Pipelines authenticate with short-lived OIDC tokens instead of stored keys. Every service ships with health checks, metrics, and an alert a human has agreed is worth waking up for. When something breaks twice, it gets a runbook or a fix, and usually both.

Elsewhere

My public gists hold the setup notes I keep coming back to: Docker on a fresh host, DNS/DHCP/NTP for a small network, chrony, and object storage on AWS and Wasabi.

Open to DevOps, SRE, and platform engineering roles.

Pinned Loading

  1. ansible-linux-baseline ansible-linux-baseline Public

    Ansible roles that take a fresh Ubuntu or Debian host to a hardened baseline: SSH, ufw, fail2ban, auditd, unattended upgrades, Docker, node_exporter. Tested with Molecule in CI

    Jinja

  2. github-actions-workflows github-actions-workflows Public

    Reusable GitHub Actions workflows and composite actions: container build, scan and attest, Terraform plan and apply over OIDC, Python CI, Helm and manifest checks, Conftest policies, releases

    Open Policy Agent

  3. k8s-gitops-platform k8s-gitops-platform Public

    GitOps for two EKS clusters: Argo CD app-of-apps, Kustomize workloads, pinned Helm platform charts, Argo Rollouts canaries, Karpenter, Kyverno policies, kubeconform in CI

    Shell

  4. observability-stack observability-stack Public

    Prometheus, Alertmanager, Grafana, Loki and exporters as one Docker Compose stack, with alert rules, recording rules and dashboards provisioned as code

    Python

  5. ssh-cli ssh-cli Public

    SSH access provisioning: a Django REST API plus an idempotent CLI that writes ssh config, known_hosts, and authorized_keys with an audit trail

    Python

  6. terraform-aws-platform terraform-aws-platform Public

    Terraform modules and environments for a small production AWS platform: three-AZ VPC, EKS with IRSA and Karpenter, RDS Postgres, ElastiCache Redis, CloudTrail, and the S3 and DynamoDB state backend

    HCL