jokerwrld999.bootstrap
Ansibleロール: ブートストラップ
説明
このロールは、サーバーのための基本的な事前設定タスクを提供します。
機能
システムセットアップ
- システムの更新とリポジトリの設定
ユーザー設定
- ルートユーザーの設定
- タグ: lxc
- カスタムユーザーの設定
- ルートユーザーの設定
ソフトウェアインストール
- 開発用パッケージのインストール
- タグ: lxc
- 微調整のインストール
- Dockerのインストール
- タグ: docker
- ユーティリティのインストール
- 開発用パッケージのインストール
微調整の実施
- ホスト名の設定
- ログの保存期間の設定
- マイクロコードのインストール
- OpenSSHの設定
- Qemuゲストエージェントのインストール
使用方法
要件
このロールは、ansible-galaxyからインストールする必要があるコレクションをいくつか必要とします。以下は例としてのrequirements.yml
ファイルです:
---
collections:
- name: community.general
- name: kewlfft.aur
roles:
- name: jokerwrld999.bootstrap
要件のインストール
ansible-galaxy install -r requirements.yml
ロール変数
使用可能な変数は以下にリストされています。デフォルト値も含まれています:
事前設定
set_hostname
: ブール値、デフォルトはfalse
。カスタムホスト名を設定するにはtrue
にします。custom_hostname
: 文字列、${{ custom_user }}
を使用したホスト名のテンプレート。例:
{{ custom_user }}-server
SSH
ssh_port
: 整数、デフォルトは22
。希望するSSHポートを設定します。
ユーザー設定
setup_user
: ブール値、デフォルトはfalse
。ZSHシェル、p10kのカスタマイズ、およびed25519
タイプの生成されたSSHキーを持つカスタムユーザーを作成するにはtrue
にします。custom_user
: 文字列、環境変数CUSTOM_USER
の値がデフォルト。フォールバックは"jokerwrld"
です。カスタムユーザーアカウントのユーザー名。環境変数を作成する例:
export CUSTOM_USER=username
。temp_dir
: 文字列、デフォルトは"tmp"
。特定のタスクに使用される一時ディレクトリ。
ユーザーパスワード(オプション - セキュリティ考慮)
パスワードの暗号化
python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
root_passwd
: 文字列、デフォルトは空です。ルートパスワードを設定します。custom_user_passwd
: 文字列、デフォルトは空です。カスタムユーザーのパスワードを設定します。
Ansible Vaultや他のセキュアな資格情報管理ソリューションの利用を考慮してください。
変数ファイルの例
---
# 事前設定
# カスタムホスト名
set_hostname: false
custom_hostname: "{{ custom_user }}-server"
# SSH
ssh_port: 22
# ユーザー設定
setup_user: false
custom_user: "{{ lookup('env', 'CUSTOM_USER') | default('jokerwrld', true) }}" # >>> ubuntu | ec2-user | custom_user
temp_dir: "tmp"
# パスワードの暗号化
# python3 -c 'import crypt,getpass;pw=getpass.getpass();print(crypt.crypt(pw) if (pw==getpass.getpass("Confirm: ")) else exit())'
root_passwd: "$6$aBitRBNIk5O7.rRs$.r7jWebBbVsx6GL7/8EixidRnFxtvSPEcXMkCLa.zKXS8ETQjpay54Htc9Q4sLJfs1Cyvjj4VVGpe5yc1zXLe/" # root
custom_user_passwd: "$6$8ReSwQWsQjmGVfva$2/.pJ9aeIIXxAPhhpDuOhZ7161EKvAx2uFFdGpMC9tpMGEBO4m5MbGYR9nJloPrf68GSb7eSsN6Ef0FMKxkbQ1" # sudo
プレイブックの例
- name: サーバーの事前設定
hosts: all
become: true
vars_files:
- main.yml
vars:
set_hostname: true
custom_hostname: "{{ custom_user }}-server"
setup_user: true
custom_user: myuser
ssh_port: 2234
tasks:
- name: サーバーの事前設定
block:
- name: ブートストラップロールのインクルード
ansible.builtin.include_role:
name: jokerwrld999.bootstrap
tags: lxc, docker
rescue:
- name: 事前設定 | 救助
ansible.builtin.set_fact:
task_failed: true
依存関係
なし。
ライセンス
MIT / BSD
作者情報
このロールは2024年にジャイカー・ワールドによって作成されました。