Giter Site home page Giter Site logo

mass's Introduction

Mass

has been replaced by DevOpsDream. This repo remains solely for legacy work-flows.

Mass is a modularised tool for managing several nodes of a cluster. Open individual SSH terminals to specific groups of nodes of your cluster, a single node, or the whole lot. Do the same with ClusterSSH or virtual terminals in screen. Upload a file to each node or dowload a file from each, prefixed with the hostname. Run a command to conquer the world... or conduct that essential maintenance. Essentially your nodes are one RegEx away.

Now, that's what was significant to me. It turns out though that a lot of people find it really useful as a tool for looking up servers.

Driving it all is a full programming language that is very different to anything I've seen before. I'm building it to scratch a very specific itch and I doubt the full picture it will be useful to many people. In fact, most of it isn't in the public repo yet. However the foundations, which are already released, are really useful for Sysadmin tasks as described above.

This is a tiny percentage of the final vision, so there's a lot more to come!

Requirements

  • PHP
  • Bash

Install

export extraSrc="https://github.com/ksandom/mass.git"; curl https://raw.githubusercontent.com/ksandom/achel/master/supplimentary/misc/webInstall | bash

See docs/install.md for more information.

Important updates

  • Mass has undergone significant refactoring. You can now install it using the one-liner below. More info.

As a general rule, when ever you update, you should re-run install.sh to apply any structural changes as the internals are regularly being refactored.

Contributing

  • If there's something you want mass to do that it doesn't currently, take a look at the "creatingA" series in the documentation. It would be lovely if you can contribute is back.
  • There are TODO's floating around the documentation that need to be filled in. Filling these in would be very helpful.
  • There are # TODO's floating around in the code. There are going to be a few which I'll reserve for me. Typically I only do this if I've planned something else based on how that thing gets done.

The bottom line is, I wrote this tool because it's useful to me. If it's useful to you and you have something to contribute, it would be lovely for you to put it forward.

To submit it, create a pull request to the development branch. Make sure to include in the description

  • What you are trying to achieve.
  • Any relevant information that can help me test before and after that your code does what you are trying to achieve.

History

I've written a version of this tool at every company I've worked at since 2007 and it's always been a big hit. In each case it was very specific to the architecture of the given place, so it wasn't very portable.

This time I've developed it entirely in my own time, which means I can take the time to do it right and I can share it and take it with me. Phase 1, which is available now is maturing and ready for public use.

A month or so in to development, it became apparent that this would be a fantastic set of foundations for a concept I came up with in late 2000/early 2001. This is phase 2. It doesn't replace anything, it simply adds a whole lot. Therefore you don't have to worry about any macros you create becoming obsolete because of it. More on this in due time. ;)

mass's People

Contributors

ksandom avatar orthographic-pedant avatar

Stargazers

Piotr Mazurek avatar Stig Kleppe-Jørgensen avatar alessio avatar  avatar Francesc Rosas avatar Lukasz Raczylo avatar  avatar

Watchers

Stig Kleppe-Jørgensen avatar Julien DA SILVA avatar  avatar James Cloos avatar  avatar

mass's Issues

Add OAuth integration.

This is well under way at the moment and so is only here for completeness. I'll add more details as it becomes relevant.

create: manageMass dumpHome for bug reporting

  1. Backup previous ~/.mass state on install.

  2. Create manageMass dumpHome to dump ~/.mass or /etc/mass without credentials to a tar file to aid in debugging when users get weird behavior.

  3. Create --dumpHome macro that can be called instead. This can be appended to a command that is failing so the state of mass at that moment can be included in the dump.

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.