Blast-Radius Aware AI Code Review for Business-Critical Systems
LiveReview LiveReview Explore LiveReview

Boxer - system deployment ninja tricks

Author

       Jonas Smedegaard "<dr@jones.dk>".

Bugs

       Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Boxer>.

Description

       Framework for system deployment ninja tricks.

       See boxer for further information.

Disclaimer Of Warranties

       THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT
       LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.

perl v5.38.2                                       2024-03-24                                         Boxer(3pm)

Name

       Boxer - system deployment ninja tricks

See Also

       Debian Installer <https://www.debian.org/devel/debian-installer/>, tasksel
       <https://www.debian.org/doc/manuals/debian-faq/ch-pkgtools.en.html#s-tasksel>, debconf preseeding
       <https://wiki.debian.org/DebianInstaller/Preseed>, Hands-off <http://hands.com/d-i/>

       Debian Pure Blends <https://wiki.debian.org/DebianPureBlends>

       Footprintless

       FAI class system <https://fai-project.org/fai-guide/#defining%20classes>

       Elbe commands <https://elbe-rfs.org/docs/sphinx/elbe.html>

       isar <https://github.com/ilbers/isar>

       Debathena config-package-dev <https://debathena.mit.edu/config-packages/>

       germinate <https://wiki.ubuntu.com/Germinate>

       <https://freedombox.org/>, <https://solidbox.org/>, <https://wiki.debian.org/Design>,
       <https://wiki.debian.org/DebianParl>, <http://box.redpill.dk/>

Synopsis

           use Boxer;

           my $domain = Boxer->get_world('Reclass')->new( suite => 'stretch', data => 'examples' );
           say $domain->list_parts();

           my $goal = $domain->get_part('lxp5');
           my $plan = $domain->map( $goal, 1 );
           $plan->as_file( Boxer::File::WithSkeleton->new( basename => 'preseed.cfg' ) );

           my $serializer = Boxer::File::WithSkeleton->new( skeleton => 'script.sh.in' );
           $plan->as_file( $serializer->file( 'script.sh', 1 ) );

           my $anothergoal = $domain->get_part('parl-greens');
           my $anotherplan = $domain->map($anothergoal);
           $anotherplan->as_file( $serializer->file( 'parl-greens.sh', 1 ) );

           my $newdomain = Boxer->get_world()->new( suite => 'buster', data => 'examples' );
           my $plan_a    = $newdomain->map($goal);
           $plan_a->as_file( Boxer::File::WithSkeleton->new( basename => 'preseed_pure.cfg' ) );

Version

       Version v1.4.3

See Also