Skip to content

Instantly share code, notes, and snippets.

View ferki's full-sized avatar
🆓
I accept new customers

Ferenc Erki ferki

🆓
I accept new customers
View GitHub Profile
@ferki
ferki / Rexfile
Created October 9, 2020 22:05
Rex and Secret::Store
use Rex;
use Secret::Store;
my $store = Secret::Store->new( backend => 'pass' );
sudo_password $store->get('sudo/username');
task 'whoami' => sub {
sudo TRUE;
say run 'whoami';
@ferki
ferki / Rex-Hook-File-Impostor-is-published.md
Last active September 30, 2020 05:40
Rex::Hook::File::Impostor POD preview
@ferki
ferki / Secret-Store.pod
Last active September 30, 2020 05:35
Secret::Store POD preview

NAME

Secret::Store - A module to interact with secret stores

@ferki
ferki / Rexfile
Created May 23, 2020 13:20
collect task results to display after the task
use strict;
use warnings;
use Rex -feature => [ '1.4', 'exec_autodie' ];
use Data::Printer;
BEGIN {
use Rex::Shared::Var;
share qw(%results_for);
}
@ferki
ferki / Rexfile
Last active March 28, 2020 17:50
file encoding issue RexOps/Rex#1274
use Rex;
task 'files', sub {
# utf8 disabled
say 'disabling utf8 pragma';
no utf8;
my $file = '/tmp/test';
file $file, content => 'Daniel Böhmer';
@ferki
ferki / Rex::Hook::File::Diff.pm
Created January 27, 2020 17:59
Show diff of file changes during a Rex run
package Rex::Hook::File::Diff;
use strict;
use warnings;
use Rex -base;
use Rex::Hook;
use Text::Diff;
@ferki
ferki / Rexfile
Created January 26, 2020 22:15
Parallel task execution with Rex
use strict;
use warnings;
use Rex -feature => [ '1.4', 'exec_autodie' ];
use Parallel::Subs;
use Parallel::Forker;
desc 'Sleep for some time';
task 'rexsleep', sub {
my $params = shift;
@ferki
ferki / Rexfile
Last active February 27, 2023 22:53
rex sudo pass
use strict;
use warnings;
use Rex -feature => [ '1.4', 'exec_autodie' ];
sudo_password get_password('path/to/sudo/password/in/pass');
user 'myuser';
task 'a' => sub {
say run 'whoami'; # should be myuser
@ferki
ferki / Rexfile
Created August 26, 2019 18:18
Rex+inotify
use strict;
use warnings;
use Rex -feature => [ '1.4', 'exec_autodie' ];
use Linux::Inotify2;
use File::Basename qw(dirname);
use Time::HiRes qw(time tv_interval);
use DDP;
my $inotify = Linux::Inotify2->new();
@ferki
ferki / Rexfile
Created August 22, 2019 17:04
Rex+MQTT
use strict;
use warnings;
use Rex -feature => [ '1.4', 'exec_autodie' ];
use Net::MQTT::Simple;
use Time::HiRes qw(time);
no_ssh task 'agent', sub {
my $mqtt = Net::MQTT::Simple->new('localhost');
$mqtt->run(