인증서 자동화: 사용자 도메인 ACME4j 구현부터 와일드카드 Jenkins 갱신까지
사용자 도메인 인증서 BE 자동 발급(8주)과 1년 뒤 와일드카드 인증서 갱신 자동화(Jenkins) 두 사이클을 한 글로 정리합니다. ACME 프로토콜·헥사고날 상태 머신·Docker IPC·4 클러스터 배포·실전 이슈를 단일 흐름으로 묶었습니다.
총 23편
사용자 도메인 인증서 BE 자동 발급(8주)과 1년 뒤 와일드카드 인증서 갱신 자동화(Jenkins) 두 사이클을 한 글로 정리합니다. ACME 프로토콜·헥사고날 상태 머신·Docker IPC·4 클러스터 배포·실전 이슈를 단일 흐름으로 묶었습니다.
GPU 장비 수만 봐서는 시스템이 처리할 수 있는 실제 규모를 알 수 없습니다. 인프라·스토리지·사업 라이프사이클 세 가지 제약을 함께 놓고 역산해서 5,000 인스턴스 / 2억 건 / 1년 보존이라는 설계 수치를 도출한 의사결정 과정입니다.
운영 중 DB 스키마를 바꾸면서도 서비스를 멈추지 않는 정형 패턴, Expand-and-Contract 패턴을 3단계 PR 분할의 실전 이력과 함께 정리합니다.
미터링 테이블 5개에 월별 RANGE COLUMNS 파티셔닝을 도입했습니다. MySQL의 파티션 키 제약으로 복합 PK 전환, JPA @IdClass 도입, 시간 독립 DDL 확보까지의 과정을 정리합니다.
Prometheus → 5분 수집 → 10분 집계 → 일간 집계 파이프라인을 만들면서 내린 네 가지 의사결정을 한 글로 정리. 쓰기 경합을 스키마 분리와 트랜잭션 라우팅으로 해결, 4단계 진화 청사진과 전환 시그널, 적용 패턴에 이름 붙이기, UPSERT를 DELETE+INSERT 로 통일한 YAGNI 사례.
MCP 플러그인 배포로 uvx를 처음 접한 자바 개발자의 입문·배포·함정 기록. pyproject.toml 의 진입점, GitHub Actions 자동화, requires-python 무시 문제까지 한 번에 다룹니다.
Jekyll + Chirpy 블로그를 운영하면서 SEO 점검, GEO 보강, Giscus 댓글, 커스텀 도메인 전환과 GA4 도입까지 거친 과정의 기록. 대부분의 결정이 "Chirpy가 이미 하고 있던 것을 확인하는 일"이었다는 점을 기록합니다.
AI 코딩 도구로 코드 작성은 빨라졌지만 설계 검증 시간이 더 들었습니다. 반복 검증 패턴을 4축(의사결정·설계·문서·구현)으로 정리하고, 프롬프트-only 플러그인으로 구현한 뒤 3개월간 운영하면서 프로필 자산화에 도달한 기록.
AI로 코드 생성이 빨라지면서 반복 작업이 오히려 늘었고, 코드 짜는 시간이 줄어든 자리에는 판단이 들어왔습니다. 이슈 사이클을 도구로 만들고, 사상-전략-전술 3겹으로 판단하고, 두 플러그인을 Provider 추상화로 통합한 3단계 기록.
Slack 스레드를 Notion으로 정리하는 MCP 플러그인을 만들고, 여러 번의 테스트와 피드백을 거쳐 비개발자 셀프서비스에 도달한 7개월 기록. 비개발자에게 닿는 도구는 코드가 아닌 다른 곳에서 결정된다는 점을 정리합니다.
마스터 노드 1대 재기동이 사용자 트래픽에 영향을 주지 않는 이유. 컨트롤 플레인 HA와 데이터 플레인 자립 구조 정리.
AI 에이전트가 토큰을 매일 호출하는 시대의 1차 보안 방어선은 시크릿 보관 위치가 아닌 권한 발급 범위입니다. read-only 계정과 하네스 명령 차단을 두 단계로 두고, macOS 키체인 ACL을 의도 게이트로 두려던 시도가 실측에서 깨진 경위를 정리합니다.
같은 키로 PUT 후 같은 URL을 브라우저로 재방문하니 v1이 응답되는 stale 회귀를 만났습니다. RFC 9111의 heuristic freshness가 진입되어 발생한 문제로, Cache-Control 디렉티브 설정으로 차단했습니다.
사람이 하면 허상이었던 100% 커버리지를 trip-planner v2.1에서 다시 꺼낸 이유와 1회차 실험 회고.
태그와 Release 생성을 분리한 2단계 워크플로우, CHANGELOG.md를 중심 축으로 삼는 구조, 그리고 특수문자 이스케이프를 `--notes-file`로 해결한 기록입니다.
Forward Auth는 API Gateway가 요청을 백엔드로 전달하기 전에 외부 인증/인가 서비스에 서브리퀘스트로 판정을 위임하는 방식입니다.
GitHub Pages에서 QR코드용 기존 도메인을 유지하면서 깔끔한 커스텀 도메인을 추가한 과정을 정리합니다. Cloudflare DNS 프록시 모드와 Workers를 처음 써보며 겪은 삽질 기록입니다.
교차 검증 플러그인 4축에 보안 관점이 빠져 있었습니다. OWASP Top 10을 도구 영역과 판단 영역으로 분류하고, 기존 축에 보안 설계 질문을 최소한으로 추가한 과정을 기록합니다.
LLM 에이전트에게 "위임하라"고 지시해도 새 세션에서는 직접 처리하는 문제가 반복됩니다. 피드백 메모리를 쌓아도 해결되지 않았습니다. 스킬 파일 자체에 금지 패턴, 위임 게이트, 검증 체크포인트를 설계하여 구조가 올바른 경로를 강제하는 방법론을 정리했습니다.
SSH 서버 운영과 DB 데이터 분석을 AI에게 위임한 경험을 정리합니다. 서버 설정 변경에서는 장애를 겪었고, DB 조회 위임에서는 데이터 정합성 분석에 효과적으로 활용했습니다. 두 경험으로 AI 위임의 경계선을 그렸습니다.
JPA @IdClass 복합 키 클래스에서 @Data의 편의성과 @Setter 제거 사이의 트레이드오프를 정리합니다. adapter 인프라 클래스에 한해 @Data 수용이 합리적인 이유를 설명합니다.
여러 계층의 설정이 존재할 때, 가장 가까운 설정이 먼 설정을 덮어쓰는 Configuration Cascade 패턴을 정리합니다.
작은 생각들이 휘발되기 전에 남겨두고, 여유가 생길 때 꺼내어 정리하는 프로젝트를 구상합니다. 날것의 브레인스토밍 그 자체를 기록한 시리즈의 첫 글입니다.