saltstack.cz

Základy

Základní operace, které jde automatizovat pomocí Saltstacku.

Instalace programu

apticron:
  pkg.installed:
    - name: apticron

Nastavení konfiguračního souboru

/etc/apt/listchanges.conf:
 file.managed:
  - source: salt://listchanges/listchanges.conf
  - template: jinja
  - mode: 644
  - user: root
  - group: root

Správa uživatelských účtů

git-group:
  group.present:
    - name: git
    - gid: 300

git-user:
  user.present:
    - name: git
    - fullname: git
    - shell: /bin/false
    - home: /home/git
    - uid: 300
    - gid: 300
    - groups:
      - git

Spuštění příkazu s podmínkou

create-default-roundcube-db:
  cmd.run:
    - user: www-data
    - group: www-data
    - name: sqlite3 /tmp/roundcubemail.db < /tmp/sqlite.initial.sql
    - unless: test -f /tmp/roundcubemail.db

Stažení a rozbalení archivu

roundcube-dir-create:
  file.directory:
    - name: /home/www/roundcube
    - user: www-data
    - group: www-data
    - mode: 0755
    - makedirs: True

roundcube-mail:
  archive.extracted:
    - name: /home/www/roundcube
    - source: http://example.com/roundcube-1.0.2.tar.gz
    - source_hash: md5=abbefef812d241f3c4eeb3aa7310cb41
    - tar_options: --ungzip --same-owner
    - archive_format: tar
    - if_missing: /home/www/roundcube/roundcubemail-1.0.2
    - require:
      - file: /home/www/roundcube

Smazání souboru

/etc/nginx/conf.d/default.conf:
 file.absent

Smazání adresáře

rcm-delete-installer:
 file.absent:
  - name: /home/www/roundcube/roundcubemail-0.8.0/installer

Založení MySQL databáze

ttrss_db:
  mysql_database.present:
    - name: ttrss
  mysql_user.present:
    - name: ttrss
    - password: heslo
  mysql_grants.present:
    - database: ttrss.*
    - grant: ALL PRIVILEGES
    - user: ttrss
  require:
    - service: mysql

Nahrání dat to databáze

ttrss-db-schem:
  cmd.run:
    - name: mysql ttrss < /home/www/ttrss/schema/ttrss_schema_mysql.sql
    - unless: test `echo 'show tables;' | mysql ttrss | wc -l` -gt 0
    - cwd: /root/

Stažení git repozitáře

https://tt-rss.org/gitlab/fox/tt-rss.git:
  git.latest:
    - target: /home/www/ttrss