feat(ansible): allow for input variable files to configure forge behavior (#13)

This commit is contained in:
Stephan Lüscher 2024-05-03 14:21:06 +00:00
parent 7ae5826f4a
commit cb4d82c7cf
No known key found for this signature in database
GPG key ID: 445779060FF3D3CF
9 changed files with 60 additions and 14 deletions

View file

@ -24,3 +24,26 @@
cmd: update-ca-trust
changed_when: false
become: true
- name: Create default directory for forge content
ansible.builtin.file:
path: "{{ forge_data_path }}"
state: directory
mode: "0755"
- name: Create default configuration variable file
ansible.builtin.copy:
dest: "{{ forge_data_default_variables_file_path }}"
content: |
## ublue-os forge configuration variables defaults
## For more details got to https://github.com/ublue-os/forge/blob/main/docs/variables.md
{% for item in __vars_used %}
#{{ item | upper }}={{ lookup('ansible.builtin.vars', item) }}
{% endfor %}
backup: true
owner: "{{ ansible_facts.env.USER }}"
mode: "0644"
vars:
__vars_used: "{{ lookup('ansible.builtin.varnames', __regex_search, wantlist=true) }}"
__regex_search: ^forge_.+

View file

@ -2,10 +2,15 @@
- name: Build project
hosts: host.ublue.local
gather_facts: true
pre_tasks:
- name: DEBUG - forge variables
ansible.builtin.include_role:
name: debug_forge_vars
tasks:
- name: Build and push an image to registry
- name: Build and push image to registry
containers.podman.podman_image:
name: bluefin
name: "{{ forge_git_repository_url | regex_search(__regex_search) }}"
tag: latest
path: "{{ forge_git_repository_destination }}"
build:
@ -15,3 +20,10 @@
push: true
push_args:
dest: "{{ forge_registry_url }}"
vars:
__regex_search: (?<=/)[^/]+(?=\.git)
register: __podman_image_info
- name: INFO | Status from build and push
ansible.builtin.debug:
msg: "{{ __podman_image_info }}"

View file

@ -2,9 +2,18 @@
- name: Clone project
hosts: host.ublue.local
gather_facts: true
pre_tasks:
- name: DEBUG - forge variables
ansible.builtin.include_role:
name: debug_forge_vars
tasks:
- name: Clone project
ansible.builtin.git:
repo: "{{ forge_git_repository_url }}"
dest: "{{ forge_git_repository_destination }}"
version: "{{ forge_git_repository_version }}"
register: __git_clone_info
- name: INFO | Status from git clone
ansible.builtin.debug:
msg: "{{ __git_clone_info }}"