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。设置为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 年。
