DEV Community

Cover image for Sparrowhub.io - repository of devops and automation utilities
Alexey Melezhik
Alexey Melezhik

Posted on

Sparrowhub.io - repository of devops and automation utilities

Sparrowhub.io is a repository of automation utilities for the whole range of tasks:

  • git automation
  • cloud automation (Azure/Aws)
  • yaml/json linters
  • configuration management
  • testing
  • scripting and gluing

Quick start

The process of start using Sparrowhub.io is very straightforward:

Install Raku

Sparrowhub.io is built on Raku, so one need to install Raku language first.

Install Sparrowhub.io client

Sparrowhub.io command line client - Sparrow is installed as a Raku module:

$ zef install --/test Sparrow6

Setup a repository

By default Sparrow is set to use a local file repository so one need to point the Sparrowhub.io repo, so that Sparrow could look up a dependecies there:

$ export SP6_REPO=http://sparrowhub.io/repo && sp6 --index-update

Find a plugin and run it

So far Sparrowhub.io contains more then 190 plugin - small reusable scripts written on many languages. To find a plugin you need just run a search through a Sparrow client:

$ s6 --search /pattern/

Once you find a plugin, just run it. For example, to delete old git branch both local and remote version you could run this:

$ s6 --plg-run git-branch-delete@branch=old_branch

Some plugins only make a sense when run as Raku functions. This piece of Raku code uses a git-current-branch plugin to calculate a name of a current branch and then to do something about it:

   use Sparrow6::DSL;
   my %state = task-run "current branch", "git-current-branch"; 
   say %state<branch>;
Enter fullscreen mode Exit fullscreen mode

So this is how one can build high level scenarios from small Sparrow plugins.

Sparrowhub.io philosophy is to build something big quickly out of ready building blocks.

You can even use a Tomtit - Sparrow based task runner for better convenience.

More reading

Checkout Sparrowhub.io repository to search for plugins and get the latest project updates.


Best regards

Aleksei

Discussion (0)