Caution
This repository is marked EXPERIMENTAL. It demonstrates only a Proof of Concept. Contents may be altered at any time.
Please refer to exploration document for more details.
- kubectl
- minikube
-
Create a
minikube
cluster with containerd container runtimeminikube start -n 2 --container-runtime containerd
-
Configure node RBAC to get namespaced ConfigMap resources
kubectl apply -f https://raw.githubusercontent.com/akashsinghal/ratify-containerd/main/k8s-templates/clusterrolebinding.yaml
-
Configure nodes. Wait for 30-40 seconds for daemonset to complete (Note: daemonset pods will not terminate. check logs for completion)
kubectl apply -f https://raw.githubusercontent.com/akashsinghal/ratify-containerd/main/k8s-templates/configure-nodes.yaml
-
Apply Ratify ConfigMap
kubectl apply -f https://raw.githubusercontent.com/akashsinghal/ratify-containerd/main/k8s-templates/ratify-config.yaml
-
Test with signed image
kubectl run demo-signed --image=ghcr.io/ratify-project/ratify/notary-image:signed kubectl describe pod demo-signed
-
Test with unsigned image. Pod should fail to pull image and start.
kubectl run demo-unsigned --image=ghcr.io/ratify-project/ratify/notary-image:unsigned
-
Check Pod state and verify kublet is failing to pull due to verification plugin rejecting pull
kubectl describe pod demo-unsigned
ratify-containerd follows the CNCF Code of Conduct.
This project is released under the Apache-2.0 License.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.