Cover photo
Jan Gehring
Works at inovex


Jan Gehring

Shared publicly  - 
Hi all,

we've just released Rex 1.1.0. This releases comes with a new pluggable shell detection. This made initial iDrac-over-SSH support possible, and opened up the way for further exotic shells to be included later.

There are also many bugfixes and smaller enhancements. For a list of all changes see below. For a more detailed overview please see the release notes on

These are the changes:

  * Fix dependencies for openssh + pass_auth - Ferenc Erki
  * prevent faulty debug message - Jan
  * fixed merge_auth() method for #615 -Jan
  * Update task tests (fix #614) - Jan
  * Recognize usable SSH modules separately - Ferenc Erki
  * Describe platform-specific dependencies - Ferenc Erki
  * Only check for iDrac signature if there was an output - Ferenc Erki
  * added a prototype, this will prevent failures like RexOps/Rex#584 - references: RexOps/Rex#608 - Jan
  * we need to do an explicit return undef. if we only use 'return' and the return of is_file/is_dir is passed to an array, 
    this will not appear in the array. reference: RexOps/Rex#608 - Jan
  * updated tests to use is() instead of ok(). reference: RexOps/Rex#608 - Jan
  * changed return code to undef if file/dir not found. fix for RexOps/Rex#608 - Jan
  * Add initial iDrac shell support - Ferenc Erki
  * Allow can_run method to accept command to do the check with - Jan
  * Check if a command can be run before its execution (fix #514) - Ferenc Erki
  * Refactor can_run - Ferenc Erki
  * Support can_run command on Windows - Ferenc Erki
  * Move can_run to Rex::Interface::Exec - Ferenc Erki
  * Add can_run tests - Ferenc Erki
  * Create target directory before extracting an archive (fix #600, close #604) - Arnold Bechtoldt
  * Update POD (close #598) - Ferenc Erki
  * added a Rex::Logger::masq() function that can masq sensitiv data for logging output. (fix for RexOps/Rex#554) - Jan
  * added code to make shells pluggable. - RexOps/Rex#602 - Jan
  * Avoid noisy test output - Ferenc Erki
  * added support to export resources to main namespace and added more events - Jan
  * added possibility to use auth(for => task) before a task is created - fixed #402 - Jan
  * Fix handling of symbolic links (fix #591, close #592) - Jan
  * this adds a new method to the server objects called group() - Jan
  * fixed setting of path environment variable - #583 - Jan
  * Add preferred type option for mount command (fix #469) - Ferenc Erki
  * Reword has_{dir,file} test outputs - Ferenc Erki
  * Add has_dir test - Ferenc Erki
  * Print explicit PASS or FAIL output upon finishing a test suite - Ferenc Erki
  * Fix has_stat test for non-existing UIDs and GIDs - Ferenc Erki
  * Allow has_stat test to handle directories (fix #582) - Ferenc Erki
  * Add diag method for Rex::Test::Base - Ferenc Erki
  * Ensure proper return values for is_{dir,file} functions (fix #584) - Ferenc Erki
  * Drop potentially dangerous --force-yes option (fix #559) - Ferenc Erki
  * Generate docs for Rex::Test (fix #483) - Ferenc Erki

Have a lot of fun!

The Rex Team

#rexops   #perl   #devops   #linux   #cfgmgmt  
(R)?ex - manage all your boxes from a central point - Datacenter Automation and Configuration Management
Add a comment...
Many thanks to Andrew Beverley for the Rex talk at #flossuk  You'll find his slides on slideshare. #rexops   #devops  
An introduction to Rex automation and orchestration. Presentation given at FLOSS UK DevOps York 2015. Get a general overview of Rex and find out why I like to use it.
Nils Domrose's profile photo
Add a comment...

Jan Gehring

Shared publicly  - 
Sascha Askani's profile photoJumpin Banana's profile photoThorsten Egolf's profile photo
Der Tod hat Ihn sicherlich in seiner Scheibenwelt erwartet. Er wird eine gute Zeit mit ihm haben.
 ·  Translate
Add a comment...

Jan Gehring

Shared publicly  - 
Hi all,

today we are proud to announce the first major version of Rex. Today we release Rex 1.0.0.

We want to thank every contributor that made this first major release possible.
Rex 1.0 will be a LTS release, which means that it will get support from the community until march 2017.

Rex is a project completely driven by volunteers and without all the support from the community by using it, sending bug reports and feature requests and submitting patches it wouldn't be the great project it is. So many thanks to all of you. If you want to help developing Rex and become part of the core team, feel free to contact us on irc ( / #rex).

Below you see the changes in the 1.0.0 release:

You'll find the release notes with examples on:

Have a good day and a lot of fun,

The Rex Team.

* Remove hardcoded connection type (fix #579) - Ferenc Erki
* fixed systemd status query - Jan
* test output of tmpdir gathering before working with it. - Jan
* fixed removing some tmp files - Jan
* fixed some warnings for netstat listing if reading an unknown transport layer - Jan
* added no_autodie feature flag - Jan
* fixed is_file() for files with spaces - Jan
* Fix POD - Ferenc Erki
* don't redirect stdout 2 times. freebsd don't like it - Jan
* added tty feature flag and sorted the flags - Jan
* added some defaults for kvm boxes (network) - Jan
* fixed autodie bug for is_symlink function - Jan
* added reconnect tries to Net::OpenSSH connections - Jan
* Allow spaces in Augeas values - Andrew Beverley
* Warn if Augeas command fails - Andrew Beverley
* fixed a problem if a server group was empty - Jan
* dist.ini: Add Twitter and IRC links to metaresources block - Brian Manning
* Rex::Commands::MD5: Make Rex use the /sbin/md5 binary on OS X - Brian Manning
* Rex::Commands::User: fix typo in POD (user_group -> user_groups) - Brian Manning
* Rex::Helper:Run->i_run: check no_path_cleanup before calling get_path - Brian Manning
* stop 'profile' before returning from a subroutine. - Andrej Zverev
* Speed up connecting to Boxes - Ferenc Erki
* allow call of run() command with arrayRef - Jan
* fixed sync_up/sync_down with Text::Glob - Jan
* fixed authentication, failing if try password auth without mentioning pass_auth directly - Jan
* fixed line endings with openssh and pty - Jan
* Added possibility to use group() also as a resource function - Jan
* added possibility to define task parameters multiple times from cli. - #516 - Jan
* fixed windows tests - #514 - Jan
* fixed #555 - default for Net::OpenSSH now also spawn a pty. Can be disabled with feature no_tty - Jan
* Die if trying to run augeas without augtool installed (close #547) - Andrew Beverley
* Skip db tests if there are missing dependencies (fix #548, close #549) - Volker Kroll (vkroll)
* Restore perl-5.8.9 compatibility - Ferenc Erki
* Add test for minimum perl version required - Ferenc Erki
* Be more explicit about required perl version - Ferenc Erki
* Stop append_or_amend_line inserting extra blank lines - Andrew Beverley
* Add tests for append_or_amend_line - Andrew Beverley
* fixed Rex::Box with Net::OpenSSH - Jan
* rex/ update docs for Rex options - Brian Manning
* throw error if -T used with task arg, but no matching task found - Brian Manning
* fixed #539 - detect primary network address - Jan
* Add append_or_amend_line function to File command - Andrew Beverley
* Drop Rex::Helper::Glob - Ferenc Erki
* Suppress noisy test output - Ferenc Erki
* Suppress warning about a variable being used only once - Ferenc Erki
* Tidy up all the tests - Ferenc Erki
* Use more helpful test functions - Ferenc Erki
* use more appropriate functions from Test::More in tests - reneeb
* some class inherit cleanup - Jan
* Use correct path when using augeas insert - Andrew Beverley
* Return correct output from augtool - Andrew Beverley
* Fix false positive when using "augeas exists" - Andrew Beverley
* Optimise Rex::Commands::Augeas - Andrew Beverley
* Add user base class for those calls not supported in all OS - Andrew Beverley
* Add password lock/unlock functions (Linux only) - Andrew Beverley
* fixed resource end - Jan
* Add PkgConf command to configure packages - Andrew Beverley
* fixed set_openssh_opt() function to allow multiple options - Jan
* fixed #527 - Rex::Output leaks semaphores and shared memory - Jan
* improved continous_read option for Net::SSH2 connection mode - Jan
* tail now also works with sudo also fixed #530 - Jan
* use Net::OpenSSH is now default. don't need feature flag 0.55 - Jan
* fixed line based operation with OpenSSH connection mode - Jan
* migrated augeas module into Rex core - #532 - Jan
* added partial sudo support for rsync command - Jan
* fixed #529 - odd number of elements - Jan
* fixed #528 -Amazon list_services, doesn't get all ec2 instances - thanks to David Golovan - Jan
* fixed an issue that causes the parser to think the rexfile has an error - Jan
* start of unit-test for Rex::Commands::DB - Volker Kroll (vkroll)
* better fix for #521, don't print all servers by rex -T. Also fixed group authentication. - Jan
* patch from twitter/@tekcurmudgeon to allow setting of gpgkey for a repository - Jan
* fixed late group lookup - #521 - Jan
* if the evaluation of the Rexfile was without syntax errors, but don't return a true value, try to evaluate it manually. so is is not needed to return a true value at the end. - fix for #513 - Jan
* fixed path resolution for private_key and public_key when used a ~ (tilde) sign. #517 - Jan
* fix rsync with port definition - #520 - Jan
* added parse_templates option to sync_up function, so that template parsing can be prevented - #519 - Jan
* Rex::FS::File accepts filenames now - reneeb
* Add initial version of changelog generator - Ferenc Erki

#rexops   #perl   #devops   #cfgmgmt   #linux  
(R)?ex - manage all your boxes from a central point - Datacenter Automation and Configuration Management
Lukas Hampe's profile photoinovex GmbH's profile photo
Add a comment...

Jan Gehring

Shared publicly  - 
Many thanks to Juergen.
i also added it to the website for those who don't want to setup everything manually :)
jbrunk/repositorio-docker - A sample Docker Container to run a private Docker Registry with

Run your private Docker Hub just with:

# docker run -d -p 3000:3000 jbrunk/repositorio-docker

See also:

#dockerio   #repositorio
jbrunk/repositorio-docker: A sample Container to run a private Docker Registry with
View original post
Add a comment...

Jan Gehring

Shared publicly  - 
Today we released 0.5.0. This release brings some feedback on the screen while it is mirroring repositories.

#rexops   #linux - Manage your package repositories the easy way.
Add a comment...
In his circles
177 people
Have him in circles
266 people
Naveed M's profile photo
sandy lee's profile photo
Collin Rogowski's profile photo
Hardik Mehta's profile photo
Tobias Bayer's profile photo
der poeck's profile photo
Klaus Schleicher's profile photo
Joshua Thompson's profile photo
Andy Muthmann's profile photo

Jan Gehring

Shared publicly  - now has a new webpage - check it out #rexops - Manage your package repositories the easy way.
Jürgen Brunk's profile photoSascha Askani's profile photo
Add a comment...
Mein heutiger Brownbag Vortrag über das managen von APT und YUM Repositories mit ist online. Die Slides stehen zum download bereit:

 ·  Translate
4 comments on original post
Add a comment...

Jan Gehring

Shared publicly  - 
Jumpin Banana's profile photo
Habe das Heute auch schon gelesen. Habe selbst noch nie mongodb verwendet aber Kollegen schon. Die raufen sich die Haare.
 ·  Translate
Add a comment...

Jan Gehring

Shared publicly  - 
"Außenpolitisch scheint man uns nicht ernst zu nehmen", beklagt EU-Kommissionspräsident Juncker. Als Gegenmittel sieht er europäische Streitkräfte.  ...
 ·  Translate
Add a comment...

Jan Gehring

Shared publicly  - 
Many people seem intimidated by Perl 6 because it's so complicated. However, a car can seem complicated if it's explained by a race car enthusiast, but most of us just get in and drive. In reality, Perl 6 isn't that hard and helps to avoid one of the largest class of errors that many programs have: passing data between functions. In the long run, I suspect that Perl 6, given that it runs on the JVM, might become increasingly popular with enterpri...
Add a comment...
In his circles
177 people
Have him in circles
266 people
Naveed M's profile photo
sandy lee's profile photo
Collin Rogowski's profile photo
Hardik Mehta's profile photo
Tobias Bayer's profile photo
der poeck's profile photo
Klaus Schleicher's profile photo
Joshua Thompson's profile photo
Andy Muthmann's profile photo
Linux Systems Architect
  • inovex
    Systems Engineer/Architect, 2008 - present
    Developer, 2001 - 2008
Other profiles
Contributor to
Linux and Perl enthusiast
Basic Information