Solo Inside a Cluster Example
Example of how to deploy a Solo network within a Kubernetes cluster
Running Solo Inside Cluster Example
This example demonstrates how to run the Solo network inside a privileged Ubuntu pod in a Kubernetes cluster for end-to-end testing. It automates the setup of all required dependencies and configures the environment for Solo to run inside the cluster.
What it does
- Renders Kubernetes manifests for a ServiceAccount and a privileged Ubuntu pod using templates.
- Applies these manifests to your cluster using
kubectl
. - Waits for the pod to be ready, then copies and executes a setup script inside the pod.
- The setup script installs all required tools (kubectl, Docker, Helm, Node.js, etc.), installs the Solo CLI locally, and runs Solo commands to initialize and deploy a test network.
Usage
Install dependencies
Run the test
task
This will:
- Render and apply the ServiceAccount and Pod manifests
- Copy and execute the setup script inside the pod
- The pod will install all dependencies and use Solo to create a Hiero deployment
Clean up
- Run the cleanup task to delete the pod and ServiceAccount:
task cleanup
- Run the cleanup task to delete the pod and ServiceAccount:
Customization
- You can modify the templates in the
templates/
directory to change the pod configuration or ServiceAccount permissions. - Edit the setup script to adjust which Solo commands are run or which dependencies are installed.
Tasks
start
: Sets up and runs the Solo network inside a privileged pod for end-to-end testing.cleanup
: Deletes the privileged pod and ServiceAccount used for the test.