
Early integration testing with environs framework (osc21)
Shareable scripting cross-product scenarios
Chaos Computer Club - archive feed · Andrii Nikitin
June 19, 202114m 56s
Audio is streamed directly from the publisher (cdn.media.ccc.de) as published in their RSS feed. Play Podcasts does not host this file. Rights-holders can request removal through the copyright & takedown page.
Show Notes
Do you know difference between starting mariadb vs postgres server as a regular user? Or apache vs nginx? Or maybe want to know specifics of working example of starting rsync server?
There is no difference and no specifics - just use generated start / status / stop scripts. And there is more: (spawn as many services as needed(\*), configure ssl for cluster, build services from source, ...) - without affecting your system(*).
environs framework suggests a universal approach for managing various services by generating bash wrappers, with following benefits:
- object oriented approach - it hides internal specifics of service handling and allows an easy way to review and tweak them;
- brief scripts for complex scenarios in complex topologies, without privileged access to the system;
- easy to compare behavior of verious topologies;
- demonstrate "how-to" behavior, share reproducible cross-product scripted scenarios in bug reports or TDD / BDD;
- no OS flavor limit - run everywhere where shell is(*);
- no extra dependencies - run in cloud, container, VM, CI or local machine.
The main goal behind environs framework it to cover early integration testing and provide a way to script and share cross-product behavioral scenarios without root access to the system. So far the framework includes scripting possibility for postgresql, apache, nginx, rsync , mariadb(*), openQA, MirrorBrain, MirrorCache, zypper.
Do you know difference between starting mariadb vs postgres server as a regular user? Or apache vs nginx? Or maybe want to know specifics of working example of starting rsync server?
There is no difference and no specifics - just use generated start / status / stop scripts. And there is more: (spawn as many services as needed(\*), configure ssl for cluster, build services from source, ...) - without affecting your system(*).
environs framework suggests a universal approach for managing various services by generating bash wrappers, with following benefits:
- object oriented approach - it hides internal specifics of service handling and allows an easy way to review and tweak them;
- brief scripts for complex scenarios in complex topologies, without privileged access to the system;
- easy to compare behavior of verious topologies;
- demonstrate "how-to" behavior, share reproducible cross-product scripted scenarios in bug reports or TDD / BDD;
- no OS flavor limit - run everywhere where shell is(*);
- no extra dependencies - run in cloud, container, VM, CI or local machine.
The main goal behind environs framework it to cover early integration testing and provide a way to script and share cross-product behavioral scenarios without root access to the system. So far the framework includes scripting possibility for postgresql, apache, nginx, rsync , mariadb(*), openQA, MirrorBrain, MirrorCache, zypper.
about this event: https://c3voc.de
Topics
oSVC2135502021Open Source