cmacrae.common
Powszechny
Rola ansible do zarządzania różnymi rodzajami danych/zasobów/konstrukcji w sposób ad-hoc.
Aktualnie zarządzane zasoby
- Użytkownicy
- Grupy
- Zadania cron
- Pakiety
- Pliki
- Pliki zdalne (pobieranie z URL)
- Linijki w plikach
- Konfiguracje
sudo
- Repozytoria pakietów (obecnie Yum, wkrótce więcej!)
- Bazy danych Postgres, użytkownicy, rozszerzenia, języki
Wymagania
Ansible >= 2.0.0
Zmienne
Nazwa | Wartość domyślna | Opis |
---|---|---|
common_users |
nie_zdefiniowane | Słownik różnych użytkowników do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł user ) |
common_groups |
nie_zdefiniowane | Słownik różnych grup do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł group ) |
common_cron_jobs |
nie_zdefiniowane | Słownik różnych zadań cron do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł cron ) |
common_packages |
nie_zdefiniowane | Lista różnych pakietów do zainstalowania |
common_pips |
nie_zdefiniowane | Lista różnych pakietów Pythona do zainstalowania za pomocą pip |
common_files |
nie_zdefiniowane | Słownik różnych plików do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł file ) |
common_fetch_files |
nie_zdefiniowane | Słownik różnych plików zdalnych do pobrania z URL (obsługuje wszystkie parametry przedstawione przez moduł get_url ) |
common_file_lines |
nie_zdefiniowane | Słownik linii w plikach do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł lineinfile ) |
common_sudoer_configs |
nie_zdefiniowane | Słownik różnych reguł sudoers do zarządzania |
common_yumrepos |
nie_zdefiniowane | Słownik repozytoriów Yum do zarządzania |
common_postgres_dbs |
nie_zdefiniowane | Słownik baz danych Postgres do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł postgresql_db ) |
common_postgres_users |
nie_zdefiniowane | Słownik użytkowników Postgres do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł postgresql_users ) |
common_postgres_extensions |
nie_zdefiniowane | Słownik rozszerzeń Postgres do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł postgresql_ext ) |
common_postgres_langs |
nie_zdefiniowane | Słownik procedur i języków Postgres do zarządzania (obsługuje wszystkie parametry przedstawione przez moduł postgresql_lang ) |
Przykładowe definicje
Możesz zdefiniować dowolne dane/zasoby/konstrukcje na dowolnym poziomie, który chcesz (zmienne hostów, zmienne grup, zmienne playbooka, plik zmiennych, w roli, która zależy od tej roli itd.)
Użytkownicy
common_users:
some_user:
group: mygroup
generate_ssh_key: true
ssh_key_comment: "To jest klucz przykładowego użytkownika"
some_other_user: {}
Grupy
common_groups:
mygroup: {}
my_other_group:
gid: 9001
system: true
Zadania cron
common_cron_jobs:
'check dirs':
minute: 0
hour: '5,2'
job: 'ls -alh > /dev/null'
state: absent
'some old job':
state: absent
'a job to run at reboot':
special_time: reboot
job: '/path/to/some_script.sh'
state: absent
'a job with a cron file':
job: 'uptime &> /dev/null'
cron_file: cron_example
state: absent
Pakiety
common_packages:
- mg
- golang
Pakiety Pythona (za pomocą pip
)
common_pips:
- ansible
- Jinja2
Pliki
common_files:
/tmp/myfile:
owner: some_user
group: some_user
mode: 0644
src: /tmp/my_example_file
/tmp/my_other_file:
owner: some_user
group: some_user
mode: 0644
content: >-
Ta zawartość zostanie wstawiona do
/tmp/my_other_file.
Pliki zdalne (pobieranie z URL)
common_fetch_files:
git_fat:
url: 'https://raw.githubusercontent.com/jedbrown/git-fat/master/git-fat'
dest: '/usr/bin/git-fat'
mode: 755 # (nie można użyć trybu wyraźnie tutaj)
owner: root
group: root
Linijki w plikach
common_file_lines:
/etc/hosts:
regexp: '^127\.0\.0\.1'
line: '127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4'
owner: root
group: root
mode: 0644
/etc/sudoers:
state: absent
regexp: "^%wheel"
Konfiguracje sudo
common_sudoer_configs:
hubot_multi_sudo_rules:
content:
- 'hubot ALL=(root) NOPASSWD: /usr/bin/systemctl restart hubot-*'
- 'hubot ALL=(root) NOPASSWD: /usr/bin/systemctl start hubot-*'
- 'hubot ALL=(root) NOPASSWD: /usr/bin/systemctl status hubot-*'
- 'hubot ALL=(root) NOPASSWD: /usr/bin/systemctl stop hubot-*'
hubot_just_date_cmd:
content:
- 'hubot ALL=(root) NOPASSWD: /bin/date'
Repozytoria pakietów (więcej wkrótce!)
# Zainstaluj repozytoria Yum
common_yumrepos:
RethinkDB:
descr: RethinkDB
baseurl: 'http://download.rethinkdb.com/centos/6/x86_64'
gpgcheck: 0
enabled: 1
Bazy danych Postgres
common_postgres_dbs:
example_db:
login_password: 5uP3r5ecr37
owner: some_user
template: example_template0
Użytkownicy Postgres
common_postgres_users:
example_user:
db: some_test_db
encrypted: true
login_password: 5uP3r5ecr37
Rozszerzenia Postgres
common_postgres_extensions:
example_extension:
db: some_example_db
Języki Postgres
common_postgres_lang:
example_lang:
cascade: true
db: example_db
Licencja
MIT
Informacje o autorze
Stworzone przez Calum MacRae
Czuj się swobodnie:
Skontaktuj się ze mną - @calumacrae, mailto:[email protected]
Zgłoś problem
Współpracuj
O projekcie
An ansible role to manage miscellaneous types of data/resources/constructs in an ad-hoc fashion.
Zainstaluj
ansible-galaxy install cmacrae.common
Licencja
Unknown
Pobrania
426
Właściciel