프로젝트 소개
Graft는 타입 지정된 TOML로 소형 컨테이너 작업부하를 선언하고 Nix, Podman Quadlet, systemd가 이를 실현하는 초기 알파 프로젝트입니다. 문서화된 흐름은 다음과 같습니다: TOML 의도 → 검증된 JSON → Nix 빌드 루트루트프 → Quadlet .container 파일 → systemd 서비스 → Podman 컨테이너. Dockerfile, 런타임 패키지 설치, 수동 Quadlet 파일 작성을 피하고, Podman, Quadlet, systemd, Nix의 임의 조각을 허용하는 대신 지원되는 작업부하 개념을 검증합니다.
저장소는 두 가지 범위에 대한 루트루트프 저장소 백엔드를 설명합니다: NixOS 시스템/권한 있는(rootful) 컨테이너와 Home Manager 사용자 관리자 컨테이너입니다. 보고된 지원 기능에는 패키지만 argv 명령, 정체성, 작업 디렉토리, 환경변수, 장기 실행 서비스, 유한 작업, 설정 작업, 명시적 시작, 타입 지정 작업부하 의존성, 선택적 컨테이너 네트워킹, 기본 읽기 전용 바인드, 관리형 볼륨, 제한 tmpfs 마운트, 자격 있는 CDI 리소스 참조, 타입 지정 강화 제어, 생성된 스키마 검증, 예약된 필드에 대한 실패 폐쇄 거부 포함됩니다.
보안 기본값에는 읽기 전용 루트루트프, 축소된 런타임 권한, no-new-privileges가 포함되며 완화사항은 명시적으로 유지됩니다. Graft는 기본 자동 시작 또는 재시작 정책을 추가하지 않으며, Podman, rootless 오버레이 지원, systemd 사용자 linger, 계정, 방화벽 규칙 또는 DNS 정책을 암묵적으로 구성하지 않습니다. 컨테이너는 호스트 커널을 공유하며 VM-equivalent 보안 경계로 제시되지 않습니다.
README는 검토 가능한 TOML과 systemd 소유권의 이점을 얻는 소형 Nix 네이티브 서비스 및 개발 작업부하용으로 Graft를 위치시킵니다. 다른 필요에 대한 대안을 나열합니다: 전체 상위 옵션 커버리지를 위한 직접 Quadlet, OCI/Compose 워크플로우를 위한 Compose 도구, 또는 작업부하가 호스트 커널을 공유해서는 안 되는 경우 VM 경계. 빠른 시작, 로드맵, 비전, 보안 정책, 기여 가이드 및 개발 검사가 링크되어 있으며, 프로젝트는 Apache-2.0 라이선스를 따릅니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.