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。设置为 true 以创建一个具有 ZSH shell、p10k 自定义和生成的 ed25519 类型 SSH 密钥的自定义用户。

  • 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("确认: ")) else exit())'
  • root_passwd: 字符串,默认为空。设置您的 Root 密码。

  • 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("确认: ")) 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

作者信息

此角色由 Joker Wrld 创建于 2024 年。

安装
ansible-galaxy install jokerwrld999.bootstrap
许可证
mit
下载
175
拥有者