diff --git a/ansible/.devcontainer/devcontainer.json.jinja b/ansible/.devcontainer/devcontainer.json.jinja new file mode 120000 index 0000000..f3733b0 --- /dev/null +++ b/ansible/.devcontainer/devcontainer.json.jinja @@ -0,0 +1 @@ +../../generic/.devcontainer/devcontainer.json.jinja \ No newline at end of file diff --git a/ansible/.editorconfig b/ansible/.editorconfig new file mode 120000 index 0000000..a7109bc --- /dev/null +++ b/ansible/.editorconfig @@ -0,0 +1 @@ +../generic/.editorconfig \ No newline at end of file diff --git a/ansible/CHANGELOG.md.jinja b/ansible/CHANGELOG.md.jinja new file mode 120000 index 0000000..3cc3f6f --- /dev/null +++ b/ansible/CHANGELOG.md.jinja @@ -0,0 +1 @@ +../generic/CHANGELOG.md.jinja \ No newline at end of file diff --git a/ansible/Taskfile.yaml.jinja b/ansible/Taskfile.yaml.jinja new file mode 100644 index 0000000..66908ef --- /dev/null +++ b/ansible/Taskfile.yaml.jinja @@ -0,0 +1,34 @@ +version: "3" + +tasks: + docs: + desc: Start a server which serves the project documentation + cmds: + - mkdocs serve {% if git_provider == 'github' %}--config-file=.github/.mkdocsrc{% endif %} + inventory: + desc: Display the inventory as seen from Ansible in graph form + cmds: + - ansible-inventory --graph + inventory-list: + desc: Display the inventory as seen from Ansible in list form + cmds: + - ansible-inventory --list + lint: + desc: Check the syntax of Ansible playbooks + cmds: + - ansible-lint + run: + desc: Run playbook + cmds: + - ansible-playbook main.yaml + setup: + desc: Install dependencies and setup the project + cmds: + - pre-commit install {%- if git_provider == 'github' %} --config .github/.precommitrc{% endif %} --hook-type pre-commit --hook-type commit-msg + - pip install --user ansible-lint + - ansible-galaxy install -r requirements.yaml + default: + cmds: + - task --list + +silent: true diff --git a/ansible/ansible.cfg b/ansible/ansible.cfg new file mode 100644 index 0000000..3f05714 --- /dev/null +++ b/ansible/ansible.cfg @@ -0,0 +1,2 @@ +[defaults] +inventory = ./inventory.yaml diff --git a/ansible/inventory.yaml b/ansible/inventory.yaml new file mode 100644 index 0000000..b0f6507 --- /dev/null +++ b/ansible/inventory.yaml @@ -0,0 +1,5 @@ +--- +ungrouped: + hosts: + localhost: + ansible_connection: local diff --git a/ansible/main.yaml b/ansible/main.yaml new file mode 100644 index 0000000..d74a028 --- /dev/null +++ b/ansible/main.yaml @@ -0,0 +1,7 @@ +--- +- name: Demo Playbook + hosts: all + tasks: + - name: Debug information + ansible.builtin.debug: + msg: "The hostname is {{ ansible_hostname }}" diff --git a/ansible/requirements.yaml b/ansible/requirements.yaml new file mode 100644 index 0000000..03c40c6 --- /dev/null +++ b/ansible/requirements.yaml @@ -0,0 +1,7 @@ +--- +collections: + - name: ansible.utils + version: 3.0.0 +# roles: +# - name: TBD +# version: TBD diff --git a/ansible/version.txt.jinja b/ansible/version.txt.jinja new file mode 120000 index 0000000..aa1d710 --- /dev/null +++ b/ansible/version.txt.jinja @@ -0,0 +1 @@ +../generic/version.txt.jinja \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.commitlintrc b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.commitlintrc new file mode 120000 index 0000000..3335227 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.commitlintrc @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/.commitlintrc \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.devcontainer/devcontainer.json.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.devcontainer/devcontainer.json.jinja new file mode 100644 index 0000000..2386f50 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.devcontainer/devcontainer.json.jinja @@ -0,0 +1,12 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +{ + "name": "{{project_name}}", + "image": "ghcr.io/jwbennet/project-base-dev-container:2.2.0", + "features": { + // renovate: depType=devcontainerFeature datasource=docker + "ghcr.io/devcontainers-contrib/features/ansible:2.0.17": { + // renovate: depType=devDependencies datasource=github-tags depName=ansible/ansible extractVersion=true + "version": "2.16.3" + } + } +} diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.lintstagedrc b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.lintstagedrc new file mode 120000 index 0000000..6a4903e --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.lintstagedrc @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/.lintstagedrc \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.mkdocsrc.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.mkdocsrc.jinja new file mode 120000 index 0000000..580092f --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.mkdocsrc.jinja @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/.mkdocsrc.jinja \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.precommitrc b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.precommitrc new file mode 120000 index 0000000..60946f1 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.precommitrc @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/.precommitrc \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/.prettierrc b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.prettierrc new file mode 120000 index 0000000..1ae0676 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/.prettierrc @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/.prettierrc \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/renovate.json.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/renovate.json.jinja new file mode 120000 index 0000000..1218147 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/renovate.json.jinja @@ -0,0 +1 @@ +../../generic/{% if git_provider == 'github' %}.github{% endif %}/renovate.json.jinja \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/devcontainer-build-and-push.yaml.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/devcontainer-build-and-push.yaml.jinja new file mode 120000 index 0000000..feeb526 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/devcontainer-build-and-push.yaml.jinja @@ -0,0 +1 @@ +../../../generic/{% if git_provider == 'github' %}.github{% endif %}/workflows/devcontainer-build-and-push.yaml.jinja \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/release-please.yaml.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/release-please.yaml.jinja new file mode 120000 index 0000000..947e851 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/release-please.yaml.jinja @@ -0,0 +1 @@ +../../../generic/{% if git_provider == 'github' %}.github{% endif %}/workflows/release-please.yaml.jinja \ No newline at end of file diff --git a/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/renovate.yaml.jinja b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/renovate.yaml.jinja new file mode 120000 index 0000000..3f977d6 --- /dev/null +++ b/ansible/{% if git_provider == 'github' %}.github{% endif %}/workflows/renovate.yaml.jinja @@ -0,0 +1 @@ +../../../generic/{% if git_provider == 'github' %}.github{% endif %}/workflows/renovate.yaml.jinja \ No newline at end of file diff --git a/copier.yaml b/copier.yaml index 4de690c..854dc15 100644 --- a/copier.yaml +++ b/copier.yaml @@ -6,6 +6,7 @@ project_type: type: str help: Which type of project to copy? choices: + Ansible: ansible Generic: generic default: generic custom_devcontainer_features: