-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdevelopment.yml
More file actions
executable file
·135 lines (108 loc) · 3.18 KB
/
Copy pathdevelopment.yml
File metadata and controls
executable file
·135 lines (108 loc) · 3.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#!/usr/bin/env -S ansible-playbook --ask-become-pass
---
#
# Configures hosts in an inventory group named "development_group"
# consisting of pre-installed Debian GNU/Linux hosts with networking
# and SSH service available, and the remote user in the "sudo" group.
#
# Usage: ./development.yml [--limit HOSTS] [--tags TAGS]
#
# Available tags:
# - system : Run all system-level tasks (as root)
# - user : Run all user-level tasks
# - common_system : (system) Common System Configuration
# - dropbox : (system) Dropbox Configuration
# - redhat : (system) Red Hat Configuration
# - common_user : (user) Common User Configuration
# - deb_maint : (user) Debian Maintainer Configuration
# - powerline : (user) Powerline Configuration
# - golang : (user) Golang Configuration
#
- name: Configure hosts for a Red Hat development environment
hosts: development_group
vars:
# Necessary for the secrets role because the password store repo is private.
ansible_ssh_common_args: -o ForwardAgent=yes
git_dev_user_email: mbarnes@fedorapeople.org
git_dev_user_signingkey: 612E87B275813A59
pre_tasks:
- name: Check for necessary inventory variables
ansible.builtin.assert:
that: "item is defined"
msg: "Missing required variable \"{{ item }}\". Please add this to your inventory."
loop:
- local_area_network
- local_area_netmask
tags:
- always
roles:
# -----------------------------
# Common System Configuration
# -----------------------------
- role: common_system
tags:
- common_system
- system
# -----------------------
# Dropbox Configuration
# -----------------------
- role: dropbox
tags:
- dropbox
- system
# -----------------------
# Red Hat Configuration
# -----------------------
- role: redhat
tags:
- redhat
- system
- role: redhat_aro
tags:
- redhat
- system
# ---------------------------
# Common User Configuration
# ---------------------------
- role: common_user
tags:
- common_user
- user
- role: tmux
tags:
- common_user
- user
# ---------------------------------
# Debian Maintainer Configuration
# ---------------------------------
- role: deb_maint
vars:
deb_maint_email: mbarnes@fastmail.com
tags:
- deb_maint
- user
# -------------------------
# Powerline Configuration
# -------------------------
- role: powerline
tags:
- powerline
- user
# ----------------------
# Golang Configuration
# ----------------------
- role: golang
tags:
- golang
- user
tasks:
- name: List manual follow-up tasks
ansible.builtin.pause:
prompt: |
Additional tasks out of scope for this playbook:
[ ] Sign in to Firefox account
[ ] Configure Google Cloud CLI with "gcloud init"
[ ] Bootstrap Red Hat VPN with "netbird-up-{{ redhat_netbird_interface_name }}"
seconds: 1
tags:
- user