74 lines
2.1 KiB
YAML
74 lines
2.1 KiB
YAML
---
|
|
- name: Verify the Seriatim installation
|
|
hosts: localhost
|
|
connection: local
|
|
gather_facts: false
|
|
become: true
|
|
vars:
|
|
seriatim_expected_commit: 0fc92f364316c874d366b00cdc884a33e1900b25
|
|
seriatim_expected_version: v1.5.0
|
|
seriatim_source_dir: /usr/local/src/seriatim
|
|
seriatim_binary_path: /usr/local/bin/seriatim
|
|
tasks:
|
|
- name: Inspect the source directory
|
|
ansible.builtin.stat:
|
|
path: "{{ seriatim_source_dir }}"
|
|
register: seriatim_source
|
|
|
|
- name: Find incorrectly owned source entries
|
|
ansible.builtin.command:
|
|
argv:
|
|
- find
|
|
- "{{ seriatim_source_dir }}"
|
|
- (
|
|
- -not
|
|
- -user
|
|
- root
|
|
- -or
|
|
- -not
|
|
- -group
|
|
- root
|
|
- )
|
|
- -print
|
|
- -quit
|
|
register: seriatim_source_ownership
|
|
changed_when: false
|
|
|
|
- name: Read the selected source commit
|
|
ansible.builtin.command:
|
|
argv:
|
|
- git
|
|
- -C
|
|
- "{{ seriatim_source_dir }}"
|
|
- rev-parse
|
|
- HEAD
|
|
register: seriatim_source_commit
|
|
changed_when: false
|
|
|
|
- name: Inspect the installed binary
|
|
ansible.builtin.stat:
|
|
path: "{{ seriatim_binary_path }}"
|
|
register: seriatim_binary
|
|
|
|
- name: Read the installed version
|
|
ansible.builtin.command:
|
|
argv:
|
|
- "{{ seriatim_binary_path }}"
|
|
- --version
|
|
register: seriatim_version_output
|
|
changed_when: false
|
|
|
|
- name: Assert the installation contract
|
|
ansible.builtin.assert:
|
|
that:
|
|
- seriatim_source.stat.isdir
|
|
- seriatim_source.stat.pw_name == "root"
|
|
- seriatim_source.stat.gr_name == "root"
|
|
- seriatim_source_ownership.stdout == ""
|
|
- seriatim_source_commit.stdout == seriatim_expected_commit
|
|
- seriatim_binary.stat.isreg
|
|
- seriatim_binary.stat.pw_name == "root"
|
|
- seriatim_binary.stat.gr_name == "root"
|
|
- seriatim_binary.stat.mode == "0755"
|
|
- seriatim_version_output.stdout == "seriatim version " ~ seriatim_expected_version
|