Code Monkey home page Code Monkey logo

ops's Introduction

WebPlatform Infrastructure workbench

This repository contains tools to help maintain our infrastructure.

If you want to get quick access to operations related links, you are invited to use the Operations start page as a start page for your browser.

A static page linking to various tools for infrastructure work.

Access the Operations start page

Infrastructure work items are hosted in this repository issue tracker, you can visualize their status and how they relate to each other.

Issues are displayed in a 4 columns table, each column describe the issue’s status:

  • New ("Pending priotization")
  • Set aside for now ("Later?")
  • Planned to work soon ("Backlog")
  • Working on it
  • Done

Here is a screenshot of how it looks like.

Screenshot of WebPlatform’s Kanban board

Each column content can be hidden to reduce visual noise by clicking on the minus symbol at the top

  • 1, 2, 3, 4, 5: Columns defines where the task is at (working, done, etc.)
  • 1: is where EVERY new issues goes. Waiting to be prioritized.
  • 2: is where we put tasks that we decided we set for later.
  • 3, 4, 5: Columns represent tasks that are planned to be worked on during the current iteration
  • 4: Task on top has more priority than the one below. This is most true in the case of the "Working" column.
  • 6: Shows the picture of the person who was assigned to the task
  • 7: Shows the GitHub repo issue number. You can click on it to get to the issue on GitHub
  • 8: Once the task is in the "Done" column we have to close it. Note that we could also do "comment and close" directly in GitHub. Which would make a "Archive" button like we see at 9
  • 9: To hide from view the task. Its useful so we can visualize what’s been done so far and discuss
  • whether or not we agree its completed.
  • 10: Each task can have labels with color codes
  • 11: We can link other GitHub repos (e.g. the home page repo) to the ops dashboard.
  • That way we can see tasks in other repos all in one place. We can recognize them by the small color code on the side of the card. We can refer to them by writing the GitHub issue notation. Note the "#12", it refers to "webplatform/www.webplatform.org#12" in GitHub link reference notation
  • 12: if a task cannot be done, we can flag it as "blocked", see the "x" on the side of the card

Access the Kanban dashboard

Building a salt master

The main component of WebPlatform infrastructure is a VM called salt answering from salt.webplatform.org which is used as a server to launch every maintenance task and also as a SSH jump box.

While the salt master is the most important component of WebPlatform’s infrastructure, the server is made in a way that we lose the server at any time and still be able to build a new one from scratch.

In order to achieve this, we scattered in specialized git repositories every bits and pieces that runs the system.

For more detail, refer to The Salt Master document in WebPlatform’s docs pages.

The salt-master folder of this repository contains the scripts to create it.

Review the salt-master code

Vagrant Workbench; a salt master state development sandbox

Our salt-states scripts supports deployment of the site without taking into account the live site.

While it spossible to work on any component of the site from the salt master, its preferable to be able to work on configuration scripts without any possibility to impact the live site.

Ideally, we should do development work either a staging environment (i.e. webplatformstaging.org) on an OpenStack project, or from a Vagrant VM.

The vagrant workbench AND vagrant minions allows you work on salt states within a set of Vagrant VMs.

With both repositories you get everything you need to have your own salt master, and an utility to add minions by editing entries in minions.yml.

Review the vagrant-workbench and vagrant-minions sub-projects.

ops's People

Contributors

renoirb avatar

Watchers

James Martignoni avatar

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.