Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # repo_server/init.sls
- repo_server:
- apt.mydomain.com:
- ubuntu:
- base_dir: /srv/
- package_source: salt://repo_server/
- config:
- origin: myubunturepo
- description: My Custom Ubuntu APT Repo
- codenames:
- precise:
- main:
- archs:
- - i386
- - amd64
- non-free:
- archs:
- - i386
- - amd64
- debian:
- base_dir: /srv/
- package_source: salt://repo_server/
- config:
- origin: mydebianrepo
- description: My Custom Debian APT Repo
- codenames:
- wheezy:
- main:
- archs:
- - i386
- - amd64
- non-free:
- archs:
- - i386
- - amd64
- squeeze:
- main:
- archs:
- - i386
- - amd64
- non-free:
- archs:
- - i386
- - amd64
- apt.someotherdomain.com:
- ubuntu:
- base_dir: /srv/
- package_source: salt://repo_server/
- config:
- origin: anotherubunturepo
- description: My Other Custom Ubuntu APT Repo
- codenames:
- precise:
- main:
- archs:
- - i386
- - amd64
- ================================================================
- # apt.sls
- repoadm:
- group:
- - present
- - system: True
- user.present:
- - gid: repoadm
- - home: /home/repoadm
- - shell: /bin/bash
- - system: True
- - require:
- - group: repoadm
- apt_repo_packages:
- pkg.installed:
- - pkgs:
- - reprepro
- - gnupg
- {%- for repo_name in pillar['repo_server'] %}
- {%- set dists = pillar['repo_server'][repo_name] %}
- {%- for dist_name in dists %}
- {%- set dist_config = pillar['repo_server'][repo_name][dist_name]['config'] %}
- {%- set codenames = pillar['repo_server'][repo_name][dist_name]['codenames'] %}
- /srv/{{ repo_name }}/{{ dist_name }}/conf:
- file.directory:
- - user: repoadm
- - group: repoadm
- - mode: 755
- - makedirs: True
- - recurse:
- - user
- - group
- - mode
- - require:
- - user: repoadm
- {%- for codename in codenames %}
- {%- set components = pillar['repo_server'][repo_name][dist_name]['codenames'][codename] %}
- /srv/{{ repo_name }}/{{ dist_name }}/conf/distributions:
- file.managed:
- - source: salt://repo_server/templates/apt/conf/distributions.jinja
- - template: jinja
- - user: repoadm
- - group: repoadm
- - mode: 755
- - require:
- - user: repoadm
- - file: /srv/{{ repo_name }}/{{ dist_name }}/conf
- - context:
- origin: {{ dist_config['origin'] }}
- codename: {{ codename }}
- components: {{ components }}
- description: {{ dist_config['description'] }}
- /srv/{{ repo_name }}/{{ dist_name }}/conf/override.{{ codename }}:
- file.managed:
- - source: salt://repo_server/templates/apt/conf/override.codename.jinja
- - template: jinja
- - user: repoadm
- - group: repoadm
- - mode: 755
- - require:
- - file: /srv/{{ repo_name }}/{{ dist_name }}/conf
- {%- endfor %}
- /srv/{{ repo_name }}/{{ dist_name }}/conf/options:
- file.managed:
- - source: salt://repo_server/templates/apt/conf/options.jinja
- - template: jinja
- - user: repoadm
- - group: repoadm
- - mode: 755
- - require:
- - file: /srv/{{ repo_name }}/{{ dist_name }}/conf
- {%- endfor %}
- {%- endfor %}
- ================================================================
- # repo_server/templates/apt/conf/distributions.jinja
- Origin: {{ origin }}
- Label: {{ origin }}-{{ codename }}
- Codename: {{ codename }}
- Architectures: need archs context here
- Components: {{ components }}
- Description: {{ description }}
- SignWith: yes
- DebOverride: override.{{ codename }}
- DscOverride: override.{{ codename }}
- ================================================================
- # salt-call state.highstate
- ----------
- State: - group
- Name: repoadm
- Function: present
- Result: True
- Comment: Group repoadm is already present
- Changes:
- ----------
- State: - user
- Name: repoadm
- Function: present
- Result: True
- Comment: User repoadm is present and up to date
- Changes:
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/debian/conf
- Function: directory
- Result: True
- Comment: Directory /srv/apt.mydomain.com/debian/conf updated
- Changes: /srv/apt.mydomain.com/debian/conf: New Dir
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/debian/conf/distributions
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/debian/conf/distributions updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/debian/conf/options
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/debian/conf/options updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/debian/conf/override.squeeze
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/debian/conf/override.squeeze updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/debian/conf/override.wheezy
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/debian/conf/override.wheezy updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/ubuntu/conf
- Function: directory
- Result: True
- Comment: Directory /srv/apt.mydomain.com/ubuntu/conf updated
- Changes: /srv/apt.mydomain.com/ubuntu/conf: New Dir
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/ubuntu/conf/distributions
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/ubuntu/conf/distributions updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/ubuntu/conf/options
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/ubuntu/conf/options updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.mydomain.com/ubuntu/conf/override.precise
- Function: managed
- Result: True
- Comment: File /srv/apt.mydomain.com/ubuntu/conf/override.precise updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.someotherdomain.com/ubuntu/conf
- Function: directory
- Result: True
- Comment: Directory /srv/apt.someotherdomain.com/ubuntu/conf updated
- Changes: /srv/apt.someotherdomain.com/ubuntu/conf: New Dir
- ----------
- State: - file
- Name: /srv/apt.someotherdomain.com/ubuntu/conf/distributions
- Function: managed
- Result: True
- Comment: File /srv/apt.someotherdomain.com/ubuntu/conf/distributions updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.someotherdomain.com/ubuntu/conf/options
- Function: managed
- Result: True
- Comment: File /srv/apt.someotherdomain.com/ubuntu/conf/options updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - file
- Name: /srv/apt.someotherdomain.com/ubuntu/conf/override.precise
- Function: managed
- Result: True
- Comment: File /srv/apt.someotherdomain.com/ubuntu/conf/override.precise updated
- Changes: diff: New file
- group: repoadm
- mode: 755
- user: repoadm
- ----------
- State: - pkg
- Name: apt_repo_packages
- Function: installed
- Result: True
- Comment: All specified packages are already installed.
- Changes:
- ================================================================
- root@apt:/srv# cat apt.mydomain.com/ubuntu/conf/distributions
- Origin: myubunturepo
- Label: myubunturepo-precise
- Codename: precise
- Architectures: need archs context here
- Components: {'non-free': {'archs': ['i386', 'amd64']}, 'main': {'archs': ['i386', 'amd64']}}
- Description: My Custom Ubuntu APT Repo
- SignWith: yes
- DebOverride: override.precise
- DscOverride: override.precise
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement