このプロジェクトについて

Knotは、クラウド開発環境向けのオープンソース管理ソリューションであり、Nomadクラスタ内またはローカルマシン上で動作するように設計されています。ブラウザベースのWebインターフェースとコマンドラインツールを組み合わせることで、各開発者が独自の設定を維持することなく、チームが開発環境をデプロイしてアクセスできるようにします。 READMEに記載されている主な機能は以下の通りです。 - 環境の作成と管理のためのWebベースの管理インターフェース。 - ブラウザからのVisual Studio CodeおよびCode Serverへのアクセス、さらにブラウザ内ターミナル。 - コンテナへのアクセスを簡素化するコマンドラインツール。 - ユーザーおよび権限管理、ユーザーが表示できるテンプレートを制御するグループ、カスタムロール。 - 一貫性のある再現可能な開発スペースのための環境テンプレート。 - クラスタ管理のためのNomadとの統合、およびDockerまたはPodmanを介したローカルコンテナのサポート。 - KVM仮想マシン: スペースは、KVM対応ノード上で完全なVMとして実行でき、クラウドイメージから起動し、ブリッジ(静的IP)またはNATネットワーキングを使用します。 - リソース使用量とユーザーごとのスペース数を制限するクォータ。 - スペース用に自動生成される開発URL。 - KasmVNCなどのWebベースのVNCサーバーのサポート。 - リモートサーバーにより、テンプレートとユーザーが中央で管理されながら、開発者に近い場所に環境をデプロイでき、単一障害点を回避します。 - 他のユーザーとのスペースの共有。SSHおよびターミナルアクセスを許可します。 - ウィンドウ内表示を備えたsyslog互換のロギング。 - 必要に応じて環境をインターネットに安全に公開するためのトンネリング。 - スペース内からローカルマシン上のサービスに安全に接続するためのローカルサービス。 - 他のシステムとの統合のためのAPI。X-Knot-Api-Versionリクエストヘッダーを介したバージョニングを備え、非破壊的な変更はすべてのバージョンに適用され、破壊的な変更は最新バージョンにのみ表示されます。 セキュリティに関する注意: Knotは、オープンインターネットに直接公開するのではなく、信頼できるプライベートネットワークでの使用を目的としており、開発者はVPNなどを介して接続します。複数拠点へのデプロイには、メッシュネットワークが適している場合があります。トンネリングを有効にすると、トンネルポートはWebおよびエージェントインターフェースとは別になり、パブリックトラフィックはトンネルインターフェースにのみ向ける必要があります。Webインターフェースがインターネットに公開される場合は、時間ベースのワンタイムパスワード(TOTP)が推奨され、一般的な認証アプリで動作します。 ドキュメントとクイックスタートガイドはgetknot.devで入手できます。アイコンはHeroicons、Flowbite、dashboard-icons、deviconから取得されており、識別のみを目的として使用されています。 このプロジェクトはApache 2.0ライセンスの下でリリースされています。