repositor.io is a tool to create and manage linux repositories. You can mirror online repositories so that you don't need to download the package every time you set up a new server. You can also secure your servers behind a firewall and disable outgoing http traffic.
With repositor.io it is easy to create custom repositories for your own packages. With the integration of a configuration management tool you can create consistant installations of your server.
Web Site: http://repositor.io/
IRC: irc.freenode.net #rex (RexOps IRC Channel)
Bug Tracker: https://github.com/RexOps/repositorio/issues
Twitter: http://twitter.com/RexOps
To configure repositor.io create a configuration file /etc/rex/repositorio.conf. RepositoryRoot = /srv/html/repo/
# log4perl configuration file <Log4perl> config = /etc/rex/io/log4perl.conf </Log4perl> # create a mirror of the nightly rex repository # the files will be stored in # /srv/html/repo/head/rex-centos-6-x86-64/CentOS/6/rex/x86_64/ <Repository rex-centos-6-x86-64> url = http://nightly.rex.linux-files.org/CentOS/6/rex/x86_64/ local = rex-centos-6-x86-64/CentOS/6/rex/x86_64/ type = Yum </Repository> # create a mirror of centos 6 # and download the pxe boot files, too. <Repository centos-6-x86-64> url = http://ftp.hosteurope.de/mirror/centos.org/6/os/x86_64/ local = centos-6-x86-64/CentOS/6/os/x86_64/ type = Yum images = true </Repository> # create a custom repository <Repository centos-6-x86-64-mixed> local = centos-6-x86-64-mixed/mixed/6/x86_64/ type = Yum </Repository>
If you want to sign your custom repositories you have to configure the gpg key to use. repositorio automatically exports the public key into the root of the repository, so it can be imported from the clients. If you don't specify the gpg password repositorio will ask you for the password.
An example for YUM repositories:
<Repository centos-6-x86-64-mixed> local = centos-6-x86-64-mixed/mixed/6/x86_64/ type = Yum <gpg> key = DA95F273 password = test </gpg> </Repository>
An example for APT repositories:
<Repository debian-7-x86-64-mixed> local = debian-7-x86-64-mixed/debian type = Apt arch = amd64 dist = wheezy component = mixed <gpg> key = DA95F273 password = test </gpg> </Repository>
An example log4perl.conf file:
log4perl.rootLogger = DEBUG, FileAppndr1 log4perl.appender.FileAppndr1 = Log::Log4perl::Appender::File log4perl.appender.FileAppndr1.filename = /var/log/repositorio.log log4perl.appender.FileAppndr1.layout = Log::Log4perl::Layout::SimpleLayout
To install Rex::Repositorio, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Rex::Repositorio
CPAN shell
perl -MCPAN -e shell install Rex::Repositorio
For more information on module installation, please visit the detailed CPAN module installation guide.