syft
Ansible Role: syft
Role to install (by default) syft on Debian/Ubuntu and EL systems. A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems.
Requirements
None.
Role Variables
Available variables are listed below (located in defaults/main.yml
):
Variables list:
syft_app: syft
syft_desired_state: present
syft_version: 1.11.1
syft_os: "{{ ansible_system | lower }}"
syft_architecture_map:
amd64: amd64
arm: arm64
x86_64: amd64
armv6l: armv6
armv7l: armv7
aarch64: arm64
32-bit: "386"
64-bit: amd64
# For Debian/Ubuntu Family
syft_debian_url: "https://github.com/anchore/{{ syft_app }}/releases/download/v{{ syft_version }}/{{ syft_app }}_{{ syft_version }}_{{ syft_os }}_{{ syft_architecture_map[ansible_architecture] }}.deb"
# For EL Family
syft_el_url: "https://github.com/anchore/{{ syft_app }}/releases/download/v{{ syft_version }}/{{ syft_app }}_{{ syft_version }}_{{ syft_os }}_{{ syft_architecture_map[ansible_architecture] }}.rpm"
Variables table:
Variable | Description |
---|---|
syft_app | Defines the app to install i.e. syft |
syft_desired_state | Defined to dynamically chose whether to install (i.e. either present or latest ) or uninstall (i.e. absent ) the package. Defaults to present . |
syft_version | Defined to dynamically fetch the desired version to install. Defaults to: 1.11.1 |
syft_os | Defines os type. Used for obtaining the correct type of binaries based on OS type. |
syft_architecture_map | Defines os architecture. Used for obtaining the correct type of binaries based on OS System Architecture. |
syft_debian_url | Defines URL to download the 'deb' package from for Debian/Ubuntu family systems. |
syft_el_url | Defines URL to download the 'rpm' package from for EL family systems. |
Dependencies
None
Example Playbook
For default behaviour of role (i.e. installation of syft) in ansible playbooks.
- hosts: servers
roles:
- darkwizard242.syft
For customizing behavior of role (i.e. specifying the desired syft version) in ansible playbooks.
- hosts: servers
roles:
- darkwizard242.syft
vars:
syft_version: 0.32.2
For customizing behavior of role (i.e. different os architecture of syft package like arm64) in ansible playbooks.
- hosts: servers
roles:
- darkwizard242.syft
vars:
syft_arch: "arm64"
License
Author Information
This role was created by Ali Muhammad
About
Installs/Uninstalls 'syft'. A CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems.
Install
ansible-galaxy install darkwizard242/ansible-role-syft
License
mit
Downloads
2150
Owner
Senior DevOps/CloudOps Engineer.
Dedicated to Automating everything I come across.
Love to work on and learn new technologies/tools everyday!