home.social

#skopeo — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #skopeo, aggregated by home.social.

fetched live
  1. Топ-8 опенсорс‑инструментов, которые необходимы разработчику в кубере

    Open source инструменты удобны для разработчика: настраиваешь их под себя и не зависишь от чужих правил, ценников и внезапных ограничений. Плюс вокруг них обычно есть живая документация и комьюнити — проблемы и решения редко остаются «в вакууме». Собрали с командой R&D список инструментов, которыми сами пользуемся ежедневно. В подборке — опенсорсные инструменты для разных ситуаций: от работы с Kubernetes и контейнерными реестрами до тестирования API, проверки чужих репозиториев и runtime‑наблюдения за безопасностью контейнеров.

    habr.com/ru/companies/pt/artic

    #cybersecurity #backend #runtime #code_review #freelens #k9s #skopeo #bruno #zed

  2. Топ-8 опенсорс‑инструментов, которые необходимы разработчику в кубере

    Open source инструменты удобны для разработчика: настраиваешь их под себя и не зависишь от чужих правил, ценников и внезапных ограничений. Плюс вокруг них обычно есть живая документация и комьюнити — проблемы и решения редко остаются «в вакууме». Собрали с командой R&D список инструментов, которыми сами пользуемся ежедневно. В подборке — опенсорсные инструменты для разных ситуаций: от работы с Kubernetes и контейнерными реестрами до тестирования API, проверки чужих репозиториев и runtime‑наблюдения за безопасностью контейнеров.

    habr.com/ru/companies/pt/artic

    #cybersecurity #backend #runtime #code_review #freelens #k9s #skopeo #bruno #zed

  3. Топ-8 опенсорс‑инструментов, которые необходимы разработчику в кубере

    Open source инструменты удобны для разработчика: настраиваешь их под себя и не зависишь от чужих правил, ценников и внезапных ограничений. Плюс вокруг них обычно есть живая документация и комьюнити — проблемы и решения редко остаются «в вакууме». Собрали с командой R&D список инструментов, которыми сами пользуемся ежедневно. В подборке — опенсорсные инструменты для разных ситуаций: от работы с Kubernetes и контейнерными реестрами до тестирования API, проверки чужих репозиториев и runtime‑наблюдения за безопасностью контейнеров.

    habr.com/ru/companies/pt/artic

    #cybersecurity #backend #runtime #code_review #freelens #k9s #skopeo #bruno #zed

  4. Kinda pleased with my myself. I've been wanting to change my website to a static generator (I've selected Hugo). I'd worked through the migration (locally) a while ago, but wanted to be able to use my CI/CD skills to automate building the website. So now I've successfully got #Forgejo building the site when I push to git. The tricky bit is that I do this in #Podman and then use #Skopeo to push the image to a self-hosted registry.

    It took a bit of finagling, but it seems to work. Last bit of the puzzle will be to run the container on my Docker Swarm, probably with Anubis in front. Then I can retire the old Wordpress version.

  5. Kinda pleased with my myself. I've been wanting to change my website to a static generator (I've selected Hugo). I'd worked through the migration (locally) a while ago, but wanted to be able to use my CI/CD skills to automate building the website. So now I've successfully got #Forgejo building the site when I push to git. The tricky bit is that I do this in #Podman and then use #Skopeo to push the image to a self-hosted registry.

    It took a bit of finagling, but it seems to work. Last bit of the puzzle will be to run the container on my Docker Swarm, probably with Anubis in front. Then I can retire the old Wordpress version.

  6. Slow claps for Skopeo just completely fucking ignoring an argument and providing zero warning that it's not going to do anything.

    Does this manual entry look like it's clear it doesn't *work* for actual image registries?

    github.com/containers/skopeo/i

    #Skopeo #OCI #Containers

  7. Slow claps for Skopeo just completely fucking ignoring an argument and providing zero warning that it's not going to do anything.

    Does this manual entry look like it's clear it doesn't *work* for actual image registries?

    github.com/containers/skopeo/i

    #Skopeo #OCI #Containers

  8. Slow claps for Skopeo just completely fucking ignoring an argument and providing zero warning that it's not going to do anything.

    Does this manual entry look like it's clear it doesn't *work* for actual image registries?

    github.com/containers/skopeo/i

    #Skopeo #OCI #Containers

  9. Slow claps for Skopeo just completely fucking ignoring an argument and providing zero warning that it's not going to do anything.

    Does this manual entry look like it's clear it doesn't *work* for actual image registries?

    github.com/containers/skopeo/i

    #Skopeo #OCI #Containers

  10. Slow claps for Skopeo just completely fucking ignoring an argument and providing zero warning that it's not going to do anything.

    Does this manual entry look like it's clear it doesn't *work* for actual image registries?

    github.com/containers/skopeo/i

    #Skopeo #OCI #Containers

  11. I’ve changed the #GitLab CI pipeline not to immediately push all #Docker tags with #podman build. Instead I added another job to tag pushed images with #skopeo only after all tests passed. Initially images have only the SHA1 Git revision as tag—tags like "latest" are created later with "skopeo copy".

    The pipeline:
    gitlab.com/coocook/coocook/-/p

    The commit making the changes:
    gitlab.com/coocook/coocook/-/c

  12. I’ve changed the #GitLab CI pipeline not to immediately push all #Docker tags with #podman build. Instead I added another job to tag pushed images with #skopeo only after all tests passed. Initially images have only the SHA1 Git revision as tag—tags like "latest" are created later with "skopeo copy".

    The pipeline:
    gitlab.com/coocook/coocook/-/p

    The commit making the changes:
    gitlab.com/coocook/coocook/-/c

  13. I’ve changed the #GitLab CI pipeline not to immediately push all #Docker tags with #podman build. Instead I added another job to tag pushed images with #skopeo only after all tests passed. Initially images have only the SHA1 Git revision as tag—tags like "latest" are created later with "skopeo copy".

    The pipeline:
    gitlab.com/coocook/coocook/-/p

    The commit making the changes:
    gitlab.com/coocook/coocook/-/c

  14. I’ve changed the #GitLab CI pipeline not to immediately push all #Docker tags with #podman build. Instead I added another job to tag pushed images with #skopeo only after all tests passed. Initially images have only the SHA1 Git revision as tag—tags like "latest" are created later with "skopeo copy".

    The pipeline:
    gitlab.com/coocook/coocook/-/p

    The commit making the changes:
    gitlab.com/coocook/coocook/-/c

  15. Does anyone know how to pull multiarch container manifests with #Podman or #Skopeo? I can build them just fine with podman build --platform, but each and every build tries to pull the base image for anything but my system arch, because that's what the tag points to in local storage. Is there some way to get the multiarch manifest into local storage instead, ideally in a way where per-arch images are only pulled as needed? ​:neocat_think:​

    For locally built multiarch manifests using them with
    podman run etc. works just fine, so I could probably pull for the relevant arches one by one, record the image IDs, and assemble a multiarch manifest for the tag locally, but that seems rather convoluted. ​:neocat_laugh_sweat:​

  16. Does anyone know how to pull multiarch container manifests with #Podman or #Skopeo? I can build them just fine with podman build --platform, but each and every build tries to pull the base image for anything but my system arch, because that's what the tag points to in local storage. Is there some way to get the multiarch manifest into local storage instead, ideally in a way where per-arch images are only pulled as needed? ​:neocat_think:​

    For locally built multiarch manifests using them with
    podman run etc. works just fine, so I could probably pull for the relevant arches one by one, record the image IDs, and assemble a multiarch manifest for the tag locally, but that seems rather convoluted. ​:neocat_laugh_sweat:​

  17. Does anyone know how to pull multiarch container manifests with #Podman or #Skopeo? I can build them just fine with podman build --platform, but each and every build tries to pull the base image for anything but my system arch, because that's what the tag points to in local storage. Is there some way to get the multiarch manifest into local storage instead, ideally in a way where per-arch images are only pulled as needed? ​:neocat_think:​

    For locally built multiarch manifests using them with
    podman run etc. works just fine, so I could probably pull for the relevant arches one by one, record the image IDs, and assemble a multiarch manifest for the tag locally, but that seems rather convoluted. ​:neocat_laugh_sweat:​

  18. Does anyone know how to pull multiarch container manifests with #Podman or #Skopeo? I can build them just fine with podman build --platform, but each and every build tries to pull the base image for anything but my system arch, because that's what the tag points to in local storage. Is there some way to get the multiarch manifest into local storage instead, ideally in a way where per-arch images are only pulled as needed? ​:neocat_think:​

    For locally built multiarch manifests using them with
    podman run etc. works just fine, so I could probably pull for the relevant arches one by one, record the image IDs, and assemble a multiarch manifest for the tag locally, but that seems rather convoluted. ​:neocat_laugh_sweat:​

  19. To manage your own registry using the OCI APIs, there's a variety of client tooling.

    - I'm the author of #regclient (the regsync command is very useful for mirrors): regclient.org
    - #Crane is available from Google: github.com/google/go-container
    - #Oras was started by Microsoft: oras.land/
    - #Skopeo is available from RedHat: github.com/containers/skopeo/

  20. To manage your own registry using the OCI APIs, there's a variety of client tooling.

    - I'm the author of (the regsync command is very useful for mirrors): regclient.org
    - is available from Google: github.com/google/go-container
    - was started by Microsoft: oras.land/
    - is available from RedHat: github.com/containers/skopeo/

  21. To manage your own registry using the OCI APIs, there's a variety of client tooling.

    - I'm the author of #regclient (the regsync command is very useful for mirrors): regclient.org
    - #Crane is available from Google: github.com/google/go-container
    - #Oras was started by Microsoft: oras.land/
    - #Skopeo is available from RedHat: github.com/containers/skopeo/

  22. To manage your own registry using the OCI APIs, there's a variety of client tooling.

    - I'm the author of #regclient (the regsync command is very useful for mirrors): regclient.org
    - #Crane is available from Google: github.com/google/go-container
    - #Oras was started by Microsoft: oras.land/
    - #Skopeo is available from RedHat: github.com/containers/skopeo/

  23. To manage your own registry using the OCI APIs, there's a variety of client tooling.

    - I'm the author of #regclient (the regsync command is very useful for mirrors): regclient.org
    - #Crane is available from Google: github.com/google/go-container
    - #Oras was started by Microsoft: oras.land/
    - #Skopeo is available from RedHat: github.com/containers/skopeo/

  24. @alxlg your most welcome!

    I by no means only use #docker. Far from it. 😎 But it does have a lot of capabilities now. Very much thanks to the outstanding work done on #podman and #buildah.

    Heck, yesterday a colleague found out "they" copied #skopeo for image mirroring with "imagetools". The cli design is really noisy, but it does work. 😅

    docs.docker.com/reference/cli/

  25. @alxlg your most welcome!

    I by no means only use . Far from it. 😎 But it does have a lot of capabilities now. Very much thanks to the outstanding work done on and .

    Heck, yesterday a colleague found out "they" copied for image mirroring with "imagetools". The cli design is really noisy, but it does work. 😅

    docs.docker.com/reference/cli/

  26. @alxlg your most welcome!

    I by no means only use #docker. Far from it. 😎 But it does have a lot of capabilities now. Very much thanks to the outstanding work done on #podman and #buildah.

    Heck, yesterday a colleague found out "they" copied #skopeo for image mirroring with "imagetools". The cli design is really noisy, but it does work. 😅

    docs.docker.com/reference/cli/

  27. @alxlg your most welcome!

    I by no means only use #docker. Far from it. 😎 But it does have a lot of capabilities now. Very much thanks to the outstanding work done on #podman and #buildah.

    Heck, yesterday a colleague found out "they" copied #skopeo for image mirroring with "imagetools". The cli design is really noisy, but it does work. 😅

    docs.docker.com/reference/cli/

  28. @alxlg your most welcome!

    I by no means only use #docker. Far from it. 😎 But it does have a lot of capabilities now. Very much thanks to the outstanding work done on #podman and #buildah.

    Heck, yesterday a colleague found out "they" copied #skopeo for image mirroring with "imagetools". The cli design is really noisy, but it does work. 😅

    docs.docker.com/reference/cli/

  29. Skopeo can also inspect the configuration of a container, not just what's in the OCI manifest. It's great to get a handle on the default environment variables, working directory, and other defaults. Use the --config flag to get the configuration of an image as a big JSON file.

    skopeo inspect --config --override-os="linux" --override-arch="amd64" docker://python:3.12

    I also needed to specify the OS and CPU architecture I wanted to inspect. Skopeo defaults to what's detected on the host and I'm on an ARM-based Mac. This returns something that's easy to pipe through JQ for just what I need - in this case, the default environment variables of the Python:3.12 image for Intel-based Linux systems.

    ᐅ skopeo inspect  --config --override-os="linux" --override-arch="amd64" docker://python:3.12 | jq '.config.Env'
    [
    "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "LANG=C.UTF-8",
    "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
    "PYTHON_VERSION=3.12.7",
    "PYTHON_SHA256=24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550"
    ]

    #containers #skopeo

  30. Skopeo can also inspect the configuration of a container, not just what's in the OCI manifest. It's great to get a handle on the default environment variables, working directory, and other defaults. Use the --config flag to get the configuration of an image as a big JSON file.

    skopeo inspect --config --override-os="linux" --override-arch="amd64" docker://python:3.12

    I also needed to specify the OS and CPU architecture I wanted to inspect. Skopeo defaults to what's detected on the host and I'm on an ARM-based Mac. This returns something that's easy to pipe through JQ for just what I need - in this case, the default environment variables of the Python:3.12 image for Intel-based Linux systems.

    ᐅ skopeo inspect  --config --override-os="linux" --override-arch="amd64" docker://python:3.12 | jq '.config.Env'
    [
    "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "LANG=C.UTF-8",
    "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
    "PYTHON_VERSION=3.12.7",
    "PYTHON_SHA256=24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550"
    ]

    #containers #skopeo

  31. Skopeo can also inspect the configuration of a container, not just what's in the OCI manifest. It's great to get a handle on the default environment variables, working directory, and other defaults. Use the --config flag to get the configuration of an image as a big JSON file.

    skopeo inspect --config --override-os="linux" --override-arch="amd64" docker://python:3.12

    I also needed to specify the OS and CPU architecture I wanted to inspect. Skopeo defaults to what's detected on the host and I'm on an ARM-based Mac. This returns something that's easy to pipe through JQ for just what I need - in this case, the default environment variables of the Python:3.12 image for Intel-based Linux systems.

    ᐅ skopeo inspect  --config --override-os="linux" --override-arch="amd64" docker://python:3.12 | jq '.config.Env'
    [
    "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "LANG=C.UTF-8",
    "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
    "PYTHON_VERSION=3.12.7",
    "PYTHON_SHA256=24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550"
    ]

    #containers #skopeo

  32. Skopeo can also inspect the configuration of a container, not just what's in the OCI manifest. It's great to get a handle on the default environment variables, working directory, and other defaults. Use the --config flag to get the configuration of an image as a big JSON file.

    skopeo inspect --config --override-os="linux" --override-arch="amd64" docker://python:3.12

    I also needed to specify the OS and CPU architecture I wanted to inspect. Skopeo defaults to what's detected on the host and I'm on an ARM-based Mac. This returns something that's easy to pipe through JQ for just what I need - in this case, the default environment variables of the Python:3.12 image for Intel-based Linux systems.

    ᐅ skopeo inspect  --config --override-os="linux" --override-arch="amd64" docker://python:3.12 | jq '.config.Env'
    [
    "PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "LANG=C.UTF-8",
    "GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305",
    "PYTHON_VERSION=3.12.7",
    "PYTHON_SHA256=24887b92e2afd4a2ac602419ad4b596372f67ac9b077190f459aba390faf5550"
    ]

    #containers #skopeo

  33. Today at #KubeCon, Red Hat announced their intent to contribute their container tools such as #Podman, #PodmanDesktop, #Skopeo, #Buildah to the Cloud Native Computing Foundation! Super exciting news & proof of the commitment Red Hat has to the Open Source community.

    redhat.com/en/blog/red-hat-con

  34. Today at #KubeCon, Red Hat announced their intent to contribute their container tools such as #Podman, #PodmanDesktop, #Skopeo, #Buildah to the Cloud Native Computing Foundation! Super exciting news & proof of the commitment Red Hat has to the Open Source community.

    redhat.com/en/blog/red-hat-con

  35. Today at #KubeCon, Red Hat announced their intent to contribute their container tools such as #Podman, #PodmanDesktop, #Skopeo, #Buildah to the Cloud Native Computing Foundation! Super exciting news & proof of the commitment Red Hat has to the Open Source community.

    redhat.com/en/blog/red-hat-con

  36. Today at #KubeCon, Red Hat announced their intent to contribute their container tools such as #Podman, #PodmanDesktop, #Skopeo, #Buildah to the Cloud Native Computing Foundation! Super exciting news & proof of the commitment Red Hat has to the Open Source community.

    redhat.com/en/blog/red-hat-con

  37. Today at #KubeCon, Red Hat announced their intent to contribute their container tools such as #Podman, #PodmanDesktop, #Skopeo, #Buildah to the Cloud Native Computing Foundation! Super exciting news & proof of the commitment Red Hat has to the Open Source community.

    redhat.com/en/blog/red-hat-con

  38. Will I be glad that I found #skopeo? Perhaps this next week will demonstrate.

  39. Just setup #anki sync server!

    Not that bad of a process, but they don't provide prebuild binaries for their #RustLang implementation

    I ended up using skopeo to download and extract the docker image and use the binary from there - simple enough

    #skopeo #server #homelab #selfhosting

  40. Just setup #anki sync server!

    Not that bad of a process, but they don't provide prebuild binaries for their #RustLang implementation

    I ended up using skopeo to download and extract the docker image and use the binary from there - simple enough

    #skopeo #server #homelab #selfhosting

  41. Just setup #anki sync server!

    Not that bad of a process, but they don't provide prebuild binaries for their #RustLang implementation

    I ended up using skopeo to download and extract the docker image and use the binary from there - simple enough

    #skopeo #server #homelab #selfhosting

  42. Just setup #anki sync server!

    Not that bad of a process, but they don't provide prebuild binaries for their #RustLang implementation

    I ended up using skopeo to download and extract the docker image and use the binary from there - simple enough

    #skopeo #server #homelab #selfhosting

  43. Just setup #anki sync server!

    Not that bad of a process, but they don't provide prebuild binaries for their #RustLang implementation

    I ended up using skopeo to download and extract the docker image and use the binary from there - simple enough

    #skopeo #server #homelab #selfhosting

  44. Want to know how big an image is going to be *before* you download it? You can do this with #skopeo and a bit of #bash.

    skopeo inspect docker://alpine/openssl:latest | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    3.6MiB

    skopeo inspect docker://ucsb/pstat-134-234:v20231107 | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    7.6GiB

  45. Want to know how big an image is going to be *before* you download it? You can do this with #skopeo and a bit of #bash.

    skopeo inspect docker://alpine/openssl:latest | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    3.6MiB

    skopeo inspect docker://ucsb/pstat-134-234:v20231107 | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    7.6GiB

  46. Want to know how big an image is going to be *before* you download it? You can do this with #skopeo and a bit of #bash.

    skopeo inspect docker://alpine/openssl:latest | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    3.6MiB

    skopeo inspect docker://ucsb/pstat-134-234:v20231107 | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    7.6GiB

  47. Want to know how big an image is going to be *before* you download it? You can do this with #skopeo and a bit of #bash.

    skopeo inspect docker://alpine/openssl:latest | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    3.6MiB

    skopeo inspect docker://ucsb/pstat-134-234:v20231107 | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    7.6GiB

  48. Want to know how big an image is going to be *before* you download it? You can do this with #skopeo and a bit of #bash.

    skopeo inspect docker://alpine/openssl:latest | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    3.6MiB

    skopeo inspect docker://ucsb/pstat-134-234:v20231107 | jq '.LayersData[].Size' | paste -s -d+ - | bc | numfmt --to=iec-i --suffix=B

    7.6GiB