From a13bbae8db101e37c7e8d4a677e266ea330480ea Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Mon, 16 Mar 2026 13:59:59 -0400 Subject: [PATCH 01/13] deps(dagger): bump to v0.20.1 --- .dagger/go.mod | 72 +++++++++++++------------- .dagger/go.sum | 134 ++++++++++++++++++++++++++----------------------- dagger.json | 5 +- 3 files changed, 110 insertions(+), 101 deletions(-) diff --git a/.dagger/go.mod b/.dagger/go.mod index 60e2b31..5c7e0f7 100644 --- a/.dagger/go.mod +++ b/.dagger/go.mod @@ -1,62 +1,64 @@ module dagger/tool -go 1.23.6 +go 1.25.0 require ( - github.com/99designs/gqlgen v0.17.75 github.com/Khan/genqlient v0.8.1 + github.com/dagger/otel-go v1.41.0 github.com/sourcegraph/conc v0.3.0 - github.com/vektah/gqlparser/v2 v2.5.28 - go.opentelemetry.io/otel v1.36.0 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 - go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 - go.opentelemetry.io/otel/log v0.12.2 - go.opentelemetry.io/otel/metric v1.36.0 - go.opentelemetry.io/otel/sdk v1.36.0 - go.opentelemetry.io/otel/sdk/log v0.12.2 - go.opentelemetry.io/otel/sdk/metric v1.36.0 - go.opentelemetry.io/otel/trace v1.36.0 - go.opentelemetry.io/proto/otlp v1.6.0 - golang.org/x/sync v0.15.0 - google.golang.org/grpc v1.73.0 + github.com/vektah/gqlparser/v2 v2.5.30 + go.opentelemetry.io/otel v1.41.0 + go.opentelemetry.io/otel/sdk v1.41.0 + go.opentelemetry.io/otel/trace v1.41.0 oras.land/oras-go/v2 v2.5.0 ) require ( + github.com/99designs/gqlgen v0.17.81 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.17.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.17.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.41.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.41.0 // indirect + go.opentelemetry.io/otel/log v0.17.0 // indirect + go.opentelemetry.io/otel/metric v1.41.0 // indirect + go.opentelemetry.io/otel/sdk/log v0.17.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.41.0 // indirect + go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.uber.org/atomic v1.7.0 // indirect go.uber.org/multierr v1.9.0 // indirect + golang.org/x/sync v0.19.0 // indirect + google.golang.org/grpc v1.79.1 // indirect ) require ( - github.com/cenkalti/backoff/v4 v4.3.0 // indirect - github.com/cenkalti/backoff/v5 v5.0.2 // indirect + dagger.io/dagger v0.19.11 + github.com/cenkalti/backoff/v5 v5.0.3 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect - github.com/go-logr/logr v1.4.2 // indirect + github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/sosodev/duration v1.3.1 // indirect - go.opentelemetry.io/auto/sdk v1.1.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 // indirect - golang.org/x/net v0.41.0 // indirect - golang.org/x/sys v0.33.0 // indirect - golang.org/x/text v0.26.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 // indirect - google.golang.org/protobuf v1.36.6 // indirect + go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0 // indirect + golang.org/x/net v0.51.0 // indirect + golang.org/x/sys v0.41.0 // indirect + golang.org/x/text v0.34.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 // indirect + google.golang.org/protobuf v1.36.11 // indirect ) -replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 +replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.16.0 -replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 +replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.16.0 -replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.12.2 +replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.16.0 -replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.12.2 +replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.16.0 diff --git a/.dagger/go.sum b/.dagger/go.sum index c9ae5bd..81cb240 100644 --- a/.dagger/go.sum +++ b/.dagger/go.sum @@ -1,20 +1,24 @@ -github.com/99designs/gqlgen v0.17.75 h1:GwHJsptXWLHeY7JO8b7YueUI4w9Pom6wJTICosDtQuI= -github.com/99designs/gqlgen v0.17.75/go.mod h1:p7gbTpdnHyl70hmSpM8XG8GiKwmCv+T5zkdY8U8bLog= +dagger.io/dagger v0.19.11 h1:Cra3wL1oaZsqXJcnPydocx3bIDD5tM7XCuwcn2Uh+2Q= +dagger.io/dagger v0.19.11/go.mod h1:BjAJWl4Lx7XRW7nooNjBi0ZAC5Ici2pkthkdBIZdbTI= +github.com/99designs/gqlgen v0.17.81 h1:kCkN/xVyRb5rEQpuwOHRTYq83i0IuTQg9vdIiwEerTs= +github.com/99designs/gqlgen v0.17.81/go.mod h1:vgNcZlLwemsUhYim4dC1pvFP5FX0pr2Y+uYUoHFb1ig= github.com/Khan/genqlient v0.8.1 h1:wtOCc8N9rNynRLXN3k3CnfzheCUNKBcvXmVv5zt6WCs= github.com/Khan/genqlient v0.8.1/go.mod h1:R2G6DzjBvCbhjsEajfRjbWdVglSH/73kSivC9TLWVjU= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cenkalti/backoff/v5 v5.0.2 h1:rIfFVxEf1QsI7E1ZHfp/B4DF/6QBAUhmgkxc0H7Zss8= -github.com/cenkalti/backoff/v5 v5.0.2/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/dagger/otel-go v1.41.0 h1:GQAJtTM1Ja9Dt/JSSqqjCFVlCye09Ymx4dWUDRqcgKw= +github.com/dagger/otel-go v1.41.0/go.mod h1:RP74B3xmOq2MWL1lBsAWD9uvTryDhZ+m1dDzJj9QJEI= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= @@ -23,8 +27,8 @@ github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= @@ -40,66 +44,68 @@ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9yS github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA= -github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= -github.com/vektah/gqlparser/v2 v2.5.28 h1:bIulcl3LF69ba6EiZVGD88y4MkM+Jxrf3P2MX8xLRkY= -github.com/vektah/gqlparser/v2 v2.5.28/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= -go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= -go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= -go.opentelemetry.io/otel v1.36.0 h1:UumtzIklRBY6cI/lllNZlALOF5nNIzJVb16APdvgTXg= -go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2 h1:06ZeJRe5BnYXceSM9Vya83XXVaNGe3H1QqsvqRANQq8= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.12.2/go.mod h1:DvPtKE63knkDVP88qpatBj81JxN+w1bqfVbsbCbj1WY= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2 h1:tPLwQlXbJ8NSOfZc4OkgU5h2A38M4c9kfHSVc4PFQGs= -go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.12.2/go.mod h1:QTnxBwT/1rBIgAG1goq6xMydfYOBKU6KTiYF4fp5zL8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0 h1:j7ZSD+5yn+lo3sGV69nW04rRR0jhYnBwjuX3r0HvnK0= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.32.0/go.mod h1:WXbYJTUaZXAbYd8lbgGuvih0yuCfOFC5RJoYnoLcGz8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0 h1:t/Qur3vKSkUCcDVaSumWF2PKHt85pc7fRvFuoVT8qFU= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.32.0/go.mod h1:Rl61tySSdcOJWoEgYZVtmnKdA0GeKrSqkHC1t+91CH8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0 h1:IJFEoHiytixx8cMiVAO+GmHR6Frwu+u5Ur8njpFO6Ac= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.32.0/go.mod h1:3rHrKNtLIoS0oZwkY2vxi+oJcwFRWdtUyRII+so45p8= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0 h1:9kV11HXBHZAvuPUZxmMWrH8hZn/6UnHX4K0mu36vNsU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.32.0/go.mod h1:JyA0FHXe22E1NeNiHmVp7kFHglnexDQ7uRWDiiJ1hKQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0 h1:cMyu9O88joYEaI47CnQkxO1XZdpoTF9fEnW2duIddhw= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.32.0/go.mod h1:6Am3rn7P9TVVeXYG+wtcGE7IE1tsQ+bP3AuWcKt/gOI= -go.opentelemetry.io/otel/log v0.12.2 h1:yob9JVHn2ZY24byZeaXpTVoPS6l+UrrxmxmPKohXTwc= -go.opentelemetry.io/otel/log v0.12.2/go.mod h1:ShIItIxSYxufUMt+1H5a2wbckGli3/iCfuEbVZi/98E= -go.opentelemetry.io/otel/metric v1.36.0 h1:MoWPKVhQvJ+eeXWHFBOPoBOi20jh6Iq2CcCREuTYufE= -go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= -go.opentelemetry.io/otel/sdk v1.36.0 h1:b6SYIuLRs88ztox4EyrvRti80uXIFy+Sqzoh9kFULbs= -go.opentelemetry.io/otel/sdk v1.36.0/go.mod h1:+lC+mTgD+MUWfjJubi2vvXWcVxyr9rmlshZni72pXeY= -go.opentelemetry.io/otel/sdk/log v0.12.2 h1:yNoETvTByVKi7wHvYS6HMcZrN5hFLD7I++1xIZ/k6W0= -go.opentelemetry.io/otel/sdk/log v0.12.2/go.mod h1:DcpdmUXHJgSqN/dh+XMWa7Vf89u9ap0/AAk/XGLnEzY= -go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250521073539-a85ae98dcedc h1:uqxdywfHqqCl6LmZzI3pUnXT1RGFYyUgxj0AkWPFxi0= -go.opentelemetry.io/otel/sdk/log/logtest v0.0.0-20250521073539-a85ae98dcedc/go.mod h1:TY/N/FT7dmFrP/r5ym3g0yysP1DefqGpAZr4f82P0dE= -go.opentelemetry.io/otel/sdk/metric v1.36.0 h1:r0ntwwGosWGaa0CrSt8cuNuTcccMXERFwHX4dThiPis= -go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= -go.opentelemetry.io/otel/trace v1.36.0 h1:ahxWNuqZjpdiFAyrIoQ4GIiAIhxAunQR6MUoKrsNd4w= -go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= -go.opentelemetry.io/proto/otlp v1.6.0 h1:jQjP+AQyTf+Fe7OKj/MfkDrmK4MNVtw2NpXsf9fefDI= -go.opentelemetry.io/proto/otlp v1.6.0/go.mod h1:cicgGehlFuNdgZkcALOCh3VE6K/u2tAjzlRhDwmVpZc= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/vektah/gqlparser/v2 v2.5.30 h1:EqLwGAFLIzt1wpx1IPpY67DwUujF1OfzgEyDsLrN6kE= +github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/otel v1.41.0 h1:YlEwVsGAlCvczDILpUXpIpPSL/VPugt7zHThEMLce1c= +go.opentelemetry.io/otel v1.41.0/go.mod h1:Yt4UwgEKeT05QbLwbyHXEwhnjxNO6D8L5PQP51/46dE= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.16.0 h1:ZVg+kCXxd9LtAaQNKBxAvJ5NpMf7LpvEr4MIZqb0TMQ= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.16.0/go.mod h1:hh0tMeZ75CCXrHd9OXRYxTlCAdxcXioWHFIpYw2rZu8= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.16.0 h1:djrxvDxAe44mJUrKataUbOhCKhR3F8QCyWucO16hTQs= +go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.16.0/go.mod h1:dt3nxpQEiSoKvfTVxp3TUg5fHPLhKtbcnN3Z1I1ePD0= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 h1:VO3BL6OZXRQ1yQc8W6EVfJzINeJ35BkiHx4MYfoQf44= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0/go.mod h1:qRDnJ2nv3CQXMK2HUd9K9VtvedsPAce3S+/4LZHjX/s= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.41.0 h1:MMrOAN8H1FrvDyq9UJ4lu5/+ss49Qgfgb7Zpm0m8ABo= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.41.0/go.mod h1:Na+2NNASJtF+uT4NxDe0G+NQb+bUgdPDfwxY/6JmS/c= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0 h1:ao6Oe+wSebTlQ1OEht7jlYTzQKE+pnx/iNywFvTbuuI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.41.0/go.mod h1:u3T6vz0gh/NVzgDgiwkgLxpsSF6PaPmo2il0apGJbls= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0 h1:mq/Qcf28TWz719lE3/hMB4KkyDuLJIvgJnFGcd0kEUI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.41.0/go.mod h1:yk5LXEYhsL2htyDNJbEq7fWzNEigeEdV5xBF/Y+kAv0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.41.0 h1:inYW9ZhgqiDqh6BioM7DVHHzEGVq76Db5897WLGZ5Go= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.41.0/go.mod h1:Izur+Wt8gClgMJqO/cZ8wdeeMryJ/xxiOVgFSSfpDTY= +go.opentelemetry.io/otel/log v0.16.0 h1:DeuBPqCi6pQwtCK0pO4fvMB5eBq6sNxEnuTs88pjsN4= +go.opentelemetry.io/otel/log v0.16.0/go.mod h1:rWsmqNVTLIA8UnwYVOItjyEZDbKIkMxdQunsIhpUMes= +go.opentelemetry.io/otel/metric v1.41.0 h1:rFnDcs4gRzBcsO9tS8LCpgR0dxg4aaxWlJxCno7JlTQ= +go.opentelemetry.io/otel/metric v1.41.0/go.mod h1:xPvCwd9pU0VN8tPZYzDZV/BMj9CM9vs00GuBjeKhJps= +go.opentelemetry.io/otel/sdk v1.41.0 h1:YPIEXKmiAwkGl3Gu1huk1aYWwtpRLeskpV+wPisxBp8= +go.opentelemetry.io/otel/sdk v1.41.0/go.mod h1:ahFdU0G5y8IxglBf0QBJXgSe7agzjE4GiTJ6HT9ud90= +go.opentelemetry.io/otel/sdk/log v0.16.0 h1:e/b4bdlQwC5fnGtG3dlXUrNOnP7c8YLVSpSfEBIkTnI= +go.opentelemetry.io/otel/sdk/log v0.16.0/go.mod h1:JKfP3T6ycy7QEuv3Hj8oKDy7KItrEkus8XJE6EoSzw4= +go.opentelemetry.io/otel/sdk/log/logtest v0.16.0 h1:/XVkpZ41rVRTP4DfMgYv1nEtNmf65XPPyAdqV90TMy4= +go.opentelemetry.io/otel/sdk/log/logtest v0.16.0/go.mod h1:iOOPgQr5MY9oac/F5W86mXdeyWZGleIx3uXO98X2R6Y= +go.opentelemetry.io/otel/sdk/metric v1.41.0 h1:siZQIYBAUd1rlIWQT2uCxWJxcCO7q3TriaMlf08rXw8= +go.opentelemetry.io/otel/sdk/metric v1.41.0/go.mod h1:HNBuSvT7ROaGtGI50ArdRLUnvRTRGniSUZbxiWxSO8Y= +go.opentelemetry.io/otel/trace v1.41.0 h1:Vbk2co6bhj8L59ZJ6/xFTskY+tGAbOnCtQGVVa9TIN0= +go.opentelemetry.io/otel/trace v1.41.0/go.mod h1:U1NU4ULCoxeDKc09yCWdWe+3QoyweJcISEVa1RBzOis= +go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= +go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= -golang.org/x/net v0.41.0 h1:vBTly1HeNPEn3wtREYfy4GZ/NECgw2Cnl+nK6Nz3uvw= -golang.org/x/net v0.41.0/go.mod h1:B/K4NNqkfmg07DQYrbwvSluqCJOOXwUjeb/5lOisjbA= -golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8= -golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= -golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw= -golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/text v0.26.0 h1:P42AVeLghgTYr4+xUnTRKDMqpar+PtX7KWuNQL21L8M= -golang.org/x/text v0.26.0/go.mod h1:QK15LZJUUQVJxhz7wXgxSy/CJaTFjd0G+YLonydOVQA= -google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237 h1:Kog3KlB4xevJlAcbbbzPfRG0+X9fdoGM+UBRKVz6Wr0= -google.golang.org/genproto/googleapis/api v0.0.0-20250519155744-55703ea1f237/go.mod h1:ezi0AVyMKDWy5xAncvjLWH7UcLBB5n7y2fQ8MzjJcto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237 h1:cJfm9zPbe1e873mHJzmQ1nwVEeRDU/T1wXDK2kUSU34= -google.golang.org/genproto/googleapis/rpc v0.0.0-20250519155744-55703ea1f237/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= -google.golang.org/grpc v1.73.0 h1:VIWSmpI2MegBtTuFt5/JWy2oXxtjJ/e89Z70ImfD2ok= -google.golang.org/grpc v1.73.0/go.mod h1:50sbHOUqWoCQGI8V2HQLJM0B+LMlIUjNSZmow7EVBQc= -google.golang.org/protobuf v1.36.6 h1:z1NpPI8ku2WgiWnf+t9wTPsn6eP1L7ksHUlkfLvd9xY= -google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= +golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= +golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +golang.org/x/sys v0.41.0 h1:Ivj+2Cp/ylzLiEU89QhWblYnOE9zerudt9Ftecq2C6k= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= +gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171 h1:tu/dtnW1o3wfaxCOjSLn5IRX4YDcJrtlpzYkhHhGaC4= +google.golang.org/genproto/googleapis/api v0.0.0-20260226221140-a57be14db171/go.mod h1:M5krXqk4GhBKvB596udGL3UyjL4I1+cTbK0orROM9ng= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171 h1:ggcbiqK8WWh6l1dnltU4BgWGIGo+EVYxCaAPih/zQXQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260226221140-a57be14db171/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.79.1 h1:zGhSi45ODB9/p3VAawt9a+O/MULLl9dpizzNNpq7flY= +google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= oras.land/oras-go/v2 v2.5.0 h1:o8Me9kLY74Vp5uw07QXPiitjsw7qNXi8Twd+19Zf02c= diff --git a/dagger.json b/dagger.json index 6e9dab3..5ddc6e5 100644 --- a/dagger.json +++ b/dagger.json @@ -1,6 +1,6 @@ { "name": "tool", - "engineVersion": "v0.18.12", + "engineVersion": "v0.20.1", "sdk": { "source": "go" }, @@ -51,5 +51,6 @@ "pin": "60a0f44023632f89f3c8701435d0c8a3ed57e644" } ], - "source": ".dagger" + "source": ".dagger", + "disableDefaultFunctionCaching": true } From a50b2b77641a7506bb1e1ae087f78fa31e1b1417 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Mon, 16 Mar 2026 14:07:51 -0400 Subject: [PATCH 02/13] add updated release scripts --- .gitignore | 2 + bin/lib.release.sh | 236 +++++++++++++++++++++++++++++++++++++++++++++ bin/release.sh | 24 +++++ 3 files changed, 262 insertions(+) create mode 100755 bin/lib.release.sh create mode 100644 bin/release.sh diff --git a/.gitignore b/.gitignore index 6fdd232..c4e5867 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ /bin/* +!/bin/lib.release.sh +!/bin/release.sh /tool /coverage*.* /report.* diff --git a/bin/lib.release.sh b/bin/lib.release.sh new file mode 100755 index 0000000..d7254b1 --- /dev/null +++ b/bin/lib.release.sh @@ -0,0 +1,236 @@ +#shellcheck shell=bash + +# Bash library for release process helper functions +# The release script that is sourcing this file may override/edit any of the functions/variables to meet their specific needs. + +set -euo pipefail + +function help() { + cat <&2 + fail=1 + fi + done + if [[ "$fail" == 1 ]]; then + exit 1 + fi +} + +# prepare runs linters and unit tests, bumps the version, and generates the changelog. +function prepare() { + # use given version if provided + local args=() + if [[ -n "$explicit_version" ]]; then + args+=("--version" "$explicit_version") + fi + + dagger_prepare "${args[@]}" + + local version + version=$( Date: Tue, 17 Mar 2026 08:57:39 -0400 Subject: [PATCH 03/13] dagger: bump act3-ai/release from v0.1.9 to v0.3.11 --- dagger.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagger.json b/dagger.json index 5ddc6e5..be4848c 100644 --- a/dagger.json +++ b/dagger.json @@ -37,8 +37,8 @@ }, { "name": "release", - "source": "github.com/act3-ai/dagger/release@release/v0.1.9", - "pin": "33748b33d71e31975d7297922fd2267341fae06d" + "source": "github.com/act3-ai/dagger/release@release/v0.3.11", + "pin": "ea47f34bdf38d52c5f66bd266d3021e2b6e37cef" }, { "name": "shellcheck", From fb91e05135f04150b97606874705e169e4448b9f Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 08:58:34 -0400 Subject: [PATCH 04/13] dagger: bump act3-ai/dagger/govulncheck from v0.1.1 to v0.2.4 --- dagger.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagger.json b/dagger.json index be4848c..ed9b571 100644 --- a/dagger.json +++ b/dagger.json @@ -27,8 +27,8 @@ }, { "name": "govulncheck", - "source": "github.com/act3-ai/dagger/govulncheck@govulncheck/v0.1.1", - "pin": "5579aa8f127350d77c970c98784f40f56d279fbd" + "source": "github.com/act3-ai/dagger/govulncheck@govulncheck/v0.2.4", + "pin": "4c745b70d9f7a78ff111e21d4424ffacd58d7520" }, { "name": "registry-config", From cb5128711054e62dfc5b0f20a001544680c20758 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:00:08 -0400 Subject: [PATCH 05/13] dagger: add act3-ai/dagger/markdownlint v0.4.3 --- dagger.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dagger.json b/dagger.json index ed9b571..d8fe44e 100644 --- a/dagger.json +++ b/dagger.json @@ -30,6 +30,11 @@ "source": "github.com/act3-ai/dagger/govulncheck@govulncheck/v0.2.4", "pin": "4c745b70d9f7a78ff111e21d4424ffacd58d7520" }, + { + "name": "markdownlint", + "source": "github.com/act3-ai/dagger/markdownlint@markdownlint/v0.4.3", + "pin": "fc6a2c5fd74b8a175d51e147998d166a34ff4f43" + }, { "name": "registry-config", "source": "github.com/sagikazarmark/daggerverse/registry-config@registry-config/v0.8.0", From da560e385dac40dfb8687db4c9b35eb6882337a2 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:01:25 -0400 Subject: [PATCH 06/13] dagger: replace sagikazarmark/daggerverse/go v0.9.0 with dagger/toolchains/go v0.20.1 --- dagger.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagger.json b/dagger.json index d8fe44e..bf229be 100644 --- a/dagger.json +++ b/dagger.json @@ -12,8 +12,8 @@ }, { "name": "go", - "source": "github.com/sagikazarmark/daggerverse/go@go/v0.9.0", - "pin": "d9ba06776c4c1ccf6f329bd862b9b439c4582ab6" + "source": "github.com/dagger/dagger/toolchains/go@v0.20.1", + "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" }, { "name": "golangci-lint", From 0b82daf34db99183fcdb77dccaef6b7455dab0e8 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:03:00 -0400 Subject: [PATCH 07/13] dagger: bump dagger/wolfi from v0.18.12 to v0.20.1 --- dagger.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagger.json b/dagger.json index bf229be..9744dee 100644 --- a/dagger.json +++ b/dagger.json @@ -52,8 +52,8 @@ }, { "name": "wolfi", - "source": "github.com/dagger/dagger/modules/wolfi@v0.18.12", - "pin": "60a0f44023632f89f3c8701435d0c8a3ed57e644" + "source": "github.com/dagger/dagger/modules/wolfi@v0.20.1", + "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" } ], "source": ".dagger", From f23cb5c06fe1b0bbb9a328a2bee837af59550939 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:03:44 -0400 Subject: [PATCH 08/13] dagger: bump dagger/modules/shellcheck from v0.18.12 to v0.20.1 --- dagger.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dagger.json b/dagger.json index 9744dee..65e58c1 100644 --- a/dagger.json +++ b/dagger.json @@ -47,8 +47,8 @@ }, { "name": "shellcheck", - "source": "github.com/dagger/dagger/modules/shellcheck@v0.18.12", - "pin": "60a0f44023632f89f3c8701435d0c8a3ed57e644" + "source": "github.com/dagger/dagger/modules/shellcheck@v0.20.1", + "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" }, { "name": "wolfi", From c39a567fcfc3329aa11f5d0a808267393dab5535 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:04:11 -0400 Subject: [PATCH 09/13] dagger: add act3-ai/dagger/yamllint v0.3.3 --- dagger.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dagger.json b/dagger.json index 65e58c1..89205b0 100644 --- a/dagger.json +++ b/dagger.json @@ -54,6 +54,11 @@ "name": "wolfi", "source": "github.com/dagger/dagger/modules/wolfi@v0.20.1", "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" + }, + { + "name": "yamllint", + "source": "github.com/act3-ai/dagger/yamllint@yamllint/v0.3.3", + "pin": "4169b6f0895ab3d73ecea86eb3b7d9ea1e5c4bca" } ], "source": ".dagger", From 6046e034dd9caef382a972da6518cf91fe4a8ed9 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Tue, 17 Mar 2026 09:05:02 -0400 Subject: [PATCH 10/13] dagger: add act3-ai/dagger/gocoverage v0.2.2 --- dagger.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/dagger.json b/dagger.json index 89205b0..98a360e 100644 --- a/dagger.json +++ b/dagger.json @@ -15,6 +15,11 @@ "source": "github.com/dagger/dagger/toolchains/go@v0.20.1", "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" }, + { + "name": "go-coverage", + "source": "github.com/act3-ai/dagger/gocoverage@gocoverage/v0.2.2", + "pin": "a2ef82ee644a892da3b9bf40137e6003d9dc42a7" + }, { "name": "golangci-lint", "source": "github.com/sagikazarmark/daggerverse/golangci-lint@golangci-lint/v0.9.0", From 8d2a3b82636a48bef4cac2ed84fcd3595ccafb33 Mon Sep 17 00:00:00 2001 From: nathan-joslin Date: Fri, 20 Mar 2026 11:00:31 -0400 Subject: [PATCH 11/13] deps(dagger): bump act3-ai/dagger/git-cliff from v0.1.2 to v0.2.2 --- .dagger/go.mod | 4 ++-- .dagger/go.sum | 8 ++++---- dagger.json | 4 ++-- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.dagger/go.mod b/.dagger/go.mod index 5c7e0f7..a0969c6 100644 --- a/.dagger/go.mod +++ b/.dagger/go.mod @@ -10,13 +10,13 @@ require ( go.opentelemetry.io/otel v1.41.0 go.opentelemetry.io/otel/sdk v1.41.0 go.opentelemetry.io/otel/trace v1.41.0 - oras.land/oras-go/v2 v2.5.0 + oras.land/oras-go/v2 v2.6.0 ) require ( github.com/99designs/gqlgen v0.17.81 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect - github.com/opencontainers/image-spec v1.1.0 // indirect + github.com/opencontainers/image-spec v1.1.1 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.17.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.17.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.41.0 // indirect diff --git a/.dagger/go.sum b/.dagger/go.sum index 81cb240..bba9181 100644 --- a/.dagger/go.sum +++ b/.dagger/go.sum @@ -31,8 +31,8 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.1.0 h1:8SG7/vwALn54lVB/0yZ/MMwhFrPYtpEHQb2IpWsCzug= -github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= +github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -108,5 +108,5 @@ google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBN google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -oras.land/oras-go/v2 v2.5.0 h1:o8Me9kLY74Vp5uw07QXPiitjsw7qNXi8Twd+19Zf02c= -oras.land/oras-go/v2 v2.5.0/go.mod h1:z4eisnLP530vwIOUOJeBIj0aGI0L1C3d53atvCBqZHg= +oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= +oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= diff --git a/dagger.json b/dagger.json index 98a360e..7f47193 100644 --- a/dagger.json +++ b/dagger.json @@ -7,8 +7,8 @@ "dependencies": [ { "name": "git-cliff", - "source": "github.com/act3-ai/dagger/git-cliff@git-cliff/v0.1.2", - "pin": "86ec5dc4ee1fd4d168d51946bc82aa4110cc8d96" + "source": "github.com/act3-ai/dagger/git-cliff@git-cliff/v0.2.2", + "pin": "c2915e4ed29dfeceb2336ea61223d84288c0cceb" }, { "name": "go", From cce6983b008b86d1c7ab32406b1ccb5c240a3235 Mon Sep 17 00:00:00 2001 From: "Kyle M. Tarplee" Date: Mon, 20 Apr 2026 04:22:24 -0400 Subject: [PATCH 12/13] fix: shell check linting config was missing Signed-off-by: Kyle M. Tarplee --- .shellcheckrc | 2 ++ bin/release.sh | 7 ------- 2 files changed, 2 insertions(+), 7 deletions(-) create mode 100644 .shellcheckrc diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 0000000..25c98c8 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1,2 @@ +source-path=SCRIPTDIR +external-sources=true diff --git a/bin/release.sh b/bin/release.sh index f6b3448..69ad922 100644 --- a/bin/release.sh +++ b/bin/release.sh @@ -14,11 +14,4 @@ changed_files+=( # TODO ) -# command to run the prepare phase -function dagger_prepare() { - dagger "${dagger_args[@]}" call prepare-release - # TODO once checks are callable from dagger functions we can remove this - dagger "${dagger_args[@]}" check -} - main "$@" From 7f10811dcfc8da81f7cb5d56b3263c16d0504584 Mon Sep 17 00:00:00 2001 From: "Kyle M. Tarplee" Date: Mon, 20 Apr 2026 05:13:02 -0400 Subject: [PATCH 13/13] dagger: the module now builds and uses +generate directives Signed-off-by: Kyle M. Tarplee --- .dagger/build.go | 20 +++---- .dagger/generate.go | 51 +++++++++-------- .dagger/lint.go | 4 +- .dagger/main.go | 37 ++++++------- .dagger/release.go | 131 +++++++------------------------------------- .dagger/security.go | 10 ++-- .dagger/test.go | 31 ++++++----- dagger.json | 33 ++++++----- gen.go | 2 +- go.mod | 34 +++++++++--- go.sum | 47 ++++++++++++++++ 11 files changed, 187 insertions(+), 213 deletions(-) diff --git a/.dagger/build.go b/.dagger/build.go index e63c569..c1cafd9 100644 --- a/.dagger/build.go +++ b/.dagger/build.go @@ -17,12 +17,12 @@ import ( // // GOOS: linux, windows, darwin // GOARCH: amd64, arm64 -func (t *Tool) BuildPlatforms(ctx context.Context, +func (m *DataTool) BuildPlatforms( // Snapshot build, skipping goreleaser validations. Useful for building committed git history that isn't tagged with a release, a dirty repo does an "auto-snapshot". // +optional snapshot bool, ) *dagger.Directory { - return dag.Goreleaser(t.Source). + return dag.Goreleaser(m.Source). Build(). With(func(r *dagger.GoreleaserBuild) *dagger.GoreleaserBuild { if snapshot { @@ -40,7 +40,7 @@ func (t *Tool) BuildPlatforms(ctx context.Context, // // GOOS: linux, windows, darwin // GOARCH: amd64, arm64 -func (t *Tool) Build(ctx context.Context, +func (m *DataTool) Build(ctx context.Context, // Build target platform // +optional // +default="linux/amd64" @@ -49,11 +49,11 @@ func (t *Tool) Build(ctx context.Context, // +optional snapshot bool, ) *dagger.File { - return build(ctx, t.Source, platform, snapshot) + return build(m.Source, platform, snapshot) } // Create an image with an ace-dt executable. -func (t *Tool) Image(ctx context.Context, +func (m *DataTool) Image(ctx context.Context, // image version version string, // Build target platform @@ -63,14 +63,14 @@ func (t *Tool) Image(ctx context.Context, ) *dagger.Container { ctr := dag.Container(dagger.ContainerOpts{Platform: platform}). From(imageChainguard). - WithFile("/usr/local/bin/ace-dt", t.Build(ctx, platform, false)). + WithFile("/usr/local/bin/ace-dt", m.Build(ctx, platform, false)). WithEntrypoint([]string{"ace-dt"}). WithWorkdir("/") return withCommonLabels(ctr, version) } // Create and publish a multi-platform image index. -func (t *Tool) ImageIndex(ctx context.Context, +func (m *DataTool) ImageIndex(ctx context.Context, // image version version string, // build platforms @@ -90,7 +90,7 @@ func (t *Tool) ImageIndex(ctx context.Context, p := pool.NewWithResults[*dagger.Container]().WithContext(ctx) for _, platform := range platforms { p.Go(func(ctx context.Context) (*dagger.Container, error) { - img := t.Image(ctx, version, platform). + img := m.Image(ctx, version, platform). WithLabel("org.opencontainers.image.url", imgURL). WithLabel("org.opencontainers.image.source", "https://github.com/act3-ai/data-tool") return img, nil @@ -116,7 +116,7 @@ func (t *Tool) ImageIndex(ctx context.Context, result.WriteString(fmt.Sprintf("%s\n", dgstRef)) if len(extraTags) > 0 { - _, err := dag.Release(t.Source).AddTags(ctx, taggedRef, extraTags) + _, err := dag.Release(nil).AddTags(ctx, taggedRef, extraTags) if err != nil { return result.String(), fmt.Errorf("adding extra tags to image: %w", err) } @@ -127,7 +127,7 @@ func (t *Tool) ImageIndex(ctx context.Context, return result.String(), nil } -func build(ctx context.Context, +func build( src *dagger.Directory, platform dagger.Platform, // snapshot build, skip goreleaser validations diff --git a/.dagger/generate.go b/.dagger/generate.go index 5633183..0e5212d 100644 --- a/.dagger/generate.go +++ b/.dagger/generate.go @@ -13,45 +13,44 @@ const ( cliDocsPath = "docs/cli" ) -// Run all auto generators: CLI docs, API docs, and go generate -func (t *Tool) GenAll(ctx context.Context) *dagger.Directory { - return dag.Directory(). - WithDirectory(cliDocsPath, t.CLIDocs(ctx)). - WithDirectory(apiDocsPath, t.APIDocs()). - WithDirectory(pkgPath, t.Generate()) -} - // Generate CLI documentation. -func (t *Tool) CLIDocs(ctx context.Context) *dagger.Directory { - acedt := t.Build(ctx, "linux/amd64", true) +// +generate +func (m *DataTool) CLIDocs(ctx context.Context) *dagger.Changeset { + acedt := m.Build(ctx, "linux/amd64", true) - return dag.Go(). - WithSource(t.Source). - Container(). + return dag.Container(). + WithDirectory("/src", m.Source). + WithWorkdir("/src"). WithFile("/usr/local/bin/ace-dt", acedt). WithExec([]string{"ace-dt", "gendocs", "md", "--only-commands", cliDocsPath}). - Directory(cliDocsPath) + Directory("/src"). + Changes(m.Source) } // Generate API documentation. -func (t *Tool) APIDocs() *dagger.Directory { - return dag.Go(). - WithSource(t.Source). - Exec([]string{"go", "install", goCrdRefDocs}). - WithExec([]string{"crd-ref-docs", "--config=apidocs.yaml", "--renderer=markdown", +// +generate +func (m *DataTool) APIDocs() *dagger.Changeset { + return dag.Go(dagger.GoOpts{ + Source: m.Source, + }). + Env(). + WithExec([]string{"go", "tool", "crd-ref-docs", "--config=apidocs.yaml", "--renderer=markdown", fmt.Sprintf("--source-path=%s/", pkgPath), fmt.Sprintf("--output-path=%s/", apiDocsPath), }). WithoutFile(filepath.Join(apiDocsPath, "out.md")). // TODO: Necessary? - Directory(apiDocsPath) + Directory("/app"). + Changes(m.Source) } // Generate pkg/apis with controller-gen. -func (t *Tool) Generate() *dagger.Directory { - return dag.Go(). - WithSource(t.Source). - WithEnvVariable("GOBIN", "/work/src/tool"). - Exec([]string{"go", "install", goControllerGen}). +// +generate +func (m *DataTool) Generate() *dagger.Changeset { + return dag.Go(dagger.GoOpts{ + Source: m.Source, + }). + Env(). WithExec([]string{"go", "generate", "./..."}). - Directory(pkgPath) + Directory("/app"). + Changes(m.Source) } diff --git a/.dagger/lint.go b/.dagger/lint.go index 8110552..69dc2ef 100644 --- a/.dagger/lint.go +++ b/.dagger/lint.go @@ -10,9 +10,9 @@ import ( ) // Run linters. -func (t *Tool) Lint() *Lint { +func (m *DataTool) Lint() *Lint { return &Lint{ - Source: t.Source, + Source: m.Source, } } diff --git a/.dagger/main.go b/.dagger/main.go index 709d9aa..c4f41e7 100644 --- a/.dagger/main.go +++ b/.dagger/main.go @@ -20,21 +20,16 @@ import ( const ( // images - imageGitCliff = "docker.io/orhunp/git-cliff:2.8.0" imageGrype = "anchore/grype:latest" imageSyft = "anchore/syft:latest" imageRegistry = "docker.io/library/registry:3.0.0-rc.3" imageTelemetry = "ghcr.io/act3-ai/data-telemetry/slim:latest" imageChainguard = "cgr.dev/chainguard/static" imagePostgres = "postgres:17-alpine" - imageGoReleaser = "ghcr.io/goreleaser/goreleaser:v2.8.2" - - // go tools - goControllerGen = "sigs.k8s.io/controller-tools/cmd/controller-gen@v0.17.2" - goCrdRefDocs = "github.com/elastic/crd-ref-docs@v0.1.0" + imageGoReleaser = "ghcr.io/goreleaser/goreleaser:v2.15.3" ) -type Tool struct { +type DataTool struct { // source code directory Source *dagger.Directory @@ -48,40 +43,40 @@ func New( // top level source code directory // +defaultPath="/" src *dagger.Directory, -) *Tool { - return &Tool{ +) *DataTool { + return &DataTool{ Source: src, RegistryConfig: dag.RegistryConfig(), } } // Add credentials for a registry. -func (t *Tool) WithRegistryAuth( +func (m *DataTool) WithRegistryAuth( // registry's hostname address string, // username in registry username string, // password or token for registry secret *dagger.Secret, -) *Tool { - t.RegistryConfig = t.RegistryConfig.WithRegistryAuth(address, username, secret) - return t +) *DataTool { + m.RegistryConfig = m.RegistryConfig.WithRegistryAuth(address, username, secret) + return m } // Removes credentials for a registry. -func (t *Tool) WithoutRegistryAuth( +func (m *DataTool) WithoutRegistryAuth( // registry's hostname address string, -) *Tool { - t.RegistryConfig = t.RegistryConfig.WithoutRegistryAuth(address) - return t +) *DataTool { + m.RegistryConfig = m.RegistryConfig.WithoutRegistryAuth(address) + return m } // Add netrc credentials for a private git repository. -func (t *Tool) WithNetrc( +func (m *DataTool) WithNetrc( // NETRC credentials netrc *dagger.Secret, -) *Tool { - t.Netrc = netrc - return t +) *DataTool { + m.Netrc = netrc + return m } diff --git a/.dagger/release.go b/.dagger/release.go index 2254e0b..ccb9cde 100644 --- a/.dagger/release.go +++ b/.dagger/release.go @@ -15,74 +15,24 @@ const ( repo = "act3-ai/data-tool" ) -// Run release steps. -func (t *Tool) Release() *Releaser { - return &Releaser{ - Tool: t, - } -} - -// Releaser provides utilties for preparing and publishing releases -// with git-cliff. -type Releaser struct { - Tool *Tool -} - -// Run linters, unit, functional, and integration tests. -func (r *Releaser) Check(ctx context.Context) (string, error) { - err := r.diffGenAll(ctx) - if err != nil { - return "", err - } - - // lint, unit test - _, err = dag.Release(r.Tool.Source). - Go(). - Check(ctx, - dagger.ReleaseGolangCheckOpts{ - UnitTestBase: dag.Go(). - WithSource(r.Tool.Source). - Container(). - WithExec([]string{"apt", "update"}). - WithExec([]string{"apt", "install", "-y", "git-lfs"}), - }, - ) - if err != nil { - return "", fmt.Errorf("running linters and unit tests: %w", err) - } - - // functional test - _, err = r.Tool.Test().Functional(ctx) - if err != nil { - return "", fmt.Errorf("running functional tests: %w", err) - } - - // integration test - // _, err = r.Tool.Test().Integration(ctx) - // if err != nil { - // return "", fmt.Errorf("running integration tests: %w", err) - // } - - return "Successfully passed linters and tests", nil -} - // Update the version, changelog, and release notes. -func (r *Releaser) Prepare(ctx context.Context, - // ignore git status checks - // +optional - ignoreError bool, +func (m *DataTool) PrepareRelease(ctx context.Context, + // Git reference to release (can use "." for the current commit) + // +defaultPath="." + gitRef *dagger.GitRef, // release with a specific version // +optional version string, -) (*dagger.Directory, error) { - var err error +) (*dagger.Changeset, error) { + release := dag.Release(gitRef) - targetVersion := version - if targetVersion == "" { - targetVersion, err = r.Version(ctx) + // compute the version if not provided + if version == "" { + v, err := release.Version(ctx) if err != nil { - return nil, fmt.Errorf("resolving release target version: %w", err) + return nil, err } + version = v } // Note: Changes to existing or inclusions of additional image references @@ -90,18 +40,15 @@ func (r *Releaser) Prepare(ctx context.Context, b := &strings.Builder{} b.WriteString("| Images |\n") b.WriteString("| ---------------------------------------------------- |\n") - fmt.Fprintf(b, "| %s/%s:%s |\n\n", reg, repo, targetVersion) + fmt.Fprintf(b, "| %s/%s:%s |\n\n", reg, repo, version) - return dag.Release(r.Tool.Source). - Prepare(dagger.ReleasePrepareOpts{ - Version: targetVersion, - ExtraNotes: b.String(), - IgnoreError: ignoreError}, - ), nil + return release.Prepare(version, dagger.ReleasePrepareOpts{ + ExtraNotes: b.String(), + }), nil } // Create release and publish artifacts. This should already be tagged. -func (r *Releaser) Publish(ctx context.Context, +func (m *DataTool) PublishReleasen(ctx context.Context, // github API token token *dagger.Secret, // commit ssh private key @@ -115,7 +62,7 @@ func (r *Releaser) Publish(ctx context.Context, // +optional latest bool, ) (string, error) { - version, err := r.Tool.Source.File("VERSION").Contents(ctx) + version, err := m.Source.File("VERSION").Contents(ctx) if err != nil { return "", err } @@ -124,7 +71,7 @@ func (r *Releaser) Publish(ctx context.Context, notesPath := filepath.Join("releases", vVersion+".md") imagePlatforms := []dagger.Platform{"linux/amd64", "linux/arm64"} - _, err = dag.Goreleaser(r.Tool.Source, dagger.GoreleaserOpts{Version: "v2.9"}). + _, err = dag.Goreleaser(m.Source, dagger.GoreleaserOpts{Version: "v2.9"}). // env vars defined in .goreleaser.yaml WithSecretVariable("GITHUB_TOKEN", token). WithSecretVariable("SSH_PRIVATE_KEY", sshPrivateKey). @@ -133,57 +80,21 @@ func (r *Releaser) Publish(ctx context.Context, WithEnvVariable("RELEASE_LATEST", strconv.FormatBool(latest)). Release(). WithFailFast(). - WithNotes(r.Tool.Source.File(notesPath)). + WithNotes(m.Source.File(notesPath)). Run(ctx) if err != nil { return "", fmt.Errorf("creating release: %w", err) } regRepo := path.Join("%s/%s", reg, repo) - extraTags, err := dag.Release(r.Tool.Source).ExtraTags(ctx, regRepo, vVersion) + extraTags, err := dag.Release(nil).ExtraTags(ctx, regRepo, vVersion) if err != nil { return "", fmt.Errorf("resolving extra image tags: %w", err) } - _, err = r.Tool.ImageIndex(ctx, vVersion, imagePlatforms, regRepo, extraTags) + _, err = m.ImageIndex(ctx, vVersion, imagePlatforms, regRepo, extraTags) if err != nil { return "", fmt.Errorf("publishing image index: %w", err) } return "Successfully created release and uploaded images", nil } - -// Generate the next version from conventional commit messages (see cliff.toml). Includes 'v' prefix. -func (r *Releaser) Version(ctx context.Context) (string, error) { - targetVersion, err := dag.GitCliff(r.Tool.Source). - BumpedVersion(ctx) - if err != nil { - return "", fmt.Errorf("resolving release target version: %w", err) - } - - return strings.TrimSpace(targetVersion), err -} - -// diffGenAll runs all auto generators, comparing it's output to what currently exists in the source. -func (r *Releaser) diffGenAll(ctx context.Context) error { - existing := dag.Directory(). - WithDirectory(cliDocsPath, r.Tool.Source.Directory(cliDocsPath)). - WithDirectory(apiDocsPath, r.Tool.Source.Directory(apiDocsPath).Filter(dagger.DirectoryFilterOpts{Exclude: []string{"schemas/"}})). - WithDirectory(pkgPath, r.Tool.Source.Directory(pkgPath)) - - regen := r.Tool.GenAll(ctx) - - existingDgst, err := existing.Digest(ctx) - if err != nil { - return err - } - - regenDgst, err := regen.Digest(ctx) - if err != nil { - return err - } - - if existingDgst != regenDgst { - return fmt.Errorf("found changes from running auto generators, please run 'dagger call gen-all export --path=.'") - } - return nil -} diff --git a/.dagger/security.go b/.dagger/security.go index 5b5bcf3..d3bd880 100644 --- a/.dagger/security.go +++ b/.dagger/security.go @@ -6,7 +6,7 @@ import ( ) // Use ace-dt to perform a vulnerability scan on a list of OCI artifacts. -func (t *Tool) Scan(ctx context.Context, +func (m *DataTool) Scan(ctx context.Context, // Path to OCI artifact list sources *dagger.File, ) (string, error) { @@ -14,7 +14,7 @@ func (t *Tool) Scan(ctx context.Context, From(imageGrype). File("/grype") - grypeDB := t.GrypeDB(ctx) + grypeDB := m.GrypeDB() syft := dag.Container(). From(imageSyft). @@ -24,9 +24,9 @@ func (t *Tool) Scan(ctx context.Context, sourcePath := "artifacts.txt" return dag.Container(). - WithMountedSecret("/root/.docker/config.json", t.RegistryConfig.Secret()). + WithMountedSecret("/root/.docker/config.json", m.RegistryConfig.Secret()). From("cgr.dev/chainguard/bash"). - WithFile("/usr/local/bin/ace-dt", build(ctx, t.Source, "linux/amd64", false)). + WithFile("/usr/local/bin/ace-dt", build(m.Source, "linux/amd64", false)). WithFile("/usr/local/bin/grype", grype). WithFile("/usr/local/bin/syft", syft). WithFile(sourcePath, sources). @@ -40,7 +40,7 @@ func (t *Tool) Scan(ctx context.Context, } // Download the Grype vulnerability database -func (t *Tool) GrypeDB(ctx context.Context) *dagger.Directory { +func (m *DataTool) GrypeDB() *dagger.Directory { const cachePath = "/cache/grype" return dag.Container(). diff --git a/.dagger/test.go b/.dagger/test.go index 14f1e80..a343d94 100644 --- a/.dagger/test.go +++ b/.dagger/test.go @@ -16,11 +16,11 @@ const ( ) // Run tests. -func (t *Tool) Test() *Test { +func (m *DataTool) Test() *Test { return &Test{ - Source: t.Source, - Netrc: t.Netrc, - RegistryConfig: t.RegistryConfig, + Source: m.Source, + Netrc: m.Netrc, + RegistryConfig: m.RegistryConfig, } } @@ -53,9 +53,10 @@ func (t *Test) All(ctx context.Context) (string, error) { // Run unit tests. func (t *Test) Unit(ctx context.Context) (string, error) { - return dag.Go(). - WithSource(t.Source). - Container(). + return dag.Go(dagger.GoOpts{ + Source: t.Source, + }). + Env(). WithExec([]string{"apt", "update"}). WithExec([]string{"apt", "install", "-y", "git-lfs"}). WithExec([]string{"go", "test", "./..."}). @@ -98,9 +99,10 @@ func (t *Test) Functional(ctx context.Context) (string, error) { return "", err } acedtConfigPath := "ace-dt-config.yaml" - results, err := dag.Go(). - WithSource(t.Source). - Container(). + results, err := dag.Go(dagger.GoOpts{ + Source: t.Source, + }). + Env(). // dependency for ace-dt git tests WithExec([]string{"apt", "update"}). WithExec([]string{"apt", "install", "-y", "git-lfs"}). @@ -158,7 +160,7 @@ func (t *Test) Integration(ctx context.Context) (string, error) { return "", err } - acedt := build(ctx, t.Source, "linux/amd64", true) + acedt := build(t.Source, "linux/amd64", true) originalBottleRef := "ghcr.io/act3-ai/data-tool/bottles/mnist:v1.6" bottleID, err := dag.Wolfi(). @@ -230,9 +232,10 @@ func (t *Test) Integration(ctx context.Context) (string, error) { // Run benchmark tests. func (t *Test) Bench(ctx context.Context) (string, error) { - return dag.Go(). - WithSource(t.Source). - Container(). + return dag.Go(dagger.GoOpts{ + Source: t.Source, + }). + Env(). WithExec([]string{"go", "test", "./...", "-benchmem", "-bench=.", "-run=^$"}). Stdout(ctx) } diff --git a/dagger.json b/dagger.json index 2cb7cfc..287547f 100644 --- a/dagger.json +++ b/dagger.json @@ -1,5 +1,5 @@ { - "name": "tool", + "name": "data-tool", "engineVersion": "v0.20.6", "sdk": { "source": "go" @@ -12,13 +12,13 @@ }, { "name": "go", - "source": "github.com/dagger/dagger/toolchains/go@v0.20.1", - "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" + "source": "github.com/dagger/dagger/toolchains/go@v0.20.6", + "pin": "220be71b0cc1c09f4d70a37df1615800187c9fad" }, { "name": "go-coverage", - "source": "github.com/act3-ai/dagger/gocoverage@gocoverage/v0.2.2", - "pin": "a2ef82ee644a892da3b9bf40137e6003d9dc42a7" + "source": "github.com/act3-ai/dagger/gocoverage@gocoverage/v0.2.4", + "pin": "6ed234f316caffbc362617fe9b6551dfe8728ada" }, { "name": "golangci-lint", @@ -37,8 +37,8 @@ }, { "name": "markdownlint", - "source": "github.com/act3-ai/dagger/markdownlint@markdownlint/v0.4.3", - "pin": "fc6a2c5fd74b8a175d51e147998d166a34ff4f43" + "source": "github.com/act3-ai/dagger/markdownlint@markdownlint/v0.4.5", + "pin": "b4d6071bfdc246843440f78ab1c2c021345bd264" }, { "name": "registry-config", @@ -47,25 +47,24 @@ }, { "name": "release", - "source": "github.com/act3-ai/dagger/release@release/v0.3.11", - "pin": "ea47f34bdf38d52c5f66bd266d3021e2b6e37cef" + "source": "github.com/act3-ai/dagger/release@release/v0.3.13", + "pin": "642b11af4f41a32f58de72081605870cb2416221" }, { "name": "shellcheck", - "source": "github.com/dagger/dagger/modules/shellcheck@v0.20.1", - "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" + "source": "github.com/dagger/dagger/modules/shellcheck@v0.20.6", + "pin": "220be71b0cc1c09f4d70a37df1615800187c9fad" }, { "name": "wolfi", - "source": "github.com/dagger/dagger/modules/wolfi@v0.20.1", - "pin": "04727b5af8fa5d399f3bf87df4ff918c1f157685" + "source": "github.com/dagger/dagger/modules/wolfi@v0.20.6", + "pin": "220be71b0cc1c09f4d70a37df1615800187c9fad" }, { "name": "yamllint", - "source": "github.com/act3-ai/dagger/yamllint@yamllint/v0.3.3", - "pin": "4169b6f0895ab3d73ecea86eb3b7d9ea1e5c4bca" + "source": "github.com/act3-ai/dagger/yamllint@yamllint/v0.3.5", + "pin": "8bf305f47b9138be682329d7fc7831481f6ffe1d" } ], - "source": ".dagger", - "disableDefaultFunctionCaching": true + "source": ".dagger" } diff --git a/gen.go b/gen.go index fe164da..340384e 100644 --- a/gen.go +++ b/gen.go @@ -4,4 +4,4 @@ package gen //go:generate rm -rf docs/apis/schemas //go:generate go run github.com/act3-ai/bottle-schema/cmd/genschema docs/apis/schemas //go:generate go run internal/gen/main.go docs/apis/schemas -//go:generate tool/controller-gen object paths=./... +//go:generate go tool controller-gen object paths=./... diff --git a/go.mod b/go.mod index f3422a0..7f003c5 100644 --- a/go.mod +++ b/go.mod @@ -42,23 +42,31 @@ require ( ) require ( - dario.cat/mergo v1.0.1 // indirect + dario.cat/mergo v1.0.2 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/MakeNowJust/heredoc/v2 v2.0.1 // indirect github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/charmbracelet/x/ansi v0.9.3 // indirect + github.com/elastic/crd-ref-docs v0.3.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-asn1-ber/asn1-ber v1.5.7 // indirect github.com/go-jose/go-jose/v4 v4.0.5 // indirect github.com/go-ldap/ldap/v3 v3.4.10 // indirect github.com/go-logr/logr v1.4.3 // indirect github.com/go-logr/stdr v1.2.2 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.20.2 // indirect + github.com/go-openapi/swag v0.23.0 // indirect + github.com/gobuffalo/flect v1.0.3 // indirect + github.com/goccy/go-yaml v1.19.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.2 // indirect github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b // indirect + github.com/google/gnostic-models v0.7.0 // indirect github.com/gorilla/securecookie v1.1.2 // indirect github.com/iancoleman/strcase v0.3.0 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/lucasb-eyer/go-colorful v1.2.0 // indirect github.com/muesli/termenv v0.16.0 // indirect github.com/muhlemmer/gu v0.3.1 // indirect @@ -66,9 +74,9 @@ require ( github.com/neilotoole/slogt v1.1.0 // indirect github.com/notaryproject/notation-plugin-framework-go v1.0.0 // indirect github.com/notaryproject/tspclient-go v1.0.0 // indirect - github.com/prometheus/client_golang v1.22.0 // indirect + github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect - github.com/prometheus/common v0.65.0 // indirect + github.com/prometheus/common v0.66.1 // indirect github.com/prometheus/procfs v0.17.0 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect github.com/veraison/go-cose v1.3.0 // indirect @@ -81,21 +89,28 @@ require ( go.opentelemetry.io/otel/metric v1.37.0 // indirect go.opentelemetry.io/otel/trace v1.37.0 // indirect go.uber.org/multierr v1.11.0 // indirect + go.uber.org/zap v1.27.1 // indirect go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect golang.org/x/crypto v0.50.0 // indirect golang.org/x/mod v0.35.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect + golang.org/x/tools v0.44.0 // indirect google.golang.org/protobuf v1.36.8 // indirect - k8s.io/api v0.32.3 // indirect - k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + k8s.io/api v0.35.0 // indirect + k8s.io/apiextensions-apiserver v0.35.0 // indirect + k8s.io/code-generator v0.35.0 // indirect + k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b // indirect + k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 // indirect + sigs.k8s.io/controller-tools v0.20.1 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect ) require ( github.com/Masterminds/goutils v1.1.1 // indirect - github.com/Masterminds/semver/v3 v3.3.0 // indirect + github.com/Masterminds/semver/v3 v3.4.0 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/bahlo/generic-list-go v0.2.0 // indirect github.com/buger/jsonparser v1.1.1 // indirect @@ -121,7 +136,7 @@ require ( github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/shopspring/decimal v1.4.0 // indirect github.com/sirupsen/logrus v1.9.4 // indirect - github.com/spf13/cast v1.7.0 // indirect + github.com/spf13/cast v1.10.0 // indirect github.com/wk8/go-ordered-map/v2 v2.1.8 // indirect golang.org/x/sys v0.43.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -129,3 +144,8 @@ require ( k8s.io/klog/v2 v2.130.1 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect ) + +tool ( + github.com/elastic/crd-ref-docs + sigs.k8s.io/controller-tools/cmd/controller-gen +) diff --git a/go.sum b/go.sum index 7213f9a..2ea22c1 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,7 @@ dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= +dario.cat/mergo v1.0.2 h1:85+piFYR1tMbRrLcDwR18y4UKJ3aH1Tbzi24VRW1TK8= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/MakeNowJust/heredoc/v2 v2.0.1 h1:rlCHh70XXXv7toz95ajQWOWQnN4WNLt0TdpZYIR/J6A= @@ -8,6 +10,8 @@ github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJ github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/semver/v3 v3.3.0 h1:B8LGeaivUe71a5qox1ICM/JLl0NqZSW5CHyL+hmvYS0= github.com/Masterminds/semver/v3 v3.3.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Masterminds/sprig/v3 v3.3.0 h1:mQh0Yrg1XPo6vjYXgtf5OtijNAKJRNcTdOOGZe3tPhs= github.com/Masterminds/sprig/v3 v3.3.0/go.mod h1:Zy1iXRYNqNLUolqCpL4uhk6SHUMAOSCzdgBfDb35Lz0= github.com/act3-ai/bottle-schema v1.2.16 h1:+RaslZXbuCDFucYu+hf8gVSU7Vi1bmcFX5iEMkXFWow= @@ -42,6 +46,7 @@ github.com/containerd/stargz-snapshotter/estargz v0.18.2/go.mod h1:XyVU5tcJ3PRpk github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/cpuguy83/go-md2man/v2 v2.0.7 h1:zbFlGlXEAKlwXpmvle3d8Oe3YnkKIK4xSRTd3sHPnBo= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -54,6 +59,8 @@ github.com/docker/docker-credential-helpers v0.9.3 h1:gAm/VtF9wgqJMoxzT3Gj5p4AqI github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= +github.com/elastic/crd-ref-docs v0.3.0 h1:9bGSUkBR56Z7TuDGQAu3KGbBkagwwZ6RkZmS+qvDuDM= +github.com/elastic/crd-ref-docs v0.3.0/go.mod h1:8td3UC8CaO5M+G115O3FRKLmplmX+p0EqLMLGM6uNdk= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= @@ -75,14 +82,28 @@ github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-ozzo/ozzo-validation/v4 v4.3.0 h1:byhDUpfEwjsVQb1vBunvIjh2BHQ9ead57VkAEY4V+Es= github.com/go-ozzo/ozzo-validation/v4 v4.3.0/go.mod h1:2NKgrcHl3z6cJs+3Oo940FPRiTzuqKbvfrL2RxCj6Ew= +github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4= +github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b h1:EY/KpStFl60qA17CptGXhwfZ+k1sFNJIUNR8DdbcuUk= github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b/go.mod h1:JDGcbDT52eL4fju3sZ4TeHGsQwhG9nbDV21aMyhwPoA= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -140,6 +161,8 @@ github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= github.com/jinzhu/now v1.1.5 h1:/o9tlHleP7gOFmsnYNz3RGnqzefHA47wQpKrrdTIwXQ= github.com/jinzhu/now v1.1.5/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= @@ -148,12 +171,16 @@ github.com/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBF github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/kopoli/go-terminal-size v0.0.0-20170219200355-5c97524c8b54 h1:0SMHxjkLKNawqUjjnMlCtEdj6uWZjv0+qDZ3F6GOADI= github.com/kopoli/go-terminal-size v0.0.0-20170219200355-5c97524c8b54/go.mod h1:bm7MVZZvHQBfqHG5X59jrRE/3ak6HvK+/Zb6aZhLR2s= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lucasb-eyer/go-colorful v1.2.0 h1:1nnpGOrhyZZuNyfu1QjKiUICQ74+3FNCN69Aj6K7nkY= github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.9.0 h1:PrnmzHw7262yW8sTBwxi1PdJA3Iw/EKBa8psRf7d9a4= github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= @@ -204,10 +231,14 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.22.0 h1:rb93p9lokFEsctTys46VnV1kLCDpVZ0a/Y92Vm0Zc6Q= github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= +github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.65.0 h1:QDwzd+G1twt//Kwj/Ww6E9FQq1iVMmODnILtW1t2VzE= github.com/prometheus/common v0.65.0/go.mod h1:0gZns+BLRQ3V6NdaerOhMbwwRbNh9hkGINtQAsP5GS8= +github.com/prometheus/common v0.66.1 h1:h5E0h5/Y8niHc5DlaLlWLArTQI7tMrsfQjHV+d9ZoGs= +github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= github.com/prometheus/procfs v0.17.0 h1:FuLQ+05u4ZI+SS/w9+BWEM2TXiHKsUQ9TADiRH7DuK0= github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUOVhe0wYB2zw= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= @@ -231,6 +262,8 @@ github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9yS github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0= github.com/spf13/cast v1.7.0 h1:ntdiHjuueXFgm5nzDRdOS4yfT43P5Fnud6DH50rz/7w= github.com/spf13/cast v1.7.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo= +github.com/spf13/cast v1.10.0 h1:h2x0u2shc1QuLHfxi+cTJvs30+ZAHOGRic8uyGTDWxY= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -275,6 +308,8 @@ go.opentelemetry.io/otel/trace v1.37.0 h1:HLdcFNbRQBE2imdSEgm/kwqmQj1Or1l/7bW6mx go.opentelemetry.io/otel/trace v1.37.0/go.mod h1:TlgrlQ+PtQO5XFerSPUYG0JSgGyryXewPGyayAWSBS0= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= @@ -404,16 +439,28 @@ gorm.io/gorm v1.25.12 h1:I0u8i2hWQItBq1WfE0o2+WuL9+8L21K9e2HHSTE/0f8= gorm.io/gorm v1.25.12/go.mod h1:xh7N7RHfYlNc5EmcI/El95gXusucDrQnHXe0+CgWcLQ= k8s.io/api v0.32.3 h1:Hw7KqxRusq+6QSplE3NYG4MBxZw1BZnq4aP4cJVINls= k8s.io/api v0.32.3/go.mod h1:2wEDTXADtm/HA7CCMD8D8bK4yuBUptzaRhYcYEEYA3k= +k8s.io/api v0.35.0 h1:iBAU5LTyBI9vw3L5glmat1njFK34srdLmktWwLTprlY= +k8s.io/api v0.35.0/go.mod h1:AQ0SNTzm4ZAczM03QH42c7l3bih1TbAXYo0DkF8ktnA= +k8s.io/apiextensions-apiserver v0.35.0 h1:3xHk2rTOdWXXJM+RDQZJvdx0yEOgC0FgQ1PlJatA5T4= +k8s.io/apiextensions-apiserver v0.35.0/go.mod h1:E1Ahk9SADaLQ4qtzYFkwUqusXTcaV2uw3l14aqpL2LU= k8s.io/apimachinery v0.35.4 h1:xtdom9RG7e+yDp71uoXoJDWEE2eOiHgeO4GdBzwWpds= k8s.io/apimachinery v0.35.4/go.mod h1:NNi1taPOpep0jOj+oRha3mBJPqvi0hGdaV8TCqGQ+cc= +k8s.io/code-generator v0.35.0 h1:TvrtfKYZTm9oDF2z+veFKSCcgZE3Igv0svY+ehCmjHQ= +k8s.io/code-generator v0.35.0/go.mod h1:iS1gvVf3c/T71N5DOGYO+Gt3PdJ6B9LYSvIyQ4FHzgc= +k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b h1:gMplByicHV/TJBizHd9aVEsTYoJBnnUAT5MHlTkbjhQ= +k8s.io/gengo/v2 v2.0.0-20250922181213-ec3ebc5fd46b/go.mod h1:CgujABENc3KuTrcsdpGmrrASjtQsWCT7R99mEV4U/fM= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4 h1:HhDfevmPS+OalTjQRKbTHppRIz01AWi8s45TMXStgYY= +k8s.io/kube-openapi v0.0.0-20260127142750-a19766b6e2d4/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/utils v0.0.0-20260319190234-28399d86e0b5 h1:kBawHLSnx/mYHmRnNUf9d4CpjREbeZuxoSGOX/J+aYM= k8s.io/utils v0.0.0-20260319190234-28399d86e0b5/go.mod h1:xDxuJ0whA3d0I4mf/C4ppKHxXynQ+fxnkmQH0vTHnuk= oras.land/oras-go/v2 v2.6.0 h1:X4ELRsiGkrbeox69+9tzTu492FMUu7zJQW6eJU+I2oc= oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= +sigs.k8s.io/controller-tools v0.20.1 h1:gkfMt9YodI0K85oT8rVi80NTXO/kDmabKR5Ajn5GYxs= +sigs.k8s.io/controller-tools v0.20.1/go.mod h1:b4qPmjGU3iZwqn34alUU5tILhNa9+VXK+J3QV0fT/uU= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU=