diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bafe0fc3..7812d684 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,7 +8,6 @@ ansible-lint: # This probably happens due to gitlab-runner mounting the git repo into the container - chmod o-w . # Fix syntax-check rule (https://github.com/ansible-community/ansible-lint/issues/1350#issuecomment-778764110) - - sed "s/,hcloud_inventory.py//" -i ansible.cfg - sed "/^vault_identity_list/d" -i ansible.cfg - sed "/misc\/vaults\/vault_/d" -i playbooks/*.yml # Fix load-failure: Failed to load or parse file diff --git a/README.md b/README.md index 15712809..e8337d16 100644 --- a/README.md +++ b/README.md @@ -40,13 +40,6 @@ locally signed with `--lsign-key`. This is necessary for running any of the `reencrypt-vault-default-key`, `reencrypt-vault-super-key `or `fetch-borg-keys` tasks. -#### Note about Ansible dynamic inventories - -We use a dynamic inventory script in order to automatically get information for -all servers directly from hcloud. You don't really have to do anything to make -this work but you should keep in mind to NOT add hcloud servers to `hosts`! -They'll be available automatically. - #### Note about packer We use packer to build snapshots on hcloud to use as server base images. diff --git a/ansible.cfg b/ansible.cfg index 0a2431a6..36c2fffd 100644 --- a/ansible.cfg +++ b/ansible.cfg @@ -1,5 +1,5 @@ [defaults] -inventory = hosts,hcloud_inventory.py +inventory = hosts library = library remote_tmp = $HOME/.ansible/tmp remote_user = root diff --git a/hcloud_inventory.py b/hcloud_inventory.py deleted file mode 100755 index bb25705e..00000000 --- a/hcloud_inventory.py +++ /dev/null @@ -1,43 +0,0 @@ -#!/usr/bin/env python -# -# Dynamic inventory script for getting infrastructure information from hcloud - -import argparse -import json -import sys - -from hcloud import Client - -from misc.get_key import load_vault - - -def parse_args(): - parser = argparse.ArgumentParser(description="Hcloud dynamic inventory script") - group = parser.add_mutually_exclusive_group(required=True) - group.add_argument('--list', action='store_true') - group.add_argument('--host') - return parser.parse_args() - - -def get_host_details(server): - return {'ansible_host': server.public_net.ipv4.ip, - 'ansible_port': 22, - 'ansible_user': "root"} - - -def main(): - args = parse_args() - loaded = load_vault('misc/vaults/vault_hcloud.yml') - client = Client(token=loaded["hcloud_api_key_readonly"]) - servers = client.servers.get_all() - - hostvars = {server.name: get_host_details(server) for server in servers} - if args.list: - hosts = [server.name for server in servers] - json.dump({'hcloud': hosts, '_meta': {'hostvars': hostvars}}, sys.stdout) - else: - json.dump(hostvars[args.host], sys.stdout) - - -if __name__ == '__main__': - main() diff --git a/hosts b/hosts index 94a8845e..e68a9a7f 100644 --- a/hosts +++ b/hosts @@ -113,3 +113,30 @@ build.archlinux.org runner1.archlinux.org runner2.archlinux.org secure-runner1.archlinux.org + +[hcloud] +accounts.archlinux.org +archlinux.org +aur.archlinux.org +bbs.archlinux.org +bugs.archlinux.org +dashboards.archlinux.org +debuginfod.archlinux.org +gitlab.archlinux.org +gluebuddy.archlinux.org +homedir.archlinux.org +lists.archlinux.org +mail.archlinux.org +man.archlinux.org +matrix.archlinux.org +md.archlinux.org +mirror.pkgbuild.com +monitoring.archlinux.org +patchwork.archlinux.org +phrik.archlinux.org +quassel.archlinux.org +redirect.archlinux.org +reproducible.archlinux.org +security.archlinux.org +state.archlinux.org +wiki.archlinux.org