Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/stuttgart-things/install-requirements

install, remove and update python and/or os packages
https://github.com/stuttgart-things/install-requirements

ansible apt dnf linux pip python requirements

Last synced: 2 days ago
JSON representation

install, remove and update python and/or os packages

Awesome Lists containing this project

README

        

stuttgart-things/install-requirements
====================

install, remove and update python and/or os packages.

VARIABLES

The following vars can be set:
```yaml
vars:
update_packages: true # set for update or not update your os packages (update_packages: true/ false)
os_packages:
- htop
- unzip # the os package that you want to install. If not set, no os package will be installed. (os_packages: )
python_modules:
- name: kubernetes # the pip package that you want to install. If not set, no os package will be installed. If pip doesn't exist, it will be installed automatically. The pip version is decided based on the python version that is used by ansible on the target host.
version: 10.0.1 # - python_modules:
- name: openshift # version:
ansible_collections:
podman:
name: containers.podman
version: 1.3.1
general:
name: community.general
version: 1.2.0
crypto:
name: community.crypto
version: 1.2.0
```

DEFAULTS

```yaml
...
packer_update_packages: false

packer_python_modules:
- name: netaddr

packer_os_prerequisites:
- unzip
- git
- ansible
...

```

ROLE INSTALLATION

```bash
cat < /tmp/requirements.yaml
- src: https://github.com/stuttgart-things/install-requirements.git
scm: git
EOF

ansible-galaxy install -r /tmp/requirements.yaml --force
rm -rf /tmp/requirements.yaml
```

EXAMPLE INVENTORY

```bash
cat < inventory
[appserver]
1.2.3.4 ansible_user=sthings
EOF
```

EXAMPLE PLAYBOOK

This playbook install the htop os package and the python module kubernetes with the version 10.0.1 and the latest openshift python module.

```yaml
cat < install-requirements.yaml
---
- name: Install packages
hosts: localhost
gather_facts: true
become: true
vars:
update_packages: true
os_packages:
- htop
- unzip
python_modules:
- name: kubernetes
version: 10.0.1
- name: openshift

roles:
- install-requirements
EOF
```

EXAMPLE EXECUTION

```bash
ansible-playbook -i inventory install-requirements.yml
```

EXAMPLE ROLE INCLUDE OF ANOTHER ROLE

```yaml
# task file
...
- name: Install prerequisites
include_role:
name: install-requirements
vars:
update_packages: "{{ packer_update_packages }}"
os_packages: "{{ packer_os_prerequisites }}"
python_modules: "{{ packer_python_modules }}"
tags: setup
...
```

LICENSE

Copyright 2020 patrick hermann.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

## Role history

| date | who | changelog |
|---|---|---|
|2024-05-07 | Andre Ebert | linting and testing on different OS
|2020-10-21 | Marcel Zapf | fixed problem debian system not update os packages
|2020-10-16 | Patrick Hermann | added task to install ansible collections
|2020-10-08 | Marcel Zapf | fixed some bugs
|2020-08-24 | Patrick Hermann | fixed task names, fixed os task loop
|2020-08-18 | Marcel Zapf | initial commit, added tests and readme

Author Information
------------------

```yaml
Andre Ebert ([email protected]); 05/2024

Marcel Zapf ([email protected]; Stuttgart-Things; 08/2020);

Patrick Hermann ([email protected]; Stuttgart-Things; 08/2020)
```