cmacrae.common
Gemeinsam
Eine Ansible-Rolle zur Verwaltung verschiedener Arten von Daten/Ressourcen/Konstrukten auf adhoc Weise.
Aktuell verwaltbare Ressourcen
- Benutzer
- Gruppen
- Cron-Jobs
- Pakete
- Dateien
- Remote-Dateien (URL-Abfrage)
- Zeilen in Dateien
sudo
-Konfigurationen- Paket-Repositories (momentan Yum, mehr wird kommen!)
- Postgres-Datenbanken, Benutzer, Erweiterungen, Sprachen
Anforderungen
Ansible >= 2.0.0
Variablen
Name | Standardwert | Beschreibung |
---|---|---|
common_users |
nicht_definiert | Ein Wörterbuch von verschiedenen Benutzern zur Verwaltung (unterstützt alle Parameter des user Moduls) |
common_groups |
nicht_definiert | Ein Wörterbuch von verschiedenen Gruppen zur Verwaltung (unterstützt alle Parameter des group Moduls) |
common_cron_jobs |
nicht_definiert | Ein Wörterbuch von verschiedenen Cron-Jobs zur Verwaltung (unterstützt alle Parameter des cron Moduls) |
common_packages |
nicht_definiert | Eine Liste von verschiedenen Paketen zur Installation |
common_pips |
nicht_definiert | Eine Liste von verschiedenen Python-Paketen zur Installation über pip |
common_files |
nicht_definiert | Ein Wörterbuch von verschiedenen Dateien zur Verwaltung (unterstützt alle Parameter des file Moduls) |
common_fetch_files |
nicht_definiert | Ein Wörterbuch von verschiedenen Remote-Dateien zum Abrufen von URLs (unterstützt alle Parameter des get_url Moduls) |
common_file_lines |
nicht_definiert | Ein Wörterbuch von Dateizellen zur Verwaltung (unterstützt alle Parameter des lineinfile Moduls) |
common_sudoer_configs |
nicht_definiert | Ein Wörterbuch von verschiedenen Sudo-Regeln zur Verwaltung |
common_yumrepos |
nicht_definiert | Ein Wörterbuch von Yum-Repositories zur Verwaltung |
common_postgres_dbs |
nicht_definiert | Ein Wörterbuch von Postgres-Datenbanken zur Verwaltung (unterstützt alle Parameter des postgresql_db Moduls) |
common_postgres_users |
nicht_definiert | Ein Wörterbuch von Postgres-Benutzern zur Verwaltung (unterstützt alle Parameter des postgresql_users Moduls) |
common_postgres_extensions |
nicht_definiert | Ein Wörterbuch von Postgres-Erweiterungen zur Verwaltung (unterstützt alle Parameter des postgresql_ext Moduls) |
common_postgres_langs |
nicht_definiert | Ein Wörterbuch von Postgres-Prozedursprachen zur Verwaltung (unterstützt alle Parameter des postgresql_lang Moduls) |
Beispieldefinitionen
Sie können beliebige Daten/Ressourcen/Konstrukte auf jeder gewünschten Ebene definieren (host_vars
, group_vars
, Playbook vars
, eine vars
-Datei, in einer Rolle, die von dieser Rolle abhängt usw.)
Benutzer
common_users:
some_user:
group: mygroup
generate_ssh_key: true
ssh_key_comment: "Dies ist der Schlüssel des Beispielbenutzers"
some_other_user: {}
Gruppen
common_groups:
mygroup: {}
my_other_group:
gid: 9001
system: true
Cron-Jobs
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
Pakete
common_packages:
- mg
- golang
Python-Pakete (über pip
)
common_pips:
- ansible
- Jinja2
Dateien
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: >-
Dieser Inhalt wird in
/tmp/my_other_file eingefügt.
Remote-Dateien (URL-Abfrage)
common_fetch_files:
git_fat:
url: 'https://raw.githubusercontent.com/jedbrown/git-fat/master/git-fat'
dest: '/usr/bin/git-fat'
mode: 755 # (kann hier nicht explizit verwendet werden)
owner: root
group: root
Zeilen in Dateien
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"
sudo
-Konfigurationen
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'
Paket-Repositories (mehr wird kommen!)
# Bereitstellen von Yum-Repositories
common_yumrepos:
RethinkDB:
descr: RethinkDB
baseurl: 'http://download.rethinkdb.com/centos/6/x86_64'
gpgcheck: 0
enabled: 1
Postgres-Datenbanken
common_postgres_dbs:
example_db:
login_password: 5uP3r5ecr37
owner: some_user
template: example_template0
Postgres-Benutzer
common_postgres_users:
example_user:
db: some_test_db
encrypted: true
login_password: 5uP3r5ecr37
Postgres-Erweiterungen
common_postgres_extensions:
example_extension:
db: some_example_db
Postgres-Sprachen
common_postgres_lang:
example_lang:
cascade: true
db: example_db
Lizenz
MIT
Autor Informationen
Erstellt von Calum MacRae
Fühlen Sie sich frei:
Kontaktieren Sie mich - @calumacrae, mailto:[email protected]
Ein Problem melden
Beitragen
Über das Projekt
An ansible role to manage miscellaneous types of data/resources/constructs in an ad-hoc fashion.
Installieren
ansible-galaxy install cmacrae.common
Lizenz
Unknown
Downloads
426
Besitzer