mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
extract reprepro logic to dedicated role
This commit is contained in:
committed by
Dan Christian Bogos
parent
18644c7f0b
commit
7497e1c91e
2
data/ansible/roles/reprepro/defaults/main.yaml
Normal file
2
data/ansible/roles/reprepro/defaults/main.yaml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
reprepro_basedir: /var/packages/debian
|
||||
54
data/ansible/roles/reprepro/tasks/main.yaml
Normal file
54
data/ansible/roles/reprepro/tasks/main.yaml
Normal file
@@ -0,0 +1,54 @@
|
||||
---
|
||||
- name: Validate distributions variable
|
||||
ansible.builtin.fail:
|
||||
msg: "The 'distributions' variable must be defined and contain at least one distribution with codename and version properties."
|
||||
when: not distributions | default(false)
|
||||
|
||||
- name: Ensure reprepro is installed
|
||||
become: true
|
||||
ansible.builtin.apt:
|
||||
name: reprepro
|
||||
state: present
|
||||
|
||||
- name: Create debian repository base directory
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ reprepro_basedir }}"
|
||||
state: directory
|
||||
|
||||
- name: Create reprepro configuration directory
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ reprepro_basedir }}/conf"
|
||||
state: directory
|
||||
|
||||
- name: Create reprepro incoming packages directory
|
||||
become: true
|
||||
ansible.builtin.file:
|
||||
path: "{{ reprepro_basedir }}/incoming"
|
||||
state: directory
|
||||
|
||||
- name: Configure reprepro distribution settings
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: distributions.conf.j2
|
||||
dest: "{{ reprepro_basedir }}/conf/distributions"
|
||||
mode: "0600"
|
||||
owner: root
|
||||
|
||||
- name: Configure reprepro general options
|
||||
become: true
|
||||
ansible.builtin.template:
|
||||
src: options.conf.j2
|
||||
dest: "{{ reprepro_basedir }}/conf/options"
|
||||
mode: "0600"
|
||||
owner: root
|
||||
|
||||
- name: Initialize empty override file for testing distribution
|
||||
become: true
|
||||
ansible.builtin.copy:
|
||||
content: ""
|
||||
dest: "{{ reprepro_basedir }}/conf/override.testing"
|
||||
force: false
|
||||
group: root
|
||||
owner: root
|
||||
55
data/ansible/roles/reprepro/templates/distributions.conf.j2
Normal file
55
data/ansible/roles/reprepro/templates/distributions.conf.j2
Normal file
@@ -0,0 +1,55 @@
|
||||
{{ ansible_managed | comment }}
|
||||
Origin: apt.cgrates.org
|
||||
Label: apt.cgrates.org
|
||||
Suite: stable
|
||||
Codename: v0.10
|
||||
Architectures: amd64
|
||||
Components: main
|
||||
Description: CGRateS v0.10 APT repository
|
||||
SignWith: yes
|
||||
DebOverride: override.testing
|
||||
DscOverride: override.testing
|
||||
|
||||
Origin: apt.cgrates.org
|
||||
Label: apt.cgrates.org
|
||||
Suite: master
|
||||
Codename: master
|
||||
Architectures: amd64
|
||||
Components: main
|
||||
Description: CGRateS master APT repository
|
||||
SignWith: yes
|
||||
DebOverride: override.testing
|
||||
DscOverride: override.testing
|
||||
|
||||
{% for distribution in distributions %}
|
||||
Origin: apt.cgrates.org
|
||||
Label: apt.cgrates.org
|
||||
Suite: stable-{{ distribution['codename'] }}
|
||||
Codename: v0.10-{{ distribution['codename'] }}
|
||||
Architectures: amd64 source
|
||||
Components: main
|
||||
Description: CGRateS v0.10 APT repository for {{ distribution['codename'] }}
|
||||
DebIndices: Packages Release . .gz
|
||||
Contents: . .gz
|
||||
ContentsArchitectures: amd64 source
|
||||
ContentsComponents: main
|
||||
SignWith: yes
|
||||
DebOverride: override.testing
|
||||
DscOverride: override.testing
|
||||
|
||||
Origin: apt.cgrates.org
|
||||
Label: apt.cgrates.org
|
||||
Suite: master-{{ distribution['codename'] }}
|
||||
Codename: master-{{ distribution['codename'] }}
|
||||
Architectures: amd64 source
|
||||
Components: main
|
||||
Description: CGRateS master APT repository for {{ distribution['codename'] }}
|
||||
DebIndices: Packages Release . .gz
|
||||
Contents: . .gz
|
||||
ContentsArchitectures: amd64 source
|
||||
ContentsComponents: main
|
||||
SignWith: yes
|
||||
DebOverride: override.testing
|
||||
DscOverride: override.testing
|
||||
|
||||
{% endfor %}
|
||||
3
data/ansible/roles/reprepro/templates/options.conf.j2
Normal file
3
data/ansible/roles/reprepro/templates/options.conf.j2
Normal file
@@ -0,0 +1,3 @@
|
||||
{{ ansible_managed | comment }}
|
||||
verbose
|
||||
basedir /var/packages/debian
|
||||
Reference in New Issue
Block a user