Hermes v0.1.0
Hermes v0.1.0 is the first stable release of CloudPilot Hermes, a Kubernetes-native SOCI lazy-loading path that keeps application image references unchanged. Platform teams define HermesPolicy resources, Hermes builds and caches SOCI artifacts in the cluster, and node-side hermes-daemon uses those artifacts before falling back to the original registry path.
Highlights
- Adds the EKS deployment path used by the CloudPilot benchmark guide:
deploy/hermespolicy-crd.yaml,deploy/hermes-controller-eks.yaml, andhack/eks/install-hermes-daemon.sh. - Publishes the controller image to
public.ecr.aws/cloudpilotai/hermes-controllerwith the release tag andlatest. - Publishes the Linux amd64 daemon archive and checksum as GitHub Release assets.
- Adds startup-local materialization work for faster access to startup-critical files in large images.
- Updates Hermes documentation around policy-driven lazy loading, EKS usage, and benchmark results.
- Adds PR build coverage plus focused tests for SOCI index handling, policy matching, controller state, and daemon filesystem paths.
Release Artifacts
hermes-daemon-linux-amd64.tar.gzhermes-daemon-linux-amd64.tar.gz.sha256public.ecr.aws/cloudpilotai/hermes-controller:v0.1.0
Basic EKS Usage
Install the CRD and controller:
kubectl apply -f deploy/hermespolicy-crd.yaml
kubectl apply -f deploy/hermes-controller-eks.yaml
kubectl -n hermes-system rollout status deploy/hermes-controllerInstall the daemon on Hermes-enabled EKS nodes from this release:
export HERMES_INSTALLER_URL="https://raw.githubusercontent.com/cloudpilot-ai/hermes/v0.1.0/hack/eks/install-hermes-daemon.sh"
export HERMES_DAEMON_URL="https://github.com/cloudpilot-ai/hermes/releases/download/v0.1.0/hermes-daemon-linux-amd64.tar.gz"
export HERMES_DAEMON_SHA256="<contents of hermes-daemon-linux-amd64.tar.gz.sha256>"
curl -fsSL "${HERMES_INSTALLER_URL}" | \
HERMES_DAEMON_URL="${HERMES_DAEMON_URL}" \
HERMES_DAEMON_SHA256="${HERMES_DAEMON_SHA256}" \
bash -s --Create a policy for images that should be optimized:
apiVersion: hermes.cloudpilot.ai/v1alpha1
kind: HermesPolicy
metadata:
name: prod-large-images
spec:
paused: false
imageSelectors:
- imageRegex: ".*vllm.*"
platforms:
- linux/amd64HermesPolicy.status.images[].phase: Ready means the SOCI artifact has been built and cached. Later Pods using the same image digest and platform can start through Hermes lazy loading.
See the EKS benchmark guide for the full workflow: https://www.cloudpilot.ai/en/blog/hermes-fast-pod-ready-acceleration/
Changes Since v0.0.1-alpha.1
- #8 Add EKS deploying YAML.
- #9 Update the EKS controller manifest.
- #11 Update containerd security patch dependency.
- #12 Add PR build workflow.
- #13 and #15 Refresh README and benchmark documentation.
- #14 Generalize startup-local image startup acceleration.
Full Changelog: v0.0.1-alpha.1...v0.1.0