Giter Site home page Giter Site logo

diesel-net / ansible-role-application Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 36 KB

๐Ÿ“• Common pre-defined and dynamic variables. Basic application configuration functionality.

common ansible reusable ansible-role ansible-galaxy diesel-net shared-variables

ansible-role-application's Introduction

Build Status

fleet

Leveraging Docker Engine's built-in Swarm Mode on Ubuntu Server LTS Virtual Machines. This is the first piece of code that should be executed against a fresh host on the diesel.net domain

Checking-In New Hosts

To add a new host (or set of hosts) create a new local branch name with the pattern check-in/*, add the new hosts and their configuration to the inventory, then push. Please delete your check-in/* branch after merging.

Bootstrapping Hosts

Pushes to stable branches will trigger the entire fleet to be bootstrapped.

Updating Hosts

You will need the following installed:

Python 3.11+

  1. Create a Python Virtual Environment (venv) and activate it.

    python3 -m venv venv
    source venv/bin/activate
  2. Install Ansible.

    pip install --upgrade pip setuptools wheel pip-tools
    pip install ansible==7.2.0
  3. Install Ansible roles.

    ansible-galaxy install --force --role-file .ansible/roles/check-in_requirements.yaml --roles-path .ansible/roles
  4. Update all the Ubuntu hosts's Apt packages and reboot if necessary.

    ansible-playbook --inventory .ansible/inventories/dev  --inventory .ansible/inventories/prod --extra-vars auto_reboot=yes .ansible/update.yaml

ansible-role-application's People

Contributors

tomdaley92 avatar

Watchers

 avatar

ansible-role-application's Issues

Use ansible inventory dir base name instead of git_version for automatic file paths

Currently using /home/diesel/{{ repository }}/{{ version }} for where the data goes for a specific app, but it'd be nice if we could control it by simply naming the ansible inventory like so:

e.g.
.ansible/inventory/production

The reason this only came up now is the plugin (or ansible in general) allow you to pass in that exact path, without the /hosts on the end. This was a huge oversight on my part, because I've had this idea for awhile but it was a little messy since the name I needed was in the middle of a path. Another concern might be that ansible inventories do not have a "strict" structure so this would only work with my stack if we follow standards.

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.