summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-09-28 02:01:18 +0200
committerChristian Pointner <equinox@spreadspace.org>2019-09-28 02:01:21 +0200
commit25ea43a53ca663d8a906df9cbacf6222dbf1130f (patch)
tree98e2e4fc8508b1f90d8225fecf024456859e5012
parentadded minimal playbook for pan and mimas (diff)
some more cleanup of apt-repos
-rw-r--r--dan/group_vars/elevate.yml16
-rw-r--r--inventory/group_vars/elevate/main.yml4
-rw-r--r--inventory/group_vars/spreadspace/main.yml4
-rw-r--r--roles/apt-repo/blackmagic/defaults/main.yml (renamed from roles/blackmagic-desktopvideo/defaults/main.yml)2
-rw-r--r--roles/apt-repo/blackmagic/files/repo.gpgbin0 -> 5035 bytes
-rw-r--r--roles/apt-repo/blackmagic/handlers/main.yml4
-rw-r--r--roles/apt-repo/blackmagic/tasks/main.yml31
-rw-r--r--roles/blackmagic-desktopvideo/files/repo.asc110
-rw-r--r--roles/blackmagic-desktopvideo/tasks/main.yml19
-rw-r--r--roles/docker/files/docker-apt-key.asc62
-rw-r--r--roles/docker/files/docker-com.gpgbin0 -> 2760 bytes
-rw-r--r--roles/docker/handlers/main.yml4
-rw-r--r--roles/docker/tasks/docker-com.yml23
-rw-r--r--roles/mysql/files/percona.asc82
-rw-r--r--roles/mysql/files/percona.gpgbin0 -> 3299 bytes
-rw-r--r--roles/mysql/handlers/main.yml4
-rw-r--r--roles/mysql/tasks/percona.yml23
-rw-r--r--spreadspace/group_vars/spreadspace.yml28
18 files changed, 101 insertions, 315 deletions
diff --git a/dan/group_vars/elevate.yml b/dan/group_vars/elevate.yml
index 39aa099d..606f1410 100644
--- a/dan/group_vars/elevate.yml
+++ b/dan/group_vars/elevate.yml
@@ -1,9 +1,9 @@
$ANSIBLE_VAULT;1.2;AES256;dan
-35666661353336376637363039613333653230353965653939623036353238303031623932336231
-6463643737636662323836373464386363646661333963380a356530323461353734376338323638
-61356230386632373930623736623832643936653935333133313032306437383865363234393232
-3835343230646235640a303532666235393139313334383564643765346333616537313030383464
-39316634323633386266633965613937373363626331643063613765343366633439656436663161
-30303766306131363361313063643739613636346661626439333262363365363532356534633963
-38373632333062623035306466363963373431363934313539613631646364636462616430316438
-65663339633666643061
+31303432343564336434663634623630323934346438333639373538396461343535656131653533
+3563633037393465626538373435303839326563303135650a623136333138386533373636363836
+39613035663033383834303638393138343765663933623934613632353730653865616337633139
+3936313361323337330a363466393466383036393233326361656332343061386662346239306362
+63376461663762663039383636616636356239633038353666383661303930643638393335323535
+33353030316664336462333334333932666332656631343136393037643563316335363833613963
+65616539643536396166363865643731663232313563626633623632613130363634656538623631
+37333361626535323062
diff --git a/inventory/group_vars/elevate/main.yml b/inventory/group_vars/elevate/main.yml
index 0b573193..e108d8f2 100644
--- a/inventory/group_vars/elevate/main.yml
+++ b/inventory/group_vars/elevate/main.yml
@@ -3,6 +3,6 @@ zsh_banner: elevate
acmetool_account_email: equinox@elevate.at
-blackmagic_desktopvideo_apt:
+apt_repo_blackmagic_auth:
username: "elevate"
- password: "{{ vault_blackmagic_desktopvideo_apt.password }}"
+ password: "{{ vault_apt_repo_blackmagic_auth.password }}"
diff --git a/inventory/group_vars/spreadspace/main.yml b/inventory/group_vars/spreadspace/main.yml
index c149e27f..a9f37087 100644
--- a/inventory/group_vars/spreadspace/main.yml
+++ b/inventory/group_vars/spreadspace/main.yml
@@ -3,6 +3,6 @@ zsh_banner: spreadspace
acmetool_account_email: equinox@spreadspace.org
-blackmagic_desktopvideo_apt:
+apt_repo_blackmagic_auth:
username: "spreadspace"
- password: "{{ vault_blackmagic_desktopvideo_apt.password }}"
+ password: "{{ vault_apt_repo_blackmagic_auth.password }}"
diff --git a/roles/blackmagic-desktopvideo/defaults/main.yml b/roles/apt-repo/blackmagic/defaults/main.yml
index 8dde7e4d..fd4a8b23 100644
--- a/roles/blackmagic-desktopvideo/defaults/main.yml
+++ b/roles/apt-repo/blackmagic/defaults/main.yml
@@ -1,4 +1,4 @@
---
-blackmagic_desktopvideo_apt:
+apt_repo_blackmagic_auth:
username: "change-me"
# password: "secret"
diff --git a/roles/apt-repo/blackmagic/files/repo.gpg b/roles/apt-repo/blackmagic/files/repo.gpg
new file mode 100644
index 00000000..1ff46fa0
--- /dev/null
+++ b/roles/apt-repo/blackmagic/files/repo.gpg
Binary files differ
diff --git a/roles/apt-repo/blackmagic/handlers/main.yml b/roles/apt-repo/blackmagic/handlers/main.yml
new file mode 100644
index 00000000..03ed878a
--- /dev/null
+++ b/roles/apt-repo/blackmagic/handlers/main.yml
@@ -0,0 +1,4 @@
+---
+- name: update apt cache
+ apt:
+ update_cache: yes
diff --git a/roles/apt-repo/blackmagic/tasks/main.yml b/roles/apt-repo/blackmagic/tasks/main.yml
new file mode 100644
index 00000000..32d31282
--- /dev/null
+++ b/roles/apt-repo/blackmagic/tasks/main.yml
@@ -0,0 +1,31 @@
+---
+- name: install apt https transport
+ apt:
+ name: apt-transport-https
+ state: present
+
+- name: install repo key
+ copy:
+ src: repo.gpg
+ dest: /etc/apt/trusted.gpg.d/blackmagic.gpg
+ notify: update apt cache
+
+- name: configure repo authentication
+ copy:
+ content: |
+ machine build.spreadspace.org
+ login {{ apt_repo_blackmagic_auth.username }}
+ password {{ apt_repo_blackmagic_auth.password }}
+ dest: /etc/apt/auth.conf.d/blackmagic.conf
+ mode: 0600
+ notify: update apt cache
+
+- name: add repository entry
+ copy:
+ content: |
+ deb https://build.spreadspace.org/ {{ ansible_distribution_release }} blackmagic
+ dest: /etc/apt/sources.list.d/blackmagic.list
+ notify: update apt cache
+
+- name: update apt cache
+ meta: flush_handlers
diff --git a/roles/blackmagic-desktopvideo/files/repo.asc b/roles/blackmagic-desktopvideo/files/repo.asc
deleted file mode 100644
index 71ac1871..00000000
--- a/roles/blackmagic-desktopvideo/files/repo.asc
+++ /dev/null
@@ -1,110 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
-
-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
-=9IiV
------END PGP PUBLIC KEY BLOCK-----
diff --git a/roles/blackmagic-desktopvideo/tasks/main.yml b/roles/blackmagic-desktopvideo/tasks/main.yml
index 5283b628..cd1de94c 100644
--- a/roles/blackmagic-desktopvideo/tasks/main.yml
+++ b/roles/blackmagic-desktopvideo/tasks/main.yml
@@ -1,20 +1,7 @@
---
-- name: install apt https transport
- apt:
- name: apt-transport-https
- state: present
-
-- name: add repository key
- apt_key:
- data: "{{ lookup('file', 'repo.asc') }}"
- state: present
-
-- name: add repository entry
- apt_repository:
- repo: "deb https://{{ blackmagic_desktopvideo_apt.username }}:{{ blackmagic_desktopvideo_apt.password }}@build.spreadspace.org/ {{ ansible_distribution_release }} blackmagic"
- state: present
- filename: blackmagic
- mode: 0600
+- name: install blackmagic repo
+ include_role:
+ name: apt-repo/blackmagic
- name: install blackmagic desktopvideo
apt:
diff --git a/roles/docker/files/docker-apt-key.asc b/roles/docker/files/docker-apt-key.asc
deleted file mode 100644
index ee7872e5..00000000
--- a/roles/docker/files/docker-apt-key.asc
+++ /dev/null
@@ -1,62 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-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
-YT90qFF93M3v01BbxP+EIY2/9tiIPbrd
-=0YYh
------END PGP PUBLIC KEY BLOCK-----
diff --git a/roles/docker/files/docker-com.gpg b/roles/docker/files/docker-com.gpg
new file mode 100644
index 00000000..e5dc8cfd
--- /dev/null
+++ b/roles/docker/files/docker-com.gpg
Binary files differ
diff --git a/roles/docker/handlers/main.yml b/roles/docker/handlers/main.yml
index 3627303e..5fcd0f26 100644
--- a/roles/docker/handlers/main.yml
+++ b/roles/docker/handlers/main.yml
@@ -1,4 +1,8 @@
---
+- name: update apt cache
+ apt:
+ update_cache: yes
+
- name: restart docker
service:
name: docker
diff --git a/roles/docker/tasks/docker-com.yml b/roles/docker/tasks/docker-com.yml
index 9a5dfce0..be8ac6ab 100644
--- a/roles/docker/tasks/docker-com.yml
+++ b/roles/docker/tasks/docker-com.yml
@@ -4,13 +4,18 @@
name: apt-transport-https
state: present
-- name: add docker apt key
- apt_key:
- data: "{{ lookup('file', 'docker-apt-key.asc') }}"
- state: present
+- name: add repository key
+ copy:
+ src: docker-com.gpg
+ dest: /etc/apt/trusted.gpg.d/docker.gpg
+ notify: update apt cache
-- name: add docker apt repo
- apt_repository:
- repo: "deb https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable"
- state: present
- filename: docker
+- name: add repository entry
+ copy:
+ content: |
+ deb https://download.docker.com/linux/{{ ansible_distribution | lower }} {{ ansible_distribution_release }} stable
+ dest: /etc/apt/sources.list.d/docker.list
+ notify: update apt cache
+
+- name: update apt cache
+ meta: flush_handlers
diff --git a/roles/mysql/files/percona.asc b/roles/mysql/files/percona.asc
deleted file mode 100644
index ccbf2db2..00000000
--- a/roles/mysql/files/percona.asc
+++ /dev/null
@@ -1,82 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mI0ESPEdbwEEAKyi0t8ZOC6bkBrFdQii9DAbswT20XQz96kvXjXL8pjBYN+RvfiK
-axmLnPlHtP30BqWoG1XwY+TQSbtwhwdAOhQMn5FkSiHroBDBO2fOEhKD17IeyYmL
-6r1zK1Bm2xhwe394mFEtvBLAdpgM/sIK5fXxtErnsyOSuj5tisWUOS9VABEBAAG0
-L1RvdGFsbHkgTGVnaXQgU2lnbmluZyBLZXkgPG1hbGxvcnlAZXhhbXBsZS5vcmc+
-iNAEEwEIADoWIQS8w5ktumkEKZDnUnODoPEdhQfvpQUCSPEdbwIbAQYLCQgHAwIH
-FQoJCAsDAgQWAgMBAh4BAheAAAoJEIOg8R2FB++lxnYD/1RrRmDeGdUswe1kovHs
-uG6+pANG7mwoa1NZjw8eeFwnlTbcXJjojJc7YUf59wYg7q1L/HjIC9s3Xhjz1yV6
-ykwxSOUp/iODmTHBc3pdVZ6V7TeftGZjV+1pfGGuXZSj+reAB9d1AupTWO9n87DA
-ZqDMcLOqLP32LLcv8MsmnLaXmQINBFd0veABEADyFa8jPHXhhX1XS9W7Og4p+jLx
-B0aowElk4Kt6lb/mYjwKmQ779ZKUAvb1xRYFU1/NEaykEl/jxE7RA/fqlqheZzBb
-lB3WLIPM0sMfh/D4fyFCaKKFk2CSwXtYfhk9DOsBP2K+ZEg0PoLqMbLIBUxPl61Z
-Iy2tnF3G+gCfGu6pMHK7WTtInnruMKk51s9Itc9vUeUvRGDcFIiEEq0xJhEX/7J/
-WAReD5Am/kD4CvkkunSqbhhuB6DV9tAeEFtDppEHdFDzfHfTOwlHLgTvgVETDgLg
-TRXzztgBVKl7Gdvc3ulbtowBuBtbuRr49+QIlcBdFZmM6gA4V5P9/qrkUaarvuIk
-XWQYs9/8oCd3SRluhdxXs3xX1/gQQXYHUhcdAWrqS56txncXf0cnO2v5kO5rlOX1
-ovpNQsc69R52LJKOLA1KmjcaJNtC+4e+SF2upK14gtXK384z7owXYUA4NRZOEu+U
-Aw7wAoiIWPUfzMEHYi8I3RszEtpVyOQC5YyYgwzIdt4YxlVJ0CUoinvtIygies8L
-kA5GQvaGJHYG1aQ3i9WDddCXwtoV1uA4EZlEWjTXlSRc92jhSKut/EWbmYHEUhmv
-cfFErrxUPqirpVZHSaXY5RdhKVFyx9JcRuIQ0SJxeHQPlaEkyhKpTDN5Cw7USLwo
-XfIu2w0w0W06LdXZ7wARAQABtEZQZXJjb25hIE15U1FMIERldmVsb3BtZW50IFRl
-YW0gKFBhY2thZ2luZyBrZXkpIDxteXNxbC1kZXZAcGVyY29uYS5jb20+iQI3BBMB
-CgAhBQJXdL3gAhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEJM0ol+FB++l
-4koQAKkrRP+K/p/TGlnqlbNyS5gdSIB1hxT3iFwIdF9EPZq0U+msh8OY7omV/82r
-Jp4T5cIJFvivtWQpEwpUjJtqBzVrQlF+12D1RFPSoXkmk6t4opAmCsAmAtRHaXIz
-U9WGJETaHl57Trv5IPMv15X3TmLnk1mDMSImJoxWJMyUHzA37BlPjvqQZv5meuwe
-LCbL4qJS015s7Uz+1f/FsiDLsrlE0iYCAScfBeRSKF4MSnk5huIGgncaltKJPnNY
-ppXUb2wt+4X2dpY3/V0BoiG8YBxV6N7sA7lC/OoYF6+H3DMlSxGBQEb1i9b6ypwZ
-IbG6CnM2abLqO67D3XGx559/FtAgxrDBX1f63MQKlu+tQ9mOrCvSbt+bMGT6frFo
-pgH6XiSOhOiMmjUazVRBsXRK/HM5qIk5MK0tGPSgpc5tr9NbMDmp58OQZYQscslK
-hx0EDDYHQyHfYFS2qoduRwQG4BgpZm2xjGM/auCvdZ+pxjqy7dnEXvMVf0i1Bylk
-yW4p+oK5nEwY3KHljsRxuJ0+gjfyj64ihNMSqDX5k38T2GPSXm5XAN+/iazlIuiq
-PQKLZWUjTOwr2/AA6AztU/fmsXV2swz8WekqT2fphvWKUOISr3tEGG+HF1iIY43B
-oAMHYYOcdSI1ZODZq3Wic+zlN1WzPshDB+d3acxeV5JhstvPiQQcBBABCAAGBQJY
-CWSTAAoJEHpjgJ3lEnYiM40gALkOg65HOAOGkBV6WG9BTpQgnhsmrvC/2ozZ6dV5
-577/zYCf6ZB5hMO3mSwcrjTGX5+yD1CyVQEayWuUxoV2By+N9an98660hWAIYTSN
-iRwSFITDbLVqXOp7t/B7Bddhj3ZrzA3Eo5bV/QyS/zyKGF1tMkA64IJkQ3292g1L
-7RYfNG5h1IBB/xY2xCVcKNT2XcFbAPOct30bqMyT4mdT39WdYg0l4U3zOutemFYs
-4uyObzrVNOKln0thZpfNJdRq+OfkE6XwW2UwhTK0/GM5l1Y3NJW64DGPyM7KKcE4
-FTgq1MRaWepw5sAZr6pTqasWuWUf20la1M9fIdyxJsAbWn1bhpPIOl3NZ88dRK6X
-I8Ly36fRa2as/lPeG7ql2ymaOVFDBHqfB+gAWMzkwF7TS+02er4kg9vnpErPc/aA
-0lMKmyXHkMANLAnWBA7tx+7sEKck8XcY4e1OiwpUXRxC+UlSaJYQtE/kmoC2NPQB
-0FhhvC/VQ0sBOYOAbJ5GukEJVDB7QqqGKjzaKE0LUADCXJFcLY4yMA9bP9U+Ex/G
-62YcYn0g1amriKAAkEBRvBOp/qUFSj6b+EqEC5w2my3cLBnATrzskGm32XNOFdpw
-R469rOqxomtVedH72vW3sS1etcGw/SHBSplDYTzcnAJQbHvD6LEeOQeWPbA77PD9
-ASlx7jGZj3GCq0tc7dndjTLyiL+A4EsRxEUDrH30d8TLaYd1WSD6v5i/xa0r3rXQ
-UmPviBBzRpJxl0CFB/db2L6a/A2EHkOWjpcL2XSJgcgIVlYZCgM1OEuDGURbLUM9
-qNiFogdBNCkGTkqjIFES0iq4lBA4vphcXR8C34OP+7DeT1RthyPjmvi/ErXIQLTp
-R2Yuwl9/nI2gx6ddZFqkoHFcPSyE152uJRsYdtL9iIeEIPH//WZ0Fz+h6hhfLiPh
-6AN1LH3wxKqLW4hAAZ8ytUqANNZT+7o6EVQHI6VyoigS5TJ34h36jKjRvfUaP4Ff
-kGaPRpfR/cKUiNaCIJRaIFlvlUdbN+biQO3WRxwdyUdgDSETZnLiym6pKuCpLsic
-/3+fOyBuWuIxxvGGm3XUt3Lmtvlkey/sSCwInioxn0drYosq+FZP/ocBQ9aeyxZ5
-Fqyxqg0BInrusfthXA35WUExVsjwidFPeftz2VbV9gD1Og3JN2Rhd7FzxH0lrLgh
-xh129R1QVPZiDOiaJQO4QObsC5YXmzF0A/25qJ9Y8UJrsnWrPvjpH41p70Sl6iDW
-Kigdxi6LD9NrwOnw9qBkIlmjbJL6WKrvjxgVoCo4iP8jtHUx0jwn2qsMkGqO3NM2
-xWb6MBVzU7nZsyGpH5OzlrHYoYziw8v6zCLZj8eg3EgFxe+5Ag0EV3S94AEQAJ+4
-dVt7Lmobk/qtGEBfal139/uLAd1xbX56/EJ8JHl8fOw7UtHCUcz0ZGqXO0rODHMA
-h+BRep0xdSzq9bxqB+S7nneHyAGquF2r00frn9h6fNX9K/1z8QbOwFC6tq7VELiB
-8niOAB527gVApm9Wv//Q1Na4mbd6XeithjPisurv1q9KAPtD+4rz+PvXOAImLGwX
-OMLx6FGU60x1609NjfrNzYuNBIxNKkTtK8RuuTrIMqlC9lpuXd2aQSQG+gWlq3vH
-6Ldm0ELNEVPHasf/0NYoI75K4ZUFezy+Eu0C8oqNtYYZT0uuYRJlxqEjp+WIfnDb
-w2+k64mWvxGf/qNCYkMM8o7nRcozyGlPoMGogT31ipgtTNcAp/hjzwXIe+U7qSJV
-tdo5jPU5OoJZWqNoxgVuI9bo2ANfSHIT24bSV80D0/l52rI9IRpM36SkP05WobpH
-S48EIVjy7bk2s1GEyogVB28jnh4S03SS0U/QWuUUWSDpL6X7dCyv2wwMoJRVMn8G
-QrCqR2FO/ldjgqIgQlCO8wqvS8fmViI8MZf/cqwkv6vEmMD77haHjRYEtgNINZIB
-8I9KiSDWVGM5owOGcflidR4SToyHLrUNBGwf7ESl4v8XUvTq7RaH7SJeopckDiO9
-ThfAZKTODfJppuWRie6fmbKEhBizAh0LIQfhaXdJABEBAAGJAh8EGAEKAAkFAld0
-veACGwwACgkQkzSiX4UH76XGqRAAgLuPPUJa361sqC60tEVzF7E1BmhMAA9OTc6O
-qp4ItY7VyYe2aM1JdNzmulfvy88RhCPNCkABFnECmkB14kcHOb1Ct+LKjtNbw/QZ
-/1z2nWY9S2XaDQE29FTvNjOAIXVojAq1L5c7ZR1NPnobLm9rF3UGJODwn3K2QgZK
-S5JdI4BJ4YLlGY3dJoPrKiZVrjzeT2RWGFI5TMrBgr1/ZaAaEjXHGlUXktttGEKg
-TPiJr9OomhZ0f9qC6XfgAZY6A9GEy74USlv+eiezvddPBC1xeJkB73PhmW1WxJyK
-iWBHM/CRfEyZZUyZ71jKZUI9OvPE+LqdzqelJnMTbvmbTa7zpXaG3APYxtK4aZxN
-2YA899eBDlcznsQsSUNs0DV43WNkCHNgEu/rdf6c07LrKy5pzlDujPIE4ik2SwuV
-4DT4XOydiY+UarNi2cPqcWCUOfz3yOT8taTCK0vjvZ+HxFFsNh9+xd5qWLLpbZNg
-qtCXnZqMtXsPk9RRL3FKUA9x09K5cDOHsaE4oOiaZbAt8+jS5g3deNr4CRbXfly3
-Ph68Km9mOQFN+iDTsUaW6Z25Qrl8e8liJLJXU/lIqvjvbYLyNYKjZhxL4ixmBUUW
-5jVsboe2Iiak/vkgzQbeDW7J3Y6EX2cYNLGOniQpadSgZ1XQ/VtRdoBu9dHOUhzH
-t04Pu1k=
-=cZXG
------END PGP PUBLIC KEY BLOCK-----
diff --git a/roles/mysql/files/percona.gpg b/roles/mysql/files/percona.gpg
new file mode 100644
index 00000000..56220c91
--- /dev/null
+++ b/roles/mysql/files/percona.gpg
Binary files differ
diff --git a/roles/mysql/handlers/main.yml b/roles/mysql/handlers/main.yml
new file mode 100644
index 00000000..03ed878a
--- /dev/null
+++ b/roles/mysql/handlers/main.yml
@@ -0,0 +1,4 @@
+---
+- name: update apt cache
+ apt:
+ update_cache: yes
diff --git a/roles/mysql/tasks/percona.yml b/roles/mysql/tasks/percona.yml
index 1bef3a03..b47e1ac4 100644
--- a/roles/mysql/tasks/percona.yml
+++ b/roles/mysql/tasks/percona.yml
@@ -1,11 +1,16 @@
---
-- name: Add percona repository key
- apt_key:
- data: "{{ lookup('file', 'percona.asc') }}"
- state: present
+- name: add repository key
+ copy:
+ src: percona.gpg
+ dest: /etc/apt/trusted.gpg.d/mysql.gpg
+ notify: update apt cache
-- name: Add percona repository
- apt_repository:
- repo: "deb http://repo.percona.com/apt {{ ansible_distribution_release }} main"
- state: present
- filename: percona-release
+- name: add repository entry
+ copy:
+ content: |
+ deb http://repo.percona.com/apt {{ ansible_distribution_release }} main
+ dest: /etc/apt/sources.list.d/mysql.list
+ notify: update apt cache
+
+- name: update apt cache
+ meta: flush_handlers
diff --git a/spreadspace/group_vars/spreadspace.yml b/spreadspace/group_vars/spreadspace.yml
index 197e4e33..375173aa 100644
--- a/spreadspace/group_vars/spreadspace.yml
+++ b/spreadspace/group_vars/spreadspace.yml
@@ -1,15 +1,15 @@
$ANSIBLE_VAULT;1.2;AES256;spreadspace
-35633431376233363539633563663538313064616233306636326434343230393263323264343633
-3966393362623835343261626466656230333132366665620a653331646333333237336265653239
-38623733393733306239306666653732643166386366373564613734633861303761613035613431
-6232613664623962640a353864623764346461333536396465383461613861663431653136363637
-62636164346134396636363631623938383733663732346531633535643961353230633236616464
-33343364663761316464613133626334343633336465316262313337653438353830666635386634
-30383063653564336164636561386331616436313563373231333238646438336366373461663665
-38373430623435373833363331613761356232643439636561643138623163623134306665356564
-32333364616137366232663132333564353137363162626135393266633561306232313633666564
-65363733346639343639653836316435316332343033376632306338383734343335626666373863
-36616138343565366532643939396533383763373537316561643236316663336430373265356531
-33636433343033356665656534363261663961393365353532363234646465303730643732623161
-30323563323530313638636136386266366632646330323434326463343039353766643061666631
-3434623430626233373132366161633965313236646264353132
+37323332306364653135363464626432666436303432353266356333646138653138323537656332
+3530633338323032663332326635663038613330636132380a646535623264666334383332386430
+30303466353835383539313635363834613861363765306435616265333065373239346462633564
+3032303563633466620a356261323633363332346633343337336338383135386134653836643433
+62326536636137343132333237383039656233306461363939623066326263636432333235626166
+36623538383732636637396361306461346339656465303365303436383762316365326533353538
+37373339663831363837376635326436376331373134356636353139626634616261383162333864
+66333164643134326565356166323238366361616334383866366130303562623462356432373737
+64333936343362333738353634366135383065333737623635353466633436303638636237633139
+61363632386239323766613131613437303239633636366134313232363764396534616162333065
+31323338353336666132666130616235643966313861336565383365393965356339366233663839
+32383139653539323535363761643561343937366232373539656138353534616132633133386239
+36313933616633353363613262383462313737306531643265353034326234646466336662633539
+3865663234343233373761656462353532653032666564633838