Browse Source

readme: added setup instructions

Fabian Peter Hammerle 3 years ago
parent
commit
f48b15cc20
1 changed files with 75 additions and 0 deletions
  1. 75 0
      README.md

+ 75 - 0
README.md

@@ -1,3 +1,78 @@
+# Personal Container Image Signature Store
+
+## Setup
+
+1. configure signature store location in `/etc/containers/registries.d/fphammerle.yaml`:
+```yaml
+docker:
+  quay.io/fphammerle:
+    sigstore: https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io
+```
+
+2. download key
+```sh
+$ gpg --recv-key 8D2902FE7DF47DDEDA2802F9456B9A0399A5DA2F
+$ gpg --export --armor --output /some/where/pgp/fphammerle 8D2902FE7DF47DDEDA2802F9456B9A0399A5DA2F
+```
+
+3. enable verification in `policy.json`:
+```json
+{
+  "default": [
+    {
+      "type": "reject"
+    }
+  ],
+  "transports": {
+    "docker": {
+      "quay.io/fphammerle": [
+        {
+          "type": "signedBy",
+          "keyType": "GPGKeys",
+          "keyPath": "/some/where/pgp/fphammerle",
+          "signedIdentity": {
+            "type": "matchRepoDigestOrExact"
+          }
+        }
+      ]
+    }
+  }
+}
+```
+
+### Verify with Podman
+
+```sh
+$ podman image trust show
+default             reject
+quay.io/fphammerle  signedBy  fabian@hammerle.me  https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io
+$ podman --log-level debug run --rm quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64
+[...]
+DEBU[0000] Using registries.d directory /etc/containers/registries.d for sigstore configuration
+DEBU[0000]  Using "docker" namespace quay.io/fphammerle
+DEBU[0000]   Using https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io
+[...]
+DEBU[0002] GET https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io/fphammerle/systemctl-mqtt@sha256=34dcb878dbd66315de6fbf97ceb29e8fec549b7269c6c828c4c889a54a091f14/signature-1
+DEBU[0002] GET https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io/fphammerle/systemctl-mqtt@sha256=34dcb878dbd66315de6fbf97ceb29e8fec549b7269c6c828c4c889a54a091f14/signature-2
+DEBU[0002]  Requirement 0: allowed
+DEBU[0002] Overall: allowed
+[...]
+DEBU[0004] Starting container 4e46cbe4e982ee84bcff54092146fb0442bb346e451cfb14e2e7f491bc886b88 with command [tini -- systemctl-mqtt --help]
+[...]
+$ podman --log-level debug run --rm quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64-unsigned
+[...]
+DEBU[0000] Using registries.d directory /etc/containers/registries.d for sigstore configuration
+DEBU[0000]  Using "docker" namespace quay.io/fphammerle
+DEBU[0000]   Using https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io
+[...]
+DEBU[0002] GET https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io/fphammerle/systemctl-mqtt@sha256=34dcb878dbd66315de6fbf97ceb29e8fec549b7269c6c828c4c889a54a091f14/signature-1
+DEBU[0002] GET https://raw.githubusercontent.com/fphammerle/container-image-sigstore/master/quay.io/fphammerle/systemctl-mqtt@sha256=34dcb878dbd66315de6fbf97ceb29e8fec549b7269c6c828c4c889a54a091f14/signature-2
+DEBU[0002] Requirement 0: denied, done
+DEBU[0002] Error pulling image ref //quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64-unsigned: Source image rejected: Signature for identity quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64 is not accepted
+  Signature for identity quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64 is not accepted
+Error: unable to pull quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64-unsigned: Source image rejected: Signature for identity quay.io/fphammerle/systemctl-mqtt:0.5.0-amd64 is not accepted
+```
+
 ## References
 
 * [containers/registries.d: sigstore configuration](https://github.com/containers/image/blob/v5.5.2/docs/containers-registries.d.5.md#individual-configuration-sections)