Le impostazioni qui descritte sono valide a partire da almeno la 2014.7.

SALT

Ambienti di sviluppo multipli

Come riportato dalla documentazione1 è possibile gestire più ambienti di sviluppo (base, testing, experimental...) associando al repository un diverso branch per ogni ambiente, ossia un branch per ogni enviroment.

When using the gitfs backend, branches, and tags will be mapped to environments using the branch/tag name as an identifier. There is one exception to this rule: the master branch is implicitly mapped to the base environment.
So, for a typical base, qa, dev setup, the following branches could be used:

top.sls files from different branches will be merged into one at runtime. Since this can lead to overly complex configurations, the recommended setup is to have a separate repository, containing only the top.sls file with just one single master branch.

Opzioni GIT

È possibile2 specificare per ogni repository git quale cartella rendere disponibile (root) e dove renderla disponibile nel tree di salt (mountpoint). Ecco un esempio:

gitfs_provider: pygit2
gitfs_base: develop

gitfs_remotes:
  - https://foo.com/foo.git
  - https://foo.com/bar.git:
    - root: salt
    - mountpoint: salt://foo/bar/baz
    - base: salt-base
  - http://foo.com/baz.git:
    - root: salt/states
    - user: joe
    - password: mysupersecretpassword
    - insecure_auth: True

debugging

È possibile ricorrere alle seguenti funzioni sul master tramite il fileserver3:

salt-run fileserver.clear_cache backend=git
salt-run fileserver.update backend=git
salt-run fileserver.file_list backend=git

PILLAR

Discorso simile vale per i pillars, ma qualche eccezione e cambiamento.

Anche qui è possibile usare il parametro root.

Per indicare gli enviroment:

ext_pillar:
- git: master git://gitserver/git-pillar.git
- git: dev git://gitserver/git-pillar.git

Altrimenti è anche possibile mapparli con l'opzione:

ext_pillar:
- git: develop:dev git://gitserver/git-pillar.git
- git: master:prod git://gitserver/git-pillar.git

NOTA: in questo caso creare un top.sls nel branch dev con la chiamata all'ambiente dev.

versionchanged: 2015.2.04

The special branch name 'env' will be replace by the environment ( { {env} } )

2015.2

In a gitfs base setup with pillars from the same repository as the states, the ext_pillar: configuration would be like:

ext_pillar:
- git: __env__ git://gitserver/git-pillar.git root=pillar

The (optional) root=pillar defines the directory that contains the pillar data. The corresponding top.sls would be like:

{{env}}:
'*':
- bar

MyWiki: Salt/GitFS (last edited 2015-05-07 00:08:10 by risca)