innmind / genome
Tool to deploy projects and libraries on a machine
Requires
- php: ~7.4|~8.0
- innmind/cli-framework: ^1.2
- innmind/operating-system: ^2.1
Requires (Dev)
- innmind/black-box: ^4.9
- innmind/coding-standard: ^1.1
- nikic/php-parser: ~4.10
- phpunit/phpunit: ~9.0
- vimeo/psalm: ~4.4
This package is auto-updated.
Last update: 2024-11-20 18:33:00 UTC
README
Tool to facilitate the setup of machines.
The goal here is to provide a declarative way to setup machine without having to rely on config files that are not code. Here all the declaration is done via PHP so you can easily navigate from the declaration of a gene to the actual code being run.
Since it's standard PHP, you can easily require genes provided by other packages by requiring the packages via Composer. Look for the innmind/genome
virtual package on packagist for more genes.
Installation
composer global require innmind/genome
Usage
<?php # genome.php use Innmind\Genome\{ Genome, Gene, }; return new Genome( new Gene\PHP(7, 4), new Gene\Composer, Gene\ComposerPackage::global('innmind/installation-monitor'), );
genome express path/to/genome.php --host=ssh://user@machine/
This will load the genome specified above and will sequencely install php7.4
, composer
and the package innmind/silent-cartographer
as a global package.
You can omit the --host
option and the install will happen on the local machine.
You can use this tool to automate the bootstrap of machines.