OpenForge · OSS Project

OpenForge

오픈소스 프로젝트를 일관된 품질과 구조로 만들고 운영하기 위한 Blueprint, Engineering Standards 및 Reusable Templates

Open SourceEngineering StandardsGitHubCI/CDSecuritySupply ChainAIDeveloper ToolsKubernetesTemplates
RepositoryGitHub ↗
Documentation40 sections
Updated2026-08-23T00:00:00.000Z
Problem

새로운 OSS 프로젝트를 시작할 때마다 Repository 구조, 문서, GitHub 워크플로, CI/CD, Supply Chain 보안, AI 개발 안전성, 변경 영향 분석, 릴리스 거버넌스 기준을 매번 처음부터 구성해야 함

Approach

실제 OSS 개발 및 운영 경험을 기반으로 표준화된 Blueprint, 29개 세부 Engineering Standards, 15개 영역의 Reusable Implementation Templates, Maturity Scorecard를 제공하여 일관되고 검증 가능한 엔지니어링 토대 구축

프로젝트 소개

OpenForge는 고품질 오픈소스 프로젝트를 일관된 엔지니어링 토대 위에서 생성·발전·배포·운영·유지보수하기 위한 공통 Blueprint + Engineering Standards + Reusable Templates입니다.

새로운 OSS 프로젝트를 시작할 때마다 반복되는 저장소 구조 설계, 문서화 규칙, CI/CD 파이프라인, 공급망 보안, 릴리스 관리, 거버넌스 체계를 처음부터 다시 만들지 않고 검증된 모범 관행을 즉시 적용할 수 있도록 돕습니다.

특정 언어나 프레임워크를 강제하지 않으며, 프로젝트의 자율성을 존중하면서도 플랫폼 전반의 품질 불변식을 유지하는 **실용적인 엔지니어링 기준선(Practical Baseline)**을 제공합니다.

3계층 모델 (Three-Tier Model)

OpenForge는 정책(Policy), 구현(Implementation), **증거(Evidence)**를 분리하여 다음과 같은 3계층 구조로 운영됩니다.

계층역할산출물 및 예시
Standards달성해야 할 엔지니어링 결과와 원칙 정의Documentation, Supply Chain Security, CI/CD Resilience, AI Security
Templates즉시 적용 가능한 보수적이고 안전한 시작 자산 제공GitHub Workflows, Multi-stage Dockerfile, K8s Manifests, Policy Rules
Reference Implementation실제 OSS 프로젝트 적용 사례, 트레이드오프 및 실측치Narwhal, KubeMetal, nfs-quota-agent, Beluga Manager

핵심 원칙 (Core Principles)

OpenForge의 모든 표준과 템플릿은 다음과 같은 핵심 원칙을 기반으로 설계되었습니다.

  • 이중 언어 문서 정책: English를 canonical project language로 사용하고 Korean을 first-class translation으로 제공합니다. 사용자 대상 문서는 <name>.md<name>-ko.md 쌍으로 유지합니다.
  • 기본 안전성 및 재현 가능성 (Secure & Reproducible by Default): 모든 프로젝트는 기본적으로 재현 가능하고, 문서화되고, 테스트 가능하며, 관측 가능하고, 접근 가능하며 안전해야 합니다.
  • 투명한 변경 관리 및 ADR: GitHub Issue와 Pull Request를 기본 변경 관리 단위로 사용하며, 중요한 아키텍처 결정은 ADR (Architecture Decision Records)에 기록합니다.
  • CI 선행 검증 (Quality Gating): 모든 변경사항은 병합(Merge) 전에 CI에서 빌드, 테스트, 린트, 보안 검사를 통과해야 합니다.
  • 공급망 거버넌스 및 맹목적 업데이트 지양: 단순 호환성만으로 최신 의존성을 즉시 채택하지 않으며, 런타임/툴체인/패키지 변경 시 Change Management에 따라 워크플로 전체 영향 분석을 선행합니다.
  • AI 에이전트 및 로컬 지침의 신뢰 경계: AI 에이전트와 저장소 로컬 지침(AGENTS.md, CLAUDE.md)은 잠재적으로 신뢰할 수 없는 실행 입력(Untrusted Execution Input)으로 간주하고 AI Engineering Security에 따라 권한과 샌드박스 경계를 설정합니다.
  • 위험 기반 거버넌스 및 CI 복원력: 1인 메인테이너 프로젝트에서도 과도한 인적 부담 없이 자동화된 제어를 통해 거버넌스를 유지하며, CI 장애가 보안 게이트의 무분별한 우회로 이어지지 않도록 복원력(Resilience)을 설계합니다.
  • 의도적 예외의 시한부 관리: 프로젝트 요구에 따른 예외는 사유, 범위, 만료 시한을 명시적으로 문서화하여 관리합니다.

프로젝트 생명주기 모델 (Project Lifecycle)

OpenForge는 프로젝트의 시작부터 운영, 장애 학습, 표준 개선으로 이어지는 선순환 생명주기를 가집니다.

Idea

Project Definition (목적, 범위, 라이선스 정의)

Repository Bootstrap (디렉토리 구조, GitHub Templates)

Documentation + Architecture (README 쌍, ADR 체계, 문서 인벤토리)

Standards + Template Adoption (CI/CD, Docker, K8s, Security Baseline)

Implementation (Language Tooling, Code Intelligence, Makefile)

Change Impact / Supply Chain Review (의존성 분석, 핀 고정, Lockfile)

CI / Security / Testing (Static Check, Unit/E2E, Container/Code Scan)

Release / Publish Verification (SemVer, Changelog, SBOM, 서명 검증)

Operations / Observability (Health, Metrics, Logs, Backup Runbook)

Maintenance / Incident Learning (Lessons Log, 회귀 테스트화)

Lessons / Metrics (Maturity Scorecard 점검)

OpenForge Improvement (공통 표준 및 템플릿으로 환류)

선순환 개선 루프: Standard → Apply → Measure → Learn → Improve → Standardize


엔지니어링 표준 체계 (Standards Portfolio)

OpenForge는 오픈소스 개발 전 과정을 아우르는 29개 세부 엔지니어링 표준을 정의합니다.

1. 코어 및 저장소 관리 (Core & Repository)

  • Repository Standard: 표준 디렉토리 레이아웃, 루트 파일 불변식 (LICENSE, SECURITY.md, CONTRIBUTING.md 등).
  • Documentation Standard: 영/한 문서 쌍 규칙, 문서 모델, 용어집 및 아키텍처 다이어그램 가이드라인.
  • GitHub Standard: Issue Template (Bug, Feature, Architecture), PR Template, CODEOWNERS, 라벨링 및 브랜치 보호 규칙.
  • Development Standard: 언어별 권장 툴체인 (Go: gofumpt/staticcheck, Node/TS: ESLint/Prettier, Python: Ruff), Makefile 작업 자동화.
  • Engineering Tooling Standard / Tooling Matrix: 툴체인 선정, 설정 관리 및 언어별 도구 매트릭스.
  • CI/CD Standard: 지속적 통합/배포 파이프라인 및 사전 검증 품질 게이트.
  • Internationalization Standard: UI 프로젝트의 다국어 리소스 구조 및 번역 키 관리 표준.

2. 보안 및 공급망 거버넌스 (Security & Supply Chain)

3. 변경 관리, 릴리스 및 컴플라이언스 (Release & Governance)


재사용 가능한 템플릿 카탈로그 (Reusable Templates)

OpenForge 저장소의 templates/ 디렉토리에는 즉시 활용 가능한 검증된 구현 템플릿이 포함되어 있습니다.

templates/
├── github/          # Issue / PR Templates, CODEOWNERS
├── workflows/       # CI, Release, SBOM, Supply Chain 검증 워크플로
├── scripts/         # Toolchain 검증, Lockfile 검사, 헬퍼 스크립트
├── policy/          # 의존성 정책, 플러그인 Intake 정책, 보안 예외 양식
├── container/       # 경량 Multi-stage Dockerfile 베이스라인
├── kubernetes/      # Deployment, Service, Ingress, NetworkPolicy, PDB, Kustomize
├── gitops/          # Argo CD App-of-Apps 및 GitOps 배포 패턴
├── identity/        # OIDC / Keycloak / OAuth2 통합 규격
├── observability/   # /healthz, /readyz, Prometheus 메트릭, OpenTelemetry 규격
├── backup/          # 백업 및 복구 검증 Runbook
├── offline/         # Air-gap 번들 매니페스트 및 신뢰 플러그인 카탈로그
└── design/          # README 디자인, 아키텍처 다이어그램 템플릿, 상태 배지

템플릿 적용 원칙: 템플릿은 범용 만능 설정이 아니라 보수적인 출발점입니다. 대상 프로젝트의 런타임, 권한, 인프라 환경 및 위협 모델에 맞춰 버전과 설정을 반드시 커스터마이징해야 합니다.


성숙도 평가 메트릭 (Reference Metrics)

OpenForge는 저장소의 엔지니어링 품질과 표준 준수 여부를 객관적으로 측정하기 위한 **Maturity Scorecard**를 제공합니다.

채점 기준

  • 2: 표준이 완벽히 구현되어 있으며 가능한 영역은 CI/CD로 자동화됨
  • 1: 수동으로 운영되거나 부분적으로 구현됨
  • 0: 미구현 또는 기준 미달
  • N/A: 프로젝트 성격상 해당 없음 (예: CLI 도구의 UI i18n 항목)

영역별 주요 평가 지표

영역핵심 점검 항목목표 상태
Documentation영문/한글 README 쌍, 아키텍처 문서, 개발 가이드, Lessons Log영/한 1:1 완비, 장애 기록 누적
Architecture아키텍처 결정 기록(ADR) 체계 운영docs/adr/ 디렉토리 및 인덱스 유지
GitHubIssue/PR 템플릿, CODEOWNERS, 라벨링 체계표준 템플릿 기반 변경 흐름 확립
CI / Validation빌드, 테스트, 포맷 검증, 문서 유효성 검사Merge 전 필수 게이트 자동화
SecurityDependabot, 컨테이너 스캔, 시크릿 탐지, SECURITY 정책정기 스캔 및 SBOM 생성 자동화
Development언어별 표준 포매터(gofumpt 등), Makefile 작업 도구단일 명령어로 로컬 테스트/빌드 가능
ReleaseSemVer, CHANGELOG, 릴리스 워크플로, 산출물 서명태그 기반 자동 빌드 및 서명 발행
Configuration.env.example, 환경변수/설정 경계 정의비밀값과 일반 설정 분리
LocalizationUI 프로젝트의 다국어 지원 리소스(ko-KR, en-US)구조화된 i18n 리소스 번들 관리

참고 구현 프로젝트 (Reference Implementations)

OpenForge의 표준과 템플릿은 실제 프로덕션 및 오픈소스 환경에서 운영 중인 프로젝트들로부터 추출되고 검증되었습니다.

프로젝트설명OpenForge 반영 주요 패턴
NarwhalKubernetes 기반 Internal Developer Platform (IDP)35개 GitOps 앱 통합, 263건의 lessons-log.md 회귀 테스트화, Air-gap 오프라인 번들
Narwhal PortalCloud Native 통합 관리 포털Next.js/Tailwind 아키텍처, ADR 거버넌스, Keycloak OIDC 통합
nfs-quota-agentLinux XFS Project Quota 관리 gRPC/HTTP 데몬Go gofumpt 린트 표준, systemd 서비스 템플릿, 단위/통합 테스트
Kube-Ready-BoxKubernetes 노드용 사전 튜닝 OS 베이스 이미지커널 파라미터 최적화, 스토리지 쿼터 자동화, Vagrant/Packer 빌드
KubeMetalBare-metal Kubernetes 클러스터 수명주기 관리자Makefile 통합 태스크 러너, 릴리스 자동화, 하드웨어 호환성 매트릭스
ldapiumOpenLDAP 기반 디렉토리 서비스 통합 솔루션.env.example 설정 표준, GitHub Scorecard 및 Dependabot 보안 거버넌스
Beluga Manager멀티 클러스터 오케스트레이션 및 엣지 관리 UIUI i18n (ko-KR / en-US), REST API 계약, 컨테이너 보안 베이스라인

시작하기 (Getting Started)

새로운 프로젝트나 기존 저장소에 OpenForge를 단계적으로 적용하는 절차입니다.

# 1. OpenForge 저장소 클론 및 템플릿 확인
git clone https://github.com/dasomel/openforge.git
 
# 2. 프로젝트 기본 디렉토리 구조 및 GitHub 템플릿 복사
cp -r openforge/templates/github/ .github/
cp openforge/templates/design/README-template.md README.md
cp openforge/templates/design/README-template-ko.md README-ko.md
 
# 3. 언어별 툴체인 및 CI 워크플로 배치
cp openforge/templates/workflows/ci.yml .github/workflows/ci.yml
 
# 4. 대상 프로젝트 환경에 맞게 권한, 경로, 버전 파라미터 커스터마이징

단계별 상세 가이드는 Getting Started 문서를 참고합니다.


기술 문서 가이드 (Documentation Index)

OpenForge 포털에서 제공하는 상세 주제별 기술 문서입니다.

주제문서 링크주요 내용
Overview문서 개요문서 모델, Source of Truth, 포털 구조 안내
Concepts핵심 개념3계층 모델, 신뢰 모델, 변경 모델, 거버넌스 원칙
Getting Started시작하기저장소 진단, 템플릿 적용, 점진적 표준화 가이드
Standards표준 모음Core, Security, Engineering 세부 표준 목록
Templates템플릿 카탈로그CI/CD, Container, K8s, Policy 템플릿 상세
Blueprints아키텍처 블루프린트플랫폼/애플리케이션 아키텍처 청사진
Operations운영 가이드관측성, 헬스체크, 백업/복구, 장애 대응
Reference참조 맵표준, 템플릿, 구현체 권위 소스 맵
Metrics성숙도 메트릭Repository Maturity Scorecard 및 평가 지표
Troubleshooting문제 해결증상 → 증거 → 원인 → 조치 기반 장애 분석 가이드
ADR아키텍처 결정 기록OpenForge 핵심 설계 결정 및 트레이드오프 기록

관련 링크