Shoulder.dev Logo Shoulder.dev

Automating Container Image Deployment with OCI

Scenario: A developer, Alice, wants to automate the deployment of container images to various environments using Open Container Initiative (OCI) Distribution and notifications. Alice uses zot as her vendor-neutral OCI image registry server and GitHub Actions for continuous integration and deployment.

Codebase Files and Directories:

  • cmd/
  • digest/
  • main.go
  • registry/
  • config-cache.yml
  • config-dev.yml
  • config-example.yml
  • main.go
  • registry-api-descriptor-template/
  • main.go
  • configuration/
  • configuration.go
  • configuration_test.go
  • configuration/parser.go
  • configuration/parser_test.go
  • digestset/
  • deprecated.go
  • dockerfiles/
  • authors.Dockerfile
  • docs.Dockerfile
  • git.Dockerfile
  • lint.Dockerfile
  • vendor.Dockerfile
  • docs/
  • content/
  • about/
  • recipes/
  • spec/
  • storage-drivers/
  • _index.md
  • data/
  • menu/
  • i18n/
  • en.yaml
  • layouts/
  • _default/
  • static/
  • favicon/
  • images/
  • brand.svg
  • custom.css
  • themes/
  • hugo-geekdoc/
  • dockerhub.md
  • hugo.yaml
  • health/
  • api/
  • api.go
  • api_test.go
  • checks/
  • checks.go
  • checks_test.go
  • doc.go
  • health.go
  • health_test.go
  • internal/
  • client/
  • auth/
  • transport/
  • blob_writer.go
  • blob_writer_test.go
  • errors.go
  • errors_test.go
  • repository.go
  • repository_test.go
  • dcontext/
  • context.go
  • doc.go
  • http.go
  • http_test.go
  • logger.go
  • trace.go
  • trace_test.go
  • util.go
  • version.go
  • version_test.go
  • requestutil/
  • util.go
  • util_test.go
  • manifest/
  • manifestlist/
  • manifestlist.go
  • manifestlist_test.go
  • ocischema/
  • builder.go
  • builder_test.go
  • index.go
  • index_test.go
  • manifest.go
  • manifest_test.go
  • schema2/
  • builder.go
  • builder_test.go
  • manifest.go
  • manifest_test.go
  • doc.go
  • versioned.go
  • metrics/
  • prometheus.go
  • notifications/
  • bridge.go
  • bridge_test.go
  • endpoint.go
  • event.go
  • event_test.go
  • http.go
  • http_test.go
  • listener.go
  • listener_test.go
  • metrics.go
  • metrics_test.go
  • sinks.go
  • sinks_test.go
  • project/
  • dev-image/
  • Dockerfile
  • hooks/
  • README.md
  • configure-hooks.sh
  • pre-commit
  • registry/
  • api/
  • errcode/
  • v2/
  • auth/
  • htpasswd/
  • silly/
  • token/
  • handlers/
  • api_test.go
  • app.go
  • app_test.go
  • basicauth.go
  • blob.go
  • blobupload.go
  • catalog.go
  • context.go
  • health_test.go
  • helpers.go
  • hmac.go
  • hmac_test.go
  • hooks.go
  • mail.go
  • manifests.go
  • tags.go
  • listener/
  • listener.go
  • middleware/
  • registry/
  • repository/
  • proxy/
  • scheduler/
  • proxyauth.go
  • proxyblobstore.go
  • proxyblobstore_test.go
  • proxymanifeststore.go
  • proxymanifeststore_test.go
  • proxymetrics.go
  • proxyregistry.go
  • proxytagservice.go
  • proxytagservice_test.go
  • storage/
  • cache/
  • driver/
  • blob_test.go
  • blobserver.go
  • blobstore.go
  • blobwriter.go
  • blobwriter_nonresumable.go
  • blobwriter_resumable.go
  • catalog.go
  • catalog_test.go
  • doc.go
  • error.go
  • filereader.go
  • filereader_test.go
  • garbagecollect.go
  • garbagecollect_test.go
  • io.go
  • linkedblobstore.go
  • linkedblobstore_test.go
  • manifestlisthandler.go
  • manifeststore.go
  • manifeststore_test.go
  • ociindexhandler.go
  • ocimanifesthandler.go
  • ocimanifesthandler_test.go
  • paths.go
  • paths_test.go
  • purgeuploads.go
  • purgeuploads_test.go
  • registry.go
  • schema2manifesthandler.go
  • schema2manifesthandler_test.go
  • tagstore.go
  • tagstore_test.go
  • vacuum.go
  • doc.go
  • registry.go
  • registry_test.go
  • root.go
  • releases/
  • README.md
  • v2.5.0-changelog.txt
  • v2.6.0-changelog.txt
  • v2.7.0.toml
  • v3.0.0.toml
  • tests/
  • conf-e2e-cloud-storage.yml
  • conf-local-cloud.yml
  • docker-compose-e2e-cloud-storage.yml
  • docker-compose-storage.yml
  • push.sh
  • testutil/
  • handler.go
  • manifests.go
  • push.go
  • tarfile.go
  • tracing/
  • exporter.go
  • exporter_test.go
  • loggerwriter.go
  • tracing.go
  • vendor/
  • cloud.google.com/
  • go/
  • github.com/
  • AdaLogics/
  • Azure/
  • AzureAD/
  • aws/
  • beorn7/
  • bshuster-repo/
  • cenkalti/
  • cespare/
  • coreos/
  • cyphar/
  • davecgh/
  • dgryski/
  • distribution/
  • docker/
  • felixge/
  • go-jose/
  • go-logr/
  • golang/
  • golang-jwt/
  • google/
  • googleapis/
  • gorilla/
  • grpc-ecosystem/
  • hashicorp/
  • inconshreveable/
  • jmespath/
  • klauspost/
  • kylelemons/
  • matttproud/
  • mitchellh/
  • opencontainers/
  • pkg/
  • pmezard/
  • prometheus/
  • redis/
  • sirupsen/
  • spf13/
  • stretchr/
  • go.opencensus.io/
  • go.opencensus.io/internal/
  • go.opencensus.io/metric/