{"id":37889725,"url":"https://github.com/tlwr/registry-tag-resource","last_synced_at":"2026-01-16T16:55:22.802Z","repository":{"id":44300777,"uuid":"276502538","full_name":"tlwr/registry-tag-resource","owner":"tlwr","description":"a concourse resource for oci registry tags","archived":false,"fork":false,"pushed_at":"2025-11-03T08:22:24.000Z","size":70,"stargazers_count":4,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-03T10:13:57.554Z","etag":null,"topics":["concourse","concourse-resource","hacktoberfest"],"latest_commit_sha":null,"homepage":"https://concourse.tobys.cloud/teams/main/pipelines/registry-tag-resource","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlwr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-07-01T23:23:19.000Z","updated_at":"2025-11-03T08:22:20.000Z","dependencies_parsed_at":"2023-01-29T21:01:06.631Z","dependency_job_id":"0eec5ca6-27ca-48f3-842c-f4248398b9d6","html_url":"https://github.com/tlwr/registry-tag-resource","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/tlwr/registry-tag-resource","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlwr%2Fregistry-tag-resource","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlwr%2Fregistry-tag-resource/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlwr%2Fregistry-tag-resource/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlwr%2Fregistry-tag-resource/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlwr","download_url":"https://codeload.github.com/tlwr/registry-tag-resource/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlwr%2Fregistry-tag-resource/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28480081,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["concourse","concourse-resource","hacktoberfest"],"created_at":"2026-01-16T16:55:22.700Z","updated_at":"2026-01-16T16:55:22.778Z","avatar_url":"https://github.com/tlwr.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# registry-tag-resource\n\na [concourse](https://concourse-ci.org)\n[resource type](https://resource-types.concourse-ci.org)\nfor tags in a oci registry\n\na\n[blog post on www.toby.codes](https://www.toby.codes/posts/2021-05-Automatic-updates-of-Docker-images-with-Concourse)\ndescribes how this resource type can be used\n\n## public image\n\nall passing commits are built into container images hosted on\n[github](https://github.com/users/tlwr/packages/container/package/registry-tag-resource)\n\n## operations\n\n* `check` - looks for tags\n* `in` - downloads metadata about the tag\n\n## configuration\n\n```yaml\nsource:\n  # where the image lives\n  #\n  # for docker hub https://hub.docker.com/v2/user_or_org/image_name\n  #\n  # for example https://hub.docker.com/v2/library/ruby for _/ruby\n  # for example https://quay.io/v2/coreos/etcd'\n  #\n  # mandatory\n  uri: https://hub.docker.com/v2/repositories/governmentpaas/cf-cli\n\n  # basic auth\n  #\n  # only works for registries, does not work for docker hub\n  #\n  # optional\n  username: my-registry-username\n  password: my-secret-password\n\n  # how many pages to check in the registry\n  #\n  # optional ; default 1\n  pages: 1\n\n  # how many tags to fetch per page\n  #\n  # optional ; default 25\n  tags_per_page: 50\n\n  # ruby regular expression for filtering tags\n  #\n  # optional\n  regexp: 'v[0-9]+'\n\n  # to specify semantic versions\n  # see github.com/jlindsey/semantic\n  #\n  # optional\n  semver:\n    # mandatory\n    matcher: '~1.5'\n\n    # optional\n    prefix: 'v'\n    \n\n  # to sort by other methods\n\n  # optional\n  sort:\n    # exclusive with semver.matcher\n    #\n    # alphabetical or numerical\n    #\n    # optional\n    method: alphabetical\n\n    # for example, can be used to retrieve oldest tag as most recent version\n    #\n    # optional\n    reverse: true\n```\n\n## `check` - check for new tags\n\nthe `check` step looks at the configured registry for new tags for the image\n\nan example version:\n\n```json\n{\n  \"tag\": \"2.7.1\"\n}\n```\n\n## `in` - fetch registry image metadata\n\nproduces the following files:\n\n* `tag`\n* `digest`\n\n## examples\n\n### dynamically generate docker image using build args\n\nusing a [Dockerfile](Dockerfile) with a build arg:\n\n```Dockerfile\nBUILD_ARG ruby_version\nFROM ruby:$ruby_version\n\n...\n```\n\na pipeline that uses the\n[oci-build-task](https://github.com/vito/oci-build-task) can dynamically\nbuild docker images using `BUILD-ARG_` params:\n\n```yaml\nname: dynamically-build-image\nplan:\n\n  # source code\n  - get: my-src \n\n  # registry-tag\n  - get: ruby-img-tag\n  \n  # make tag file from resource available as a variable\n  - load_var: ruby-version\n    file: ruby-img-tag/tag\n\n  - task: build-img\n    privileged: true\n    config:\n      platform: linux\n\n      image_resource:\n        type: registry-image\n        source:\n          repository: vito/oci-build-task\n\n      inputs:\n        - name: my-src\n          path: .\n\n      outputs:\n        - name: image\n\n      params:\n        # load ruby version for build task\n        BUILD_ARG_ruby_version: ((.:ruby-version))\n\n      run:\n        path: build\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlwr%2Fregistry-tag-resource","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlwr%2Fregistry-tag-resource","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlwr%2Fregistry-tag-resource/lists"}