{"id":18833994,"url":"https://github.com/jetstack/seaglass","last_synced_at":"2026-01-30T11:18:56.942Z","repository":{"id":243648123,"uuid":"720060651","full_name":"jetstack/seaglass","owner":"jetstack","description":null,"archived":false,"fork":false,"pushed_at":"2024-04-28T09:45:41.000Z","size":57,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-06T13:06:27.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jetstack.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}},"created_at":"2023-11-17T13:51:21.000Z","updated_at":"2024-06-19T13:54:58.000Z","dependencies_parsed_at":"2024-06-10T12:35:00.767Z","dependency_job_id":null,"html_url":"https://github.com/jetstack/seaglass","commit_stats":null,"previous_names":["jetstack/seaglass"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jetstack/seaglass","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fseaglass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fseaglass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fseaglass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fseaglass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jetstack","download_url":"https://codeload.github.com/jetstack/seaglass/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jetstack%2Fseaglass/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28911821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T08:15:08.179Z","status":"ssl_error","status_checked_at":"2026-01-30T08:14:31.507Z","response_time":66,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2024-11-08T02:06:03.944Z","updated_at":"2026-01-30T11:18:56.926Z","avatar_url":"https://github.com/jetstack.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# seaglass\n\n⚠️ This tool is currently a proof of concept. There will be bugs and it is very\nmuch not ready for production usage.\n\nSeaglass is a command line tool and Go package that makes it simple to discover\ncontent in container registries.\n\nIt implements registry-specific functionality which makes listing repositories\nand artifacts more efficient and useful than with the standard v2 registry API.\n\n## Clients\n\nSeaglass will select the most appropriate client based on registry hostname. If\nthere's no specific client for the host, then it will fallback to using the\n`/v2` API directly.\n\nImplemented:\n\n- GitHub Container Registry (`ghcr.io`)\n- Docker Hub (`docker.io`, `*.docker.io`)\n- Google Container Registry (`gcr.io`, `*.gcr.io`, `*.k8s.io`)\n- Google Artifact Registry (`*.pkg.dev`)\n- Registry v2 API (`*`)\n\nTODO:\n\n- [ ] Azure Container Registry\n- [ ] AWS ECR\n- [ ] Harbor\n- [ ] Quay\n- [ ] Artifactory?\n- [ ] Sonatype Nexus?\n- ???\n\n## Install\n\nCheckout this repo and build the project locally:\n\n```shell\ngo build .\n```\n\nEither put the resulting `seaglass` binary in your PATH, or run it directly:\n\n```shell\n./seaglass --help\n```\n\n## Usage\n\n### List Repositories\n\nList the repositories directly under a given path:\n\n```shell\n$ seaglass repos gcr.io/your-project\ngcr.io/your-project/one\ngcr.io/your-project/two\ngcr.io/your-project/three\n```\n\n```shell\n$ seaglass repos gcr.io/your-project/one\ngcr.io/your-project/one/a\ngcr.io/your-project/one/b\n```\n\nYou can use the `--recursive` flag to list all the repositories under the path:\n\n```shell\n$ seaglass repos gcr.io/your-project --recursive\ngcr.io/your-project/one\ngcr.io/your-project/one/a\ngcr.io/your-project/one/b\ngcr.io/your-project/two\ngcr.io/your-project/two/x\ngcr.io/your-project/three\ngcr.io/your-project/three/y\ngcr.io/your-project/three/z\n```\n\nNote, Seaglass requires that the registry host is provided in the reference, even for\nDocker Hub images:\n\n```shell\n$ seaglass repos index.docker.io/jetstack\nindex.docker.io/jetstack/bio-docker-watcher\nindex.docker.io/jetstack/cloud-billing-exporter\nindex.docker.io/jetstack/contain\nindex.docker.io/jetstack/dockernews-web\nindex.docker.io/jetstack/echoloop\nindex.docker.io/jetstack/elasticsearch-pet\nindex.docker.io/jetstack/hello-world\nindex.docker.io/jetstack/helloworld\nindex.docker.io/jetstack/hyperkube\nindex.docker.io/jetstack/hyperkube-amd64\nindex.docker.io/jetstack/kube-lego\nindex.docker.io/jetstack/kubectl\nindex.docker.io/jetstack/mongodb\nindex.docker.io/jetstack/mongodb-client\nindex.docker.io/jetstack/mongodb-replica-set\nindex.docker.io/jetstack/mongodb-server\nindex.docker.io/jetstack/mycms-api\nindex.docker.io/jetstack/mykrobe-predictor\nindex.docker.io/jetstack/nginx-ingress\nindex.docker.io/jetstack/nginx-ingress-controller\nindex.docker.io/jetstack/nginx-proxy\nindex.docker.io/jetstack/nginx-ssl-proxy\nindex.docker.io/jetstack/node-cms-file\nindex.docker.io/jetstack/node-cms-mongo\nindex.docker.io/jetstack/node-upvote\nindex.docker.io/jetstack/simple-cms\nindex.docker.io/jetstack/simple-server\nindex.docker.io/jetstack/simple-service\nindex.docker.io/jetstack/slingshot-cp-ansible-k8s-coreos\nindex.docker.io/jetstack/slingshot-ip-terraform-aws-coreos\nindex.docker.io/jetstack/slingshot-ip-vagrant-coreos\nindex.docker.io/jetstack/vault\n```\n\n### List Manifests\n\nList all the manifests in a repository.\n\n```shell\n$ seaglass manifests ghcr.io/jetstack/tally\nghcr.io/jetstack/tally@sha256:87f4f96fc7493d7e77c628583e0cf776a90bf95fd83168e9c0e8fd6db5624656\nghcr.io/jetstack/tally@sha256:ca977a9d59454e78aae934097a482981398b696bb5d48de9992dd269bd2d6af1\nghcr.io/jetstack/tally@sha256:378faebd92d5baf83230affaf54ac61309bea60d23b38a83af97d6dd6656f5f1\nghcr.io/jetstack/tally@sha256:ce06d36166ca345dbcaf60e77666193cc3aa7cc99850fb8d03fca9e58efe72b1\nghcr.io/jetstack/tally@sha256:66cfb69847a7acd2823022504a23eb3ae3181fe44d4cb07aeb4f0f9c46095a94\nghcr.io/jetstack/tally@sha256:f4e58f42d5f6d724fd059fcac82b3266d149c909c24f822a936ff364547fba53\nghcr.io/jetstack/tally@sha256:b2a73a4fd2a96e860c2595483bcae12dc8d52ae7703eb46bd028a0ddd30066a8\nghcr.io/jetstack/tally@sha256:b794a2e25d51e5771c80da7a78e8ef5fb9e08f04aec2a7a98497dd25e05858fd\nghcr.io/jetstack/tally@sha256:a554d8a23a3a3e7fb497a1d1a2376f40b28c69f0d83aafa24c0531ec09cf37b3\n```\n\nList all the manifests in a repository, recursively.\n\n```shell\n$ seaglass manifests ghcr.io/jetstack --recursive\nghcr.io/jetstack/platform/deploy-helper@sha256:ccf60b7a872b5e71c8bc0ccd9bacabf79bf6d0730fc2e65061016a14bb3fabe9\nghcr.io/jetstack/platform/deploy-helper@sha256:e8de17335c009f085fb39bbb2c20406a9c8d645c1268c679868f379f78a0c1f3\nghcr.io/jetstack/platform/deploy-helper@sha256:cd48849f9e9e50bf5d1514422d78a055ba4b13b1d7a62e40e4dfba478f654940\nghcr.io/jetstack/platform/deploy-helper@sha256:43d5327f6a702f191a3fd3fdacd479ee7b97da0cd4631ba7e767f751772c3e82\nghcr.io/jetstack/platform/deploy-helper@sha256:be8a4a040a4a563bf7484da32f16787cf39478469fab90050f3f9c76134fa1ad\nghcr.io/jetstack/platform/deploy-helper@sha256:de36c6ad309fdcba8c3a3f8a45bf703660378de34454079110c1f6e8de6521fb\nghcr.io/jetstack/platform/deploy-helper@sha256:ca548cb1932ec287516daca40afb091f815c62d6b9f7aaffe64d64b4479633b7\nghcr.io/jetstack/platform/deploy-helper@sha256:1516e4034f3889b34aa35165188f3a0c69be2914dc887cb3a29ea400289744ef\nghcr.io/jetstack/platform/deploy-helper@sha256:2f016e5aa3c693139d538b0c47ca3e9e1e828fe573b4f6859ea22a2dd3fc8074\nghcr.io/jetstack/platform/deploy-helper@sha256:9c1a74dadb1ddbf1db72b879e2e1f1c2d87cb611091da2e0d664d359f554f29f\nghcr.io/jetstack/platform/deploy-helper@sha256:f4decb5801b5a3b837c666d36a886ef2c399221259ec036fb8f586318bea6b07\nghcr.io/jetstack/platform/deploy-helper@sha256:1ab6a4fbcda7e7fa15efc24428d7bf2fb039d8b24b1a8fcc9ad89cf8885c16ca\nghcr.io/jetstack/platform/deploy-helper@sha256:16969701e82148cdf46be79b7f79fc6e58a8bdcde65c63356f62105e5f40d914\nghcr.io/jetstack/platform/deploy-helper@sha256:cbf89c70d97b1d5cbd080735df9a1a1128892c6893ab021fd23b82e825090256\nghcr.io/jetstack/platform/deploy-helper@sha256:2046c4a6d79349033097c5a72faa8a6d5d86c2728651a9ca61d2c385554dc632\nghcr.io/jetstack/platform/deploy-helper@sha256:8861aa258b69127dc15ca3c5f11d4918ec1c041ecff8b42241bef19f824f10f4\nghcr.io/jetstack/platform/deploy-helper@sha256:7111bd5b2bbe5d97ad75f90b3dd5de767f00a6cbfd53ad8989f10a67d931334f\nghcr.io/jetstack/platform/deploy-helper@sha256:b05948439ec55f546404991874933c5c5a519c81d2f7a423344be2abce31ea3f\nghcr.io/jetstack/dependency-track-exporter@sha256:0a506c1b8bf571fa681eadd70e11b6c1b05c2ba6e4655dea911f1ff79e2f3223\nghcr.io/jetstack/dependency-track-exporter@sha256:0bc7942e77c18363cd116c19385cf24aac4e3a54529c3bc887fc94aeb1dc7f4b\nghcr.io/jetstack/dependency-track-exporter@sha256:3f91577141bdbe85f9fb132134e60ea48f401742c3219cf7da7ec4ac3a9508f6\nghcr.io/jetstack/dependency-track-exporter@sha256:9c830afd1ec44bbbe559788d45ff14695c909ddbe4abe96e75cc947f27662e1c\nghcr.io/jetstack/dependency-track-exporter@sha256:2752003b1fbb73cd0896bb248d11a7bab1246278b22f515b92384fa0126b3084\nghcr.io/jetstack/dependency-track-exporter@sha256:704cfa06c3096dc307d8df14924cb53719fddb952fd97b94565f25d19fa9a3b8\nghcr.io/jetstack/dependency-track-exporter@sha256:41da73349d7f113b00007ffb31514a248596b08e2e0aa403ebf38fed8ab6998a\nghcr.io/jetstack/dependency-track-exporter@sha256:69f8fb7a10873c066b4c37769063038f91454b4f86d17e3fc82a5a6a1e269a26\nghcr.io/jetstack/dependency-track-exporter@sha256:2b01cf77813841758f9845c1727c93c3e305abceaf849c3094598e2de4300d0d\nghcr.io/jetstack/dependency-track-exporter@sha256:a56b6ba879fe75e9a0ed23f062eda5b6969c1e279f3dd4a8b464317fbce56269\nghcr.io/jetstack/dependency-track-exporter@sha256:e35879a321960ce607596a00eff1224b51e2ce142bdb0c127188db60ec1cca0e\nghcr.io/jetstack/dependency-track-exporter@sha256:944c5710c87e4d83a914e8fd7d69a171c0282402003b82aad18b642c4e2bbcdd\nghcr.io/jetstack/zenko-cloudserver-nonroot@sha256:2b373ed44f6b9c02d297f701d8079f8315507ef02e42f37ca3fc51fbea90c1be\n```\n\n### List Tags\n\nList all the tags in a repository.\n\n```\n$ seaglass tags ghcr.io/jetstack/tally\nghcr.io/jetstack/tally:sha256-f4e58f42d5f6d724fd059fcac82b3266d149c909c24f822a936ff364547fba53.sig\nghcr.io/jetstack/tally:sha256-b2a73a4fd2a96e860c2595483bcae12dc8d52ae7703eb46bd028a0ddd30066a8.sig\nghcr.io/jetstack/tally:sha256-b794a2e25d51e5771c80da7a78e8ef5fb9e08f04aec2a7a98497dd25e05858fd.sig\nghcr.io/jetstack/tally:sha256-66cfb69847a7acd2823022504a23eb3ae3181fe44d4cb07aeb4f0f9c46095a94.sig\nghcr.io/jetstack/tally:v0.0.1\nghcr.io/jetstack/tally:latest\n```\n\nList all the tags in a repository, recursively.\n\n```\n$ seaglass tags ghcr.io/jetstack/tally --recursive\nghcr.io/jetstack/tally:sha256-f4e58f42d5f6d724fd059fcac82b3266d149c909c24f822a936ff364547fba53.sig\nghcr.io/jetstack/tally:sha256-b2a73a4fd2a96e860c2595483bcae12dc8d52ae7703eb46bd028a0ddd30066a8.sig\nghcr.io/jetstack/tally:sha256-b794a2e25d51e5771c80da7a78e8ef5fb9e08f04aec2a7a98497dd25e05858fd.sig\nghcr.io/jetstack/tally:sha256-66cfb69847a7acd2823022504a23eb3ae3181fe44d4cb07aeb4f0f9c46095a94.sig\nghcr.io/jetstack/tally:v0.0.1\nghcr.io/jetstack/tally:latest\nghcr.io/jetstack/tally/db:v1\nghcr.io/jetstack/tally/db:latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetstack%2Fseaglass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjetstack%2Fseaglass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjetstack%2Fseaglass/lists"}