| {%- from "aptly/map.jinja" import server with context %} |
| |
| {%- for repo_name, repo in server.repo.iteritems() %} |
| |
| aptly_{{ repo_name }}_repo_create: |
| cmd.run: |
| - name: aptly repo create -distribution="{{ repo.distribution }}" -component="{{ repo.component }}" -architectures="{{ repo.architectures }}" -comment="{{ repo.comment }}" {{ repo_name }} |
| - unless: aptly repo show {{ repo_name }} |
| {%- if server.source.engine != "docker" %} |
| - user: aptly |
| {%- endif %} |
| - require: |
| - file: aptly_conf |
| |
| {%- if repo.pkg_dir is defined and repo.pkg_dir %} |
| |
| pkgdir: |
| file.directory: |
| - name: {{ repo.pkg_dir }} |
| - user: aptly |
| - group: aptly |
| - makedirs: true |
| |
| aptly_{{ repo_name }}_pkgs_add: |
| cmd.run: |
| - name: aptly repo add {{ repo_name }} {{ repo.pkg_dir }} |
| {%- if server.source.engine != "docker" %} |
| - user: aptly |
| {%- endif %} |
| - require: |
| - cmd: aptly_{{ repo_name }}_repo_create |
| - file: pkgdir |
| |
| {%- endif %} |
| |
| {%- if repo.publish is defined and repo.publish == True %} |
| aptly_{{ repo_name }}_repo_publish: |
| cmd.run: |
| - name: aptly publish repo -batch=true -gpg-key='{{ server.gpg.keypair_id }}' -passphrase='{{ server.gpg.passphrase }}' {{ repo_name }} |
| {%- if server.source.engine != "docker" %} |
| - user: aptly |
| {%- endif %} |
| - unless: aptly publish update -batch=true -gpg-key='{{ server.gpg.keypair_id }}' -passphrase='{{ server.gpg.passphrase }}' {{ repo.distribution }} |
| {%- endif %} |
| |
| {%- endfor %} |