프로젝트 소개
Knot는 클라우드 개발 환경을 위한 오픈소스 관리 솔루션으로, Nomad 클러스터 내부 또는 로컬 머신에서 실행되도록 설계되었습니다. 브라우저 기반 웹 인터페이스와 명령줄 도구를 결합하여, 각 개발자가 자체 구성을 유지하지 않아도 팀이 개발 환경을 배포하고 접근할 수 있게 합니다.
README에 설명된 주요 기능:
- 환경 생성 및 관리를 위한 웹 기반 관리 인터페이스.
- Visual Studio Code 및 Code Server에 대한 브라우저 접근, 브라우저 내 터미널.
- 컨테이너 접근을 간소화하는 명령줄 도구.
- 사용자 및 권한 관리, 사용자가 볼 수 있는 템플릿을 제어하는 그룹, 사용자 지정 역할.
- 일관되고 반복 가능한 개발 공간을 위한 환경 템플릿.
- 클러스터 관리를 위한 Nomad 통합, Docker 또는 Podman을 통한 로컬 컨테이너 지원.
- KVM 가상 머신: 공간은 KVM 지원 노드에서 전체 VM으로 실행될 수 있으며, 클라우드 이미지에서 부팅되고 브리지(고정 IP) 또는 NAT 네트워킹을 사용합니다.
- 사용자당 리소스 사용량과 공간 수를 제한하는 할당량.
- 공간에 대한 자동 생성 개발 URL.
- KasmVNC와 같은 웹 기반 VNC 서버 지원.
- 원격 서버: 템플릿과 사용자가 중앙에서 관리되는 동안 개발자 가까이에 환경을 배포할 수 있어 단일 실패 지점을 피할 수 있습니다.
- 다른 사용자와 공간 공유, SSH 및 터미널 접근 권한 부여.
- 창 내 표시가 있는 Syslog 호환 로깅.
- 필요할 때 환경을 인터넷에 안전하게 노출하는 터널링.
- 공간 내에서 로컬 머신의 서비스에 안전하게 연결하는 로컬 서비스.
- 다른 시스템과의 통합을 위한 API, X-Knot-Api-Version 요청 헤더를 통한 버전 관리; 비호환 변경 사항은 모든 버전에 적용되며, 호환되지 않는 변경 사항은 최신 버전에만 나타납니다.
보안 참고 사항: Knot는 공개 인터넷에 직접 노출하기보다는 신뢰할 수 있는 사설 네트워크를 대상으로 하며, 개발자는 VPN 등을 통해 연결합니다. 다중 위치 배포의 경우 메시 네트워크가 적합할 수 있습니다. 터널링이 활성화되면 터널 포트는 웹 및 에이전트 인터페이스와 분리되며, 공개 트래픽은 터널 인터페이스로만 전달되어야 합니다. 웹 인터페이스가 인터넷에 노출되는 경우 시간 기반 일회용 비밀번호(TOTP)가 권장되며, 일반적인 인증 앱과 호환됩니다.
문서 및 빠른 시작 가이드는 getknot.dev에서 제공됩니다. 아이콘은 Heroicons, Flowbite, dashboard-icons 및 devicon에서 가져왔으며 식별 목적으로만 사용됩니다.
이 프로젝트는 Apache 2.0 라이선스로 배포됩니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.