Skip to content

Create a TrustRoot.yaml file that contains the base64-encoded TUF root.json and repository.tgz files to validate container images' keyless signature authorities in air-gapped Sigstore Kubernetes Policy Controller deployments

License

Notifications You must be signed in to change notification settings

prezha/trustroot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The script creates a TrustRoot.yaml file that contains the base64-encoded TUF root.json and repository.tgz files to validate container images' keyless signature authorities in air-gapped Sigstore Kubernetes Policy Controller deployments.

This script uses the cosign CLI to initialize a trust root and download the respective versioned metadata files to a local repository directory.

It then copies the targets from the ~/.sigstore/root directory to the repository/targets directory, prefixing them with their respective sha256 and sha512 hash.

Lastly, it compresses repository directory to repository.tgz.

Based on the Configuring TrustRoot for custom TUF repository docs:

If you have a TUF set up, but are unable to access the mirror (air-gap for example), you can provide the serialized repository. In this mode however, you have to manually rotate the keys/certificates.

apiVersion: policy.sigstore.dev/v1alpha1
kind: TrustRoot
metadata:
  name: my-repository-serialized
spec:
  repository:
    root: |-
      ROOT_JSON
    mirrorFS: |-
      REPOSITORY

where ROOT_JSON is base64 encoded root.json file from the TUF. REPOSITORY is a tarred, gzipped, and base64 encoded remote repository. So you would have to get tar the repository, gzip it and then base64 encode it.

The script can be run with the following command:

bash trustroot.sh [<tuf_root_url> <tuf_mirror_url>]

example:

bash trustroot.sh https://tuf.sigstore.local/root.json https://tuf.sigstore.local

The script will output a TrustRoot.yaml file that can be used to deploy the trust root to a Kubernetes cluster.

Deploy the TrustRoot

The trust root can be deployed to a Kubernetes cluster using the following command:

kubectl apply -f TrustRoot.yaml

The trust root will be deployed to the cluster and can be used to verify container images signatures off-line. List them using the following command:

kubectl get TrustRoot

Prerequisites

  • curl
  • shasum
  • jq
  • cosign

Example output

$ ./trustroot.sh https://raw.githubusercontent.com/sigstore/root-signing/refs/heads/main/metadata/root.json https://tuf-repo-cdn.sigstore.dev
Using custom sigstore 'root':https://raw.githubusercontent.com/sigstore/root-signing/refs/heads/main/metadata/root.json and 'mirror':https://tuf-repo-cdn.sigstore.dev:

cosign Root status:
 {
	"local": "/Users/Predrag.Rogic/.sigstore/root",
	"remote": "https://tuf-repo-cdn.sigstore.dev",
	"metadata": {
		"root.json": {
			"version": 10,
			"len": 6911,
			"expiration": "19 Feb 25 08:04 UTC",
			"error": ""
		},
		"snapshot.json": {
			"version": 156,
			"len": 1758,
			"expiration": "31 Aug 34 13:31 UTC",
			"error": ""
		},
		"targets.json": {
			"version": 10,
			"len": 5624,
			"expiration": "24 Aug 34 07:16 UTC",
			"error": ""
		},
		"timestamp.json": {
			"version": 244,
			"len": 447,
			"expiration": "03 Dec 24 07:25 UTC",
			"error": ""
		}
	},
	"targets": [
		"trusted_root.json",
		"artifact.pub",
		"ctfe.pub",
		"ctfe_2022.pub",
		"fulcio.crt.pem",
		"fulcio_intermediate_v1.crt.pem",
		"fulcio_v1.crt.pem",
		"rekor.pub"
	]
}

using remote: https://tuf-repo-cdn.sigstore.dev

downloading metadata files:
 - root.json version: 10 ... done
 - snapshot.json version: 156 ... done
 - targets.json version: 10 ... done
 - timestamp.json version: 244 ... done

copying targets from .sigstore to repository/targets using their respective sha256 and sha512:
 - /Users/Predrag.Rogic/.sigstore/root/targets/artifact.pub -> repository/targets/59ebf97a9850aecec4bc39c1f5c1dc46e6490a6b5fd2a6cacdcac0c3a6fc4cbf.artifact.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/ctfe.pub -> repository/targets/7fcb94a5d0ed541260473b990b99a6c39864c1fb16f3f3e594a5a3cebbfe138a.ctfe.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/ctfe_2022.pub -> repository/targets/270488a309d22e804eeb245493e87c667658d749006b9fee9cc614572d4fbbdc.ctfe_2022.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio.crt.pem -> repository/targets/f360c53b2e13495a628b9b8096455badcb6d375b185c4816d95a5d746ff29908.fulcio.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio_intermediate_v1.crt.pem -> repository/targets/f8cbecf186db7714624a5f4e99da31a917cbef70a94dd6921f5c3ca969dfe30a.fulcio_intermediate_v1.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio_v1.crt.pem -> repository/targets/f989aa23def87c549404eadba767768d2a3c8d6d30a8b793f9f518a8eafd2cf5.fulcio_v1.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/rekor.pub -> repository/targets/dce5ef715502ec9f3cdfd11f8cc384b31a6141023d3e7595e9908a81cb6241bd.rekor.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/trusted_root.json -> repository/targets/4364d7724c04cc912ce2a6c45ed2610e8d8d1c4dc857fb500292738d4d9c8d2c.trusted_root.json ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/artifact.pub -> repository/targets/308fd1d1d95d7f80aa33b837795251cc3e886792982275e062409e13e4e236ffc34d676682aa96fdc751414de99c864bf132dde71581fa651c6343905e3bf988.artifact.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/ctfe.pub -> repository/targets/4b20747d1afe2544238ad38cc0cc3010921b177d60ac743767e0ef675b915489bd01a36606c0ff83c06448622d7160f0d866c83d20f0c0f44653dcc3f9aa0bd4.ctfe.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/ctfe_2022.pub -> repository/targets/e83fa4f427b24ee7728637fad1b4aa45ebde2ba02751fa860694b1bb16059a490328f9985e51cc70e4d237545315a1bc866dc4fdeef2f6248d99cc7a6077bf85.ctfe_2022.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio.crt.pem -> repository/targets/0713252a7fd17f7f3ab12f88a64accf2eb14b8ad40ca711d7fe8b4ecba3b24db9e9dffadb997b196d3867b8f9ff217faf930d80e4dab4e235c7fc3f07be69224.fulcio.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio_intermediate_v1.crt.pem -> repository/targets/0f99f47dbc26c5f1e3cba0bfd9af4245a26e5cb735d6ef005792ec7e603f66fdb897de985973a6e50940ca7eff5e1849719e967b5ad2dac74a29115a41cf6f21.fulcio_intermediate_v1.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/fulcio_v1.crt.pem -> repository/targets/f2e33a6dc208cee1f51d33bbea675ab0f0ced269617497985f9a0680689ee7073e4b6f8fef64c91bda590d30c129b3070dddce824c05bc165ac9802f0705cab6.fulcio_v1.crt.pem ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/rekor.pub -> repository/targets/0ae7705e02db33e814329746a4a0e5603c5bdcd91c96d072158d71011a2695788866565a2fec0fe363eb72cbcaeda39e54c5fe8d416daf9f3101fdba4217ef35.rekor.pub ... done
 - /Users/Predrag.Rogic/.sigstore/root/targets/trusted_root.json -> repository/targets/fdebade075c4840d40f1806a14d0660ae1d22f47c0516abc4141e09f4ddf6ee6f4dbfbf08a7025bea10a4b8794658a4cd8ebb1024b963f239a9bfe02c2057fc6.trusted_root.json ... done

compresing repository to repository.tgz ... done

using base64 encoded repository.tgz: H4sIAGt6SGcAA+29WW8byxYuthMgCKLkNXkMBD9G22LNgy82EM4iJVLiLPKeA6OqupqDOIiDxOFi/4/kKQ/5i/kBWU3JtkZb1sB9ZHPZsqlmD1W1xq9q1er9zxN/Ppp2Z6PJ8o83IoSQ5Hx3/b8Q6/8RYVf/X32mu5hJQuA0zOkuwpxQ+ccueqsG3aSL6cxMoCknEx9MTHu/PGp33QPnwWlh+J37XHVl9+v/74X+h//tf/zjv//jj4Jxu8eV3dPda4qO/fE/wQ+BnzH8RL//v0+7ZbxaLV9/jK74v+Dnf75zyn/37fj/6kaDfXN+3vf755PRpR+aofPRCf/3/9f5f/74X/53/wqd3NJjdGIWB94EfhJ7OzvwQ/1H8o7+CynpH7uL127IQ/Sb6z/Ru4NZd+D/wpIShSiWeh9hKYBTcofL3aNcIl5OHuTq6f2Fmc0m+w9p61/xUjw+CMuj4TxeOBjUdpjercBFR83vXXRDxXf+6WH4bemb1sfe7Bk/0v9IX+74f/j0xy5/sxbdoN9c/2/wf/8zjETbz6av/Yyfj/+ExGgb/22EtvHfb0039P9bKPjKduDH8Z+4rf8EMbaN/zZCRN2P/zjwghO9Df9+A7qh/9da//px4M/Hf4IzsY3/NkG34j/Mxf50aM6nndFsvzcdDV/nGTAegrGnxn8ksv+Us238txHaxn+/NT0Y/72yHfih/mN0R//hCNnGf5sgiu7Gf2pfSqopFVptI8Bfnm7o/xt5/x/qPwVZu+v/MeNb/78J+m87ux+m3fbQzC4mfvrh0+5/3dndhYO7ux/O/LIbwJEPkjAZosCaQHELjPJYCQq/eSkwxG7OScUDZ6UxDCMvMeJBQANiBTZUBMR9+HN9P3hMdDcK4B4sPBJciDDAxmlljBdOCq9UwKQE7ocqEFLTAAehEpwHnCseSuSC0BssgtAxYdb3QGHgjQmd5IxT+FVYZqXyxBFJjQqF9YEgmjJuFUfcI6qggYQYpRFiHH2Ahv29s/vvP69HwUf9jXr/4fNsee6j5n7RiHUnPvjFefdqnD5AkMo+IvWR4iqmnyj+RFnr6qSBn5nr++x+mPh2dzqbLPeH54PedH80aa9168v3ux8u/WTaXR9g0YG//7y+7Gw0uXNmx0w762df/Q5t6xjCRdQYHRCPDVcMOisD5VFAPZVcY4ksMgHmjgvHg5AKGCzuQkm5okEQEEUNA2ZesejqlhyT6JYYGKIjbgYRYUu5NDKQWiJFsTWeayko1dwghxV8xhg5G1BuCfecYRI4jkLKhXeMYCMNRQRYDkwMpfFO+0Ax7zVj1kiEvCNUM6udAgsB3NJizZsvw7H7oe+H7VkH2gUN+PPuwNFbA3c5cmYGXzx99EQokGLKgsRYpDl0iRgLskkoCS1VDKRbQ1tDhpUNAZtE/QkCyxTB0iOGHhg9owWPxg0FyAc+hMHXXjEXIuJdyA2nROsQxi8MYAxtpCsKMwMjpY1lQSgkMYJqFMKYWWWJ9tgp542mQnlDQYOCEGEqNZhMHXBEKOgaHMMOwyM4x4+MnkLo3uiRm6M3urb9Txo36EgArHeaYeac0Rp0LWQIGQfixT3DFkTRWsYcNyGSMLgqCATIoPbOB9o9MG6SwWgHIRgQqnwolXCUsNDRQKhQcuuJclZzC/fiCgfEUAWC7uESMErGgLgTbTg8wjtkCPFaUKxBXK2zlCEupQLhxRLDIDLsCfbSwaMcgssp8ImRR8aNkwfE7ubAgXtod4d3dfs7Y+cCA83hwG7jOKgq1dIDZznFgXQwGp4aIQOjDSiSpiGB861k2hPjJcVMPzB2oK5ccyUtdATuA8MukdRKMaMUgs8ixAGDW4GhtZbQ0DgCigZs4wIeA/ITmeEQHu04doRxFkqBnAdDwRxBGoP9FPB4sPshjKqlgRFGeDDSRDhD1GMyxxD+7tBdzzs9ahYxWp+8c33Bh+m5d5+/ff0B718p4M1LuNiBK/7+p73rfz7dXv8DIACCPDh/1fDvJ+d/1vP/8HEb/22EtvM/vzU9vP73unbg5+Z/Iv3HEJ9u5382Qffnf9b5XxJrCCq38z+/PN1c/3sb7/9j/RdS3vX/CG3nfzZC/+D8Dwp9AAJBiYArJbbRfQnC2IVUCQvoRwH0CTGlxmiiQgDQgOgA9kZTQ0zxqzkkhKgImQCoB+AEYDxxgGsARxkMSF4TuJcGxI516EKrGbRXYwr+RShCEXZPmP/5qhUPTAAR9hGTj4hWkfxE+CeiH5oAujWl+iC+icDKTwIcwtjrAJzb679o/yYYewXxWtMz1n9RlP+91f8N0Db+/63p4fXf17UDP7/+iwXB2/h/E/TQ+q+iFLwj+NRt/P/L083137fx/j/Sf0ykvKP/GE4TW/+/CXpK/C9CIhBSOuCa0MCEEKQL4Yzg0nFGTSiwokwYqyWOFht0tA5kEdZKWeuRo/fif77O8EEuDINAIhhXzUJjI0kwTjLtQFoYPC0U0RIG1hxubMPAGS6VvDrOTbRECBIDAb0PhPEWSfg60JwzaKDSDEPTrLVcwW+OOYECoowCIECIZgHRKAyFC/SHL1H3nT4DjDGcBXATRbk1SpjABAAgEJXaScFwaJUkIsCCeQPiqhA22HFCjDUSgMqDfYbAVjkhABtRZJC3lppoBQbgEApgvCi0GhMP3i9gcBSGgpqAeIGdtw56w8n1uBH4NgScI72ULqDGekzhLoHGltMAG+ghk8gKTjA2jMCpEpoMSuhgLDx7rM+EhMwZ70SgvAhhKDnwVtho+Yc6i4Sh62WjwElPtdNYOIEj7AUnc2C4eIzPGmQEEBlAQRUKGQpjnIdxgNHiiijiHZKKwSESGE250p4oaD2MpcNWKL4eOU4lc0pJ7GGEkAwVF6GiXiroJrAh4AbBkFJCAIoyBphQYO4CqwNBJbSePtZnAQwEFitMuAVcamEUrdAwZtxZbih2KHAI7qcoFt4SYwxXFiQSMfhAyH0+r7EtEpZ74+HZAbQPAGooieQ6VMIroRiCMdBwPbIAo0NJETWIwaiHxsEDQa6uegzdV0aE1nkYcAncZoB3MQiKwQCeWQB+2oeWKR8tGNqASBaEnFli4QoaPtZjI5T03IaRyilgm/dcBUx4xJ3mlGPQLeK0gRuD7jBgPoFPziDguydGooclmwYc+2hBkbJQhEhAHAFd9UyxAGsSSgNjC7IZMumJNYjDOBMPA6xlgL2GZlxJStQlkDKGHYUOKeuwgfEXRjLPoZsSpMjpIBoApozlXAGsDwKqELSZefIUPH/l4q4AdeD7vr1OFvi6SBsN1LcV2w/cU2g6wXatSTwMkAHjFGIhoePSwUBiHlk5KjAcJgxLRkQoQwbWkODg6zTA1Y2/NMK7YGq+ruDCF5em/+3M3Q/nF7bfddGZHyNKpLO54u5JLXGUS+4eppvrg/8aFjJn8/S8eXA4auVWPZSMl5q568+peMmlSu14uh76Lg5OS+W6j0+SBVdNtRf5WbO9l5nKfw3rSqZ6nZLN9sv5k2VSVhq8aovFs8Hl+aDLjnz1UgxGR/WWrJJhfdwtt2zlLLXnQjX/669/DdfNSBdT91t2tRL8ZSkYeOE6fvCt5x+jZfCPw+50dh6thn85a/FxdhF+HA0/ui782+8O/ceLSXctsyvwTmeD6adYbHg+WJ92zTq/f2ku+rP99Rn7Qz+LRfy7d9bH9WQNUjEP0QbYFTC3DviKokV4jLRQSgNPBfLXa9i3UiL6Xx3j7k1mdoNvh19DUq5u9O8vozE0VyN2P4Ho64Cdm1nnVhvunxv7P+7ed+Yngy74++4wUuDZ5MJ//aYDIUBn1I+UBn8bh39/nZh6IPuJsGjyC4tPlF5Pfj06e/VF874ompnMumDxZvsg7d8UzkFANhrcTJnotuHIxN/UDwjGZhfrdsTdrHvpv4zI7oeLqWmvh602PBuO5l8l8VZqwnfSMrj2NtTSaMURuELvmHXg7DD4Axw4MJOCaWTAvIcBAVtkHIQlDmIcsNMQZdjwgbQMilQYYPijeQCOCxlDqVVUSg0OEDtHvVJCaqLBn8h1jgVDOspHAYMGjix0lAUiCjHA+2gRuV8w0pgFXmunBLMhpiQIIGDhCocQlWEnKKMagUBCV5R6JC0DS3lDyt0s9K/LiCvN7cxm55Haru//5Q77gb+Mzfx09gDfktVM+meZJkNnNTjkKNcqSj0TiElqtUbwA0yiGoYJWGixgFCIeh6dayhEVTaEcVbmAaaBG0WSgXMyoSecMQKngZ9xwGtHwQnrSNGlDASKQlYqhfTIQ3TDrYbIU2kLFsZQsCjCQaSpqIsgkAJMHcjIeaNAQQitIBKEz3AGA9dOA7h1qI1BNmBPZtrnKFjYLOeiJ74S5wgYR6UMRTogxCvEPARZjDMNSiEhVJYCghOABFFEpUPvtYOYE8wpCVhobfBQBplXEBmzkBEJd/IQIRMFcVhoAmyZMYx7G6xDENA1UBcFHNLMYgvCgbg28CgKYaoG/feRckrkAS3QdX4p5gZbUDkBhiAMvA9JCLqqAtBDJ41AUlqISx/lnLrBufCi77qjfTcB6+cHz2Zdem2Qg0d5d/2Ym9x7gHGZ9Vk/y7qQCuQ4tQRUiGluBIRr2ipwpowDYgqcFQGMm8WKO6YA08A5YAAZWDQCqqkeYB2SYMo4BJlgLyW4RkA2mIQgH4IZ50LiLWYQEgcMOSMxBmvqlWXeWUAmhEG073UQAqdB7aXFGp4PhtUCN+GRcEMTagqKF3HU2Mi4cgeWg4ZIWi80IY8pnWTsHus+d4eRI/VBF6KLz5f4xaz8gRa+KSeVs96FWInASokB0YF9DBn4lwAQkNFYwvchAHUAzgEMVOQMqQNfBKPtAck+xEnQIIj1A+sI4LwQewCQYNdCCN1BMyOIITwgLEl5IHyIEAf/5wFXAr4Oo7RwqwAYeFBCHYX8niO95rkPQ+6xYlpi4DXwlgNADiILDJgXg34CcAD4QR5LRZRK3+fkO2eeVuAyCA18qKL5GBgo5kEFDLgkKVSUIutUAKqAjLJSg4MJOVZGeQMRjAv5A8wDRaMRXHfRdIX3wG4cQMhivQH/ZmzksXxAhAaQB5wAJoHTQkLBXw32FkmIXCyg8xD8IXMaWwiyNYIGOEy0pUhGGeUR3GcOcUB4gkd7ABABPQQMaqx4VA3RzbB8nSD/hn7v6gE/4Fk5OulnWQad56BPOJrZ8E6H1AVg8DCooaOKWVA58HEYAU+pl1xzH5lLozBYVBLlVD+kbwYcXbTBgQQWILTCjBINttYwgzwHrXIcvGWgsQOriABvRG4VI4AqwEcuFUSgggMjSOghGvFUUG8BJ1lnPNgA7TkDLfYqYGDHwYyGFK4FLY0S1kEp6dOcHmCN6cwHn38uyZxRwQLw4iAtzIE4kWgaQjhw5CCDGEGjVIAdC5ziUVY4QkQTSaGpAYTHX7MPbgt44KP0BSQjz8QQ+BMwfkgYCKoRhGzG4yCaC5Mgn1gY6yDaxh6BQQuCUHgv4IMNbQhMkYhw0AsMWM8qqSGKU4a5ddY7MBCgnaAhodpoiDQRAYWCNrpHBRzhK0fzFXDdTIJeH7gJkddobPnx3E+6owiyUcHvnxTNggDSu3EWvpU4cHf9/ytvXnGO+afX/8GubPN/NkTb9f/fmh5b/39NO/CM9X9Mt/V/NkIP7v/GCGJ0gHHb9f9fnm6v/7+F9//h+j+nt/J/1/6foO36/0boH1n/F1erfcpYDGgdy4CF2otARum+TimI8a2wnDqHEQVkwhhE5CHS1lFpkCIOonSEqL+6i8cABULmpI0ShhlgHyThYkalF0IHiAEK1gAaoFkaUQPQNsCMMUXhWy283GgGQLR6D+2xJFQApNY7L2GgAAMj6BgGoAxdpcJRADuGYgKoGUCfhu5YCQiRSq6iXiMWCoCPWMHQSwtnRbPHMoy2b1IbpWZ7GEMashADJzAHlMSdY2G0cuwod8JsOgPAMkaZh/HmAY3mJADXsmjvK3DSWRgB6hQ18B0HFBxNHUkPkgUQTxjPKEfrvf6YW+SJ4AEGNkfJ5dAK5gFEB1pZ6mhoAeiyaG2ZAK8AywH6CwFzaSsB2WKxsQyA6z6DnHLFMIbmaW+jtf8I1ANIDaLFBAw3AOzPomnLwET7faXyAYYRAIHDcPM1nzFWWPH1PltHNJMYmoOl1NEiupWCIMDCwvOQIgwY2BsA6QSEj6tQB9F86cZyAMQX2VYcU8UjIdKOEm+MsEp5HOl0yBQ4Akckl4DtoYkQcgCaj9SFawaQWV9rdKA9tsx5ZILQ6zCIUmKYCkDACVwZAo8MxoTYANTbRHsQohkAKYWNBEnj4LFeh0FoQM4i8wD/c6VBgQMfgCZLGVINYklAw+E353wkRCqIBFSASCmtmA4fznwAoYObkgDk0BvtQHk8xhBHh5bSaHoBJJURHeV2GMxNZOGAwRZOgQ7JSNGv+owcDsCcmFATA8wBbYEATDvD4U5UgVSDcIIV1HCxAgEC5WSRntso9cM+zmkPcgx6ZmGAgTWaoWiXhbOh05RojlG0IA3ibaLd+wSGIEQgS2A8Q+8U5+RR2x0gxAKvFDhy4HPgQMWo0cBiRl0IVhDEeL22AwMKtjqaaQR7IcDK+yAMo2WvL5wGOYbB4aET0HfQD60DD6zHDCwuUc6FFEwBqHEQVUeQaL0qB9YzBMuNyWO9BnMATiOalAzBdDlwCjIqRwGsIC6abgDb7aTEXkf7R3RUVCHKxEI2cnQuRP6xXlsZ7SrR0eyTA5Yzi6K5NbA7wAqQzsgBGjgJQzTjQgWSIARl2ppoQk/KyByttYQFJtqQD7YbFFBaGykWd5LAYYOYjpKgIlmGfwmNpp1AucEWegNGwuPv5Kw5BY5Zg1DB+MmomVHZExjtaFdMAFeCioMHhRALPEHoMYw34cDyqP9g0R7vtdfgWh2FoWceLJpRBBSJ20jVA4HA8IB6Woc1aHXkPBg00xHGpALJBbt63WsYIkEDB081zGoDQx9QGyBPw8iFOvBmGJxXIE3kZAMQWggPkBBBNOGMxaNajaFjgoN/V3C6CcBJg8dnobehhF9IENlu8GDUUAUDC747mn424KCR5yCu+mGtlmANwacoCCTAGPCoLEOUoxeGIkrNg3gD3ASwAwSbOdBvBtGJgmESGnoH9vqa055a0KrQBZoC91QI9hD8AldKGgnfM7ArUhshJIgDkmCUQmYjOwxqqI2l9gn5TFHIfpVf4UbDaXc688PZ569Fa74leNzZucQ/IvIR6ypSnxD7RMl18sbN5KeXRwNfp3fXzPocTfJ+Nv32aNKddQY3Ele+zPbemald/3adt/JY9tS95KlXzJ1aJVb148FB8mTUK9SPKjkqWKPbraviyST1r6HItcuLer87PVvFLveWNJ8u84GrZ91xsd9NuUYhyfOkHx4MeifFk45lB3IxUEersBJ/Su7Ul8nhp2RO3ZrwhfEYzYd+El3yf07NcNY17RHgu4j1N+biXxz1vHPedofds8o0Xho0z4r+gPvmOJYc5lZHxrjjfw0X/Yox81LqeD4+XMZmyfFizBeLk0reEXzIGrnOVGeXx2eH4erCN2k2d7RyhXyLucaT8uJeh7d2BL6/3zdzs7zF2JeCtXfO2KU6PZwOOolmKqfyDmXnq8TCH5oFcgP+r2GlepiuCX5wkrkY1oYMT6vqvIsyvQLLnR2sYs3aYD44qh2jxkz2F52eSJwd5Q7ZuBnfIGOD/mjih+4mU1+8A/edM7VR7mYnfK+3R/O8Mj3Ya80mfJgmB2R+LP81TNT3hsd0qmn7CGJsNa4erw6aeNRYxrOp5VmhMs1Wa4nKTKf24kN0GB5OU2QQVgqMlN6UqbdTWNvu/CqB9Xwy6nk3m8a+LC1/jFz4l4W6WP+6etk01u6PrOlH+axl+GIai06LucnyfDY6jHJcv+1MviEpL0Z271xSULsz6WhyNMfNCe0G2TpvjJOzQiqhkot/DfdSqhMk2Zy0joq58369PKpnj6ZnTUPbHV9YHve6eXV20gWcViKxmDzZG/Vk7TJ/kt2g+vdG086FafdvcvXFc1HvnKvp0+mKVlqnGasgFGOkJ87z/WXP9srq8F/DIk3MR84vxuKokLN8PG0cHpcuj4pYFGs+PHLsYDo/Hl0MytN63Zhe5bxUEeHInpU3yNXBcABR/ofby/tfUsuvK0WO1gH7TUbd5MzrzMK+hjB9udHrzBa+RjD65UYvtn63BP1mPvzNEpM30NVjzHqxw360IfgBSXssE+SHuSCC3+jWnfz8rQj+B4vgN9//nyqD8ikCeCfd6SmVHX+cB4UV+ek0qN+WHnj/y/7nl2bl79/amLBe/71eGn1a/UeKOdvWf9wMbfO/fmv6ovTfkr9eWfn/+OPH+n+3/iOlBIt3nv/19q9VfxV6qP4jplit3wG3zf/65ekB///qBuCH+i/IXf9P6bb+20bo8ZmZnScto5xU+pkuSg4y1TDdS9bGGX1wkUy75mnxcCdumqafyw8SLbVc+tVJrzruLCaHifPC0IxcfXaUT+SwL9CL02FpVcrG80Getac6s5z/9dfOY9MyW0vxqvTN7+9/fpvtlz/Wf1D3O/rP6buv/3bfsL5VD15EWLLdqIzEXw8CwX96Q+7+7X3SO0Tfj1ZYVDVBMrU1DM+hDfD4GfifY/Le3//5TvR/i/9/b/rm/9/KDvzY/zNx3/9ztPX/myAsyaP+/115/+1UxbNoAzz+kf5jUPa7+o/Ee8f/70T/b+D/ZLpczWVyyXg1fT0BkMsl9lLJZPxUtONzUK52rlqsn6Vao2R3FJ6kpksZhAPR9kf2orOKHyba7XHnrHd8Uiql4qv4eKdQrkUzCKl6qXSYni9WphGsgqxetir8rHXaXKSr8ZNEu1hPxAvV5EHxvEWLyNJ8v5Bgp6lqbrFTSBXmxVV8VejFl8f1ERwsLAqp3LLw7dj8sJeuFxKFbBzX0slOoeBIf+ho+dINahc7rWydFMrpeeqqFan0vPOtFdUEKSTi2cRynK0UmI6309lE5SKRiMe7cZKLJ44qy524zHX52d558Vi10o0mWvb9oJEazY/PioaeHe1lW2ne4tmG7xzpWFzbcjFOy3YybfEuyjsz3ZmZ8pGsnPPwPNZL8WAxdrFaUK0P+5cVLMxwjzTD6dzHShdHo365lpy44zTZI90435utAlEc7BSypXmqDc0vo5N46SCWiMPoQlMLiVzU5yA9Tydi81KuEG8m4qFKxkvp+UFpff5xItFM72QKvcxBKZEYdEvnhX76TMzJReUCHyZmJ9NCQq1vkpuXmoWEiT907s7Xk+OjbDJ5NVjAslSctOOFbC1ZOFD9biMfFi664vL0NNHpQXtZYT7tD4qxan6xU/cxRRuTzGgwHxRDxMUSnzKV0Y4NqKGj1Wk8t4gf9spmyWOmF+tNDw+zubNBycx6OXVxcb5zMIntJReZS5NvDM6b4+LZUSpbru3p0WTV4Z0cKU/chSndnDW6K8z/tJ79p9I3rP/SOiv798q7fHnGz+M/isl7X/99J+s/W/z3e9P99d/XtwM/v/7LBH/v7/97J/r/0Pov0ZxJjRTbgqpfnr7o/9t5/x/5f8w5E3f0n0jy3ut/vBP9X28mXZcxrV7n9Edq2r3agxK7HAZR4cNvVRCvuRwxeS9i8n+5zsz8C+3j6yrf/VH7Xrn03Q/WTH1t0n9qgcVog0L8y/6E6KLKQZx8vrEz4cvugkO/vFHdMcqiN/PEcna1z/UpK9gkS5p7ZGYsgDKecNluIrdARofxzHxylrCDo0p2djZlR3R8KpbNJlpdhIlhJ6lqk1h3yXm20ziJ6XjMNslRJ0lRQe+Vm7P5X399behVam7Kz0y3v27VyWHu9HM6marEP59Ajz5D1271LMp3Nf1ukBlNbnVtd128cjK73sGLPyL8EZMqxp84/UTkPohd68PXs/++/vT31wEDxuSC24MFDVsf+jAv5rSZlbL91V69ER6Lo/KyfcBKtbAZUw1Wzsy7Vd7ljXI7gf768ozrepc71znCH5yPCrpHouPjF7NOxLvu/cr50IkLG22Aut2S0aRtht3VWuyiBj0oFutNzoPBaFi8ro3/tcDnvc7+TAXWqOHJjukObzfpRn9uFtm/2ZeHZO6FkyYvnTN56ZTJS2dMXjph8tL5kpdOl7x0tuSlkyUvnSt56lTJhxsi/PfXz/++p0gPmqK7hoh+RLKKwAqhT0RfGaIbOuuHwfWpJHpfKsVVQj9xDX/3tdatO/bkz9/MWiSzPbAWJvvFWtTiR8N6tx4Oa8hO8mY6KJ8dTIax2jA0pXmy/dWDpePzwgs0Oe4zc7QEi4AK1cIyks9CtW7g2KpQTc8LqdqisKqRYrVjCim3yFTj1SurM6qmblido0G5H/TSvpCYr9sQXxTqN9owMw2OWqf5WatRPm+elvuFg+Y8Hb/lkTOHLJ2OJ3OpJnhjVa5XYsvpwV7x+PIi1Vqe5Fqzbr9dy+hi30ya5/FAH5zgy0TiANd4si7lUaUip6jVPWDDtDy4lOeziji6vCzHKtUzqdVRvV1YHfXz7MDnwgydHVSMXxy55nklXpngswoqxsCn5Vcx3Wsku6fDEQXjUo0fR309KKnIQqRBe6N2XlnlMuon4vMrPsybiUSpdhDxIX1lcapXFqc9T7QjKwP8TMWDq3uxdKZdqlF9cr7CzbN0y/JxsXd+mGl0F13WbKXU/ODq/r1Eoj3PjOK1RiHuT3kmc94w5366LI1ahS5KTjKLcHRXDlKteXzeiufmJ8lp6ZClmt1WM3WSM6kuP8gcDsPF6ULEK5X6IF0Op8thM9E9Jaeiki8PWzXFYjrVCoaZy8vFIN5LHM9E6TzRdywfQ6nF5Vk1OT53/ctV90gkksmTYS/o5xL05IImFtOTwbJda4LFJysbJIN+tzua37Ysfz7da+pV5DWXN/SgVYyfZILFwcm851P9UWq+bCY78eMYe309WMu8u5b5/sN6kBz9SA/Khbj6oge5G22YB714KdF2154+ByyuTdqlUjzXLnbj8ao89Zkqm1h6UsrOKyxnerOjMxo77g/PwdC1TcL1m+fTZmLCu3tsOUwg6bylRyfoOHfcChZ+cSq04936xTJfLu0drBBfdvdqGXqRaMT7B+fdCp920N4ByR6kZeV0cobTST7A1QnWR7rd1qTXXCU6hThbe7fUlYdMR3xI9K6ijYNy4UoXqiDRIOOFBLo6t11qJBLl5jzBw7Nao98a98Uqn+ycLY9Kh9PTzF4vHq6vrxTS2VS80f7+ubejoXnxPJ5KgEym4z08PPCnrfM9TIuNRNHspVPT1InK4kajjWfJAgThjYOT8bmpj1CvAzpczLTalSnyaTlv5tg4ugdpJPRoptU0dzbK0MtWMwhorD5rJLjV1WLBG5lbxKazPK+G7ujIQzSTZoli/nhaYpfDxEH+9Twm+YjYR0yr4C6R+IT5rdD9Xlj9dET1o5fsbA5V2XBe3ivnL4LTqWuXE+Xzw1N8mkkt6cnyIkgtVrFKOCx3cVhV/uw8TATkGF+MVrI3oS01PFwt4kKna6U9n0lmcnTlL+xJoyY3hKroR8yqCFgT/b0bzNwNZ9Cj4czPQrBkNllRyU4lRjoZFGQmeVZx5YZrThJNPV/1KtYblWs3iaW5uxDsz2dIxu2X+GxOMr6XMf6ShPE3l4w1swm6IxnPZDatormZ2oN0Nd/LlpkbNByNj/OHp5OePzmksQ47X7aT6lyO2KN4++se4Jej7Wx3dnBh/9zNDd3+4/FzLnrlzdD0dyt+ctl1frpbjkoW3Ov4q+NpGuHpxuHXyMB1zorTAypODWIWH41zbm880am6d4V7kUHhTmRQJn1UOah3j5KJvB0ULgrls3nmS2SwSNRqKN2+F7VeYetVIVVaFFNRvAU/mQhb51B0DLD1l2PPel4925+1Touo2cBzePaTSmLUUrxVtJVxsxCIiRqfHx+nT3XXZoetqs5OL06PO5NYqGo6k79oJ7LpxWHznKHj2lEF+Umv1ZCLul7UOSkO8yE/9qkx87x1OC42CpmH8LOPX/cpyJdKhStsO83GS7VMYl4ALD2/ia2ThXj8XjRrGrh8ERy36zPU9+Mmahw27cXJhEmIXO9Gswaub5Vyc1s70AeXKeZ7yVb+uFEajuP9s3Gt3O9fXuiC2quPj2y3fLi3qoStZGs+7fZ75aEqlErlytlpOs0jr9/eqy/Gs1EvrIcXKtVZrTrJhc4epqs2f2Cx7tYlGRQOazYVzwxWLWFLynLWsmrWDZbcNPwzo9lkOpLZVuOrzJ6q1jEvnZ7IyyILCiXu9bRGhxdWHbfvyexx6kcypK7mLNYy1MrbYbnvBrxjk4kqyC0xjWLfLRMVSzT6juyytez2Xia7P4vwLgtHzVhQrdvLXL4ZL8Yvpqv0PD8spXG/H86Ww2XhMFfodJg6GIxtfcKX7aVdTY/KR/VDm2gcBy2Cjc+v9tqt7nLW8rOxW2Z0o58u82K6EIp8XbaKo17pfHEwZuWD7Chbcb50GRtfVrutRTp1OCLNeSv1CMJ7Ior7nizflXtdbDb7IzuMZ5lDsXFvsTyI9cex+WrvHppPmRLIfTua38EJrKDryUmumennpjTbm857w3mlkBVHTTUfHdUDc3aYai3qRoXKjQtTnOq4RR7tIT3XvAT3ON6bJVatM3nZq+V1N99OsbJoNaqLUgPUfCBZ71jr0d5ITy9ZJhertKqtamZZGKJcPn0QFAfL+F/PR3Lr+c/xV9k3sXz8LKj1Dlm+Np+OwTOX89lGZ3xUuYdkNyT7hfWxQvWb7L/qc3+gA6HuZeKnixU7WwgVB2x1fJZJdMJ+yhWqlytzumKLWCbpTnv5GB6nD0fD2Pgklx2aWnl6lpoti7aYOj73+WoqlRnPmOoWTibD1flC5FrzsR+EtXyRLRLpVrgye+fNWay7HAV7etaaEFQuNyqXsRGqzUurn9SB3m0d+Cm5vrLnC0D0Ry2VaJdPV4eLo0KhqOu5/vGeZ51JYlhMtDNytpIHw8lofkmKftZKT3Lx5GFmOUj0Lxupy1khnpu3jvfOumI6LWE7bY20OlaDdDwkxZbsdpPtVKqG6nMIeEZitfQdtEpUpzom23URPyiWOF2kXg/F0TWKuwsV7gdrO3//B69u39z/9zbvfXvK/j95N/9Dbvf/bYawlN/Z//dPvwlw/94rGnceSlhhSmgpEBH/wYr2H0ob4PEz8j8ZFtv9f5uhbf7nb03f/P9b2YGn7P+75/9/pfzP/2j9x5I/6v/fnfffpqv+NG2Axz/e/8fYXf0ngmz9/yboR/v/XrIov/PSVfmdly7L77x0XX7npQvzOy9dmd956dL8zkvX5ndeuji/89LV+Z2nLM9v9/49hx6G/VQgx6klHmyz5kYQZbVVSAvGuTWBsyKgklusoheoYxHAOTyQTIQhid5Vf2fj/s/jP4Lpe9//915oi/9+a7q//++Vlf+PZ9V/FWhb/3Uj9GD9V8EF5pJv9//9+vQQ7H9tA/BD/Hev/guGX7b+fxO0rf+yrf+yrf/y+9LN9X+KVBhg+KPBnIcKGUOpVVRKzQnHzlGvlJCaaBUVXfNIRK+9BSfho+JtYP0dZYGI3tZDjNEieukOxww/Zf3/bv1vKqP5v18k/vuPnv/7Xv2/t5IIFnitnRLMhpiSIPASc4VDI+CWgjKqEffUhlqpfROlDBs3iyrJPzj5TwmHh2vKtxHks2gDPH5O/SeO0TuP/96J/m/nf35v+ub/38oOPGX9/67/ZxAUbP3/JghL9Kj/f0/efztT9TzaAI+f8P4ffNf/s3e//vNO9P+F7//pLEvJBUrrealRyeR07Sg7X9LERfmsP5zt5Maj1XHR2sCOVxh3+uX8UjtZye51Apfp615aX6RjwXx2Ma+RwrimqzFXRM2zxvx77//5pwfsF6Nb7/8JtQ6ZDKwjwvEQe+qsQTYMtAkZiV5cKzx3VlIeCB8ixMEueCe9QDQUoPtWaQmKr7iW1MCpSEdVw5+A/+nd/B++9f8bIqwf9/9vJRHShyH3WDEtsfZaSMtNQALjJDNEY8wNwy4UIcFfMgC70c7jdZW6mf9hOiDn4Kqwkr+Yp34b2gCPn5P/z/gW/2+Gtvj/t6Yb7/95IzvwY//P0X3/v93/txnCSj3+/p937f23MwJPoQ3w+If5H4zwe/5/O/+/GfpB/seLilO+Qv7/C8tT7ry0PuXOSwtU7ry0QuXOS0tU7ry0RuXOS4tU7ry0SuXOS8tU7jxUp3KbLPLHI/n/XHsbamnArCPjnXfMOqodDrnDgWPCC6aREZaHQfSSAOMC+EEOHEDomLPhrYn7Z73/h1D8zu3/e6Et/vut6X7+/ysr/x/Pyf9nEv067399q5a/Cj2EoZCgBDG1ff/Pb0AP+P9XNwDPWP8FULj1/5ug7frv70231n+NlxJxj0hgKfUKM0q0ZMIwgzwXiDpuAxdo7LQIkCSYq0BihLEhQnOplBKCC25I6B0KPRXUW0mesP6L7tV/QWg7/7sRwkJ/b/33TSTCWWd8YKj2nDkeehUwLAIT6pDCtWFgDSNY+pDy/at3hD2W/sWxFJhovF3qfTZtgMfPwf+SbOd/N0Nb/P9b04313zeyA0/I/+b3/b+UW/+/CcLi8fqv78b7b6cpnk0b4PET8P/9/Z+Ubv3/JuiF+P97b8/decnrcx/F/7+eCv6jdBP/MwsayGSATegJZ4xQZQKqnEPOUYSRJthiKQOBomQdKoX0yIdCcqsxZ0rbAGFDhUACTEGoqEOCMfUU/H/3/d/b/d+bIiwez/96K4kQhIAPEShEAXgPp2hAojqjKGRMcBrArUNtDLIB21+/t+zR3V9ccsqxJlub8GzaAI+fg/+Bv1v/vxHa4v/fmr75/7eyA0/B//f9P9nu/9oIYWDIY/7/vXj/Lfx/Pm2Ax89Z/ydiO/+/EXoh/v/ee553XvKi5+36/2Zo/3OonPUuxEoEVkrMBGGGh8xrHRiKjcYSvg8lMpoFgQB7EHJHndFCB6GnyPxgl84fz8n/FUi+9/qf70T/t/H/70036n6/kR14Tv6voGS7/rcRerD+t1ZcSqS2kfWvT2/v/X9c//v+/k8utvH/Zmi7/3O7/3O7//P33f9546VPWmljCA18qKTjTDPEIDK0RgophQqIoU4FIgCjr6zUNNQhx8oob8KAuJDff1vjl2c8Z/0H/Tr4761a/jq0xX+/NT3w/qdXtwM/1P97+z84QMBfBv+9VctfhYi+j//I1Se9hX+/Pn196dObef8f47/77/+NXhy89f+boO37f7fv/92+//f3pQfTPgPnuQ8l5hwR73RIXRAGGIfKOaqYpdgIzDACb0G95Jr76LV/RmFnBWHYBt82bqyf8fP4D3O2rf+zGdriv9+a7uO/V1b+P56z/kcJ3tb/2Qg9tP5HBONKAQ+2APCXpwf8/6sbgB/q/739f5gSvvX/m6Dt/r/fm27u//OKhoaFjEhLmPdSEiWoDE2ALTOGcW8DT6xBBNQ0NEogoZnF1mKBuDZMI/AgodaK++jNURJ5FhAqn7D/D997/wPd7v/bDIHb/87+v7eRCM44IDyDrVNCBI6FgfchCcF7qEBrOM8IJKUNFV/vAPhMECGPbwNQWiglMN4ahufQBnj8vPo/7x3/vxP93+L/35u++f+3sgNP2P8n7vt/wrb+fxOEJX7U/78r77+dqngWbYDHz6n/I8TW/2+EXoj/uyeVfqaLkoNMNUz3krVxRh9cJNOueVo83Imbpunn8oNESy2XfnXSq447i8lh4rwwNCNXnx3lEznsC/TidFhalbLxfJBn7anOLLf4f2P0IOyTobOaGR4gH3CGiUBMUqs1gh8jHNVKMIdDMAIhDann0bmGOm9t6DFV5uvG7atnPGP9j9Ht/N9maBv//9Z0f/3vlZX/j2et/2H068T/b9XyV6EH3/+hFdUSo20C6K9PD/j/VzcAP47/79b/wOTd1/9+J7St//F70831vzDwFj6CFjqmGAoYCrFCwmAWICGQ8TggJGTSIY6FsY5hhj3SIQuCUHgv4IMNbYiUkYhw6w1Ghj2h/jc4nbv7PzDiv4z//4/G/1g+Xv/7rSRCSc0EV4a5QIHXwCAMVgsaEqqNBieCiCOIgxsS+7MJ8McHnyej0Wy/Nx0NH64EDg4KYhbMt2HEz9IGePwM/B+Vgnvn/v+d6P8W///edGPf5xvZgaes/93f/8m3/n8jhCV/1P+/O++/na74adoAj3+g/5hzdrf+L+Pb/J/N0H/b2d39sK7bVF2e+w+fdj9Ect91ZtYdDWOXw2A/8Jf70257Cl3xXzQyUsi9SCH/y6WfTOHMv9A+/vBndK9Zf9Sewn3+604URvy3natw4oM1U1+b9KMHdGaz8+mnWOwqTfzrreE56zusT++YaSfeb48m3VlnEF1UOYiTz4SLb6ecX1ho56FfwtdfHgOHJ2aeWM581IQPL81gfkkC89eGQpvO/DLlZ6bbX7fq5DB3+jmdTFXin0+gR5+ha7d6Bhdcmn43yIwmt7oGxyNZnUX3IIjgjwh/xKSK8SdOPxG5D2LX+vD17L+vP/39dcCAMbng9mBBw9aHPsyLOW1mpWx/tVdvhMfiqLxsH7BSLWzGVIOVM/NulXd5o9xOoL++POPqCdG//15z3vnovb+R6Pj4xawT8a7rHxCF6YXteTe73ZLRpG2G3dVa7KIGPSgW0UNGg8FoWDQDf/OsD/c6ezHp3pS1q93pjwhb1PBkx3SHt5t0oz/fenFFN5lyV+ZyucReKto0Lb5smq4W62ep1ijZHYUnqelSBuFAtP2Rveis7myqXcXHhXLtqoxTqXSYni++7Ymu8LPWaXORrl5t+03EC9Xkja3OhQQ7TVVzi0KqMC+u4qtCL748ro/gWAGO5ZaFb8fmz9+XnSCFRDybWI6zlQLT8XY6m6hcJBLxeDdOcvHEUWUZl7kuP9s7Lx6rVrrRRMu+HzRSo/nxWdHQs6O9bCvNWzzb8J0jHYtrWy7GadlOpi3eRXlnQMLLR7JyzsPzWC/Fg8XYxWqgmsP+ZQUc0HCPNMPp3MdKF0ejfrmWnLjjNNkj3Tjfm60CURwUsqV56qrS1clVpSsYV2hnIZFbb4tOX22hzhXizWjbNNiE9PygtD7/OJFopjOFXuaglEgMuqXzQj99JubkonKBDxOzk2khsd5FHuTmpWYhYeLfPTc+yiaTV+MEvErFSTteyNaShQPV7zbyYeGiKy5PTxOdHrSWFebT/qAYq+YXdR9TtDHJjAbzQTFEXCzxKVMZ7diAGjpancZzi/hhr2yWPGZ6sd708DCbOxuUzKyXUxcX5weT2F5ykbk0+cbgvDkunh2lsuXanh5NVh3eyZHyxF2Y0l9/fbghwn9//fzve4r0oCm6a4joRySrCKwQ+kT0lSG6obN+GFyfSsBgfaS4SugnruHvvta6dcee/PmbWYsXldh7aYWFlxbYe2l9vZeW13tpdb2XFtd7aW29l5bWe2llvZcW1nuort4ty/Ln073mS0qNvFgPXlho5KV1Rl5aZuSlVUZeWmTkpTVGXlpi5KUVRp5SYOT1PCb5iNhHTKvgLpH4hPmt0P1eWP10RLVeeL/ptWKgXrN/AlV9b134JcvCm0BV9CNmVQSsif7eDWbuhjPo0XDmZyFYMpusqGSnEiOdDAoykzyruHLDNSeJpp6vehXrjcq1m8TS3F0I9uczJCNq/j8hGd/LGH5JwvCbS8aa2QTdkYxnMptW0dxM7UG6mu9ly8wNGo7Gx/nD00nPnxzSWIedL9tJdS5H7FG8Hc2DQgMH5y9H29nu7ODC/rmbG7r9x+PnXFTje2j6uxU/uew6P90tj0az+9H0q+NpGuHpxuHXyMB1zorTAypODWIWH41zbm880am6d4V7kUHhTmRQJn1UOah3j5KJvB0ULgrls3nmS2SwSNRqKN2+F7VeYetVIVVaFFNRvAU/mQhb51B0DLD1l2PPel4925+1Touo2cBzePbwKXpUS/FW0VbGzUIgJmp8fnycPtVdmx22qjo7vTg97kSvdKjpTP6incimF4fNc4aOa0cV5Ce9VkMu6npR56Q4zIf82KfGzPPW4bjYKGQews8+ft2nIF8qFa6w7TQbL9UyiXkBsPT8JrZOFuLxe9GsaeDyRXDcrs9Q34+bqHHYtBcnEyYhcr0bzRq4vlXKzW3tQB9cppjvJVv540ZpOI73z8a1cr9/eaELaq8+PrLd8uHeqhK2kq35tNvvlYeqUCqVK2en6TSPvH57r74Yz0a9sB5eqFRnteokFzp7mK7a/IHFuluXZFA4rNlUPDNYtYQtKctZy6pZN1hy0/DPjGaT6UhmW42vMnuqWse8dHoiL4ssKJS419MaHV5Yddy+J7PHqR/JkLqas1jLUCtvh+W+G/COTSaqILfENIp9t0xULNHoO7LL1rLbe5ns/izCuywcNWNBtW4vc/lmvBi/mK7S8/ywlMb9fjhbDpeFw1yh02HqYDC29Qlftpd2NT0qH9UPbaJxHLQINj6/2mu3ustZy8/GbpnRjX66zIvpQijyddkqjnql88XBmJUPsqNsxfnSZWx8We22FunU4Yg0563UIwjviSjue7J8V+51sdnsj+wwnmUOxca9xfIg1h/H5qu9e2g+ZUog9+1ofgcnsIKuJye5Zqafm9JsbzrvDeeVQlYcNdV8dFQPzNlhqrWoGxUqNy5McarjFnm0h/Rc8xLc43hvlli1zuRlr5bX3Xw7xcqi1aguSg1Q84FkvWOtR3sjPb1kmVys0qq2qpllYYhy+fRBUBws4389H8mt5z/HX2XfxPLxs6DWO2T52nw6Bs9czmcbnfFR5R6S3ZDsF9bHCtVvsv+qz/2BDoS6l4mfLlbsbCFUHLDV8Vkm0Qn7KVeoXq7M6YotYpmkO+3lY3icPhwNY+OTXHZoauXpWWq2LNpi6vjc56upVGY8Y6pbOJkMV+cLkWvNx34Q1vJFtkikW+HK7J03Z7HuchTs6VlrQlC53KhcxkaoNi+tflIHerd14Kfk+sqeLwDRH7VUol0+XR0ujgqFoq7n+sd7nnUmiWEx0c7I2UoeDCej+SUp+lkrPcnFk4eZ5SDRv2ykLmeFeG7eOt4764rptITttDXS6lgN0vGQFFuy2022U6kaqs8h4BmJ1dJ30CpRneqYbNdF/KBY4nSRej0UR9co7i5UuB+s7fz96ywXb2lLW/qF6P8HbnouIwCcAQA=

using base64 encoded root.json: ewogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICJzaWciOiAiMzA0NjAyMjEwMDhhYjFmNmYxN2Q0ZjllNmQ3ZGNmMWM4ODkxMmI2YjUzY2MxMDM4ODY0NGFlMWYwOWJjMzdhMDgyY2QwNjAwM2UwMjIxMDBlMTQ1ZWY0YzdiNzgyZDRlODEwN2I1MzQzN2U2NjlkMDQ3Njg5MmNlOTk5OTAzYWUzM2QxNDQ0ODM2Njk5NmU3IgogIH0sCiAgewogICAia2V5aWQiOiAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICJzaWciOiAiMzA0NTAyMjEwMGM3NjhiMmY4NmRhOTk1NjkwMTljMTYwYTA4MWRhNTRhZTM2YzM0YzBhMzEyMGQzY2I2OWI1M2I3ZDExMzc1OGUwMjIwNGY2NzE1MThmNjE3YjIwZDQ2NTM3ZmFlNmMzYjYzYmFlODkxM2Y0ZjE5NjIxNTYxMDVjYzRmMDE5YWMzNWM2YSIKICB9LAogIHsKICAgImtleWlkIjogIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAic2lnIjogIjMwNDUwMjIxMDBiNDQzNGU2OTk1ZDM2OGQyM2U3NDc1OWFjZDBjYjkwMTNjODNhNWQzNTExZjBmOTk3ZWM1NGM0NTZhZTQzNTBhMDIyMDE1YjBlMjY1ZDE4MmQyYjYxZGM3NGUxNTVkOThiM2MzZmJlNTY0YmEwNTI4NmFhMTRjOGRmMDJjOWI3NTY1MTYiCiAgfSwKICB7CiAgICJrZXlpZCI6ICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgInNpZyI6ICIzMDQ1MDIyMTAwODJjNTg0MTFkOTg5ZWI5Zjg2MTQxMDg1N2Q0MjM4MTU5MGVjOTQyNGRiZGFhNTFlNzhlZDEzNTE1NDMxOTA0ZTAyMjAxMTgxODVkYTZhNmMyOTQ3MTMxYzE3Nzk3ZTJiYjc2MjBjZTI2ZTVmMzAxZDFjZWFjNWYyYTdlNThmOWRjZjJlIgogIH0sCiAgewogICAia2V5aWQiOiAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIsCiAgICJzaWciOiAiMzA0NjAyMjEwMGM3ODUxMzg1NGNhZTljMzJlYWE2Yjg4ZTE4OTEyZjQ4MDA2YzI3NTdhMjU4ZjkxNzMxMmNhYmE3NTk0OGViOWUwMjIxMDBkOWUxYjRjZTBhZGZlOWZkMmUyMTQ4ZDdmYTI3YTJmNDBiYTExMjJiZDY5ZGE3NjEyZDhkMTc3NmIwMTNjOTFkIgogIH0sCiAgewogICAia2V5aWQiOiAiZmRmYTgzYTA3YjVhODM1ODliODdkZWQ0MWY3N2YzOWQyMzJhZDkxZjdjY2U1Mjg2OGRhY2QwNmJhMDg5ODQ5ZiIsCiAgICJzaWciOiAiMzA0NTAyMjA1NjQ4M2EyZDVkOWVhOWNlYzZlMTFlYWRmYjMzYzQ4NGI2MTQyOThmYWNhMTVhY2YxYzQzMWIxMWVkN2Y3MzRjMDIyMTAwZDBjMWQ3MjZhZjkyYTg3ZTRlNjY0NTljYTVhZGYzOGEwNWI0NGUxZjk0MzE4NDIzZjk1NGJhZThiY2E1YmIyZSIKICB9LAogIHsKICAgImtleWlkIjogImUyZjU5YWNiOTQ4ODUxOTQwN2UxOGNiZmM5MzI5NTEwYmUwM2MwNGFjYTk5MjlkMmYwMzAxMzQzZmVjODU1MjMiLAogICAic2lnIjogIjMwNDYwMjIxMDBkMDA0ZGU4ODAyNGMzMmRjNTY1M2E5ZjQ4NDNjZmM1MjE1NDI3MDQ4YWQ5NjAwZDJjZjljOTY5ZTZlZGZmM2QyMDIyMTAwZDllYmI3OThmNWZjNjZhZjEwODk5ZGVjZTAxNGE4NjI4Y2NmM2M1NDAyY2Q0YTQyNzAyMDc0NzJmOGY2ZTcxMiIKICB9LAogIHsKICAgImtleWlkIjogIjNjMzQ0YWEwNjhmZDRjYzRlODdkYzUwYjYxMmMwMjQzMWZiYzc3MWU5NTAwMzk5MzY4M2EyYjBiZjI2MGNmMGUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiN2IwOTk5NmM0NWNhMmQ0YjA1NjAzZTU2YmFlZmEyOTcxOGEwYjcxMTQ3Y2Y4YzZlNjYzNDliYWE2MTQ3N2RmMDIyMTAwYzRkYTgwYzcxN2I0ZmE3YmJhMGZkNWM3MmRhOGEwNDk5MzU4YjAxMzU4YjIzMDlmNDFkMTQ1NmVhMWU3ZTFkOSIKICB9LAogIHsKICAgImtleWlkIjogImVjODE2Njk3MzRlMDE3OTk2YzViODVmM2QwMmMzZGUxZGQ0NjM3YTE1MjAxOWZlMWFmMTI1ZDJmOTM2OGI5NWUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiZTk3ODJjMzA3NDRlNDExYTgyZmE4NWI1MTM4ZDYwMWNlMTQ4YmMxOTI1OGFlYzY0ZTdlYzI0NDc4ZjM4ODEyMDIyMTAwY2FlZjYzZGNhZjFhNGI5YTUwMGQzYmQwZTNmMTY0ZWMxOGYxYjYzZDdhOTQ2MGQ5YWNhYjEwNjZkYjBmMDE2ZCIKICB9LAogIHsKICAgImtleWlkIjogIjFlMWQ2NWNlOThiMTBhZGRhZDQ3NjRmZWJmN2RkYTJkMDQzNmIzZDNhMzg5MzU3OWMwZGRkYWVhMjBlNTQ4NDkiLAogICAic2lnIjogIjMwNDUwMjIwNzQ2ZWMzZjg1MzRjZTU1NTMxZDBkMDFmZjY0OTY0ZWY0NDBkMWU3ZDJjNGMxNDI0MDliOGU5NzY5ZjFhZGE2ZjAyMjEwMGUzYjkyOWZjZDkzZWExOGZlYWEwODI1ODg3YTcyMTA0ODk4NzlhNjY3ODBjMDdhODNmNGJkNDZlMmYwOWFiM2IiCiAgfQogXSwKICJzaWduZWQiOiB7CiAgIl90eXBlIjogInJvb3QiLAogICJjb25zaXN0ZW50X3NuYXBzaG90IjogdHJ1ZSwKICAiZXhwaXJlcyI6ICIyMDI1LTAyLTE5VDA4OjA0OjMyWiIsCiAgImtleXMiOiB7CiAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFekJ6Vk9tSENQb2pNVkxTSTM2NFdpaVY4TlByRFxuNklnUnhWbGlza3ovdit5M0pFUjVtY1ZHY09ObGlEY1dNQzVKMmxmSG1qUE5QaGI0SDd4bThMemZTQT09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBzYW50aWFnb3RvcnJlcyIKICAgfSwKICAgIjYxNjQzODM4MTI1YjQ0MGI0MGRiNjk0MmY1Y2I1YTMxYzBkYzA0MzY4MzE2ZWIyYWFhNThiOTU5MDRhNTgyMjIiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVpbmlrU3NBUW1Za05lSDVlWXEvQ25JekxhYWNPXG54bFNhYXdRRE93cUt5L3RDcXhxNXh4UFNKYzIxSzRXSWhzOUd5T2tLZnp1ZVkzR0lMemNNSlo0Y1d3PT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2kta2V5b3duZXIiOiAiQGJvYmNhbGxhd2F5IgogICB9LAogICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXk4WEtzbWhCWURJOEpjMEd3ekJ4ZUtheDBjbTVcblNUS0VVNjVIUEZ1blVuNDFzVDhwaTBGak00SWtIei9ZVW13bUxVTzBXdDdseGhqNkJrTElLNHFZQXc9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAZGxvcmVuYyIKICAgfSwKICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVXUmlHcjUraiszSjVTc0grWnRyNW5FMkgyd083XG5CVituTzNzOTNnTGNhMThxVE96SFkxb1d5QUdEeWtNU3NHVFVCU3Q5RCtBbjBLZktzRDJtZlNNNDJRPT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2ktb25saW5lLXVyaSI6ICJnY3BrbXM6Ly9wcm9qZWN0cy9zaWdzdG9yZS1yb290LXNpZ25pbmcvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9yb290L2NyeXB0b0tleXMvdGltZXN0YW1wIgogICB9LAogICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTBnaHJoOTJMdzFZcjNpZEdWNVdxQ3RNREI4Q3hcbitEOGhkQzR3MlpMTklwbFZSb1ZHTHNrWWEzZ2hlTXlPamlKOGtQaTE1YVEyLy83UCtvajdVdkpQR3c9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAam9zaHVhZ2wiCiAgIH0sCiAgICJlNzFhNTRkNTQzODM1YmE4NmFkYWQ5NDYwMzc5Yzc2NDFmYjg3MjZkMTY0ZWE3NjY4MDFhMWM1MjJhYmE3ZWEyIjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFRVhzejNTWlhGYjhqTVY0Mmo2cEpseWpialI4S1xuTjNCd29jZXhxNkxNSWI1cXNXS09RdkxOMTZOVWVmTGM0SHN3T291bVJzVlZhYWpTcFFTNmZvYmtSdz09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBtbm02NzgiCiAgIH0KICB9LAogICJyb2xlcyI6IHsKICAgInJvb3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI2ZjI2MDA4OWQ1OTIzZGFmMjAxNjZjYTY1N2M1NDNhZjYxODM0NmFiOTcxODg0YTk5OTYyYjAxOTg4YmJlMGMzIiwKICAgICAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICAgIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAgICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMwogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI3MjQ3ZjBkYmFkODViMTQ3ZTE4NjNiYWRlNzYxMjQzY2M3ODVkY2I3YWE0MTBlNzEwNWRkM2QyYjYxYTM2ZDJjIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxLAogICAgIngtdHVmLW9uLWNpLWV4cGlyeS1wZXJpb2QiOiAzNjUwLAogICAgIngtdHVmLW9uLWNpLXNpZ25pbmctcGVyaW9kIjogMzY1CiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICAgImU3MWE1NGQ1NDM4MzViYTg2YWRhZDk0NjAzNzljNzY0MWZiODcyNmQxNjRlYTc2NjgwMWExYzUyMmFiYTdlYTIiLAogICAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IiwKICAgICAiNjE2NDM4MzgxMjViNDQwYjQwZGI2OTQyZjVjYjVhMzFjMGRjMDQzNjgzMTZlYjJhYWE1OGI5NTkwNGE1ODIyMiIsCiAgICAgImE2ODdlNWJmNGZhYjgyYjBlZTU4ZDQ2ZTA1Yzk1MzUxNDVhMmM5YWZiNDU4ZjQzZDQyYjQ1Y2EwZmRjZTJhNzAiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDMKICAgfSwKICAgInRpbWVzdGFtcCI6IHsKICAgICJrZXlpZHMiOiBbCiAgICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDEsCiAgICAieC10dWYtb24tY2ktZXhwaXJ5LXBlcmlvZCI6IDcsCiAgICAieC10dWYtb24tY2ktc2lnbmluZy1wZXJpb2QiOiA0CiAgIH0KICB9LAogICJzcGVjX3ZlcnNpb24iOiAiMS4wIiwKICAidmVyc2lvbiI6IDEwLAogICJ4LXR1Zi1vbi1jaS1leHBpcnktcGVyaW9kIjogMTgyLAogICJ4LXR1Zi1vbi1jaS1zaWduaW5nLXBlcmlvZCI6IDMxCiB9Cn0=

generating TrustRoot.yaml:

apiVersion: policy.sigstore.dev/v1alpha1
kind: TrustRoot
metadata:
  name: tuf-repo-cdn.sigstore.dev-1732803179
spec:
  repository:
    root: |-
      ewogInNpZ25hdHVyZXMiOiBbCiAgewogICAia2V5aWQiOiAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICJzaWciOiAiMzA0NjAyMjEwMDhhYjFmNmYxN2Q0ZjllNmQ3ZGNmMWM4ODkxMmI2YjUzY2MxMDM4ODY0NGFlMWYwOWJjMzdhMDgyY2QwNjAwM2UwMjIxMDBlMTQ1ZWY0YzdiNzgyZDRlODEwN2I1MzQzN2U2NjlkMDQ3Njg5MmNlOTk5OTAzYWUzM2QxNDQ0ODM2Njk5NmU3IgogIH0sCiAgewogICAia2V5aWQiOiAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICJzaWciOiAiMzA0NTAyMjEwMGM3NjhiMmY4NmRhOTk1NjkwMTljMTYwYTA4MWRhNTRhZTM2YzM0YzBhMzEyMGQzY2I2OWI1M2I3ZDExMzc1OGUwMjIwNGY2NzE1MThmNjE3YjIwZDQ2NTM3ZmFlNmMzYjYzYmFlODkxM2Y0ZjE5NjIxNTYxMDVjYzRmMDE5YWMzNWM2YSIKICB9LAogIHsKICAgImtleWlkIjogIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAic2lnIjogIjMwNDUwMjIxMDBiNDQzNGU2OTk1ZDM2OGQyM2U3NDc1OWFjZDBjYjkwMTNjODNhNWQzNTExZjBmOTk3ZWM1NGM0NTZhZTQzNTBhMDIyMDE1YjBlMjY1ZDE4MmQyYjYxZGM3NGUxNTVkOThiM2MzZmJlNTY0YmEwNTI4NmFhMTRjOGRmMDJjOWI3NTY1MTYiCiAgfSwKICB7CiAgICJrZXlpZCI6ICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgInNpZyI6ICIzMDQ1MDIyMTAwODJjNTg0MTFkOTg5ZWI5Zjg2MTQxMDg1N2Q0MjM4MTU5MGVjOTQyNGRiZGFhNTFlNzhlZDEzNTE1NDMxOTA0ZTAyMjAxMTgxODVkYTZhNmMyOTQ3MTMxYzE3Nzk3ZTJiYjc2MjBjZTI2ZTVmMzAxZDFjZWFjNWYyYTdlNThmOWRjZjJlIgogIH0sCiAgewogICAia2V5aWQiOiAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIsCiAgICJzaWciOiAiMzA0NjAyMjEwMGM3ODUxMzg1NGNhZTljMzJlYWE2Yjg4ZTE4OTEyZjQ4MDA2YzI3NTdhMjU4ZjkxNzMxMmNhYmE3NTk0OGViOWUwMjIxMDBkOWUxYjRjZTBhZGZlOWZkMmUyMTQ4ZDdmYTI3YTJmNDBiYTExMjJiZDY5ZGE3NjEyZDhkMTc3NmIwMTNjOTFkIgogIH0sCiAgewogICAia2V5aWQiOiAiZmRmYTgzYTA3YjVhODM1ODliODdkZWQ0MWY3N2YzOWQyMzJhZDkxZjdjY2U1Mjg2OGRhY2QwNmJhMDg5ODQ5ZiIsCiAgICJzaWciOiAiMzA0NTAyMjA1NjQ4M2EyZDVkOWVhOWNlYzZlMTFlYWRmYjMzYzQ4NGI2MTQyOThmYWNhMTVhY2YxYzQzMWIxMWVkN2Y3MzRjMDIyMTAwZDBjMWQ3MjZhZjkyYTg3ZTRlNjY0NTljYTVhZGYzOGEwNWI0NGUxZjk0MzE4NDIzZjk1NGJhZThiY2E1YmIyZSIKICB9LAogIHsKICAgImtleWlkIjogImUyZjU5YWNiOTQ4ODUxOTQwN2UxOGNiZmM5MzI5NTEwYmUwM2MwNGFjYTk5MjlkMmYwMzAxMzQzZmVjODU1MjMiLAogICAic2lnIjogIjMwNDYwMjIxMDBkMDA0ZGU4ODAyNGMzMmRjNTY1M2E5ZjQ4NDNjZmM1MjE1NDI3MDQ4YWQ5NjAwZDJjZjljOTY5ZTZlZGZmM2QyMDIyMTAwZDllYmI3OThmNWZjNjZhZjEwODk5ZGVjZTAxNGE4NjI4Y2NmM2M1NDAyY2Q0YTQyNzAyMDc0NzJmOGY2ZTcxMiIKICB9LAogIHsKICAgImtleWlkIjogIjNjMzQ0YWEwNjhmZDRjYzRlODdkYzUwYjYxMmMwMjQzMWZiYzc3MWU5NTAwMzk5MzY4M2EyYjBiZjI2MGNmMGUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiN2IwOTk5NmM0NWNhMmQ0YjA1NjAzZTU2YmFlZmEyOTcxOGEwYjcxMTQ3Y2Y4YzZlNjYzNDliYWE2MTQ3N2RmMDIyMTAwYzRkYTgwYzcxN2I0ZmE3YmJhMGZkNWM3MmRhOGEwNDk5MzU4YjAxMzU4YjIzMDlmNDFkMTQ1NmVhMWU3ZTFkOSIKICB9LAogIHsKICAgImtleWlkIjogImVjODE2Njk3MzRlMDE3OTk2YzViODVmM2QwMmMzZGUxZGQ0NjM3YTE1MjAxOWZlMWFmMTI1ZDJmOTM2OGI5NWUiLAogICAic2lnIjogIjMwNDYwMjIxMDBiZTk3ODJjMzA3NDRlNDExYTgyZmE4NWI1MTM4ZDYwMWNlMTQ4YmMxOTI1OGFlYzY0ZTdlYzI0NDc4ZjM4ODEyMDIyMTAwY2FlZjYzZGNhZjFhNGI5YTUwMGQzYmQwZTNmMTY0ZWMxOGYxYjYzZDdhOTQ2MGQ5YWNhYjEwNjZkYjBmMDE2ZCIKICB9LAogIHsKICAgImtleWlkIjogIjFlMWQ2NWNlOThiMTBhZGRhZDQ3NjRmZWJmN2RkYTJkMDQzNmIzZDNhMzg5MzU3OWMwZGRkYWVhMjBlNTQ4NDkiLAogICAic2lnIjogIjMwNDUwMjIwNzQ2ZWMzZjg1MzRjZTU1NTMxZDBkMDFmZjY0OTY0ZWY0NDBkMWU3ZDJjNGMxNDI0MDliOGU5NzY5ZjFhZGE2ZjAyMjEwMGUzYjkyOWZjZDkzZWExOGZlYWEwODI1ODg3YTcyMTA0ODk4NzlhNjY3ODBjMDdhODNmNGJkNDZlMmYwOWFiM2IiCiAgfQogXSwKICJzaWduZWQiOiB7CiAgIl90eXBlIjogInJvb3QiLAogICJjb25zaXN0ZW50X3NuYXBzaG90IjogdHJ1ZSwKICAiZXhwaXJlcyI6ICIyMDI1LTAyLTE5VDA4OjA0OjMyWiIsCiAgImtleXMiOiB7CiAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFekJ6Vk9tSENQb2pNVkxTSTM2NFdpaVY4TlByRFxuNklnUnhWbGlza3ovdit5M0pFUjVtY1ZHY09ObGlEY1dNQzVKMmxmSG1qUE5QaGI0SDd4bThMemZTQT09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBzYW50aWFnb3RvcnJlcyIKICAgfSwKICAgIjYxNjQzODM4MTI1YjQ0MGI0MGRiNjk0MmY1Y2I1YTMxYzBkYzA0MzY4MzE2ZWIyYWFhNThiOTU5MDRhNTgyMjIiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVpbmlrU3NBUW1Za05lSDVlWXEvQ25JekxhYWNPXG54bFNhYXdRRE93cUt5L3RDcXhxNXh4UFNKYzIxSzRXSWhzOUd5T2tLZnp1ZVkzR0lMemNNSlo0Y1d3PT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2kta2V5b3duZXIiOiAiQGJvYmNhbGxhd2F5IgogICB9LAogICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRXk4WEtzbWhCWURJOEpjMEd3ekJ4ZUtheDBjbTVcblNUS0VVNjVIUEZ1blVuNDFzVDhwaTBGak00SWtIei9ZVW13bUxVTzBXdDdseGhqNkJrTElLNHFZQXc9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAZGxvcmVuYyIKICAgfSwKICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiOiB7CiAgICAia2V5aWRfaGFzaF9hbGdvcml0aG1zIjogWwogICAgICJzaGEyNTYiLAogICAgICJzaGE1MTIiCiAgICBdLAogICAgImtleXR5cGUiOiAiZWNkc2EiLAogICAgImtleXZhbCI6IHsKICAgICAicHVibGljIjogIi0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tXG5NRmt3RXdZSEtvWkl6ajBDQVFZSUtvWkl6ajBEQVFjRFFnQUVXUmlHcjUraiszSjVTc0grWnRyNW5FMkgyd083XG5CVituTzNzOTNnTGNhMThxVE96SFkxb1d5QUdEeWtNU3NHVFVCU3Q5RCtBbjBLZktzRDJtZlNNNDJRPT1cbi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLVxuIgogICAgfSwKICAgICJzY2hlbWUiOiAiZWNkc2Etc2hhMi1uaXN0cDI1NiIsCiAgICAieC10dWYtb24tY2ktb25saW5lLXVyaSI6ICJnY3BrbXM6Ly9wcm9qZWN0cy9zaWdzdG9yZS1yb290LXNpZ25pbmcvbG9jYXRpb25zL2dsb2JhbC9rZXlSaW5ncy9yb290L2NyeXB0b0tleXMvdGltZXN0YW1wIgogICB9LAogICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCI6IHsKICAgICJrZXlpZF9oYXNoX2FsZ29yaXRobXMiOiBbCiAgICAgInNoYTI1NiIsCiAgICAgInNoYTUxMiIKICAgIF0sCiAgICAia2V5dHlwZSI6ICJlY2RzYSIsCiAgICAia2V5dmFsIjogewogICAgICJwdWJsaWMiOiAiLS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS1cbk1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRTBnaHJoOTJMdzFZcjNpZEdWNVdxQ3RNREI4Q3hcbitEOGhkQzR3MlpMTklwbFZSb1ZHTHNrWWEzZ2hlTXlPamlKOGtQaTE1YVEyLy83UCtvajdVdkpQR3c9PVxuLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tXG4iCiAgICB9LAogICAgInNjaGVtZSI6ICJlY2RzYS1zaGEyLW5pc3RwMjU2IiwKICAgICJ4LXR1Zi1vbi1jaS1rZXlvd25lciI6ICJAam9zaHVhZ2wiCiAgIH0sCiAgICJlNzFhNTRkNTQzODM1YmE4NmFkYWQ5NDYwMzc5Yzc2NDFmYjg3MjZkMTY0ZWE3NjY4MDFhMWM1MjJhYmE3ZWEyIjogewogICAgImtleWlkX2hhc2hfYWxnb3JpdGhtcyI6IFsKICAgICAic2hhMjU2IiwKICAgICAic2hhNTEyIgogICAgXSwKICAgICJrZXl0eXBlIjogImVjZHNhIiwKICAgICJrZXl2YWwiOiB7CiAgICAgInB1YmxpYyI6ICItLS0tLUJFR0lOIFBVQkxJQyBLRVktLS0tLVxuTUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFRVhzejNTWlhGYjhqTVY0Mmo2cEpseWpialI4S1xuTjNCd29jZXhxNkxNSWI1cXNXS09RdkxOMTZOVWVmTGM0SHN3T291bVJzVlZhYWpTcFFTNmZvYmtSdz09XG4tLS0tLUVORCBQVUJMSUMgS0VZLS0tLS1cbiIKICAgIH0sCiAgICAic2NoZW1lIjogImVjZHNhLXNoYTItbmlzdHAyNTYiLAogICAgIngtdHVmLW9uLWNpLWtleW93bmVyIjogIkBtbm02NzgiCiAgIH0KICB9LAogICJyb2xlcyI6IHsKICAgInJvb3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI2ZjI2MDA4OWQ1OTIzZGFmMjAxNjZjYTY1N2M1NDNhZjYxODM0NmFiOTcxODg0YTk5OTYyYjAxOTg4YmJlMGMzIiwKICAgICAiZTcxYTU0ZDU0MzgzNWJhODZhZGFkOTQ2MDM3OWM3NjQxZmI4NzI2ZDE2NGVhNzY2ODAxYTFjNTIyYWJhN2VhMiIsCiAgICAgIjIyZjRjYWVjNmQ4ZTZmOTU1NWFmNjZiM2Q0YzNjYjA2YTNiYjIzZmRjN2UzOWM5MTZjNjFmNDYyZTZmNTJiMDYiLAogICAgICI2MTY0MzgzODEyNWI0NDBiNDBkYjY5NDJmNWNiNWEzMWMwZGMwNDM2ODMxNmViMmFhYTU4Yjk1OTA0YTU4MjIyIiwKICAgICAiYTY4N2U1YmY0ZmFiODJiMGVlNThkNDZlMDVjOTUzNTE0NWEyYzlhZmI0NThmNDNkNDJiNDVjYTBmZGNlMmE3MCIKICAgIF0sCiAgICAidGhyZXNob2xkIjogMwogICB9LAogICAic25hcHNob3QiOiB7CiAgICAia2V5aWRzIjogWwogICAgICI3MjQ3ZjBkYmFkODViMTQ3ZTE4NjNiYWRlNzYxMjQzY2M3ODVkY2I3YWE0MTBlNzEwNWRkM2QyYjYxYTM2ZDJjIgogICAgXSwKICAgICJ0aHJlc2hvbGQiOiAxLAogICAgIngtdHVmLW9uLWNpLWV4cGlyeS1wZXJpb2QiOiAzNjUwLAogICAgIngtdHVmLW9uLWNpLXNpZ25pbmctcGVyaW9kIjogMzY1CiAgIH0sCiAgICJ0YXJnZXRzIjogewogICAgImtleWlkcyI6IFsKICAgICAiNmYyNjAwODlkNTkyM2RhZjIwMTY2Y2E2NTdjNTQzYWY2MTgzNDZhYjk3MTg4NGE5OTk2MmIwMTk4OGJiZTBjMyIsCiAgICAgImU3MWE1NGQ1NDM4MzViYTg2YWRhZDk0NjAzNzljNzY0MWZiODcyNmQxNjRlYTc2NjgwMWExYzUyMmFiYTdlYTIiLAogICAgICIyMmY0Y2FlYzZkOGU2Zjk1NTVhZjY2YjNkNGMzY2IwNmEzYmIyM2ZkYzdlMzljOTE2YzYxZjQ2MmU2ZjUyYjA2IiwKICAgICAiNjE2NDM4MzgxMjViNDQwYjQwZGI2OTQyZjVjYjVhMzFjMGRjMDQzNjgzMTZlYjJhYWE1OGI5NTkwNGE1ODIyMiIsCiAgICAgImE2ODdlNWJmNGZhYjgyYjBlZTU4ZDQ2ZTA1Yzk1MzUxNDVhMmM5YWZiNDU4ZjQzZDQyYjQ1Y2EwZmRjZTJhNzAiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDMKICAgfSwKICAgInRpbWVzdGFtcCI6IHsKICAgICJrZXlpZHMiOiBbCiAgICAgIjcyNDdmMGRiYWQ4NWIxNDdlMTg2M2JhZGU3NjEyNDNjYzc4NWRjYjdhYTQxMGU3MTA1ZGQzZDJiNjFhMzZkMmMiCiAgICBdLAogICAgInRocmVzaG9sZCI6IDEsCiAgICAieC10dWYtb24tY2ktZXhwaXJ5LXBlcmlvZCI6IDcsCiAgICAieC10dWYtb24tY2ktc2lnbmluZy1wZXJpb2QiOiA0CiAgIH0KICB9LAogICJzcGVjX3ZlcnNpb24iOiAiMS4wIiwKICAidmVyc2lvbiI6IDEwLAogICJ4LXR1Zi1vbi1jaS1leHBpcnktcGVyaW9kIjogMTgyLAogICJ4LXR1Zi1vbi1jaS1zaWduaW5nLXBlcmlvZCI6IDMxCiB9Cn0=
    mirrorFS: |-
      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

done.

Use 'kubectl apply -f TrustRoot.yaml' to deploy the TrustRoot.
$ tree --dirsfirst --noreport
.
├── repository
│   ├── targets
│   │   ├── 0713252a7fd17f7f3ab12f88a64accf2eb14b8ad40ca711d7fe8b4ecba3b24db9e9dffadb997b196d3867b8f9ff217faf930d80e4dab4e235c7fc3f07be69224.fulcio.crt.pem
│   │   ├── 0ae7705e02db33e814329746a4a0e5603c5bdcd91c96d072158d71011a2695788866565a2fec0fe363eb72cbcaeda39e54c5fe8d416daf9f3101fdba4217ef35.rekor.pub
│   │   ├── 0f99f47dbc26c5f1e3cba0bfd9af4245a26e5cb735d6ef005792ec7e603f66fdb897de985973a6e50940ca7eff5e1849719e967b5ad2dac74a29115a41cf6f21.fulcio_intermediate_v1.crt.pem
│   │   ├── 270488a309d22e804eeb245493e87c667658d749006b9fee9cc614572d4fbbdc.ctfe_2022.pub
│   │   ├── 308fd1d1d95d7f80aa33b837795251cc3e886792982275e062409e13e4e236ffc34d676682aa96fdc751414de99c864bf132dde71581fa651c6343905e3bf988.artifact.pub
│   │   ├── 4364d7724c04cc912ce2a6c45ed2610e8d8d1c4dc857fb500292738d4d9c8d2c.trusted_root.json
│   │   ├── 4b20747d1afe2544238ad38cc0cc3010921b177d60ac743767e0ef675b915489bd01a36606c0ff83c06448622d7160f0d866c83d20f0c0f44653dcc3f9aa0bd4.ctfe.pub
│   │   ├── 59ebf97a9850aecec4bc39c1f5c1dc46e6490a6b5fd2a6cacdcac0c3a6fc4cbf.artifact.pub
│   │   ├── 7fcb94a5d0ed541260473b990b99a6c39864c1fb16f3f3e594a5a3cebbfe138a.ctfe.pub
│   │   ├── dce5ef715502ec9f3cdfd11f8cc384b31a6141023d3e7595e9908a81cb6241bd.rekor.pub
│   │   ├── e83fa4f427b24ee7728637fad1b4aa45ebde2ba02751fa860694b1bb16059a490328f9985e51cc70e4d237545315a1bc866dc4fdeef2f6248d99cc7a6077bf85.ctfe_2022.pub
│   │   ├── f2e33a6dc208cee1f51d33bbea675ab0f0ced269617497985f9a0680689ee7073e4b6f8fef64c91bda590d30c129b3070dddce824c05bc165ac9802f0705cab6.fulcio_v1.crt.pem
│   │   ├── f360c53b2e13495a628b9b8096455badcb6d375b185c4816d95a5d746ff29908.fulcio.crt.pem
│   │   ├── f8cbecf186db7714624a5f4e99da31a917cbef70a94dd6921f5c3ca969dfe30a.fulcio_intermediate_v1.crt.pem
│   │   ├── f989aa23def87c549404eadba767768d2a3c8d6d30a8b793f9f518a8eafd2cf5.fulcio_v1.crt.pem
│   │   └── fdebade075c4840d40f1806a14d0660ae1d22f47c0516abc4141e09f4ddf6ee6f4dbfbf08a7025bea10a4b8794658a4cd8ebb1024b963f239a9bfe02c2057fc6.trusted_root.json
│   ├── 10.root.json
│   ├── 10.targets.json
│   ├── 156.snapshot.json
│   └── timestamp.json
├── TrustRoot.yaml
├── repository.tgz
└── trustroot.sh
$ kubectl apply -f TrustRoot.yaml
trustroot.policy.sigstore.dev/tuf-repo-cdn.sigstore.dev-1732803179 created
$ kubectl get TrustRoot
NAME                                   AGE
tuf-repo-cdn.sigstore.dev-1732803179   3s

About

Create a TrustRoot.yaml file that contains the base64-encoded TUF root.json and repository.tgz files to validate container images' keyless signature authorities in air-gapped Sigstore Kubernetes Policy Controller deployments

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages