jokerwrld999.bootstrap

Ansibleロール: ブートストラップ

CI

説明

このロールは、サーバーのための基本的な事前設定タスクを提供します。

機能

  • システムセットアップ

    • システムの更新とリポジトリの設定
  • ユーザー設定

    • ルートユーザーの設定
      • タグ: 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年にジャイカー・ワールドによって作成されました。

インストール
ansible-galaxy install jokerwrld999.bootstrap
ライセンス
mit
ダウンロード
166
所有者