Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
09a4f20
chore: Typo
kichik Apr 23, 2024
ec4bdd8
fix: Parsing error with images like `datadog/agent`
kichik Apr 23, 2024
3abfafb
feat: Support multi-arch images
kichik Apr 24, 2024
d1fa23f
chore: Update dependencies (#6)
kichik Jul 26, 2024
9c68e1d
feat: Allow overriding temporary directory with $TMPDIR env var (#7)
catkins Sep 30, 2024
7dd9781
chore: Upgrade x/net to fix security vulnerabilities
kichik Jan 6, 2025
442ce55
fix: Do not log auth token
kichik Jan 21, 2025
aa94b79
Bump golang.org/x/net from 0.33.0 to 0.36.0 (#9)
dependabot[bot] Mar 13, 2025
4a2e602
chore: Bump github.com/containerd/containerd from 1.7.20 to 1.7.27 (#10)
dependabot[bot] Mar 18, 2025
848c435
chore: Upgrade to goreleaser v2 (#11)
kichik Mar 18, 2025
da61d38
chore: Upgrade to aws-sdk-go-v2
kichik Aug 7, 2025
95b3113
feat: Build SOCI v2 indexes
kichik Aug 7, 2025
32dbb11
chore: Fix newlines
kichik Aug 17, 2025
620dd01
feat: Add --new-tag flag to override tag for immutable registries (#15)
smoehrle Sep 15, 2025
d43fb40
feat: Allow using multiple tags
kichik Sep 17, 2025
0d3b6bd
chore: Fix release history 🤞
kichik Sep 17, 2025
682e0ec
fix: Apply new tags even if no index is created because the image is …
smoehrle Sep 24, 2025
a75ae6f
chore: Use apt update & update actions
kichik Nov 6, 2025
bb99736
chore: Bump github.com/containerd/containerd from 1.7.27 to 1.7.29 (#18)
dependabot[bot] Nov 6, 2025
e1c7604
chore: Go 1.25 + update dependencies (#19)
kichik Nov 6, 2025
8e7e875
chore: Bump github.com/opencontainers/selinux from 1.12.0 to 1.13.0 (…
dependabot[bot] Jan 20, 2026
7570cfb
resolve conflicts
Ayushi1296 Feb 13, 2026
85dbd12
Apply suggestion from @Ayushi1296
Ayushi1296 Feb 13, 2026
92493fb
missed conflicts
Ayushi1296 Feb 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
* text=auto eol=lf
*.go eol=lf
*.md eol=lf
*.yml eol=lf
*.yaml eol=lf
14 changes: 9 additions & 5 deletions .github/workflows/goreleaser.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,18 +14,22 @@ jobs:
flags: ""
steps:
- name: Checkout
uses: actions/checkout@v4
uses: actions/checkout@v5
with:
# goreleaser needs history to find previous tags
fetch-depth: 0

- name: Set up Go
uses: actions/setup-go@v4
uses: actions/setup-go@v5
with:
go-version: 1.21
go-version-file: go.mod

- name: Test
run: go test ./...

- name: Dependencies
run: |
sudo apt update
sudo apt install -qy binutils-aarch64-linux-gnu gcc-aarch64-linux-gnu g++-aarch64-linux-gnu

mkdir /tmp/zlib
Expand All @@ -42,9 +46,9 @@ jobs:
run: echo "flags=--snapshot" >> $GITHUB_ENV

- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
uses: goreleaser/goreleaser-action@v6
with:
version: latest
version: '~> v2'
args: release --clean ${{ env.flags }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
3 changes: 2 additions & 1 deletion .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
version: 2
project_name: standalone-soci-indexer
before:
hooks:
Expand Down Expand Up @@ -40,7 +41,7 @@ archives:
checksum:
name_template: 'checksums.txt'
snapshot:
name_template: "{{ incpatch .Version }}-next"
version_template: "{{ incpatch .Version }}-next"
changelog:
use: github
sort: asc
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Use it to pull an image, index it, and push a SOCI snapshot with:
./standalone-soci-indexer 1234567890.dkr.ecr.us-east-1.amazonaws.com/some-repo:latest
```

The indexer will automatically use the provided environment AWS credentials to login to ECR. If you need to use a different authentication method, you can use the `--auth` flag to specify a different authentication token.:
The indexer will automatically use the provided environment AWS credentials to login to ECR. If you need to use a different authentication method, you can use the `--auth` flag to specify a different authentication token:

```bash
./standalone-soci-indexer docker.io/some-repo:latest --auth user:password
Expand Down
117 changes: 69 additions & 48 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,70 +1,91 @@
module github.com/sofatutor/standalone-soci-indexer

go 1.21

toolchain go1.22.2
go 1.25

require (
github.com/aws/aws-sdk-go v1.51.26
github.com/awslabs/soci-snapshotter v0.6.0
github.com/containerd/containerd v1.7.15
github.com/opencontainers/image-spec v1.1.0
github.com/rs/zerolog v1.32.0
github.com/spf13/cobra v1.8.0
oras.land/oras-go/v2 v2.5.0
github.com/aws/aws-sdk-go-v2 v1.39.6
github.com/aws/aws-sdk-go-v2/config v1.31.17
github.com/aws/aws-sdk-go-v2/service/ecr v1.51.2
github.com/awslabs/soci-snapshotter v0.11.1
github.com/containerd/containerd v1.7.29
github.com/novln/docker-parser v1.0.0
github.com/opencontainers/image-spec v1.1.1
github.com/rs/zerolog v1.34.0
github.com/spf13/cobra v1.10.1
oras.land/oras-go/v2 v2.6.0
)

require (
github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 // indirect
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20231105174938-2b5cbb29f3e2 // indirect
cyphar.com/go-pathrs v0.2.1 // indirect
github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 // indirect
github.com/AdamKorcz/go-118-fuzz-build v0.0.0-20250520111509-a70c2aa677fa // indirect
github.com/Microsoft/go-winio v0.6.2 // indirect
github.com/Microsoft/hcsshim v0.12.3 // indirect
github.com/containerd/cgroups/v3 v3.0.3 // indirect
github.com/containerd/continuity v0.4.3 // indirect
github.com/containerd/errdefs v0.1.0 // indirect
github.com/Microsoft/hcsshim v0.13.0 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.18.21 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.30.1 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.39.1 // indirect
github.com/aws/smithy-go v1.23.2 // indirect
github.com/containerd/cgroups/v3 v3.1.1 // indirect
github.com/containerd/containerd/api v1.10.0 // indirect
github.com/containerd/continuity v0.4.5 // indirect
github.com/containerd/errdefs v1.0.0 // indirect
github.com/containerd/errdefs/pkg v0.3.0 // indirect
github.com/containerd/fifo v1.1.0 // indirect
github.com/containerd/log v0.1.0 // indirect
github.com/containerd/ttrpc v1.2.3 // indirect
github.com/containerd/typeurl/v2 v2.1.1 // indirect
github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c // indirect
github.com/containerd/platforms v0.2.1 // indirect
github.com/containerd/ttrpc v1.2.7 // indirect
github.com/containerd/typeurl/v2 v2.2.3 // indirect
github.com/cyphar/filepath-securejoin v0.6.0 // indirect
github.com/distribution/reference v0.6.0 // indirect
github.com/docker/go-events v0.0.0-20250808211157-605354379745 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/go-logr/logr v1.4.1 // indirect
github.com/go-logr/logr v1.4.3 // indirect
github.com/go-logr/stdr v1.2.2 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/google/flatbuffers v24.3.25+incompatible // indirect
github.com/google/go-cmp v0.6.0 // indirect
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
github.com/google/flatbuffers v25.9.23+incompatible // indirect
github.com/google/go-cmp v0.7.0 // indirect
github.com/google/uuid v1.6.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/jmespath/go-jmespath v0.4.0 // indirect
github.com/klauspost/compress v1.17.8 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/klauspost/compress v1.18.1 // indirect
github.com/mattn/go-colorable v0.1.14 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/moby/locker v1.0.1 // indirect
github.com/moby/sys/mountinfo v0.7.1 // indirect
github.com/moby/sys/sequential v0.5.0 // indirect
github.com/moby/sys/signal v0.7.0 // indirect
github.com/moby/sys/user v0.1.0 // indirect
github.com/moby/sys/mountinfo v0.7.2 // indirect
github.com/moby/sys/sequential v0.6.0 // indirect
github.com/moby/sys/signal v0.7.1 // indirect
github.com/moby/sys/user v0.4.0 // indirect
github.com/moby/sys/userns v0.1.0 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/runtime-spec v1.2.0 // indirect
github.com/opencontainers/selinux v1.11.0 // indirect
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/opencontainers/runtime-spec v1.3.0 // indirect
github.com/opencontainers/selinux v1.13.0 // indirect
github.com/pelletier/go-toml/v2 v2.2.4 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/rs/xid v1.5.0 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect
github.com/spf13/pflag v1.0.5 // indirect
go.etcd.io/bbolt v1.3.9 // indirect
github.com/spf13/pflag v1.0.10 // indirect
go.etcd.io/bbolt v1.4.3 // indirect
go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 // indirect
go.opentelemetry.io/otel v1.25.0 // indirect
go.opentelemetry.io/otel/metric v1.25.0 // indirect
go.opentelemetry.io/otel/trace v1.25.0 // indirect
golang.org/x/net v0.24.0 // indirect
golang.org/x/sync v0.7.0 // indirect
golang.org/x/sys v0.19.0 // indirect
golang.org/x/text v0.14.0 // indirect
google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect
google.golang.org/grpc v1.63.2 // indirect
google.golang.org/protobuf v1.33.0 // indirect
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect
go.opentelemetry.io/otel v1.38.0 // indirect
go.opentelemetry.io/otel/metric v1.38.0 // indirect
go.opentelemetry.io/otel/trace v1.38.0 // indirect
golang.org/x/net v0.46.0 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/sys v0.37.0 // indirect
golang.org/x/text v0.30.0 // indirect
google.golang.org/genproto v0.0.0-20251103181224-f26f9409b101 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101 // indirect
google.golang.org/grpc v1.76.0 // indirect
google.golang.org/protobuf v1.36.10 // indirect
)

replace github.com/opencontainers/runtime-spec => github.com/opencontainers/runtime-spec v1.2.1 // containerd compatibility
Comment on lines +67 to +91
Copy link

Copilot AI Feb 13, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an inconsistency in the runtime-spec version. Line 67 declares runtime-spec v1.3.0 as a dependency, but line 91 replaces it with v1.2.1 for containerd compatibility. This is unusual - typically the replace directive should match the version in the require section, or the require section should directly specify v1.2.1. Consider updating line 67 to use v1.2.1 directly to avoid confusion.

Copilot uses AI. Check for mistakes.
Loading