Writing
Whatever bothers me or catches my interest.
The Chronicle Learns to Search, or How We Measured Before We Guessed
Two weeks later: a ruler made of our own questions, a bug it found, ranking without a database and an audit of the Chronicle.
The Chronicle of the Tower: How Our Coding Agents Learned to Remember
A shared memory for a team of coding agents: markdown in git, review through merge requests, no new database.
The Tower of Babylon: One Plugin for Four Coding Agents
Claude Code, Codex, Kiro, Antigravity: a tale with blueprints for one team plugin marketplace that every coding agent can read.
The Scroll of the Nameless, або AWS Інвентаризатор 3000
Казка-жах про безіменні нетеговані ресурси в AWS і ритуал інвентаризації з AWS Config, S3, Lambda, DynamoDB та Jira.
Docker Swarm і S3 в іншому акаунті: доступ без ключів
Як дати ворклоаду в Docker Swarm доступ до S3 в іншому AWS-акаунті без access keys і не відкрити його сусідам: AssumeRole, ExternalId і session tags.
Monitoring as Code: як ми перевірили, що сайт працює?
Як із Python, AWS Lambda, SES та EventBridge зібрати простий моніторинг сайту й описати його в Terraform. Підсумок воркшопів DevOps 01.
Re-inventing bicycle (docker)
Що, як у світі зник Docker? Збираємо подобу контейнера вручну: debootstrap, chroot, Linux namespaces, veth-пара та socat.
GitLab, AWS та ізольовані середовища: три шляхи до AssumeRole
Як дати GitLab-пайплайнам доступ до AWS без статичних ключів: OIDC для GitLab SaaS, IAM Roles Anywhere для self-hosted і Instance Profile для runner на EC2.
EC2 Image Builder для Golden AMI в AWS
Як патчити EC2 в ізольованому AWS-середовищі без інтернету: Golden AMI, EC2 Image Builder і cross-account sharing зашифрованих образів.
AWS + Terraform + GitLab workshop #3
Третій благодійний воркшоп DevOps01: будуємо CI/CD у GitLab для застосунку та для інфраструктурного Terraform-репозиторію в AWS.
EC2, Ansible і SSM: хто кого?
Розбираю AWS SSM Run Command: порівнюю з user-data та Ansible, запускаю демо й дивлюся в логах агента, що відбувається під капотом.