plugins

Plugins

Sparrow plugins are distributable tasks.

Users upload plugins to repositories

To use plugins one need to define SP6_REPO environmental variable pointing to certain repository.

For example:

export SP6_REPO=http://192.168.0.1 # http based repository

export SP6_REPO=https://192.168.0.1 # https based repository

export SP6_REPO=ftp://192.168.0.1 # ftp based repository

export SP6_REPO=file:///var/repo # local repository

Upload plugin to repository

Once task is created

one need to create plugin meta file and then upload plugin to repository using Sparrow6 cli

Plugin meta file

sparrow.json is a special file containing all the information required for plugin to be uploaded to repository.

sparrow.json to be placed in the Sparrow6 task root directory, for example:

{
    "name": "hello-world",
    "version": "0.1.0",
    "description" : "my very first Sparrow6 plugin",
    "url" : "https://github.com/melezhik/hello-world",
}

Plugin meta file structure

  • name - plugin name.

Only symbols `a-zA-Z1-9_-.' are allowable in plugin name. This parameter is obligatory, no default value.

  • version - plugin version

This parameter is obligatory and should be defined in format of Perl5 version strings

  • description - a short description of a plugin.

This parameter is optional, but recommended.

  • url - plugin web site http URL

This parameter is optional and could be useful when one need to refer to plugin documentation site.

Upload plugin

Go to directory with plugin source code and run Sparrow6 cli:

s6 --upload

That's it! Plugin is ready to use:

s6 --index-update
s6 --install hello-world
s6 --plg-run hello-world

Note that plugin upload operation is only available for local repositories. One can't upload plugins to remotely.

Troubleshooting plugin upload

Adding --debug flag will print more low level information to console when uploading plugin

See also

Repositories

Author

Alexey Melezhik

Thanks to

God as the One Who inspires me in my life!

Sparrow6 v0.0.33

Sparrow is a Raku based automation framework

Authors

  • Alexey Melezhik

License

Artistic-2.0

Dependencies

File::Directory::TreeHash::Merge:ver<1.0.0>YAMLishJSON::TinyData::DumpColorizable

Test Dependencies

Provides

  • Sparrow6
  • Sparrow6::Common::Config
  • Sparrow6::Common::Helpers
  • Sparrow6::DSL
  • Sparrow6::DSL::Assert
  • Sparrow6::DSL::Bash
  • Sparrow6::DSL::CPAN::Package
  • Sparrow6::DSL::Common
  • Sparrow6::DSL::Directory
  • Sparrow6::DSL::File
  • Sparrow6::DSL::Git
  • Sparrow6::DSL::Group
  • Sparrow6::DSL::Package
  • Sparrow6::DSL::Service
  • Sparrow6::DSL::Ssh
  • Sparrow6::DSL::Systemd
  • Sparrow6::DSL::Template
  • Sparrow6::DSL::User
  • Sparrow6::DSL::Zef
  • Sparrow6::RakuTask
  • Sparrow6::SparrowTask
  • Sparrow6::Task
  • Sparrow6::Task::Check
  • Sparrow6::Task::Check::Context
  • Sparrow6::Task::Check::Context::Common
  • Sparrow6::Task::Repository
  • Sparrow6::Task::Repository::Helpers::Common
  • Sparrow6::Task::Repository::Helpers::Index
  • Sparrow6::Task::Repository::Helpers::Init
  • Sparrow6::Task::Repository::Helpers::Plugin
  • Sparrow6::Task::Runner
  • Sparrow6::Task::Runner::Helpers::Bash
  • Sparrow6::Task::Runner::Helpers::Check
  • Sparrow6::Task::Runner::Helpers::Common
  • Sparrow6::Task::Runner::Helpers::Perl
  • Sparrow6::Task::Runner::Helpers::Perl6
  • Sparrow6::Task::Runner::Helpers::Powershell
  • Sparrow6::Task::Runner::Helpers::Python
  • Sparrow6::Task::Runner::Helpers::Ruby
  • Sparrow6::Task::Runner::Helpers::Test

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.