forked from CCCHH/ansible-infra
Vendor Galaxy Roles and Collections
This commit is contained in:
parent
c1e1897cda
commit
2aed20393f
3553 changed files with 387444 additions and 2 deletions
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install and configure Ansible
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_ansible' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::ansible' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ ansible__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ ansible__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: ansible
|
||||
tags: [ 'role::ansible', 'skip::ansible' ]
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage and configure the Apache HTTP Server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_apache' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare apache environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'apache'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::apache', 'role::apache:env' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ apache__ferm__dependent_rules }}'
|
||||
|
||||
- role: apache
|
||||
tags: [ 'role::apache', 'skip::apache' ]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2022 David Härdeman <david@hardeman.nu>
|
||||
# Copyright (C) 2015-2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Install and configure AppArmor
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apparmor' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apparmor
|
||||
tags: [ 'role::apparmor', 'skip::apparmor' ]
|
||||
20
ansible_collections/debops/debops/playbooks/service/apt.yml
Normal file
20
ansible_collections/debops/debops/playbooks/service/apt.yml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2013-2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Advanced Package Manager
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt
|
||||
tags: [ 'role::apt', 'skip::apt' ]
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install and manage the caching HTTP proxy Apt-Cacher NG.
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_apt_cacher_ng' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::nginx' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ apt_cacher_ng__etc_services__dependent_list }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ apt_cacher_ng__apt_preferences__dependent_list }}'
|
||||
- '{{ nginx_apt_preferences_dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ apt_cacher_ng__ferm__dependent_rules }}'
|
||||
- '{{ nginx_ferm_dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx_servers:
|
||||
- '{{ apt_cacher_ng__nginx__servers }}'
|
||||
nginx_upstreams:
|
||||
- '{{ apt_cacher_ng__nginx__upstream }}'
|
||||
|
||||
- role: apt_cacher_ng
|
||||
tags: [ 'role::apt_cacher_ng', 'skip::apt_cacher_ng' ]
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install APT packages
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt_install' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ apt_install__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: apt_install
|
||||
tags: [ 'role::apt_install', 'skip::apt_install' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure apt-listchanges
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt_listchanges' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_listchanges
|
||||
tags: [ 'role::apt_listchanges', 'skip::apt_listchanges' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Mark APT package state
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt_mark' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_mark
|
||||
tags: [ 'role::apt_mark', 'skip::apt_mark' ]
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
# Copyright (C) 2023 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2023 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure APT mirroring service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_apt_mirror' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::nginx' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ apt_mirror__nginx__dependent_servers }}'
|
||||
|
||||
- role: apt_mirror
|
||||
tags: [ 'role::apt_mirror', 'skip::apt_mirror' ]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage APT preferences
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt_preferences' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure APT proxy
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_apt_proxy' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_proxy
|
||||
tags: [ 'role::apt_proxy', 'skip::apt_proxy' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/atd.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/atd.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage at service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_atd' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: atd
|
||||
tags: [ 'role::atd', 'skip::atd' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/auth.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/auth.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2013-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage authentication and authorization
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_auth' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: auth
|
||||
tags: [ 'role::auth', 'skip::auth' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage SSH public keys
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_authorized_keys' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: authorized_keys
|
||||
tags: [ 'role::authorized_keys', 'skip::authorized_keys' ]
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
# Copyright (C) 2017-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Avahi service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_avahi' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::avahi' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ avahi__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ avahi__python__dependent_packages2 }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ avahi__ferm__dependent_rules }}'
|
||||
|
||||
- role: avahi
|
||||
tags: [ 'role::avahi', 'skip::avahi' ]
|
||||
|
||||
- role: nsswitch
|
||||
tags: [ 'role::nsswitch', 'skip::nsswitch' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2018-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure backup2l service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_backup2l' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: backup2l
|
||||
tags: [ 'role::backup2l', 'skip::backup2l' ]
|
||||
58
ansible_collections/debops/debops/playbooks/service/bind.yml
Normal file
58
ansible_collections/debops/debops/playbooks/service/bind.yml
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
---
|
||||
# Copyright (C) 2022 David Härdeman <david@hardeman.nu>
|
||||
# Copyright (C) 2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage BIND servers
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_bind' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences',
|
||||
'role::nginx' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
- '{{ bind__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm', 'role::nginx' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
- '{{ bind__ferm__dependent_rules }}'
|
||||
|
||||
- role: resolvconf
|
||||
tags: [ 'role::resolvconf', 'skip::resolvconf' ]
|
||||
resolvconf__dependent_services:
|
||||
- 'bind'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ slapd__logrotate__dependent_config }}'
|
||||
when:
|
||||
- '"dnssec" in bind__features'
|
||||
- bind__dnssec_script_enabled | d(False)
|
||||
|
||||
- role: bind
|
||||
tags: [ 'role::bind', 'skip::bind' ]
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ bind__nginx__dependent_servers }}'
|
||||
# Run the role even if it is not being used by any
|
||||
# BIND features so that the BIND-specific server can be disabled,
|
||||
# if appropriate.
|
||||
when: ansible_local.nginx.enabled | d(False) or
|
||||
bind__features | intersect([ "doh_proxy", "stats_proxy" ]) | length > 0
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage BoxBackup service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_boxbackup' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: pki
|
||||
when: boxbackup_server is defined and boxbackup_server == ansible_fqdn
|
||||
|
||||
pki_private_groups_present: [ 'bbstored' ]
|
||||
|
||||
pki_realms:
|
||||
|
||||
- source: 'boxbackup-{{ boxbackup_server }}-server'
|
||||
destination: 'boxbackup-server'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-server'
|
||||
private_group: 'bbstored'
|
||||
default: '{{ ansible_fqdn }}'
|
||||
default_ca: 'CA/boxbackup-{{ boxbackup_server }}-client-CA.crt'
|
||||
default_crl: 'revoked/boxbackup-{{ boxbackup_server }}-client-CA.crl'
|
||||
ca: [ 'boxbackup-{{ boxbackup_server }}-client' ]
|
||||
|
||||
pki_authorities:
|
||||
|
||||
- name: 'root/boxbackup-{{ boxbackup_server }}-server'
|
||||
grants: 'server'
|
||||
filename: 'boxbackup-{{ boxbackup_server }}-server-CA'
|
||||
policy: 'custom'
|
||||
default_dn: False
|
||||
cn: 'Backup system server root'
|
||||
lock: False
|
||||
|
||||
- name: 'root/boxbackup-{{ boxbackup_server }}-client'
|
||||
grants: 'client'
|
||||
filename: 'boxbackup-{{ boxbackup_server }}-client-CA'
|
||||
policy: 'custom'
|
||||
default_dn: False
|
||||
cn: 'Backup system client root'
|
||||
lock: False
|
||||
|
||||
pki_routes:
|
||||
|
||||
- name: 'boxbackup-{{ boxbackup_server }}-client-ca'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-client'
|
||||
realm: 'boxbackup-{{ boxbackup_server }}-server/CA'
|
||||
readlink: 'CA.crt'
|
||||
|
||||
- name: 'boxbackup-{{ boxbackup_server }}-client-crl'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-client'
|
||||
realm: 'boxbackup-{{ boxbackup_server }}-server/revoked'
|
||||
readlink: 'default.crl'
|
||||
|
||||
- name: 'boxbackup-{{ ansible_fqdn }}-server-cert'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-server/certs'
|
||||
realm: 'boxbackup-{{ boxbackup_server }}-server/certs'
|
||||
file: '{{ ansible_fqdn }}.crt'
|
||||
|
||||
pki_certificates:
|
||||
|
||||
- source: 'boxbackup-{{ boxbackup_server }}-server'
|
||||
destination: 'boxbackup-server'
|
||||
default_dn: False
|
||||
cn: '{{ ansible_fqdn }}'
|
||||
|
||||
- role: pki
|
||||
when: boxbackup_server is defined and boxbackup_server != ansible_fqdn
|
||||
|
||||
pki_realms:
|
||||
|
||||
- source: 'boxbackup-{{ ansible_fqdn }}-client'
|
||||
destination: 'boxbackup-client'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-client'
|
||||
private_group: 'root'
|
||||
default: '{{ ansible_fqdn + "-" + boxbackup_account }}'
|
||||
default_ca: 'CA/boxbackup-{{ boxbackup_server }}-server-CA.crt'
|
||||
default_crl: 'revoked/boxbackup-{{ boxbackup_server }}-server-CA.crl'
|
||||
ca: [ 'boxbackup-{{ boxbackup_server }}-server' ]
|
||||
|
||||
pki_routes:
|
||||
|
||||
- name: 'boxbackup-{{ ansible_fqdn }}-server-ca'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-server'
|
||||
realm: 'boxbackup-{{ ansible_fqdn }}-client/CA'
|
||||
readlink: 'CA.crt'
|
||||
|
||||
- name: 'boxbackup-{{ ansible_fqdn }}-server-crl'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-server'
|
||||
realm: 'boxbackup-{{ ansible_fqdn }}-client/revoked'
|
||||
readlink: 'default.crl'
|
||||
|
||||
- name: 'boxbackup-{{ ansible_fqdn }}-client-cert'
|
||||
authority: 'root/boxbackup-{{ boxbackup_server }}-client/certs'
|
||||
realm: 'boxbackup-{{ ansible_fqdn }}-client/certs'
|
||||
file: '{{ ansible_fqdn + "-" + boxbackup_account }}.crt'
|
||||
|
||||
pki_authorities: []
|
||||
|
||||
pki_certificates:
|
||||
- source: 'boxbackup-{{ ansible_fqdn }}-client'
|
||||
destination: 'boxbackup-client'
|
||||
default_dn: False
|
||||
filename: '{{ ansible_fqdn + "-" + boxbackup_account }}'
|
||||
cn: 'BACKUP-{{ boxbackup_account }}'
|
||||
|
||||
- role: etc_services
|
||||
etc_services_dependency_list:
|
||||
|
||||
- name: 'boxbackup'
|
||||
protocols: [ 'tcp' ]
|
||||
port: '2201'
|
||||
comment: 'BoxBackup server'
|
||||
|
||||
- role: ferm
|
||||
when: boxbackup_server is defined and boxbackup_server == ansible_fqdn
|
||||
ferm_input_list:
|
||||
|
||||
- type: 'dport_accept'
|
||||
dport: [ 'boxbackup' ]
|
||||
saddr: '{{ boxbackup_allow }}'
|
||||
accept_any: True
|
||||
filename: 'boxbackup_dependency_accept'
|
||||
weight: '20'
|
||||
|
||||
- role: boxbackup
|
||||
tags: [ 'role::boxbackup', 'skip::boxbackup' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2013-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage console configuration
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_console' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: console
|
||||
tags: [ 'role::console', 'skip::console' ]
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
---
|
||||
# Copyright (C) 2015-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Prepare host to be used as Ansible Controller
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_controller' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::ansible' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ ansible__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ ansible__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::controller' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ controller__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ controller__python__dependent_packages2 }}'
|
||||
|
||||
- role: ansible
|
||||
tags: [ 'role::ansible', 'skip::ansible' ]
|
||||
|
||||
- role: controller
|
||||
tags: [ 'role::controller', 'skip::controller' ]
|
||||
21
ansible_collections/debops/debops/playbooks/service/core.yml
Normal file
21
ansible_collections/debops/debops/playbooks/service/core.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Prepare core environment
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_core',
|
||||
'debops_service_bootstrap' ]
|
||||
become: False
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: core
|
||||
tags: [ 'role::core', 'skip::core' ]
|
||||
become: True
|
||||
34
ansible_collections/debops/debops/playbooks/service/cran.yml
Normal file
34
ansible_collections/debops/debops/playbooks/service/cran.yml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage the Comprehensive R Archive Network packages
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_cran' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::cran' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ cran__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ cran__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: java
|
||||
tags: [ 'role::java', 'skip::java' ]
|
||||
java__install_jdk: True
|
||||
when: cran__java_integration | bool
|
||||
|
||||
- role: cran
|
||||
tags: [ 'role::cran', 'skip::cran' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/cron.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/cron.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage cron jobs
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_cron' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
# Copyright (C) 2015-2020 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Setup and manage encrypted filesystems and ensure persistence
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_cryptsetup_persistent_paths' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cryptsetup
|
||||
tags: [ 'role::cryptsetup', 'skip::cryptsetup' ]
|
||||
|
||||
- role: persistent_paths
|
||||
tags: [ 'role::persistent_paths', 'skip::persistent_paths' ]
|
||||
persistent_paths__dependent_paths: '{{ cryptsetup__persistent_paths__dependent_paths }}'
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2020 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Setup and manage encrypted filesystems
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_cryptsetup' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cryptsetup
|
||||
tags: [ 'role::cryptsetup', 'skip::cryptsetup' ]
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# Copyright (C) 2015-2020 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage regular cryptsetup installation
|
||||
import_playbook: 'cryptsetup-plain.yml'
|
||||
|
||||
- name: Manage cryptsetup on QbesOS
|
||||
import_playbook: 'cryptsetup-persistent_paths.yml'
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2024 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2024 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage debconf-based services
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_debconf' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: debconf
|
||||
tags: [ 'role::debconf', 'skip::debconf' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Ansible local facts for other roles
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_debops_fact' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: debops_fact
|
||||
tags: [ 'role::debops_fact', 'skip::debops_fact' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Clean up legacy configuration
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: debops_legacy
|
||||
tags: [ 'role::debops_legacy', 'skip::debops_legacy' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2014-2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2014-2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage dhcp_probe service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dhcp_probe' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: dhcp_probe
|
||||
tags: [ 'role::dhcp_probe', 'skip::dhcp_probe' ]
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
---
|
||||
# Copyright (C) 2014-2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 CipherMail B.V. <https://www.ciphermail.com/>
|
||||
# Copyright (C) 2014-2018, 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage ISC DHCP server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dhcpd' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ dhcpd__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ dhcpd__ferm__dependent_rules }}'
|
||||
|
||||
- role: dhcpd
|
||||
tags: [ 'role::dhcpd', 'skip::dhcpd' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2020 CipherMail B.V. <https://www.ciphermail.com/>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage ISC DHCP relay
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dhcrelay' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: dhcrelay
|
||||
tags: [ 'role::dhcrelay', 'skip::dhcrelay' ]
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Diffie-Hellman parameters
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_dhparam' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: dhparam
|
||||
tags: [ 'role::dhparam', 'skip::dhparam' ]
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure dnsmasq and ensure persistence
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dnsmasq_persistent_paths' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare dnsmasq environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'dnsmasq'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::dnsmasq', 'role::ferm', 'role::tcpwrappers' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: resolvconf
|
||||
tags: [ 'role::resolvconf', 'skip::resolvconf' ]
|
||||
resolvconf__dependent_services:
|
||||
- 'dnsmasq'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ dnsmasq__ferm__dependent_rules }}'
|
||||
|
||||
- role: tcpwrappers
|
||||
tags: [ 'role::tcpwrappers', 'skip::tcpwrappers' ]
|
||||
tcpwrappers__dependent_allow:
|
||||
- '{{ dnsmasq__env_tcpwrappers__dependent_allow }}'
|
||||
|
||||
- role: dnsmasq
|
||||
tags: [ 'role::dnsmasq', 'skip::dnsmasq' ]
|
||||
|
||||
- role: persistent_paths
|
||||
tags: [ 'role::persistent_paths', 'skip::persistent_paths' ]
|
||||
persistent_paths__dependent_paths: '{{ dnsmasq__persistent_paths__dependent_paths }}'
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure dnsmasq
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dnsmasq' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare dnsmasq environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'dnsmasq'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::dnsmasq', 'role::ferm', 'role::tcpwrappers' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: resolvconf
|
||||
tags: [ 'role::resolvconf', 'skip::resolvconf' ]
|
||||
resolvconf__dependent_services:
|
||||
- 'dnsmasq'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ dnsmasq__ferm__dependent_rules }}'
|
||||
|
||||
- role: tcpwrappers
|
||||
tags: [ 'role::tcpwrappers', 'skip::tcpwrappers' ]
|
||||
tcpwrappers__dependent_allow:
|
||||
- '{{ dnsmasq__env_tcpwrappers__dependent_allow }}'
|
||||
|
||||
- role: dnsmasq
|
||||
tags: [ 'role::dnsmasq', 'skip::dnsmasq' ]
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage regular dnsmasq installation
|
||||
import_playbook: 'dnsmasq-plain.yml'
|
||||
|
||||
- name: Manage dnsmasq installation on QbesOS
|
||||
import_playbook: 'dnsmasq-persistent_paths.yml'
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage docker-gen service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_docker_gen' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: docker_gen
|
||||
tags: [ 'role::docker_gen', 'skip::docker_gen' ]
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
# Copyright (C) 2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Docker Registry
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_docker_registry' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring',
|
||||
'role::nginx', 'role::docker_registry' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ docker_registry__keyring__dependent_gpg_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ golang__apt_preferences__dependent_list | d([]) }}'
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ docker_registry__etc_services__dependent_list }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::ldap', 'role::docker_registry' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 }}'
|
||||
- '{{ docker_registry__python__dependent_packages3 }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 }}'
|
||||
- '{{ docker_registry__python__dependent_packages2 }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ sudo__ldap__dependent_tasks }}'
|
||||
|
||||
- role: sudo
|
||||
tags: [ 'role::sudo', 'skip::sudo' ]
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_maps:
|
||||
- '{{ docker_registry__nginx__dependent_maps }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ docker_registry__nginx__dependent_upstreams }}'
|
||||
nginx__dependent_htpasswd:
|
||||
- '{{ docker_registry__nginx__dependent_htpasswd }}'
|
||||
nginx__dependent_servers:
|
||||
- '{{ docker_registry__nginx__dependent_servers }}'
|
||||
|
||||
- role: golang
|
||||
tags: [ 'role::golang', 'skip::golang' ]
|
||||
when: docker_registry__upstream | bool
|
||||
|
||||
- role: docker_registry
|
||||
tags: [ 'role::docker_registry', 'skip::docker_registry' ]
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
---
|
||||
# Copyright (C) 2015-2023 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019 Imre Jonk <mail@imrejonk.nl>
|
||||
# Copyright (C) 2015-2023 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Docker server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_docker_server' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ docker_server__extrepo__dependent_sources }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services', 'role::ferm' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ docker_server__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ docker_server__ferm__dependent_rules }}'
|
||||
|
||||
- role: docker_server
|
||||
tags: [ 'role::docker_server', 'skip::docker_server' ]
|
||||
|
||||
- role: systemd
|
||||
tags: [ 'role::systemd', 'skip::systemd' ]
|
||||
systemd__dependent_units:
|
||||
- '{{ docker_server__systemd__dependent_units }}'
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
# Copyright (C) 2015-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage DokuWiki
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dokuwiki' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Apply keyring configuration for php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'keyring'
|
||||
vars:
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ php__keyring__dependent_apt_keys }}'
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::php', 'role::nginx' ]
|
||||
|
||||
- name: Prepare php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'php'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::php', 'role::php:env', 'role::logrotate' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ php__apt_preferences__dependent_list }}'
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ php__logrotate__dependent_config }}'
|
||||
|
||||
- role: php
|
||||
tags: [ 'role::php', 'skip::php' ]
|
||||
php__dependent_packages:
|
||||
- '{{ dokuwiki__php__dependent_packages }}'
|
||||
php__dependent_pools:
|
||||
- '{{ dokuwiki__php__dependent_pools }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ dokuwiki__ldap__dependent_tasks }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ dokuwiki__nginx__dependent_upstreams }}'
|
||||
nginx__dependent_servers:
|
||||
- '{{ dokuwiki__nginx__dependent_servers }}'
|
||||
|
||||
- role: dokuwiki
|
||||
tags: [ 'role::dokuwiki', 'skip::dokuwiki' ]
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
# Copyright (C) 2015 Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
|
||||
# Copyright (C) 2017-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Dovecot service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dovecot' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare dovecot environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'dovecot'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::dovecot', 'role::secret', 'role::ferm' ]
|
||||
|
||||
- name: Prepare postfix environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'postfix'
|
||||
tasks_from: 'main_env'
|
||||
vars:
|
||||
postfix__dependent_maincf:
|
||||
- role: 'dovecot'
|
||||
config: '{{ dovecot__postfix__dependent_maincf }}'
|
||||
postfix__dependent_mastercf:
|
||||
- role: 'dovecot'
|
||||
config: '{{ dovecot__postfix__dependent_mastercf }}'
|
||||
tags: [ 'role::postfix', 'role::secret', 'role::ferm' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::postfix' ]
|
||||
secret__directories:
|
||||
- '{{ postfix__secret__directories }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ dovecot__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ dovecot__ferm__dependent_rules }}'
|
||||
|
||||
- role: postfix
|
||||
tags: [ 'role::postfix', 'skip::postfix' ]
|
||||
postfix__dependent_maincf:
|
||||
- role: 'dovecot'
|
||||
config: '{{ dovecot__postfix__dependent_maincf }}'
|
||||
postfix__dependent_mastercf:
|
||||
- role: 'dovecot'
|
||||
config: '{{ dovecot__postfix__dependent_mastercf }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::ldap' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ dovecot__ldap__dependent_tasks }}'
|
||||
|
||||
- role: dovecot
|
||||
tags: [ 'role::dovecot', 'skip::dovecot' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2017-2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Setup the dropbear ssh server in initramfs
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_dropbear_initramfs' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: dropbear_initramfs
|
||||
tags: [ 'role::dropbear_initramfs', 'skip::dropbear_initramfs' ]
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Elastic APT repositories
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_elastic_co' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::elastic_co' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ elastic_co__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ elastic_co__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: elastic_co
|
||||
tags: [ 'role::elastic_co', 'skip::elastic_co' ]
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
# Copyright (C) 2014-2016 Nick Janetakis <nick.janetakis@gmail.com>
|
||||
# Copyright (C) 2014-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Elasticsearch cluster
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_elasticsearch',
|
||||
'debops_service_elasticsearch_master',
|
||||
'debops_service_elasticsearch_data',
|
||||
'debops_service_elasticsearch_ingest',
|
||||
'debops_service_elasticsearch_lb' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare elasticsearch environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'elasticsearch'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::elasticsearch', 'role::secret', 'role::elasticsearch:config' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo', 'role::elasticsearch' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ elasticsearch__extrepo__dependent_sources }}'
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::elasticsearch', 'role::elasticsearch:config' ]
|
||||
secret__directories:
|
||||
- '{{ elasticsearch__secret__directories }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ elasticsearch__etc_services__dependent_list }}'
|
||||
|
||||
- role: sysctl
|
||||
tags: [ 'role::sysctl', 'skip::sysctl' ]
|
||||
sysctl__dependent_parameters:
|
||||
- '{{ elasticsearch__sysctl__dependent_parameters }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ elasticsearch__ferm__dependent_rules }}'
|
||||
|
||||
- role: java
|
||||
tags: [ 'role::java', 'skip::java' ]
|
||||
|
||||
- role: elasticsearch
|
||||
tags: [ 'role::elasticsearch', 'skip::elasticsearch' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage system environment variables
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_environment' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: environment
|
||||
tags: [ 'role::environment', 'skip::environment' ]
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage /etc/aliases database
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_etc_aliases' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare etc_aliases environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'etc_aliases'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::etc_aliases', 'role::secret' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::etc_aliases' ]
|
||||
secret__directories:
|
||||
- '{{ etc_aliases__secret__directories }}'
|
||||
|
||||
- role: etc_aliases
|
||||
tags: [ 'role::etc_aliases', 'skip::etc_aliases' ]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2014-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage /etc/services database
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_etc_services' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
# Copyright (C) 2016-2018 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Put /etc under version control using etckeeper
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_etckeeper' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ etckeeper__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: etckeeper
|
||||
tags: [ 'role::etckeeper', 'skip::etckeeper' ]
|
||||
|
|
@ -0,0 +1,67 @@
|
|||
---
|
||||
# Copyright (C) 2020 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Deploy and manage the EteSync server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_etesync' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring',
|
||||
'role::nginx', 'role::etesync' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ etesync__keyring__dependent_gpg_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ gunicorn__logrotate__dependent_config }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::gunicorn', 'role::etesync' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ gunicorn__python__dependent_packages3 }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
- '{{ etesync__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ gunicorn__python__dependent_packages2 }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: gunicorn
|
||||
tags: [ 'role::gunicorn', 'skip::gunicorn' ]
|
||||
gunicorn__dependent_applications:
|
||||
- '{{ etesync__gunicorn__dependent_applications }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ etesync__nginx__dependent_upstreams }}'
|
||||
nginx__dependent_servers:
|
||||
- '{{ etesync__nginx__dependent_servers }}'
|
||||
|
||||
- role: etesync
|
||||
tags: [ 'role::etesync', 'skip::etesync' ]
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
---
|
||||
# Copyright (C) 2014-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015 Hartmut Goebel <h.goebel@crazy-compilers.com>
|
||||
# Copyright (C) 2015 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Etherpad service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_etherpad' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring',
|
||||
'role::nodejs', 'role::mariadb', 'role::postgresql', 'role::nginx' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nodejs__keyring__dependent_apt_keys }}'
|
||||
- '{{ mariadb__keyring__dependent_apt_keys if (etherpad__database == "mysql") else [] }}'
|
||||
- '{{ postgresql__keyring__dependent_apt_keys if (etherpad__database == "postgresql") else [] }}'
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ etherpad__etc_services__dependent_list }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ etherpad__logrotate__dependent_config }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
- '{{ nodejs__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: nodejs
|
||||
tags: [ 'role::nodejs', 'skip::nodejs' ]
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::mariadb', 'role::postgresql' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ postgresql__python__dependent_packages3 if etherpad__database == "postgres" else [] }}'
|
||||
- '{{ mariadb__python__dependent_packages3 if etherpad__database == "mysql" else [] }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ postgresql__python__dependent_packages2 if etherpad__database == "postgres" else [] }}'
|
||||
- '{{ mariadb__python__dependent_packages2 if etherpad__database == "mysql" else [] }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: mariadb
|
||||
tags: [ 'role::mariadb', 'skip::mariadb' ]
|
||||
mariadb__dependent_users:
|
||||
- '{{ etherpad__mariadb__dependent_users }}'
|
||||
mariadb__dependent_databases:
|
||||
- '{{ etherpad__mariadb__dependent_databases }}'
|
||||
when: etherpad__database == 'mysql'
|
||||
|
||||
- role: postgresql
|
||||
tags: [ 'role::postgresql', 'skip::postgresql' ]
|
||||
postgresql__dependent_roles:
|
||||
- '{{ etherpad__postgresql__dependent_roles }}'
|
||||
postgresql__dependent_databases:
|
||||
- '{{ etherpad__postgresql__dependent_databases }}'
|
||||
when: etherpad__database == 'postgres'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ etherpad__nginx__dependent_servers }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ etherpad__nginx__dependent_upstreams }}'
|
||||
|
||||
- role: etherpad
|
||||
tags: [ 'role::etherpad', 'skip::etherpad' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2021 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2021 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage external APT sources
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_extrepo' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage fail2ban service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_fail2ban' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: fail2ban
|
||||
tags: [ 'role::fail2ban', 'skip::fail2ban' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015 DebOps <http://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage fcgiwrap instances
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_fcgiwrap' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: fcgiwrap
|
||||
tags: [ 'role::fcgiwrap', 'skip::fcgiwrap' ]
|
||||
21
ansible_collections/debops/debops/playbooks/service/ferm.yml
Normal file
21
ansible_collections/debops/debops/playbooks/service/ferm.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
# Copyright (C) 2013-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2016 Reto Gantenbein <reto.gantenbein@linuxmonk.ch>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage firewall using ferm
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_ferm' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/fhs.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/fhs.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure base directory hierarchy
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_fhs' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: fhs
|
||||
tags: [ 'role::fhs', 'skip::fhs' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Filebeat service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_filebeat' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo', 'role::filebeat' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ filebeat__extrepo__dependent_sources }}'
|
||||
|
||||
- role: filebeat
|
||||
tags: [ 'role::filebeat', 'skip::filebeat' ]
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage FreeRADIUS service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_freeradius' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ freeradius__ferm__dependent_rules }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ freeradius__logrotate__dependent_config }}'
|
||||
|
||||
- role: freeradius
|
||||
tags: [ 'role::freeradius', 'skip::freeradius' ]
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
---
|
||||
# Copyright (C) 2015-2022 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
|
||||
- name: Manage GitLab Omnibus service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_gitlab' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ gitlab__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ gitlab__extrepo__dependent_sources }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ gitlab__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ gitlab__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ gitlab__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::ldap' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ gitlab__ldap__dependent_tasks }}'
|
||||
|
||||
- role: gitlab
|
||||
tags: [ 'role::gitlab', 'skip::gitlab' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage GitLab Runner service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_gitlab_runner' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::gitlab_runner' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ gitlab_runner__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: gitlab_runner
|
||||
tags: [ 'role::gitlab_runner', 'skip::gitlab_runner' ]
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage users with git-shell accounts
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_gitusers' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: system_groups
|
||||
tags: [ 'role::system_groups', 'skip::system_groups' ]
|
||||
|
||||
- role: gitusers
|
||||
tags: [ 'role::gitusers', 'skip::gitusers' ]
|
||||
|
||||
- role: authorized_keys
|
||||
tags: [ 'role::authorized_keys', 'skip::authorized_keys' ]
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
# Copyright (C) 2015 Nick Janetakis <nickjanetakis@gmail.com>
|
||||
# Copyright (C) 2016-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Go environment
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_golang' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::golang' ]
|
||||
keyring__dependent_gpg_user: '{{ golang__keyring__dependent_gpg_user }}'
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ golang__keyring__dependent_gpg_keys }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ golang__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: golang
|
||||
tags: [ 'role::golang', 'skip::golang' ]
|
||||
21
ansible_collections/debops/debops/playbooks/service/grub.yml
Normal file
21
ansible_collections/debops/debops/playbooks/service/grub.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
# Copyright (C) 2015 Patryk Ściborek <patryk@sciborek.com>
|
||||
# Copyright (C) 2015-2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure GRUB
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_grub' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: grub
|
||||
tags: [ 'role::grub', 'skip::grub' ]
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Green Unicorn service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_gunicorn' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ gunicorn__logrotate__dependent_config }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::gunicorn' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ gunicorn__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ gunicorn__python__dependent_packages2 }}'
|
||||
|
||||
- role: gunicorn
|
||||
tags: [ 'role::gunicorn', 'skip::gunicorn' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install HashiCorp applications
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_hashicorp' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::hashicorp' ]
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ hashicorp__keyring__dependent_gpg_keys }}'
|
||||
|
||||
- role: hashicorp
|
||||
tags: [ 'role::hashicorp', 'skip::hashicorp' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2014-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure HWRaid support
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_hwraid' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::hwraid' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ hwraid__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: hwraid
|
||||
tags: [ 'role::hwraid', 'skip::hwraid' ]
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure Icinga service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_icinga' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare icinga environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'icinga'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::icinga', 'role::secret' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::icinga' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ icinga__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::icinga' ]
|
||||
secret__directories:
|
||||
- '{{ icinga__secret__directories | d([]) }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ icinga__etc_services__dependent_list }}'
|
||||
|
||||
- role: unattended_upgrades
|
||||
tags: [ 'role::unattended_upgrades', 'skip::unattended_upgrades' ]
|
||||
unattended_upgrades__dependent_origins: '{{ icinga__unattended_upgrades__dependent_origins }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ icinga__ferm__dependent_rules }}'
|
||||
|
||||
- role: icinga
|
||||
tags: [ 'role::icinga', 'skip::icinga' ]
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 Gabriel Lewertowski <gabriel.lewertowski@trust-in-soft.com>
|
||||
# Copyright (C) 2018-2023 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure Icinga database
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_icinga_db' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: mariadb
|
||||
tags: [ 'role::mariadb', 'skip::mariadb' ]
|
||||
mariadb__dependent_databases: '{{ icinga_db__mariadb__dependent_databases }}'
|
||||
mariadb__dependent_users: '{{ icinga_db__mariadb__dependent_users }}'
|
||||
when: icinga_db__type == 'mariadb'
|
||||
|
||||
- role: postgresql
|
||||
tags: [ 'role::postgresql', 'skip::postgresql' ]
|
||||
postgresql__dependent_roles: '{{ icinga_db__postgresql__dependent_roles }}'
|
||||
postgresql__dependent_databases: '{{ icinga_db__postgresql__dependent_databases }}'
|
||||
when: icinga_db__type == 'postgresql'
|
||||
|
||||
- role: icinga_db
|
||||
tags: [ 'role::icinga_db', 'skip::icinga_db' ]
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure Icinga Web service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_icinga_web' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Apply keyring configuration for php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'keyring'
|
||||
vars:
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ php__keyring__dependent_apt_keys }}'
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
- '{{ postgresql__keyring__dependent_apt_keys if (icinga_web__database_type == "postgresql") else [] }}'
|
||||
- '{{ mariadb__keyring__dependent_apt_keys
|
||||
if (icinga_web__database_type == "mariadb" or icinga_web__x509_enabled)
|
||||
else [] }}'
|
||||
tags: [ 'role::keyring', 'skip::keyring',
|
||||
'role::php', 'role::nginx', 'role::postgresql', 'role::mariadb' ]
|
||||
|
||||
- name: Prepare php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'php'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::php', 'role::php:env', 'role::logrotate' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ icinga_web__apt_preferences__dependent_list }}'
|
||||
- '{{ php__apt_preferences__dependent_list }}'
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ php__logrotate__dependent_config }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::mariadb', 'role::postgresql' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ postgresql__python__dependent_packages3 if icinga_web__database_type == "postgresql" else [] }}'
|
||||
- '{{ mariadb__python__dependent_packages3
|
||||
if (icinga_web__database_type == "mariadb" or icinga_web__x509_enabled)
|
||||
else [] }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ postgresql__python__dependent_packages2 if icinga_web__database_type == "postgresql" else [] }}'
|
||||
- '{{ mariadb__python__dependent_packages2
|
||||
if (icinga_web__database_type == "mariadb" or icinga_web__x509_enabled)
|
||||
else [] }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: php
|
||||
tags: [ 'role::php', 'skip::php' ]
|
||||
php__dependent_packages:
|
||||
- '{{ icinga_web__php__dependent_packages }}'
|
||||
php__dependent_pools:
|
||||
- '{{ icinga_web__php__dependent_pools }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ icinga_web__nginx__dependent_servers }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ icinga_web__nginx__dependent_upstreams }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ icinga_web__ldap__dependent_tasks }}'
|
||||
|
||||
- role: postgresql
|
||||
tags: [ 'role::postgresql', 'skip::postgresql' ]
|
||||
postgresql__dependent_roles:
|
||||
- '{{ icinga_web__postgresql__dependent_roles }}'
|
||||
postgresql__dependent_groups:
|
||||
- '{{ icinga_web__postgresql__dependent_groups }}'
|
||||
postgresql__dependent_databases:
|
||||
- '{{ icinga_web__postgresql__dependent_databases }}'
|
||||
postgresql__dependent_privileges:
|
||||
- '{{ icinga_web__postgresql__dependent_privileges }}'
|
||||
postgresql__dependent_extensions:
|
||||
- '{{ icinga_web__postgresql__dependent_extensions }}'
|
||||
when: icinga_web__database_type == 'postgresql'
|
||||
|
||||
- role: mariadb
|
||||
tags: [ 'role::mariadb', 'skip::mariadb' ]
|
||||
mariadb__dependent_databases:
|
||||
- '{{ icinga_web__mariadb__dependent_databases }}'
|
||||
mariadb__dependent_users:
|
||||
- '{{ icinga_web__mariadb__dependent_users }}'
|
||||
when: icinga_web__database_type == 'mariadb' or
|
||||
icinga_web__x509_enabled | bool
|
||||
|
||||
- role: icinga_web
|
||||
tags: [ 'role::icinga_web', 'skip::icinga_web' ]
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage network configuration using ifupdown
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_ifupdown' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare ifupdown environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'ifupdown'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::ifupdown', 'role::kmod', 'role::ferm', 'role::sysctl' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: resolvconf
|
||||
tags: [ 'role::resolvconf', 'skip::resolvconf' ]
|
||||
resolvconf__enabled: True
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::kmod' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ kmod__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ kmod__python__dependent_packages2 }}'
|
||||
|
||||
- role: kmod
|
||||
tags: [ 'role::kmod', 'skip::kmod' ]
|
||||
kmod__dependent_load:
|
||||
- '{{ ifupdown__env_kmod__dependent_load }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ ifupdown__env_ferm__dependent_rules }}'
|
||||
|
||||
- role: sysctl
|
||||
tags: [ 'role::sysctl', 'skip::sysctl' ]
|
||||
sysctl__dependent_parameters:
|
||||
- '{{ ifupdown__env_sysctl__dependent_parameters }}'
|
||||
|
||||
- role: ifupdown
|
||||
tags: [ 'role::ifupdown', 'skip::ifupdown' ]
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Copyright (C) 2021 David Härdeman <david@hardeman.nu>
|
||||
# Copyright (C) 2021 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install and manage imapproxy
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_imapproxy' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ imapproxy__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ imapproxy__ferm__dependent_rules }}'
|
||||
|
||||
- role: imapproxy
|
||||
tags: [ 'role::imapproxy', 'skip::imapproxy' ]
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
# Copyright (C) 2020 Patryk Ściborek <patryk@sciborek.com>
|
||||
# Copyright (C) 2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage InfluxData APT repositories
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_influxdata' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::influxdata' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ influxdata__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: influxdata
|
||||
tags: [ 'role::influxdata', 'skip::influxdata' ]
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
# Copyright (C) 2020 Pedro Luis Lopez <pedroluis.lopezsanchez@gmail.com>
|
||||
# Copyright (C) 2020 Innobyte Bechea Leonardo <https://www.innobyte.com/>
|
||||
# Copyright (C) 2020 Innobyte Alin Alexandru <https://www.innobyte.com/>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage InfluxDB client
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_influxdb' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::influxdb' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ influxdb__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ influxdb__python__dependent_packages2 }}'
|
||||
|
||||
- role: influxdb
|
||||
tags: [ 'role::influxdb', 'skip::influxdb' ]
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
---
|
||||
# Copyright (C) 2020 Pedro Luis Lopez <pedroluis.lopezsanchez@gmail.com>
|
||||
# Copyright (C) 2020 Innobyte Bechea Leonardo <https://www.innobyte.com/>
|
||||
# Copyright (C) 2020 Innobyte Alin Alexandru <https://www.innobyte.com/>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage InfluxDB server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_influxdb_server' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::influxdata' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ influxdata__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ influxdb_server__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ influxdb_server__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::influxdb_server' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ influxdb_server__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ influxdb_server__python__dependent_packages2 }}'
|
||||
|
||||
- role: influxdata
|
||||
tags: [ 'role::influxdata', 'skip::influxdata' ]
|
||||
influxdata__dependent_packages:
|
||||
- '{{ influxdb_server__influxdata__dependent_packages }}'
|
||||
|
||||
- role: influxdb_server
|
||||
tags: [ 'role::influxdb_server', 'skip::influxdb_server' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/ipxe.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/ipxe.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage iPXE configuration files
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_ipxe' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: ipxe
|
||||
tags: [ 'role::ipxe', 'skip::ipxe' ]
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
# Copyright (C) 2015 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure iSCSI Initiator
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_iscsi' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: unattended_upgrades
|
||||
tags: [ 'role::unattended_upgrades', 'skip::unattended_upgrades' ]
|
||||
unattended_upgrades__dependent_blacklist: '{{ iscsi__unattended_upgrades__dependent_blacklist }}'
|
||||
|
||||
- role: lvm
|
||||
tags: [ 'role::lvm', 'skip::lvm' ]
|
||||
|
||||
- role: iscsi
|
||||
tags: [ 'role::iscsi', 'skip::iscsi' ]
|
||||
20
ansible_collections/debops/debops/playbooks/service/java.yml
Normal file
20
ansible_collections/debops/debops/playbooks/service/java.yml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2014 Nick Janetakis <nick.janetakis@gmail.com>
|
||||
# Copyright (C) 2014-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2014-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Java environment
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_java' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: java
|
||||
tags: [ 'role::java', 'skip::java' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage systemd journal service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_journald' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: journald
|
||||
tags: [ 'role::journald', 'skip::journald' ]
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Copyright (C) 2022 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage Advanced Package Manager
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_keepalived' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: sysctl
|
||||
tags: [ 'role::sysctl', 'skip::sysctl' ]
|
||||
sysctl__dependent_parameters:
|
||||
- '{{ keepalived__sysctl__dependent_parameters }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ keepalived__ferm__dependent_rules }}'
|
||||
|
||||
- role: keepalived
|
||||
tags: [ 'role::keepalived', 'skip::keepalived' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage APT and GPG keyrings
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_keyring' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring' ]
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Kibana service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_kibana' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare kibana environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'kibana'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::kibana', 'role::secret', 'role::kibana:config' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo', 'role::kibana' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ kibana__extrepo__dependent_sources }}'
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::nginx', 'role::elastic_co' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::kibana', 'role::kibana:config' ]
|
||||
secret__directories:
|
||||
- '{{ kibana__secret__directories }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ kibana__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ kibana__nginx__dependent_servers }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ kibana__nginx__dependent_upstreams }}'
|
||||
|
||||
- role: kibana
|
||||
tags: [ 'role::kibana', 'skip::kibana' ]
|
||||
27
ansible_collections/debops/debops/playbooks/service/kmod.yml
Normal file
27
ansible_collections/debops/debops/playbooks/service/kmod.yml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
# Copyright (C) 2015-2018 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2018-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage kernel modules
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_kmod' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::kmod' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ kmod__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ kmod__python__dependent_packages2 }}'
|
||||
|
||||
- role: kmod
|
||||
tags: [ 'role::kmod', 'skip::kmod' ]
|
||||
26
ansible_collections/debops/debops/playbooks/service/ldap.yml
Normal file
26
ansible_collections/debops/debops/playbooks/service/ldap.yml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
# Copyright (C) 2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage LDAP basic configuration
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_ldap' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::ldap' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage LibreNMS service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_librenms' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Apply keyring configuration for php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'keyring'
|
||||
vars:
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ php__keyring__dependent_apt_keys }}'
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
- '{{ mariadb__keyring__dependent_apt_keys }}'
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::php', 'role::nginx', 'role::mariadb' ]
|
||||
|
||||
- name: Prepare php environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'php'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::php', 'role::php:env', 'role::logrotate' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ php__apt_preferences__dependent_list }}'
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ php__logrotate__dependent_config }}'
|
||||
- '{{ librenms__logrotate__dependent_config }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::mariadb' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ librenms__python__dependent_packages3 }}'
|
||||
- '{{ mariadb__python__dependent_packages3 }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ librenms__python__dependent_packages2 }}'
|
||||
- '{{ mariadb__python__dependent_packages2 }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
|
||||
- role: php
|
||||
tags: [ 'role::php', 'skip::php' ]
|
||||
php__dependent_packages:
|
||||
- '{{ librenms__php__dependent_packages }}'
|
||||
php__dependent_pools:
|
||||
- '{{ librenms__php__dependent_pools }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ librenms__nginx__dependent_servers }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ librenms__nginx__dependent_upstreams }}'
|
||||
|
||||
- role: mariadb
|
||||
tags: [ 'role::mariadb', 'skip::mariadb' ]
|
||||
mariadb__dependent_users:
|
||||
- '{{ librenms__mariadb__dependent_users }}'
|
||||
|
||||
- role: librenms
|
||||
tags: [ 'role::librenms', 'skip::librenms' ]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
# Copyright (C) 2019 Leonardo Bechea <leonardo.bechea@innobyte.com>
|
||||
# Copyright (C) 2019 Alin Alexandru <alin.alexandru@innobyte.com>
|
||||
# Copyright (C) 2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage local users and groups
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_libuser' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: libuser
|
||||
tags: [ 'role::libuser', 'skip::libuser' ]
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage libvirt hosts
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_libvirt' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ libvirt__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ libvirt__python__dependent_packages2 }}'
|
||||
|
||||
- role: libvirt
|
||||
tags: [ 'role::libvirt', 'skip::libvirt' ]
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install and manage libvirtd
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_libvirtd' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: nsswitch
|
||||
tags: [ 'role::nsswitch', 'skip::nsswitch' ]
|
||||
nsswitch__dependent_services:
|
||||
- '{{ libvirtd__nsswitch__dependent_services }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ libvirtd__ferm__dependent_rules }}'
|
||||
- '{{ libvirtd_qemu__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ libvirtd__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ libvirtd__python__dependent_packages2 }}'
|
||||
|
||||
- role: libvirtd
|
||||
tags: [ 'role::libvirtd', 'skip::libvirtd' ]
|
||||
|
||||
- role: libvirtd_qemu
|
||||
tags: [ 'role::libvirtd_qemu', 'skip::libvirtd_qemu', 'role::libvirtd', 'skip::libvirtd' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Install and manage libvirtd QEMU configuration
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_libvirtd_qemu' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ libvirtd_qemu__ferm__dependent_rules }}'
|
||||
|
||||
- role: libvirtd_qemu
|
||||
tags: [ 'role::libvirtd_qemu', 'skip::libvirtd_qemu' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2021 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2021 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
- name: Manage LLDP service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_lldpd' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: lldpd
|
||||
tags: [ 'role::lldpd', 'skip::lldpd' ]
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure localization and internationalization
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_locales' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: locales
|
||||
tags: [ 'role::locales', 'skip::locales' ]
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
---
|
||||
# Copyright (C) 2016-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2016-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage log rotation configuration
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_logrotate' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
19
ansible_collections/debops/debops/playbooks/service/lvm.yml
Normal file
19
ansible_collections/debops/debops/playbooks/service/lvm.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Configure Logical Volume Manager
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_lvm' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: lvm
|
||||
tags: [ 'role::lvm', 'skip::lvm' ]
|
||||
60
ansible_collections/debops/debops/playbooks/service/lxc.yml
Normal file
60
ansible_collections/debops/debops/playbooks/service/lxc.yml
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
---
|
||||
# Copyright (C) 2014-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2016 Robin Schneider <ypid@riseup.net>
|
||||
# Copyright (C) 2014-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage LXC hosts
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_lxc' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: root_account
|
||||
tags: [ 'role::root_account', 'skip::root_account' ]
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ lxc__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ lxc__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::lxc' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ lxc__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ lxc__python__dependent_packages2 }}'
|
||||
|
||||
- role: sysctl
|
||||
tags: [ 'role::sysctl', 'skip::sysctl' ]
|
||||
sysctl__dependent_parameters:
|
||||
- '{{ lxc__sysctl__dependent_parameters }}'
|
||||
|
||||
- role: lxc
|
||||
tags: [ 'role::lxc', 'skip::lxc' ]
|
||||
|
||||
# If a host has 'debops.dnsmasq' or 'debops.unbound' roles configured, execute
|
||||
# its playbook in case that configuration applied by the 'lxc' role needs to be
|
||||
# applied to 'dnsmasq' or 'unbound' services. This should ensure that the
|
||||
# '*.lxc' subdomain for internal LXC containers is resolvable on the LXC host.
|
||||
#
|
||||
# If the host is not in the Ansible inventory groups required by the
|
||||
# 'dnsmasq.yml' or the 'unbound.yml' playbooks, this should not impact
|
||||
# anything.
|
||||
|
||||
- name: Configure dnsmasq service
|
||||
import_playbook: 'dnsmasq.yml'
|
||||
|
||||
- name: Configure unbound service
|
||||
import_playbook: 'unbound.yml'
|
||||
85
ansible_collections/debops/debops/playbooks/service/lxd.yml
Normal file
85
ansible_collections/debops/debops/playbooks/service/lxd.yml
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
---
|
||||
# Copyright (C) 2019-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage LXD service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_lxd' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: root_account
|
||||
tags: [ 'role::root_account', 'skip::root_account' ]
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::golang' ]
|
||||
keyring__dependent_gpg_user: '{{ golang__keyring__dependent_gpg_user }}'
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ golang__keyring__dependent_gpg_keys }}'
|
||||
golang__dependent_packages: # noqa var-naming[no-role-prefix]
|
||||
- '{{ lxd__golang__dependent_packages }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ golang__apt_preferences__dependent_list }}'
|
||||
- '{{ lxc__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: golang
|
||||
tags: [ 'role::golang', 'skip::golang' ]
|
||||
golang__dependent_packages:
|
||||
- '{{ lxd__golang__dependent_packages }}'
|
||||
|
||||
- role: cron
|
||||
tags: [ 'role::cron', 'skip::cron' ]
|
||||
|
||||
- role: logrotate
|
||||
tags: [ 'role::logrotate', 'skip::logrotate' ]
|
||||
logrotate__dependent_config:
|
||||
- '{{ lxd__logrotate__dependent_config }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ lxc__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::lxc' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ lxc__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ lxc__python__dependent_packages2 }}'
|
||||
|
||||
- role: sysctl
|
||||
tags: [ 'role::sysctl', 'skip::sysctl' ]
|
||||
sysctl__dependent_parameters:
|
||||
- '{{ lxc__sysctl__dependent_parameters }}'
|
||||
- '{{ lxd__sysctl__dependent_parameters }}'
|
||||
|
||||
- role: lxc
|
||||
tags: [ 'role::lxc', 'skip::lxc' ]
|
||||
|
||||
- role: lxd
|
||||
tags: [ 'role::lxd', 'skip::lxd' ]
|
||||
|
||||
# If a host has 'debops.dnsmasq' or 'debops.unbound' roles configured, execute
|
||||
# its playbook in case that configuration applied by the 'lxd' role needs to be
|
||||
# applied to 'dnsmasq' or 'unbound' services. This should ensure that the
|
||||
# '*.lxd' subdomain for internal LXD containers is resolvable on the LXD host.
|
||||
#
|
||||
# If the host is not in the Ansible inventory groups required by the
|
||||
# 'dnsmasq.yml' or the 'unbound.yml' playbooks, this should not impact
|
||||
# anything.
|
||||
|
||||
- name: Configure dnsmasq service
|
||||
import_playbook: 'dnsmasq.yml'
|
||||
|
||||
- name: Configure unbound service
|
||||
import_playbook: 'unbound.yml'
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# Copyright (C) 2018 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2018 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage local machine information
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_all_hosts', 'debops_service_machine' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: machine
|
||||
tags: [ 'role::machine', 'skip::machine' ]
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
---
|
||||
# Copyright (C) 2014-2020 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2020 CipherMail B.V. <https://www.ciphermail.com/>
|
||||
# Copyright (C) 2014-2020 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Mailman service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_mailman' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare postfix environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'postfix'
|
||||
tasks_from: 'main_env'
|
||||
vars:
|
||||
postfix__dependent_maincf:
|
||||
- role: 'mailman'
|
||||
config: '{{ mailman__postfix__dependent_maincf }}'
|
||||
tags: [ 'role::postfix', 'role::secret', 'role::ferm' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::nginx' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ nginx__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: secret
|
||||
tags: [ 'role::secret', 'role::postfix' ]
|
||||
secret__directories:
|
||||
- '{{ postfix__secret__directories }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ nginx__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ nginx__ferm__dependent_rules }}'
|
||||
- '{{ postfix__ferm__dependent_rules }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ ldap__python__dependent_packages3 | d([]) }}'
|
||||
- '{{ nginx__python__dependent_packages3 }}'
|
||||
- '{{ mailman__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ ldap__python__dependent_packages2 | d([]) }}'
|
||||
- '{{ nginx__python__dependent_packages2 }}'
|
||||
- '{{ mailman__python__dependent_packages2 }}'
|
||||
|
||||
- role: ldap
|
||||
tags: [ 'role::ldap', 'skip::ldap' ]
|
||||
ldap__dependent_tasks:
|
||||
- '{{ mailman__ldap__dependent_tasks }}'
|
||||
when: mailman__ldap_enabled | bool
|
||||
|
||||
- role: postfix
|
||||
tags: [ 'role::postfix', 'skip::postfix' ]
|
||||
postfix__dependent_maincf:
|
||||
- role: 'mailman'
|
||||
config: '{{ mailman__postfix__dependent_maincf }}'
|
||||
|
||||
- role: nginx
|
||||
tags: [ 'role::nginx', 'skip::nginx' ]
|
||||
nginx__dependent_servers:
|
||||
- '{{ mailman__nginx__dependent_servers }}'
|
||||
nginx__dependent_upstreams:
|
||||
- '{{ mailman__nginx__dependent_upstreams }}'
|
||||
|
||||
- role: mailman
|
||||
tags: [ 'role::mailman', 'skip::mailman' ]
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
---
|
||||
# Copyright (C) 2015-2017 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage MariaDB client
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_mariadb' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::mariadb' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ mariadb__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::mariadb' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ mariadb__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ mariadb__python__dependent_packages2 }}'
|
||||
|
||||
- role: mariadb
|
||||
tags: [ 'role::mariadb', 'skip::mariadb' ]
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
---
|
||||
# Copyright (C) 2015-2016 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2017 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage MariaDB server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_mariadb_server' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::mariadb_server' ]
|
||||
keyring__dependent_apt_keys:
|
||||
- '{{ mariadb_server__keyring__dependent_apt_keys }}'
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ mariadb_server__etc_services__dependent_rules }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ mariadb_server__ferm__dependent_rules }}'
|
||||
|
||||
- role: tcpwrappers
|
||||
tags: [ 'role::tcpwrappers', 'skip::tcpwrappers' ]
|
||||
tcpwrappers__dependent_allow:
|
||||
- '{{ mariadb_server__tcpwrappers__dependent_allow }}'
|
||||
|
||||
- role: python
|
||||
tags: [ 'role::python', 'skip::python', 'role::mariadb_server' ]
|
||||
python__dependent_packages3:
|
||||
- '{{ mariadb_server__python__dependent_packages3 }}'
|
||||
python__dependent_packages2:
|
||||
- '{{ mariadb_server__python__dependent_packages2 }}'
|
||||
|
||||
- role: mariadb_server
|
||||
tags: [ 'role::mariadb_server', 'skip::mariadb_server' ]
|
||||
45
ansible_collections/debops/debops/playbooks/service/mcli.yml
Normal file
45
ansible_collections/debops/debops/playbooks/service/mcli.yml
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
---
|
||||
# Copyright (C) 2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage MinIO Client (mcli) installation
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_mcli' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
pre_tasks:
|
||||
|
||||
- name: Prepare mcli environment
|
||||
ansible.builtin.import_role:
|
||||
name: 'mcli'
|
||||
tasks_from: 'main_env'
|
||||
tags: [ 'role::mcli', 'role::keyring', 'role::golang' ]
|
||||
|
||||
roles:
|
||||
|
||||
- role: keyring
|
||||
tags: [ 'role::keyring', 'skip::keyring', 'role::golang' ]
|
||||
keyring__dependent_gpg_user: '{{ golang__keyring__dependent_gpg_user }}'
|
||||
keyring__dependent_gpg_keys:
|
||||
- '{{ golang__keyring__dependent_gpg_keys }}'
|
||||
golang__dependent_packages: # noqa var-naming[no-role-prefix]
|
||||
- '{{ mcli__golang__dependent_packages }}'
|
||||
|
||||
- role: apt_preferences
|
||||
tags: [ 'role::apt_preferences', 'skip::apt_preferences' ]
|
||||
apt_preferences__dependent_list:
|
||||
- '{{ golang__apt_preferences__dependent_list }}'
|
||||
|
||||
- role: golang
|
||||
tags: [ 'role::golang', 'skip::golang' ]
|
||||
golang__dependent_packages:
|
||||
- '{{ mcli__golang__dependent_packages }}'
|
||||
|
||||
- role: mcli
|
||||
tags: [ 'role::mcli', 'skip::mcli' ]
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
# Copyright (C) 2015-2019 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2015-2019 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage memcached server
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_memcached' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: etc_services
|
||||
tags: [ 'role::etc_services', 'skip::etc_services' ]
|
||||
etc_services__dependent_list:
|
||||
- '{{ memcached__etc_services__dependent_list }}'
|
||||
|
||||
- role: ferm
|
||||
tags: [ 'role::ferm', 'skip::ferm' ]
|
||||
ferm__dependent_rules:
|
||||
- '{{ memcached__ferm__dependent_rules }}'
|
||||
|
||||
- role: memcached
|
||||
tags: [ 'role::memcached', 'skip::memcached' ]
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
---
|
||||
# Copyright (C) 2022 Maciej Delmanowski <drybjed@gmail.com>
|
||||
# Copyright (C) 2022 DebOps <https://debops.org/>
|
||||
# SPDX-License-Identifier: GPL-3.0-only
|
||||
|
||||
- name: Manage Metricbeat service
|
||||
collections: [ 'debops.debops', 'debops.roles01',
|
||||
'debops.roles02', 'debops.roles03' ]
|
||||
hosts: [ 'debops_service_metricbeat' ]
|
||||
become: True
|
||||
|
||||
environment: '{{ inventory__environment | d({})
|
||||
| combine(inventory__group_environment | d({}))
|
||||
| combine(inventory__host_environment | d({})) }}'
|
||||
|
||||
roles:
|
||||
|
||||
- role: extrepo
|
||||
tags: [ 'role::extrepo', 'skip::extrepo', 'role::metricbeat' ]
|
||||
extrepo__dependent_sources:
|
||||
- '{{ metricbeat__extrepo__dependent_sources }}'
|
||||
|
||||
- role: metricbeat
|
||||
tags: [ 'role::metricbeat', 'skip::metricbeat' ]
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue