Compare commits
8
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc0e8f7aff
|
||
|
|
8024449e2b
|
||
|
|
37e659cfc3
|
||
|
|
05d7cef80c
|
||
|
|
6d843a0b65
|
||
|
|
2b9420afa9
|
||
|
|
889383f111
|
||
|
|
077f2ab15f
|
@@ -0,0 +1,3 @@
|
|||||||
|
{{ saltenv }}:
|
||||||
|
'*':
|
||||||
|
[]
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
{%- set masters = ['salt.nerdhouse.io'] %}
|
||||||
|
|
||||||
|
salt-minion:
|
||||||
|
pkg.installed:
|
||||||
|
- version: latest
|
||||||
|
service.running:
|
||||||
|
- enable: true
|
||||||
|
- require:
|
||||||
|
- pkg: salt-minion
|
||||||
|
- file: /etc/salt/minion
|
||||||
|
|
||||||
|
restart-salt-minion:
|
||||||
|
cmd.run:
|
||||||
|
- name: sleep 10 && systemctl restart salt-minion
|
||||||
|
- bg: true
|
||||||
|
- order: last
|
||||||
|
- onchanges:
|
||||||
|
- pkg: salt-minion
|
||||||
|
- file: /etc/salt/minion
|
||||||
|
- require:
|
||||||
|
- cmd: check-minion-config
|
||||||
|
|
||||||
|
/etc/salt/minion:
|
||||||
|
file.managed:
|
||||||
|
- source: salt://{{ slspath }}/templates/minion.jinja
|
||||||
|
- template: jinja
|
||||||
|
- user: root
|
||||||
|
- group: root
|
||||||
|
- mode: 644
|
||||||
|
- context:
|
||||||
|
masters: {{ masters|json }}
|
||||||
|
- require:
|
||||||
|
- pkg: salt-minion
|
||||||
|
|
||||||
|
check-minion-config:
|
||||||
|
cmd.run:
|
||||||
|
- name: sudo salt-call --local --skip-grains test.true
|
||||||
|
- onchanges:
|
||||||
|
- pkg: salt-minion
|
||||||
|
- file: /etc/salt/minion
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
id: {{ grains.id|lower }}
|
||||||
|
log_level: info
|
||||||
|
ipv6: true
|
||||||
|
ssl: true
|
||||||
|
transport: tcp
|
||||||
|
|
||||||
|
# https://github.com/saltstack/salt/blob/b95213ec903402f25c1e0aeb3990fe8452ab63ce/conf/minion#L39-L47
|
||||||
|
# str, failover or disable
|
||||||
|
master_type: str
|
||||||
|
{% if masters is defined %}
|
||||||
|
master:
|
||||||
|
{%- for master in masters %}
|
||||||
|
- {{ master }}
|
||||||
|
{%- endfor %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
# set the default saltenv for highstate
|
||||||
|
# otherwise it tries to run all of them 🤔
|
||||||
|
saltenv: base
|
||||||
|
# useful for influencing git_pillar and gitfs at the same time
|
||||||
|
pillarenv_from_saltenv: true
|
||||||
|
|
||||||
|
enable_fqdns_grains: false
|
||||||
|
enable_gpu_grains: false
|
||||||
|
|
||||||
|
# vim: ft=yaml
|
||||||
@@ -1,6 +1,14 @@
|
|||||||
sshd:
|
include:
|
||||||
|
- users
|
||||||
|
|
||||||
|
openssh-client:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
- version: latest
|
- version: latest
|
||||||
|
|
||||||
|
sshd-service:
|
||||||
service.running:
|
service.running:
|
||||||
- name: ssh
|
- name: ssh
|
||||||
- enable: true
|
- enable: true
|
||||||
|
- require:
|
||||||
|
- sls: users
|
||||||
|
- pkg: openssh-client
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
{{ saltenv }}:
|
{{ saltenv }}:
|
||||||
'*':
|
'*':
|
||||||
|
- users
|
||||||
- sshd
|
- sshd
|
||||||
|
- salt.minion
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{%- import_yaml 'users/users.jinja' as users %}
|
||||||
|
|
||||||
|
{%- if users is not mapping %}
|
||||||
|
{%- do raise('users/users.jinja is malformed') %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{%- for name, user in users.items() %}
|
||||||
|
{{ name|json }}:
|
||||||
|
user.present:
|
||||||
|
- usergroup: true
|
||||||
|
- createhome: true
|
||||||
|
- groups: {{ user.get('groups', [])|json }}
|
||||||
|
{%- if user.password is defined %}
|
||||||
|
- password: {{ user.password|json }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- if user.shell is defined %}
|
||||||
|
- shell: {{ user.shell }}
|
||||||
|
{%- endif %}
|
||||||
|
ssh_auth.manage:
|
||||||
|
- user: {{ name }}
|
||||||
|
{%- if user['ssh-keys'] is defined %}
|
||||||
|
- ssh_keys: {{ user['ssh-keys']|json }}
|
||||||
|
{%- endif %}
|
||||||
|
{%- endfor %}
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
{%- set sudo_group = 'sudo' if grains.os|lower == 'debian' else 'wheel' %}
|
||||||
|
{%- set admin_groups = [sudo_group] %}
|
||||||
|
{%- if grains.init == 'systemd' %}
|
||||||
|
{%- do admin_groups.append('systemd-journal') %}
|
||||||
|
{%- endif %}
|
||||||
|
|
||||||
|
{# FIXME(frebib): manage Docker group instead of blindly adding it #}
|
||||||
|
{%- do admin_groups.append('docker') %}
|
||||||
|
|
||||||
|
frebib:
|
||||||
|
groups:
|
||||||
|
{%- for group in admin_groups %}
|
||||||
|
- {{ group }}
|
||||||
|
{%- endfor %}
|
||||||
|
ssh-keys:
|
||||||
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINk+sOUEXKsGqITyMhna9v77ADGagkr3YMpgZFkrvqcd frebib@frebib-PC
|
||||||
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBIGxhZPQM/3Ck+DNNM0CoIZTsvKqQLKq8fqQoO6fXzX frebib@frebib-OnePlus3
|
||||||
|
- ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIL+T8ChEU9YmpE2BY77oEtKzedB8HWDSM5bErDN9gcvj frebib@frebib-Cf
|
||||||
|
|
||||||
|
adam:
|
||||||
|
groups:
|
||||||
|
{%- for group in admin_groups %}
|
||||||
|
- {{ group }}
|
||||||
|
{%- endfor %}
|
||||||
|
ssh-keys:
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiF/WxxMOOE/r8I/anF8gKarjNFmeoPuXNMYE0Hwo/NMqbJ9qKVONn+4fa5T99yhhAnYy92PBPxjmSsOqex28XZFh4I4GBGKh+Su1tJKLXsts1rbJmB1gSpKGbbjsiZcta4FqbiLKyUGL1wiV6GWucKdkC9lfTfocmH20tLbqSTryTAfy62oaEyEUSSATcwnl6ITF6BaQVGT8e78O4DpMYvYXFDa0nre0GlBigI0bAIHknmo+5JuL9i6RbnLr/zHMBiT3lnqQ8IO0JLNJD3ML/X/vgo3Htd6ovKe28YBi+LV+olpcFlQGSpNj+gE67UYb+Hw4mMTjzG4RhNHfQZCrNw== adampc
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYo04d3a7J22F0NlAM1MeqmZrbF7iaF9p9whLQmq/gYgZnFKtW7G/rQCUUG5X8yEn5LXkc9SYdRceyaleNDAe0/uEJIbbm+VPgkShV+pyA8AbP4+OF95JKgCS6/B59IStF8GrVnX9krjYLYVwS3FqwvYt/ZkYriX4hkaTkf3FslLU7eEwrDec3RuGXhTDTdLdFyq6wXsI/bITX2C0b8D5obNNkyPJFVV1zshy9mQ5/5wjHYLyZhUSRzcY6xDOlxWmTSHseYG1U5espgba7t6ZaL/n44IrXzFsuXRIA74rx3ESAtCEesM3TaPI/Q8dHOYsCdDquTyccP/nEkDCxxhl3 adam-laptop
|
||||||
|
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1V9+YmjPyOVdN4tj0MvyyZ4ZMZWkkTeQqEmRRNN0JcogunG97vo32UiZnt2gSPLZjutK5ql1SGTdgbaoSU4ci5vkKjhB8FpozupzvIy2qZ35v2K3eMsU43bLNY23R+ixDpXWkDgXQSVXTZdK3v/zNtDU3RE8vOqa9GFNl9DCGr+ppGfGxWOR6SMcuHu26dZf8pges3D23465kVzWJre3I7G3AGo49y0b9XCk1SkQPhPqQABcSv+k3Cp7hGdvSpj2kS29FRyHZZ5fksAX6N/Csz5Pc/4FyGY4S8Kd0SwdvxNVAGmWPIoB6cg+PBYnsSRYLUcSkWNpEkxK21u3kIS6F02NRs8kbPznr5S+S1E6PHmMRvCfmvegnh+QF+/W88kb9LBaicgDCo+A3vcLC5pfMPRFEXXNkKltlXDkO7/wGC93pUrP0X0sx9QuyqwAPacnZd0OX4uX7jJeMsbGSq+tXLGp1kGOET4J9GeoQrIK/NUxQkF6zDhWH6FcbescmIma4Ys3c1XZHs19DysVC7U/0wr8USzm2ljQ65Nyp0Hv18DdZZerQHkFx0LCJedrVaPC87xBHZORQlrvaF307dYaRLzCn6Jf9dYM2HgK/F0Y7hZv5KhU6J7upXivUJFN6/VMGCptA9DFLSje5Y7vXeWZkTEfghbm2Ylk2BtzuT7CLYw== adam-cpwc
|
||||||
|
|
||||||
Reference in New Issue
Block a user