DOCUMENTATION / GET STARTED
Get SIC running
without surprises.
Use this checklist to prepare the cluster and review the sample configuration. The repository's deployment manifest is a starting point, not a turnkey production installer.
01 / PREPARE
Prerequisites
- A Kubernetes cluster with containerd on the target nodes.
- Permission to deploy a DaemonSet, create a TLS Secret, and configure node-level containerd registry hosts.
- A trusted CA and certificates for SIC peers and containerd clients.
- A storage location for SIC's independent content cache.
- A deliberate policy for which clients and registries may access cached content.
02 / SECURITY
Prepare TLS
The sample DaemonSet expects a Secret named steady-image-cache-tls with tls.crt, tls.key, and ca.crt. The certificate must satisfy all three use cases:
- Peers verify the DNS SAN configured by
SIC_TLS_SERVER_NAME(defaultsteady-image-cache). - The same SIC certificate is used as a peer client certificate, so it must permit client authentication as well as server authentication.
- The sample
hosts.tomlconnects tohttps://127.0.0.1:5000, so the server certificate needs the IP SAN127.0.0.1.
See the repository's detailed TLS and certificate guide before creating the Secret. Use your organization's PKI for production; do not reuse a throwaway development CA.
03 / CONTAINERD
Configure the registry mirror
Review deploy/containerd/hosts.toml and install it as the appropriate containerd registry host configuration on each node. Adjust certificate paths and registry scope for your environment.
imagePullPolicy: IfNotPresent, pin the image to a release tag or digest, and pre-pull/bake it into the node image before installing a mirror configuration that would route SIC's own image back through SIC.04 / DEPLOY
Configure and deploy the DaemonSet
- Review
deploy/daemonset.yamland replace the branch image with a pinned release tag or immutable image digest. - Create the TLS Secret in the namespace used by the manifest.
- Choose the cache directory and free-space reserve. Review node disk pressure and eviction thresholds.
- Decide whether upstream fallback is needed. It is disabled by default; if enabled, set
SIC_UPSTREAM_REGISTRIESto an explicit allow-list. - Apply the manifest only after the containerd mirror and bootstrap path have been planned for your nodes.
Repository checkout
git clone https://github.com/SteadyInfraTech/steady-image-cache.git
cd steady-image-cache
# Review deploy/daemonset.yaml and deploy/containerd/hosts.toml
# Configure TLS, image pinning, and node bootstrap before applying.05 / VERIFY
Verify operation
- Confirm SIC pods are ready on intended nodes.
- Check the local health endpoint and Prometheus metrics endpoint through the configured admin listener.
- Pull an image and verify a second node can reuse content from a peer.
- Test peer unavailability and upstream-disabled behavior in a controlled environment.
- Observe cache bytes, eviction, disk-full, corrupt-blob, and stream-abort metrics while testing failures.
- Confirm the node can recover after SIC pod restart and that the image bootstrap path remains available.
Before production use, exercise the install and recovery flow on a disposable two-node cluster. Follow operations and security guidance for failure cases and metrics.