Yggdrasil is a script used to manage the various containers as mentioned above, allowing several actions to be carried out.
Some options I've written to make the framework easier to use, in fact I've made autocompletion available on commands that are managed directly by Yggdrasil, but you can see the function quickly in the demo part I've made
I've also provided a certain ease of use on the exec part, so you can call all the tools available without having to specify the container or service in which the tool is located. If the container is up, it will execute your command, otherwise you'll get a message warning you that the container isn't running.
Help
Show help, including feasible standard commands
./Yggdrasil.shhelp
About
Display the logo, the nickname of the guy who wrote this thing and his contact details.
It's useless, so it's essential
./Yggdrasil.shabout
Start
This function starts the containers of the specified services
Services can be specified individually or by using the keyword "all" to start all docker images.
If no images are present, it will download them directly from the docker-hub in question
./Yggdrasil.shstart<services>
It is also possible to start several specific containers at the same time. You just need to specify the services one after the other.
./Yggdrasil.shstart<service1><service2>...
Stop
This function stops Docker containers for the services specified as arguments.
Services can be specified individually or by using the keyword "all" to stop all services.
./Yggdrasil.shstop<services>
It is also possible to stop several specific containers at the same time. You just need to specify the services one after the other.
./Yggdrasil.shstop<service1><service2>...
Build
This function builds Docker images for the services specified as arguments.
Services can be specified individually or by using the keyword "all" to build all docker images.
This allows you not to download images directly from the docker-hub, but to build them locally on your machine.
./Yggdrasil.shbuild<services>
It is also possible to build several specific containers at the same time. You just need to specify the services one after the other.
./Yggdrasil.shbuild<service1><service2>...
Stoprm
This function stops and deletes the Docker container for the service specified in the argument.
A warning is displayed to confirm the deletion, as this will result in the loss of all container data, with the exception of shared volumes.
./Yggdrasil.shstoprm<services>
Status
This function displays the status of the Docker container for the service specified in the argument.
It displays the list of containers corresponding to the service and the list of Docker images used by the application.
./Yggdrasil.shstatus
List
List the tools with a short description, all by service
./Yggdrasil.shlist<services>
Exec
This function executes a command inside a container. It supports a number of specific tools, whose associations are defined in the file "tool_mappings.txt".
./Yggdrasil.shexec<tool>
Manexec
Executes a command inside a specified Docker container
./Yggdrasil.shmanexec<services><tool>
Enter
This function interacts with a specific Docker container by launching an interactive shell inside the container.
./Yggdrasil.shenter<services>
Record
Starts terminal recording including command output with syntax highlighting. to stop it, just press CTRL+D
./Yggdrasil.shrecord
Extract
This function extracts data from a container in a local directory using the command
./Yggdrasil.shextract<services>
Remove
This function deletes the container of a specified service
./Yggdrasil.shremove<services>
Remove-image
This function deletes the image of a specified service.
The service name must be passed as an argument. If the service name is "all", it deletes all Yggdrasil images.