Giter Site home page Giter Site logo

constrict0r / upgrade Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 28 KB

Ansible role to perform a system upgrade.

Home Page: https://upgrade.readthedocs.io

License: MIT License

Shell 100.00%
ansible auto autodebian devops doombot linux python sphinx travis

upgrade's Introduction

upgrade

pipeline

travis

readthedocs

Ansible role to apply a system upgrade.

avatar

Full documentation on Readthedocs.

Source code on:

Github.

Gitlab.

Part of:

doombot

Ingredients

ingredient

Contents

Description

Ansible role to apply a system upgrade.

This role performs the following actions:

  • Ensure the requirements are installed.
  • Ensure the current user can obtain administrative (root)
    permissions.
  • Update the apt cache.
  • If the upgrade variable is set to true or if the
    configuration file contains a variable upgrade setted to true, perform a full system upgrade.

Usage

  • To install and execute:
ansible-galaxy install constrict0r.upgrade
ansible localhost -m include_role -a name=constrict0r.upgrade -K
  • Passing variables:
ansible localhost -m include_role -a name=constrict0r.upgrade -K \
    -e "upgrade: false"
  • To include the role on a playbook:
- hosts: servers
  roles:
      - {role: constrict0r.upgrade}
  • To include the role as dependency on another role:
dependencies:
  - role: constrict0r.upgrade
    upgrade: true
  • To use the role from tasks:
- name: Execute role task.
  import_role:
    name: constrict0r.upgrade
  vars:
    upgrade: true

To run tests:

cd upgrade
chmod +x testme.sh
./testme.sh

On some tests you may need to use sudo to succeed.

Variables

The following variables are supported:

upgrade

Boolean variable that defines if a system full upgrade is performed or not.

If set to true a full system upgrade is executed.

This variable is set to true by default.

# Including from terminal.
ansible localhost -m include_role -a name=constrict0r.upgrade -K -e \
    "upgrade=false"

# Including on a playbook.
- hosts: servers
  roles:
    - role: constrict0r.upgrade
      upgrade: false

# To a playbook from terminal.
ansible-playbook -i inventory my-playbook.yml -K -e \
    "upgrade=false"

configuration

Absolute file path or URL to a .yml file that contains all or some of the variables supported by this role.

It is recommended to use a .yml or .yaml extension for the configuration file.

This variable is empty by default.

# Using file path.
ansible localhost -m include_role -a name=constrict0r.upgrade -K -e \
    "configuration=/home/username/my-config.yml"

# Using URL.
ansible localhost -m include_role -a name=constrict0r.upgrade -K -e \
    "configuration=https://my-url/my-config.yml"

To see how to write a configuration file see the YAML file format section.

YAML

When passing configuration files to this role as parameters, it’s recommended to add a .yml or .yaml extension to the each file.

It is also recommended to add three dashes at the top of each file:

---

You can include in the file the variables required for your tasks:

---
upgrade:
  - true

If you want this role to load list of items from files and URLs you can set the expand variable to true:

---
upgrade: /home/username/my-config.yml

expand: true

If the expand variable is false, any file path or URL found will be treated like plain text.

Requirements

If you want to run the tests, you will also need:

Compatibility

License

MIT. See the LICENSE file for more details.

Links

UML

Deployment

The full project structure is shown below:

deploy

Main

The project data flow is shown below:

main

Author

author

The Travelling Vaudeville Villain.

Enjoy!!!

enjoy

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.