Shepherd functions as a specialized orchestration tool designed to streamline the provisioning of development platforms.
📌 Note: Should a bug be found and not expected to be related with known issues, one should feel encouraged to file a new issue.
Shepherd utilizes two types of images:
- Docker Images
- Environment Images
Classic stateless images containing executables.
Environment images capture a snapshot of a specific reference platform at a given point in time. These images are more comprehensive, including:
-
Database State: The complete state of the database is embedded within the environment image, allowing it to be immediately consumed by the corresponding database Docker image with no additional processing required.
-
Service Deployments: The snapshot can also include the deployment state of services which are ready for immediate use upon consumption.
Once an environment image is pulled and imported into shepherd, the corresponding environment state will evolve privately.
- Linux
- Debian derived
Set the VER environment variable to specify the desired version of the tool:
VER=0.0.0 sh -c "$(curl -sfL https://raw.githubusercontent.com/MoonyFringers/shepherd/main/scripts/install.sh)"For advanced installation options and customization, refer to the installation guide.
An environment image is typically created once, then pushed to the registry, where it can be pulled and consumed countless times by any developer. This ensures uniformity across different instances and reduces setup time.
Refer to documentation for Consuming Environment Images.
For creating, maintaining and pushing environment images to the registry refer to Authoring Environment Images.
Refer to the specific documentation for the currently supported commands and options of shepctl.
See our development documentation.