Skip to content

Conversation

aledbf
Copy link
Member

@aledbf aledbf commented May 30, 2022

Description

Add a new BlobSource for IPFS and additional check to avoid pushing the content multiple times.

How to test

  1. Start a workspace-preview and ssh to the VM
  2. Start IPFS
/usr/local/bin/ipfs-bootstrap.sh
kubectl apply -f /var/lib/gitpod/manifests/ipfs.yaml 
  1. Start Redis
REDIS_PASSWORD="$(openssl rand -hex 15)"
kubectl create secret generic redis-credentials --namespace=default --from-literal=password=$REDIS_PASSWORD --dry-run=client -o yaml | kubectl replace --force -f -
kubectl create secret generic redis-credentials --namespace=storage --from-literal=password=$REDIS_PASSWORD --dry-run=client -o yaml | kubectl replace --force -f -

kubectl apply -f /var/lib/gitpod/manifests/redis.yaml 
  1. Update registry-facade configuration
  • Update configmap
        "ipfs": {
          "enabled": true,
          "ipfsAddr": "/dns4/ipfs.storage/tcp/9095"
        },
        "redis": {
          "enabled": true,
          "masterName": "kumquat",
          "sentinelAddrs": [
            "redis-node-0.redis-headless.storage.svc.cluster.local:26379",
            "redis-node-1.redis-headless.storage.svc.cluster.local:26379",
            "redis-node-2.redis-headless.storage.svc.cluster.local:26379"
          ],
          "username": "default"
        }
  • Update daemonset env section adding
        - name: REDIS_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: redis-credentials

And also increase the log level of registry-facade to debug.

  1. Open a workspace
  2. Open a new one and check the registry-facade logs. You should see at least one output of returning blob from IPFS
  3. Use nerdct -n k8s.io rmi to remove all the images from the node with the expression reg.*
  4. Open a workspace and check registry-facade logs

{"digest":"sha256:a26c43a8eeef4519ed33009190c2260b087bded92ed32e6e9276f525af33249f","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:58e3bf159343ec746b4186eef70d1c176f5970cb7fd8c2997832bc34afbfcdf4","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:bcb5b0afab2893e0c1885b29825f17ee1c1aed370d7f73e12f5fae1fe6b2a692","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:a51c3556612d1feeddcea584c608282a4365788957e8ca313d8a0aa0fbb08db1","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:0e39234fb8b7b9e4e441fc69a967c6e3bf52ee26ffc5e010121b969d82914cdb","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:32760d83355a9b7eb86677f9d0ae12b3f837c4822f1e46c392ef01f811e299ba","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:21Z"}
{"digest":"sha256:37f21cd47fec9b193e2a19f7529bbfcafc153dbfcfc5a4172057e4d65f551a97","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:fb39e626ef3b6d37b6b45495798e1e0f48664d42aac59903cb99a612c33b6157","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:649bbb6544500aa169744e911995eec56cb635a430320ef0964bd0bd32bc5756","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:66c94af97eb5233a8e332e6bebbfbecb62a38023e29eadddf8564915760efdd0","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:d00b9ca7bcc18a52536304e0d28e65749bfe36c7b4d82687c5242b377ff63078","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:6616d0fdd6dd05b2515b5c83800740fd633a514238fe7caa3f7eeda7f89ad988","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:22Z"}
{"digest":"sha256:09b29758555d877dd38fa3f46e38f937ac6c233f7f6de432fcca01eb61a17fb8","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:23Z"}
{"digest":"sha256:8b03b0e893c0e42f014f67a20020c133704bbe6ec6bc9f0e710d496e95eb6b8c","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:23Z"}
{"digest":"sha256:f2881b961cb14f4fd700d36e1a3c45e62fb089f11c47e92268710eb8cf92bfea","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:23Z"}
{"digest":"sha256:ea8e07a0b42357c838ce762b3799264fc8174efd67edff04f16f35106cf96c5a","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:23Z"}
{"digest":"sha256:643504072b7bf42d8a4ab318b4773c52697253f1b2030d12d62dd91a9aa4a9b7","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:24Z"}
{"digest":"sha256:bea988a348bcd30eab4436feaf3c79546f917214d9d4d29ab4e2d0cc173449c5","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:24Z"}
{"digest":"sha256:6cde8dbf4b18efaa0b014f3ee3fa2da6a45c5057cf30e34f651154a03497a34e","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:24Z"}
{"digest":"sha256:9c8d3cca9ddbecf0a3a246b0d881ac725d25c2f555c67361798f4aecb16c5e41","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:24Z"}
{"digest":"sha256:7e0a9148f7cce20a4e3d4c3e15021c222a0c5fed25a7e9452a0273482c6e8cf1","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:25Z"}
{"digest":"sha256:34602ca6b925d580a71c504224d2210f57e60455c630826046b638b6faeabbf4","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:26Z"}
{"digest":"sha256:601c703a153f0ad2b0285680b74cba31e8247f83137851a798e4ae5d4fde60d5","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:0e80040487d213461736711d2c287bc9a8c6521bf916a756a247125266c86250","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:5b246ac5e7946f3a1eb709745bd3e5e8145ab8dd79198fccf726bd681ae35752","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:57dcd2d72a038379cf9fcbea353e97dab603591d6aa91ea4757622af8a6f7029","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:7be34259e75c2a9b638bdd6f8fd0611e0e369e6287843db7f3b746518a4b89b4","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:195eeaffe447ab9d8b93d5c1a97d04a80020d1d353b64cf32abd83d860571759","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:28Z"}
{"digest":"sha256:d7454e08af22289ea366fd5eae9bae42b9fb93a0199e341f5ab616221dad62a9","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:8ffd2587e948d948534bfbc4373be4758c32e9f511e20242396f8b3a1dcae7ed","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:7fde2d3ca2de27d1a0059198e2c4852ace1ea2c875af0429547bdc82a8c76e74","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:ee04b7c44edaf05d4d13798739372c9d5d253c9dcdf08acc4eb28e7e610d5bd5","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:0f16004ed0edb34e41abb7b4d5b854f336b9cd0d04f3294e0c88b89957752655","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:843ca1e3a25475535e6f68f31190c074794bd7c912da8b7b5039ab1f562cdcd3","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:30Z"}
{"digest":"sha256:6bce0256173681c4935cb799ea77525b1cf02ba15b351c0b8d9e856ed5161f3f","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:27e2529000263e69866f484188c1eeaa7785d349321a4eb731fad9b06064d584","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:9fbde7203865e6c6ef14d3c8455a0e2db15c70b54d4378c3db05ad9c97d092ed","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:4776a26e5f73443bd6639d6c9ed2e9ef784f8f7e8916cd02b819dad97c0ae56a","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:142088eafd1e76260e80cf9b0f40aac85b36825b5f2cb7fb0b91bb53585cb509","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:d11fd99b47b2e5ed025ef2cd75eea324c120736b44ffb5f68622374795fbfe09","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:31Z"}
{"digest":"sha256:309e6f5c4666215b3824f7c6afd7d84605127284832554263f8d23ac14b9c63d","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:671e257a317015e471f9e781f9c137e15a7f5e764c14c0ae0a3a9bb3f0e49c84","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:a51e175eeb077dd4606583443b069df6f2366441235597ca3fe7be8490e9fd4a","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:60a737dcaa7edd85315ead0480e32e98ce303987821d29ce60f04f60a0fc6abb","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:93c43255c7bddbf73323488f2ea34ef8d5318a22447496179eb9d5ac62227490","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:72a9f0f14197055018d6d7549012b19170b6c6d66844d54998733d10b10ef967","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:32Z"}
{"digest":"sha256:604e677dfdc185ed4fb38bfe6434a64185d95b7a5c95858ae0d03ea56a1d124b","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:33Z"}
{"digest":"sha256:93260ee05d1c596fe33d3a6f67b09d07899a1f52e1d0ba597fe1b07fe8a7138b","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:33Z"}
{"digest":"sha256:208dc8540c844a0081e106153606c47dabb51dc186937bd400ef7cc5e4611352","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:78fd7691c4b411311163df0a776e2254637c97b4813abf926362cee56053804b","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:5852c2300406827c6784669f8104244ba62869d599219193d9caf36ceb1835b6","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:4d87935a36307cd12e5d501158933ef716683f88fbab6f3e3e2d38b96fe890f4","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:e38264f43e0e09f3f50942b6769743c37ea1b3231812b034244c8ad1dd2179ab","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:34744723adbabe538c708c14cc03cba110100a97862d83c8e9f64235bc3332d3","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
{"digest":"sha256:b7b3f71619c7523ca4a37c4e753d24618cc7e4049e936f57c40bc10c0a7090f4","level":"debug","message":"returning blob from IPFS","serviceContext":{"service":"registry-facade","version":"commit-b5a4797cc07d773cba33915f471145dc4bb963db"},"severity":"DEBUG","time":"2022-05-31T08:13:35Z"}
0s          Normal    Pulled                    pod/ws-c5bf7512-8906-4a3b-bc4b-d1516d0bdde6                        Successfully pulled image "reg.g5826d3b02a5c604998e580.workspace-preview.gitpod-io-dev.com:20000/remote/c5bf7512-8906-4a3b-bc4b-d1516d0bdde6" in 1m20.642414654s

Release Notes

[registry-facade] Return content directly from IPFS

@aledbf
Copy link
Member Author

aledbf commented May 30, 2022

/werft run

👍 started the job as gitpod-build-aledbf-ipfs.20
(with .werft/ from main)

@aledbf aledbf requested a review from csweichel May 30, 2022 16:26
Remove manifestModifier
@aledbf
Copy link
Member Author

aledbf commented May 30, 2022

/werft run

👍 started the job as gitpod-build-aledbf-ipfs.24
(with .werft/ from main)

@aledbf
Copy link
Member Author

aledbf commented May 30, 2022

/werft run

👍 started the job as gitpod-build-aledbf-ipfs.25
(with .werft/ from main)

@aledbf
Copy link
Member Author

aledbf commented May 31, 2022

/werft run

👍 started the job as gitpod-build-aledbf-ipfs.26
(with .werft/ from main)

@csweichel
Copy link
Contributor

csweichel commented May 31, 2022

/werft run

👍 started the job as gitpod-build-aledbf-ipfs.27
(with .werft/ from main)

@aledbf aledbf marked this pull request as ready for review May 31, 2022 10:26
@aledbf aledbf requested a review from a team May 31, 2022 10:26
@github-actions github-actions bot added the team: workspace Issue belongs to the Workspace team label May 31, 2022
@roboquat roboquat merged commit fbda508 into main May 31, 2022
@roboquat roboquat deleted the aledbf/ipfs branch May 31, 2022 12:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release-note size/L team: workspace Issue belongs to the Workspace team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants