Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
e31ee5e39c |
1024 changed files with 32646 additions and 26289 deletions
|
|
@ -3,11 +3,7 @@ skip_list:
|
|||
- "name[casing]"
|
||||
|
||||
exclude_paths:
|
||||
- .ansible/
|
||||
- .forgejo/
|
||||
- "**/*.sops.yaml"
|
||||
- ansible_collections/
|
||||
- collections/
|
||||
- galaxy_roles/
|
||||
- docs/
|
||||
- resources/
|
||||
|
|
|
|||
256
.sops.yaml
256
.sops.yaml
|
|
@ -1,20 +1,18 @@
|
|||
keys:
|
||||
admins: &admin_keys
|
||||
pgp: &admin_pgp_keys
|
||||
- &admin_pgp_djerun EF643F59E008414882232C78FFA8331EEB7D6B70
|
||||
- &admin_pgp_stb 21C9579E6503CA815A68ABD8541F9408A813C8B7
|
||||
- &admin_pgp_fi 9633412309CCB83BFA39BA5F2FEF746201D7FCFE
|
||||
- &admin_pgp_june 057870A2C72CD82566A3EC983695F4FCBCAE4912
|
||||
- &admin_pgp_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55
|
||||
# - &admin_pgp_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD # expired
|
||||
- &admin_pgp_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A
|
||||
- &admin_pgp_c6ris B71138A6A8964A3C3B8899857B4F70C356765BAB
|
||||
- &admin_pgp_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD
|
||||
- &admin_pgp_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533
|
||||
- &admin_pgp_bitwhisker 41FFAF3D519CF5C039FBD8414BCC213729AF0E49
|
||||
age: &admin_age_keys
|
||||
- &admin_age_jtbx ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIBQgnQAq6FUSDK8bxtYPjx3oRCAKG+xy9J3Gas2ztJk
|
||||
- &admin_age_c6ris age1yubikey1qv7jkffslarpma2fxjm9gnq43xfvwdws0m6y3u58h033edwdyg0uzt8jl5n
|
||||
admins:
|
||||
gpg: &admin_gpg_keys
|
||||
- &admin_gpg_djerun EF643F59E008414882232C78FFA8331EEB7D6B70
|
||||
- &admin_gpg_stb 21C9579E6503CA815A68ABD8541F9408A813C8B7
|
||||
- &admin_gpg_jtbx 18DFCE01456DAB52EA38A6584EDC64F35FA1D6A5
|
||||
- &admin_gpg_fi 9633412309CCB83BFA39BA5F2FEF746201D7FCFE
|
||||
- &admin_gpg_june 057870A2C72CD82566A3EC983695F4FCBCAE4912
|
||||
- &admin_gpg_haegar F38C9D4228FC6F674E322D9C3326D914EB9B8F55
|
||||
# - &admin_gpg_dario 5DA93D5C9D7320E1BD3522C79C78172B3551C9FD # expired
|
||||
- &admin_gpg_echtnurich 8996B62CBD159DCADD3B6DC08BB33A8ABCF7BC4A
|
||||
- &admin_gpg_c6ristian B71138A6A8964A3C3B8899857B4F70C356765BAB
|
||||
- &admin_gpg_lilly D2E9C0807BF681F5E164DAFC5EE1B61CD90954CD
|
||||
- &admin_gpg_langoor 878FEA3CB6A6F6E7CD80ECBE28506E3585F9F533
|
||||
- &admin_gpg_bitwhisker 41FFAF3D519CF5C039FBD8414BCC213729AF0E49
|
||||
hosts:
|
||||
chaosknoten:
|
||||
age: &host_chaosknoten_age_keys
|
||||
|
|
@ -44,8 +42,6 @@ keys:
|
|||
- &host_auth_dns_ansible_pull_age_key age18zgt4y2sd75hxnpe333zz39048ctxpr0q8a3uqh3jajjkyawsdrq8yg5ve
|
||||
- &host_forgejo_runner_ansible_pull_age_key age1az0k6cadssk6r8qcqxfr8cyu5mndy59pwt8yqq6w065ew6au4ezsmg2vkf
|
||||
- &host_forgejo_runner_external_ansible_pull_age_key age1pq1jqrcp3te50xugmv5wst3s9ahj0d38rfktxt43wlcqz7vnwyn3y2h7kyfr6rckrvmuk9m7yvp4efjnfsuxx6d8r9gn222r2eal5593arywrjwrgeypf745wyuvf3z2xk9tm5fgnwckftuvdggk66fph59rw69nt5dpjeewuww4vzt9gs4xelre952s7zjz56qv8tvesg2c89sp8rmy9dvhwfd6tucjhs6sjr6yp2njjra2u6w7c7f0sch3rwkw3wf2dc9su9aaa9q2f22sh5yf0fqejxa2qqpq4pg752589st5xsa5g8tpkjglj4tn35gd4hjj0xet9cjwhydmkmmkffy3nr8zdtctqu6pqsyf7aphvktryez39ru3qe7m6nvr465ffxr0ltvr85nddzxvcwpwpac64nu5tdfrxgjfqzc99vr3zxv8carpsw5evmruqlvrq6v6a4m2cwsz5gqw7nyk3jlj75kp5cnafzjn5dyrf8ppfhp5g5s34zsl7pejmmx2uuudjt7ru2y7as9mtagykrgqgt80fvp3eeh4gsmmd3ujgtp0ranq28aq9x0xdekqh49pfhhprjj6zqdfac5gxtjj736kh5jktc4ls4mjs3p33rzt6ze54uqsfept3qhua2pmugypup6hm6j2ek5sgxjnwvqyfj2l8vz4yfgkaxf699v7jqlwf7g68ang5kzqrjsu78lyardm4zen8zhrr24j334qdgs4zr8dhsfsnmvx9cdvu0swx27tcz8txs46zds9kekgmua7w7fnw3l2lf6zla956ssycac4zjy87rawr4thusxtcqgfzfzh2za9np0s34e5dwkp2l2k06cq09myxqfe7ze6a53d8sl5j43qcekh6kfvl9k0t7903q99pc35630zwm3hwxgnw354du5gngnz56skq9zx3pcnkr5eyh8r8t0dqudmvrrwmxreu6tgrklxw7yvu3zkjgt3gyjhc8kqcrevlukay45sz4k9zqxx9yrs88hzt4h52r2g74alf3cedes3atufy06q4lfq3nxdlnve0kqcwstzr6z6u7fqpqvacezdrr62ycteju6dqawkpthu0drtlxj547htfjcsnrmhgvhskwtuhk6yp7wp30p7qc5vkk8fegg6qx5kc9xs4trx7hj9xgydu7vd30hkceuxsczywjs9v2fl3svkwfypg62882yq6ltv7gfj4ajuy8ezd76g0z7juwspe7q6zs5ceshd6038tvvh2nlpjty6rg6a9qfzhgmjx9s6hynyk7xnq9zra6hxstg8p58x75hapd2mk6rapfunlnnkz5dsxjf4ud4dsvgjfjpzxcdy7sp8dzxtengrsdyu4824mqlw8p63d7m2z4mcyme4tm2qkugtdgrkyphe7akk2geukf6xkfkzd2pkdq5s3qm9fkvfkgrv6yw5kdgjak8xcgesg6tumans4fs8yrxtqlvv2z3emdvwchrjfq4xpzsj27yt4gdg8pknwz9tqpjkjxq6lysutrvwkvt2fwyj8wvv8wtmdl6fk6rsd9kq9a6wkhuq7vvrgwgj3xg2s229sprj4g2vzhy2dfesrp403gs64jqkrjuezwm4zd6uw2x4e2qkj8xqcf7c0zprdzu959x23u878vqqetgpjwt0z3kedt8l6dgpm0rf5dmrya5h3wgzfa0jjvgjphyxgxrwlrzpv4czgal933zs64tn90ks66ejjdaw4t67sch8r3q0kljeqnpdgmw0cpj6arc6k46wcqaccygczy76zt9362vslakvzqqv33tv3sjldp6qxprharmpm9uykgpx66343wuur5xj2aw0rgutpm4ztjzycn3a8d2jq2zpdzwmevezm7mkp9dmndkc3qz0kklgkxq9yehrk5ayfly97umhws0jll8qqg0r7gzxgw5vv76
|
||||
- &host_matrix_sync_external_ansible_pull_age_key age1q7kz3pnfq6cvtn56rlfgs52efcvtcmaq4xny0va3x5wxj4vpgccsenwxk6
|
||||
- &host_hta_ansible_pull_age_key age1n44q80zmsnq8dehnkm8g78u0ku48zafrq4vg5pzz8ft9jkqja5jsamwxhn
|
||||
external:
|
||||
age: &host_external_age_keys
|
||||
- &host_status_ansible_pull_age_key age1p546j6whqsyfkjuf674lawrnk2ex653fuvwhcwt46gkrspkq59sqzm5y87
|
||||
|
|
@ -61,234 +57,222 @@ creation_rules:
|
|||
## group vars
|
||||
- path_regex: "inventories/chaosknoten/group_vars/.+\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
*host_chaosknoten_age_keys
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/external/group_vars/.+\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
*host_external_age_keys
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/z9/group_vars/.+\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
*host_z9_age_keys
|
||||
merge:
|
||||
- *admin_keys
|
||||
## host vars
|
||||
# chaosknoten hosts
|
||||
- path_regex: "inventories/chaosknoten/host_vars/acmedns\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_acmedns_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/cloud\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_cloud_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/jitsi\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_jitsi_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/keycloak\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_keycloak_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/grafana\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_grafana_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/pad\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_pad_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/ccchoir\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_ccchoir_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/pretalx\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_pretalx_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/netbox\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_netbox_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/hta\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- *host_hta_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/tickets\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_tickets_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/onlyoffice\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_onlyoffice_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/zammad\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_zammad_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/ntfy\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_ntfy_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/eh22-wiki\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_eh22_wiki_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/sunders\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_sunders_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/wiki\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_wiki_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/renovate\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_renovate_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/lists\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_lists_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/mumble\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_mumble_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/public-reverse-proxy\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_public_reverse_proxy_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/spaceapiccc\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_spaceapiccc_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/draupnir\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_draupnir_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/diday-staging-runner\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_diday_staging_runner_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/auth-dns\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_auth_dns_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/forgejo-runner\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_forgejo_runner_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/forgejo-runner-external\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_forgejo_runner_external_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/chaosknoten/host_vars/matrix-sync\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- *host_matrix_sync_external_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
# external hosts
|
||||
- path_regex: "inventories/external/host_vars/status\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_status_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
# z9 hosts
|
||||
- path_regex: "inventories/z9/host_vars/dooris\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_dooris_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/z9/host_vars/light\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_light_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/z9/host_vars/waybackproxy\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_waybackproxy_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/z9/host_vars/yate\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_yate_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
- path_regex: "inventories/z9/host_vars/z9-router\\.sops\\..+"
|
||||
key_groups:
|
||||
- age:
|
||||
- pgp:
|
||||
*admin_gpg_keys
|
||||
age:
|
||||
- *host_z9_router_ansible_pull_age_key
|
||||
merge:
|
||||
- *admin_keys
|
||||
# general
|
||||
- path_regex: ".+\\.sops\\..+"
|
||||
key_groups:
|
||||
- *admin_keys
|
||||
- pgp: *admin_gpg_keys
|
||||
|
||||
stores:
|
||||
yaml:
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
rules:
|
||||
brackets:
|
||||
forbid: false
|
||||
min-spaces-inside: 1
|
||||
max-spaces-inside: 1
|
||||
min-spaces-inside-empty: 1
|
||||
|
|
|
|||
|
|
@ -2,6 +2,6 @@
|
|||
inventory = ./inventories/z9/hosts.yaml
|
||||
pipelining = True
|
||||
vars_plugins_enabled = host_group_vars,community.sops.sops
|
||||
collections_path = ./
|
||||
roles_path = ./galaxy-roles
|
||||
collections_path = ./ansible_collections
|
||||
roles_path = ./ansible_collections
|
||||
interpreter_python = python3
|
||||
|
|
|
|||
BIN
ansible_collections/ansible-mysql-5.2.0.tar.gz
Normal file
BIN
ansible_collections/ansible-mysql-5.2.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/ansible-posix-2.2.2.tar.gz
Normal file
BIN
ansible_collections/ansible-posix-2.2.2.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/ansible-utils-6.1.1.tar.gz
Normal file
BIN
ansible_collections/ansible-utils-6.1.1.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-crypto-3.4.0.tar.gz
Normal file
BIN
ansible_collections/community-crypto-3.4.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-docker-5.3.0.tar.gz
Normal file
BIN
ansible_collections/community-docker-5.3.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-general-13.4.0.tar.gz
Normal file
BIN
ansible_collections/community-general-13.4.0.tar.gz
Normal file
Binary file not shown.
Binary file not shown.
BIN
ansible_collections/community-libvirt-2.3.0.tar.gz
Normal file
BIN
ansible_collections/community-libvirt-2.3.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-postgresql-5.0.0.tar.gz
Normal file
BIN
ansible_collections/community-postgresql-5.0.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-rabbitmq-1.7.0.tar.gz
Normal file
BIN
ansible_collections/community-rabbitmq-1.7.0.tar.gz
Normal file
Binary file not shown.
BIN
ansible_collections/community-sops-2.2.7.tar.gz
Normal file
BIN
ansible_collections/community-sops-2.2.7.tar.gz
Normal file
Binary file not shown.
|
|
@ -37,244 +37,116 @@ variables:
|
|||
- name: coverageBranches
|
||||
value: main
|
||||
- name: entryPoint
|
||||
value: tests/utils/shippable/shippable.sh
|
||||
value: tests/utils/shippable/nox.sh
|
||||
- name: prepareEntryPoint
|
||||
value: tests/utils/shippable/nox-prepare.sh
|
||||
- name: fetchDepth
|
||||
value: 0
|
||||
|
||||
resources:
|
||||
containers:
|
||||
- container: default
|
||||
image: quay.io/ansible/azure-pipelines-test-container:7.0.0
|
||||
image: quay.io/ansible/azure-pipelines-test-container:8.0.0
|
||||
|
||||
pool: Standard
|
||||
|
||||
stages:
|
||||
|
||||
### Sanity & units
|
||||
- stage: Ansible_devel
|
||||
displayName: Sanity & Units devel
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: 'devel/sanity/1'
|
||||
- name: Units
|
||||
test: 'devel/units/1'
|
||||
- stage: Ansible_2_20
|
||||
displayName: Sanity & Units 2.20
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: '2.20/sanity/1'
|
||||
- name: Units
|
||||
test: '2.20/units/1'
|
||||
- stage: Ansible_2_19
|
||||
displayName: Sanity & Units 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: '2.19/sanity/1'
|
||||
- name: Units
|
||||
test: '2.19/units/1'
|
||||
- stage: Ansible_2_18
|
||||
displayName: Sanity & Units 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: Sanity
|
||||
test: '2.18/sanity/1'
|
||||
- name: Units
|
||||
test: '2.18/units/1'
|
||||
|
||||
### Docker
|
||||
- stage: Docker_devel
|
||||
displayName: Docker devel
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 42
|
||||
test: fedora42
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
- name: Ubuntu 24.04
|
||||
test: ubuntu2404
|
||||
- name: Alpine 3.22
|
||||
test: alpine322
|
||||
groups:
|
||||
- 4
|
||||
- 5
|
||||
- stage: Docker_2_20
|
||||
displayName: Docker 2.20
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.20/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 42
|
||||
test: fedora42
|
||||
- name: Alpine 3.22
|
||||
test: alpine322
|
||||
groups:
|
||||
- 4
|
||||
- 5
|
||||
- stage: Docker_2_19
|
||||
displayName: Docker 2.19
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 41
|
||||
test: fedora41
|
||||
- name: Alpine 3.21
|
||||
test: alpine321
|
||||
groups:
|
||||
- 4
|
||||
- 5
|
||||
- stage: Docker_2_18
|
||||
displayName: Docker 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.18/linux/{0}
|
||||
targets:
|
||||
- name: Fedora 40
|
||||
test: fedora40
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu2204
|
||||
- name: Alpine 3.20
|
||||
test: alpine320
|
||||
groups:
|
||||
- 4
|
||||
- 5
|
||||
|
||||
### Community Docker
|
||||
- stage: Docker_community_devel
|
||||
displayName: Docker (community images) devel
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/linux-community/{0}
|
||||
targets:
|
||||
- name: Debian 11 Bullseye
|
||||
test: debian-bullseye/3.9
|
||||
- name: Debian 12 Bookworm
|
||||
test: debian-bookworm/3.11
|
||||
- name: Debian 13 Trixie
|
||||
test: debian-13-trixie/3.13
|
||||
- name: ArchLinux
|
||||
test: archlinux/3.13
|
||||
groups:
|
||||
- 4
|
||||
- 5
|
||||
|
||||
### Remote
|
||||
- stage: Remote_devel
|
||||
displayName: Remote devel
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: devel/{0}
|
||||
targets:
|
||||
- name: RHEL 10.0
|
||||
test: rhel/10.0
|
||||
- name: RHEL 9.6 with Docker SDK, urllib3, requests from sources
|
||||
test: rhel/9.6-dev-latest
|
||||
# For some reason, Ubuntu 24.04 is *extremely* slower than RHEL 9.6
|
||||
# - name: Ubuntu 24.04
|
||||
# test: ubuntu/24.04
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- stage: Remote_2_20
|
||||
displayName: Remote 2.20
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.20/{0}
|
||||
targets:
|
||||
- name: RHEL 9.6
|
||||
test: rhel/9.6
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- stage: Remote_2_19
|
||||
- stage: remote_2_19
|
||||
displayName: Remote 2.19
|
||||
dependsOn: []
|
||||
variables:
|
||||
entryPoint: tests/utils/shippable/nox.sh
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.19/{0}
|
||||
targets:
|
||||
- name: RHEL 9.5
|
||||
test: rhel/9.5
|
||||
- name: Ubuntu 22.04
|
||||
test: ubuntu/22.04
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- stage: Remote_2_18
|
||||
displayName: Remote 2.18
|
||||
dependsOn: []
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
testFormat: 2.18/{0}
|
||||
targets:
|
||||
- name: RHEL 9.4
|
||||
test: rhel/9.4
|
||||
groups:
|
||||
- 1
|
||||
- 2
|
||||
- 3
|
||||
- 4
|
||||
- 5
|
||||
- name: Ubuntu 22.04 + group 1
|
||||
test: ansible-test-integration-2.19-ubuntu-22.04-azp-1
|
||||
- name: Ubuntu 22.04 + group 2
|
||||
test: ansible-test-integration-2.19-ubuntu-22.04-azp-2
|
||||
- name: Ubuntu 22.04 + group 3
|
||||
test: ansible-test-integration-2.19-ubuntu-22.04-azp-3
|
||||
- name: Ubuntu 22.04 + group 4
|
||||
test: ansible-test-integration-2.19-ubuntu-22.04-azp-4
|
||||
- name: Ubuntu 22.04 + group 5
|
||||
test: ansible-test-integration-2.19-ubuntu-22.04-azp-5
|
||||
|
||||
## Finally
|
||||
- stage: remote_2_20
|
||||
displayName: Remote 2.20
|
||||
dependsOn: []
|
||||
variables:
|
||||
entryPoint: tests/utils/shippable/nox.sh
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: RHEL 9.7 + group 1
|
||||
test: ansible-test-integration-2.20-rhel-9.7-azp-1
|
||||
- name: RHEL 9.7 + group 2
|
||||
test: ansible-test-integration-2.20-rhel-9.7-azp-2
|
||||
- name: RHEL 9.7 + group 3
|
||||
test: ansible-test-integration-2.20-rhel-9.7-azp-3
|
||||
- name: RHEL 9.7 + group 4
|
||||
test: ansible-test-integration-2.20-rhel-9.7-azp-4
|
||||
- name: RHEL 9.7 + group 5
|
||||
test: ansible-test-integration-2.20-rhel-9.7-azp-5
|
||||
|
||||
- stage: remote_2_21
|
||||
displayName: Remote 2.21
|
||||
dependsOn: []
|
||||
variables:
|
||||
entryPoint: tests/utils/shippable/nox.sh
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: RHEL 10.1 + group 1
|
||||
test: ansible-test-integration-2.21-rhel-10.1-azp-1
|
||||
- name: RHEL 10.1 + group 2
|
||||
test: ansible-test-integration-2.21-rhel-10.1-azp-2
|
||||
- name: RHEL 10.1 + group 3
|
||||
test: ansible-test-integration-2.21-rhel-10.1-azp-3
|
||||
- name: RHEL 10.1 + group 4
|
||||
test: ansible-test-integration-2.21-rhel-10.1-azp-4
|
||||
- name: RHEL 10.1 + group 5
|
||||
test: ansible-test-integration-2.21-rhel-10.1-azp-5
|
||||
|
||||
- stage: remote_devel
|
||||
displayName: Remote devel
|
||||
dependsOn: []
|
||||
variables:
|
||||
entryPoint: tests/utils/shippable/nox.sh
|
||||
jobs:
|
||||
- template: templates/matrix.yml
|
||||
parameters:
|
||||
targets:
|
||||
- name: RHEL 10.2 + group 1 + sdk-dev-latest
|
||||
test: ansible-test-integration-devel-rhel-10.2-azp-1
|
||||
- name: RHEL 10.2 + group 2 + sdk-dev-latest
|
||||
test: ansible-test-integration-devel-rhel-10.2-azp-2
|
||||
- name: RHEL 10.2 + group 3 + sdk-dev-latest
|
||||
test: ansible-test-integration-devel-rhel-10.2-azp-3
|
||||
- name: RHEL 10.2 + group 4 + sdk-dev-latest
|
||||
test: ansible-test-integration-devel-rhel-10.2-azp-4
|
||||
- name: RHEL 10.2 + group 5 + sdk-dev-latest
|
||||
test: ansible-test-integration-devel-rhel-10.2-azp-5
|
||||
- name: RHEL 9.8 + group 1
|
||||
test: ansible-test-integration-devel-rhel-9.8-azp-1
|
||||
- name: RHEL 9.8 + group 2
|
||||
test: ansible-test-integration-devel-rhel-9.8-azp-2
|
||||
- name: RHEL 9.8 + group 3
|
||||
test: ansible-test-integration-devel-rhel-9.8-azp-3
|
||||
- name: RHEL 9.8 + group 4
|
||||
test: ansible-test-integration-devel-rhel-9.8-azp-4
|
||||
- name: RHEL 9.8 + group 5
|
||||
test: ansible-test-integration-devel-rhel-9.8-azp-5
|
||||
|
||||
- stage: Summary
|
||||
condition: succeededOrFailed()
|
||||
dependsOn:
|
||||
- Ansible_devel
|
||||
- Ansible_2_20
|
||||
- Ansible_2_19
|
||||
- Ansible_2_18
|
||||
- Remote_devel
|
||||
- Remote_2_20
|
||||
- Remote_2_19
|
||||
- Remote_2_18
|
||||
- Docker_devel
|
||||
- Docker_2_20
|
||||
- Docker_2_19
|
||||
- Docker_2_18
|
||||
- Docker_community_devel
|
||||
- remote_2_19
|
||||
- remote_2_20
|
||||
- remote_2_21
|
||||
- remote_devel
|
||||
jobs:
|
||||
- template: templates/coverage.yml
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
# Aggregate code coverage results for later processing.
|
||||
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Aggregate code coverage results for later processing.
|
||||
|
||||
set -o pipefail -eu
|
||||
|
||||
agent_temp_directory="$1"
|
||||
|
|
@ -13,10 +13,6 @@ PATH="${PWD}/bin:${PATH}"
|
|||
|
||||
mkdir "${agent_temp_directory}/coverage/"
|
||||
|
||||
if [[ "$(ansible --version)" =~ \ 2\.9\. ]]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
options=(--venv --venv-system-site-packages --color -v)
|
||||
|
||||
ansible-test coverage combine --group-by command --export "${agent_temp_directory}/coverage/" "${options[@]}"
|
||||
|
|
|
|||
|
|
@ -11,8 +11,7 @@ Keep in mind that Azure Pipelines does not enforce unique job display names (onl
|
|||
It is up to pipeline authors to avoid name collisions when deviating from the recommended format.
|
||||
"""
|
||||
|
||||
from __future__ import (absolute_import, division, print_function)
|
||||
__metaclass__ = type
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import re
|
||||
|
|
@ -24,12 +23,12 @@ def main():
|
|||
"""Main program entry point."""
|
||||
source_directory = sys.argv[1]
|
||||
|
||||
if '/ansible_collections/' in os.getcwd():
|
||||
if "/ansible_collections/" in os.getcwd():
|
||||
output_path = "tests/output"
|
||||
else:
|
||||
output_path = "test/results"
|
||||
|
||||
destination_directory = os.path.join(output_path, 'coverage')
|
||||
destination_directory = os.path.join(output_path, "coverage")
|
||||
|
||||
if not os.path.exists(destination_directory):
|
||||
os.makedirs(destination_directory)
|
||||
|
|
@ -38,27 +37,27 @@ def main():
|
|||
count = 0
|
||||
|
||||
for name in os.listdir(source_directory):
|
||||
match = re.search('^Coverage (?P<attempt>[0-9]+) (?P<label>.+)$', name)
|
||||
label = match.group('label')
|
||||
attempt = int(match.group('attempt'))
|
||||
match = re.search("^Coverage (?P<attempt>[0-9]+) (?P<label>.+)$", name)
|
||||
label = match.group("label")
|
||||
attempt = int(match.group("attempt"))
|
||||
jobs[label] = max(attempt, jobs.get(label, 0))
|
||||
|
||||
for label, attempt in jobs.items():
|
||||
name = 'Coverage {attempt} {label}'.format(label=label, attempt=attempt)
|
||||
name = f"Coverage {attempt} {label}"
|
||||
source = os.path.join(source_directory, name)
|
||||
source_files = os.listdir(source)
|
||||
|
||||
for source_file in source_files:
|
||||
source_path = os.path.join(source, source_file)
|
||||
destination_path = os.path.join(destination_directory, source_file + '.' + label)
|
||||
print('"%s" -> "%s"' % (source_path, destination_path))
|
||||
destination_path = os.path.join(destination_directory, source_file + "." + label)
|
||||
print(f'"{source_path}" -> "{destination_path}"')
|
||||
shutil.copyfile(source_path, destination_path)
|
||||
count += 1
|
||||
|
||||
print('Coverage file count: %d' % count)
|
||||
print('##vso[task.setVariable variable=coverageFileCount]%d' % count)
|
||||
print('##vso[task.setVariable variable=outputPath]%s' % output_path)
|
||||
print(f"Coverage file count: {count}")
|
||||
print(f"##vso[task.setVariable variable=coverageFileCount]{count}")
|
||||
print(f"##vso[task.setVariable variable=outputPath]{output_path}")
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
#!/usr/bin/env bash
|
||||
# Check the test results and set variables for use in later steps.
|
||||
|
||||
# Copyright (c) Ansible Project
|
||||
# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
# Check the test results and set variables for use in later steps.
|
||||
|
||||
set -o pipefail -eu
|
||||
|
||||
if [[ "$PWD" =~ /ansible_collections/ ]]; then
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ import pathlib
|
|||
import shutil
|
||||
import subprocess
|
||||
import tempfile
|
||||
import typing as t
|
||||
import urllib.request
|
||||
|
||||
|
||||
|
|
@ -23,7 +22,7 @@ import urllib.request
|
|||
class CoverageFile:
|
||||
name: str
|
||||
path: pathlib.Path
|
||||
flags: t.List[str]
|
||||
flags: list[str]
|
||||
|
||||
|
||||
@dataclasses.dataclass(frozen=True)
|
||||
|
|
@ -34,8 +33,8 @@ class Args:
|
|||
|
||||
def parse_args() -> Args:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('-n', '--dry-run', action='store_true')
|
||||
parser.add_argument('path', type=pathlib.Path)
|
||||
parser.add_argument("-n", "--dry-run", action="store_true")
|
||||
parser.add_argument("path", type=pathlib.Path)
|
||||
|
||||
args = parser.parse_args()
|
||||
|
||||
|
|
@ -46,32 +45,36 @@ def parse_args() -> Args:
|
|||
return Args(**kwargs)
|
||||
|
||||
|
||||
def process_files(directory: pathlib.Path) -> t.Tuple[CoverageFile, ...]:
|
||||
def process_files(directory: pathlib.Path) -> tuple[CoverageFile, ...]:
|
||||
processed = []
|
||||
for file in directory.joinpath('reports').glob('coverage*.xml'):
|
||||
name = file.stem.replace('coverage=', '')
|
||||
for file in directory.joinpath("reports").glob("coverage*.xml"):
|
||||
name = file.stem.replace("coverage=", "")
|
||||
|
||||
# Get flags from name
|
||||
flags = name.replace('-powershell', '').split('=') # Drop '-powershell' suffix
|
||||
flags = [flag if not flag.startswith('stub') else flag.split('-')[0] for flag in flags] # Remove "-01" from stub files
|
||||
flags = name.replace("-powershell", "").split("=") # Drop '-powershell' suffix
|
||||
flags = [
|
||||
flag if not flag.startswith("stub") else flag.split("-")[0] for flag in flags
|
||||
] # Remove "-01" from stub files
|
||||
|
||||
processed.append(CoverageFile(name, file, flags))
|
||||
|
||||
return tuple(processed)
|
||||
|
||||
|
||||
def upload_files(codecov_bin: pathlib.Path, files: t.Tuple[CoverageFile, ...], dry_run: bool = False) -> None:
|
||||
def upload_files(codecov_bin: pathlib.Path, files: tuple[CoverageFile, ...], dry_run: bool = False) -> None:
|
||||
for file in files:
|
||||
cmd = [
|
||||
str(codecov_bin),
|
||||
'--name', file.name,
|
||||
'--file', str(file.path),
|
||||
"--name",
|
||||
file.name,
|
||||
"--file",
|
||||
str(file.path),
|
||||
]
|
||||
for flag in file.flags:
|
||||
cmd.extend(['--flags', flag])
|
||||
cmd.extend(["--flags", flag])
|
||||
|
||||
if dry_run:
|
||||
print(f'DRY-RUN: Would run command: {cmd}')
|
||||
print(f"DRY-RUN: Would run command: {cmd}")
|
||||
continue
|
||||
|
||||
subprocess.run(cmd, check=True)
|
||||
|
|
@ -79,11 +82,11 @@ def upload_files(codecov_bin: pathlib.Path, files: t.Tuple[CoverageFile, ...], d
|
|||
|
||||
def download_file(url: str, dest: pathlib.Path, flags: int, dry_run: bool = False) -> None:
|
||||
if dry_run:
|
||||
print(f'DRY-RUN: Would download {url} to {dest} and set mode to {flags:o}')
|
||||
print(f"DRY-RUN: Would download {url} to {dest} and set mode to {flags:o}")
|
||||
return
|
||||
|
||||
with urllib.request.urlopen(url) as resp:
|
||||
with dest.open('w+b') as f:
|
||||
with dest.open("w+b") as f:
|
||||
# Read data in chunks rather than all at once
|
||||
shutil.copyfileobj(resp, f, 64 * 1024)
|
||||
|
||||
|
|
@ -92,14 +95,14 @@ def download_file(url: str, dest: pathlib.Path, flags: int, dry_run: bool = Fals
|
|||
|
||||
def main():
|
||||
args = parse_args()
|
||||
url = 'https://ansible-ci-files.s3.amazonaws.com/codecov/linux/codecov'
|
||||
with tempfile.TemporaryDirectory(prefix='codecov-') as tmpdir:
|
||||
codecov_bin = pathlib.Path(tmpdir) / 'codecov'
|
||||
url = "https://ansible-ci-files.s3.amazonaws.com/codecov/linux/codecov"
|
||||
with tempfile.TemporaryDirectory(prefix="codecov-") as tmpdir:
|
||||
codecov_bin = pathlib.Path(tmpdir) / "codecov"
|
||||
download_file(url, codecov_bin, 0o755, args.dry_run)
|
||||
|
||||
files = process_files(args.path)
|
||||
upload_files(codecov_bin, files, args.dry_run)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue