repository

Sparrow Repositories

Sparrow repositories store distributable Sparrow tasks packaged as plugins.

Repositories types

There are two types of repositories:

  • Remote

Http / Ftp / Rsync based repositories

  • Local

Local files system based repositories

Public http repository

http://repo.southcentralus.cloudapp.azure.com is a public repository with many Sparrow6 plugins.

Create repository

One need to create repository root directory:

repo_root=/var/repo
mkdir $repo_root

And then initialize the directory using Sparrow6 cli:

s6 --repo-init $repo_root

Then just checkout plugins source code from scm and upload to the repository:

git clone https://github.com/melezhik/sparrow-plugins

export SP6_REPO=file://$repo_root

cd sparrow-plugins

find -maxdepth 2 -mindepth 2 -name sparrow.json -execdir s6 --upload \;

The process of creation of remote repositories follows the same logic, with only difference that one need to maintain serving repository index and files through web/ftp/rsync server.

For example for http based repository one can choose nginx web server with root directory equal to repository root:

listen 192.168.0.1:80;

location / {
    root /var/repo/
}

To use remote repository simple set SP6_REPO variable:

export SP6_REPO=http://192.168.0.1

See also

Plugins

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.