
DockerイメージをGitHub Actionsを通じて自動生成し、最新に保つためのリポジトリ。
RAUDI (Regularly and Automatically Updated Docker Images) は、開発者から提供されていないツールに対して、Dockerイメージ を GitHub Actions を通じて自動的に生成し、最新の状態に保ちます。
RAUDI は、多数のDockerイメージを手動で作成・管理する手間からあなたを救います。ソフトウェアが更新されるたびに、最新機能を使用したい場合や依存関係が動作しなくなった場合にDockerイメージを更新する必要があります。
これは面倒で時間のかかる作業です。
もう心配する必要はありません。私たちがカバーします。
このリポジトリをフォークして自分でGitHub Workflowを使用するか、ローカルで使用して好きなように実行管理することができます。
このリポジトリをフォークする場合は、個人のDocker Hubアカウントにイメージをプッシュできるように、いくつかのシークレットを設定する必要があります。必須のGitHubシークレットは次の2つです:
これらのシークレットを設定した後、tools/main.py ファイル内の organization 変数を編集する必要があります。これは SecSI のDocker Hubにプッシュするように設定されているためです。
これですべてです。「Action」に移動し、フォークしたリポジトリで有効化し、深夜まで待てば、Workflowが重い作業を代行してくれます!
このリポジトリはローカルでも実行できます。必要な要件は以下のとおりです:
BuildXの使用に関するドキュメントはこちら: https://docs.docker.com/buildx/working-with-buildx/
セットアップは非常に簡単で、以下のコマンドを実行するだけです:
git clone https://github.com/cybersecsi/RAUDI
cd RAUDI
pip install -r requirements.txt
準備完了です!
テストを実行するには、pytest をインストールする必要があります。コマンドは pip install pytest です (requirements.txt には含まれていません。テスト目的のみに必要です)。その後、次のコマンドを実行してください:
pytest -s
または
python -m pytest -s
テストを実行します。
RAUDI は、tools ディレクトリに配置されたすべてのツールをビルドしプッシュできます。実行時に使用できるオプションがいくつかあります。ローカルで使用する前に、.env ファイルを作成し(.env.sample ファイルをコピーするだけです)、レート制限を避けるために GitHub Personal Access Token を追加することをお勧めします。認証されていないユーザーは1時間あたり最大60リクエスト、認証されたユーザーは1時間あたり最大15,000リクエストが許可されます。そのため、追加することを推奨します! また、スコープなしの個人アクセストークンを作成することもできます。行うことはすべてのGitHubリポジトリの情報を読み取るだけだからです。
このモードでは、RAUDIは必要に応じてすべてのツールをビルドしようとします。実行コマンドは単純です:
python3 ./raudi.py --all
このモードでは、RAUDIは指定されたツールのみをビルドしようとします。この場合のコマンドは次のとおりです:
python3 ./raudi.py --single <tool_name>
tool_name は tools フォルダ内のディレクトリ名と同じである必要があります。
ツールの設定構造に tests パラメータが追加されたので、挿入されたコマンドがステータスコード0を返すかどうかをテストするのに役立ちます。特定のツールをテストするコマンドは次のとおりです:
python3 ./raudi.py --test <tool_name>
tool_name は tools フォルダ内のディレクトリ名と同じである必要があります。
利用可能なツールを知りたい場合は、次のコマンドを実行します:
python3 ./raudi.py --list
利用可能なテンプレートの1つから新しいツールフォルダをすばやく追加したい場合は、次のコマンドを実行します:
python3 ./raudi.py --bootstrap <new_tool_name>
| オプション | 説明 | デフォルト値 |
|---|---|---|
| --push | Docker Hubに自動的にプッシュするかどうか | False |
| --remote | ビルド前にローカルのDockerではなくDocker Hubと比較するかどうか | False |
| --force | 同じタグ名のイメージが見つかった場合でもビルドするかどうか | False |
以下は追加されたツールの現在のリストです。これらはすべて、開発者によって公式のDockerイメージが提供されていないツールです: