Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Module: unarchive

Dag Wieers edited this page Feb 22, 2018 · 15 revisions

Github unarchive issues Github unarchive PRs

Welcome to the unarchive module community

This space is to collaborate on the Ansible unarchive module. Feel free to add ideas or help out where you can.

The unarchive module is currently unmaintained.

Known issues

  • The module is running unzip and gtar underneath
    • We are scraping the output of both tools, which is error-prone
    • BSD does not offer an equivalent unzip version, and ships bsdtar and not gtar by default
    • Module parameters do not always offer the same functionality to both tools
    • Very sensitive with UTF-8 and other charsets, sensitive to languages (so we baiscally force en_US.UTF8)
    • Idempotency is a huge problem as we are depending on the tool's output
  • The module offers download functionality
    • But everyone has different needs for downloading stuff (proxy, authentication, headers, ...)
    • Ansible has specialized functionality for downloading files (get_url, uri), we don't want unarchive to become a specialized download module of its own
    • Actually we prefer that this functionality gets deprecated altogether
  • The module only supports (compressed) archives, not compressed files
    • Historically it was designed only with archives in mind
    • Most users have no clue what an archive is, or what the difference is with compressed files
    • This means that files that are only compressed such as foo.bz2 and bar.gz are not currently supported since they are technically only compressed.
  • The user interface allows to add options/flags to unzip/gtar directly
    • This is error-prone, combinations of flags interfere with other parts of the module and may fail
    • This makes it impossible to have a pure-python drop-in replacement

(ARchived) Working groups

Working groups are now in the Ansible forum

Ansible project:
Community, Contributor Experience, Docs, News, Outreach, RelEng, Testing

Cloud:
AWS, Azure, CloudStack, Container, DigitalOcean, Docker, hcloud, Kubernetes, Linode, OpenStack, oVirt, Virt, VMware

Networking:
ACI, AVI, F5, Meraki, Network, NXOS

Ansible Developer Tools:
Ansible-developer-tools

Software:
Crypto, Foreman, GDrive, GitLab, Grafana, IPA, JBoss, MongoDB, MySQL, PostgreSQL, RabbitMQ, Zabbix

System:
AIX, BSD, HP-UX, macOS, Remote Management, Solaris, Windows

Security:
Security-Automation, Lockdown

Tooling:
AWX, Galaxy, Molecule

Communities

Modules:
unarchive, xml

Plugins:
httpapi

Wiki

Roles, Communication, Reviewing, Checklist, TODO

Clone this wiki locally