mirror of https://github.com/dexidp/dex.git
17 changed files with 512 additions and 319 deletions
@ -0,0 +1,4 @@
|
||||
/dagger.gen.go linguist-generated |
||||
/internal/dagger/** linguist-generated |
||||
/internal/querybuilder/** linguist-generated |
||||
/internal/telemetry/** linguist-generated |
||||
@ -0,0 +1,5 @@
|
||||
/dagger.gen.go |
||||
/internal/dagger |
||||
/internal/querybuilder |
||||
/internal/telemetry |
||||
/.env |
||||
@ -0,0 +1,50 @@
|
||||
module dagger/dex |
||||
|
||||
go 1.25.0 |
||||
|
||||
require ( |
||||
github.com/99designs/gqlgen v0.17.81 |
||||
github.com/Khan/genqlient v0.8.1 |
||||
github.com/vektah/gqlparser/v2 v2.5.30 |
||||
go.opentelemetry.io/otel v1.38.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 |
||||
go.opentelemetry.io/otel/log v0.14.0 |
||||
go.opentelemetry.io/otel/metric v1.38.0 |
||||
go.opentelemetry.io/otel/sdk v1.38.0 |
||||
go.opentelemetry.io/otel/sdk/log v0.14.0 |
||||
go.opentelemetry.io/otel/sdk/metric v1.38.0 |
||||
go.opentelemetry.io/otel/trace v1.38.0 |
||||
go.opentelemetry.io/proto/otlp v1.8.0 |
||||
golang.org/x/sync v0.17.0 |
||||
google.golang.org/grpc v1.76.0 |
||||
) |
||||
|
||||
require ( |
||||
github.com/cenkalti/backoff/v5 v5.0.3 // 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.27.2 // 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.38.0 // indirect |
||||
golang.org/x/net v0.44.0 // indirect |
||||
golang.org/x/sys v0.36.0 // indirect |
||||
golang.org/x/text v0.29.0 // indirect |
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5 // indirect |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 // indirect |
||||
google.golang.org/protobuf v1.36.9 // indirect |
||||
) |
||||
|
||||
replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 |
||||
|
||||
replace go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp => go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 |
||||
|
||||
replace go.opentelemetry.io/otel/log => go.opentelemetry.io/otel/log v0.14.0 |
||||
|
||||
replace go.opentelemetry.io/otel/sdk/log => go.opentelemetry.io/otel/sdk/log v0.14.0 |
||||
@ -0,0 +1,89 @@
|
||||
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/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= |
||||
github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= |
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= |
||||
github.com/davecgh/go-spew v1.1.1/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.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= |
||||
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= |
||||
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.27.2 h1:8Tjv8EJ+pM1xP8mK6egEbD1OgnVTyacbefKhmbLhIhU= |
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= |
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= |
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= |
||||
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= |
||||
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= |
||||
github.com/sosodev/duration v1.3.1 h1:qtHBDMQ6lvMQsL15g4aopM4HEfOaYuhWBw3NPTtlqq4= |
||||
github.com/sosodev/duration v1.3.1/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg= |
||||
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.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA= |
||||
go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= |
||||
go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= |
||||
go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0 h1:OMqPldHt79PqWKOMYIAQs3CxAi7RLgPxwfFSwr4ZxtM= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploggrpc v0.14.0/go.mod h1:1biG4qiqTxKiUCtoWDPpL3fB3KxVwCiGw81j3nKMuHE= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0 h1:QQqYw3lkrzwVsoEX0w//EhH/TCnpRdEenKBOOEIMjWc= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlplog/otlploghttp v0.14.0/go.mod h1:gSVQcr17jk2ig4jqJ2DX30IdWH251JcNAecvrqTxH1s= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0 h1:vl9obrcoWVKp/lwl8tRE33853I8Xru9HFbw/skNeLs8= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.38.0/go.mod h1:GAXRxmLJcVM3u22IjTg74zWBrRCKq8BnOqUVLodpcpw= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 h1:Oe2z/BCg5q7k4iXC3cqJxKYg0ieRiOqF0cecFYdPTwk= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0/go.mod h1:ZQM5lAJpOsKnYagGg/zV2krVqTtaVdYdDkhMoX6Oalg= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= |
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= |
||||
go.opentelemetry.io/otel/log v0.14.0 h1:2rzJ+pOAZ8qmZ3DDHg73NEKzSZkhkGIua9gXtxNGgrM= |
||||
go.opentelemetry.io/otel/log v0.14.0/go.mod h1:5jRG92fEAgx0SU/vFPxmJvhIuDU9E1SUnEQrMlJpOno= |
||||
go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= |
||||
go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= |
||||
go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= |
||||
go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= |
||||
go.opentelemetry.io/otel/sdk/log v0.14.0 h1:JU/U3O7N6fsAXj0+CXz21Czg532dW2V4gG1HE/e8Zrg= |
||||
go.opentelemetry.io/otel/sdk/log v0.14.0/go.mod h1:imQvII+0ZylXfKU7/wtOND8Hn4OpT3YUoIgqJVksUkM= |
||||
go.opentelemetry.io/otel/sdk/log/logtest v0.14.0 h1:Ijbtz+JKXl8T2MngiwqBlPaHqc4YCaP/i13Qrow6gAM= |
||||
go.opentelemetry.io/otel/sdk/log/logtest v0.14.0/go.mod h1:dCU8aEL6q+L9cYTqcVOk8rM9Tp8WdnHOPLiBgp0SGOA= |
||||
go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= |
||||
go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= |
||||
go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= |
||||
go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= |
||||
go.opentelemetry.io/proto/otlp v1.8.0 h1:fRAZQDcAFHySxpJ1TwlA1cJ4tvcrw7nXl9xWWC8N5CE= |
||||
go.opentelemetry.io/proto/otlp v1.8.0/go.mod h1:tIeYOeNBU4cvmPqpaji1P+KbB4Oloai8wN4rWzRrFF0= |
||||
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= |
||||
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= |
||||
golang.org/x/net v0.44.0 h1:evd8IRDyfNBMBTTY5XRF1vaZlD+EmWx6x8PkhR04H/I= |
||||
golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= |
||||
golang.org/x/sync v0.17.0 h1:l60nONMj9l5drqw6jlhIELNv9I0A4OFgRsG9k2oT9Ug= |
||||
golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= |
||||
golang.org/x/sys v0.36.0 h1:KVRy2GtZBrk1cBYA7MKu5bEZFxQk4NIDV6RLVcC8o0k= |
||||
golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= |
||||
golang.org/x/text v0.29.0 h1:1neNs90w9YzJ9BocxfsQNHKuAT4pkghyXc4nhZ6sJvk= |
||||
golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= |
||||
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-20250825161204-c5933d9347a5 h1:BIRfGDEjiHRrk0QKZe3Xv2ieMhtgRGeLcZQ0mIVn4EY= |
||||
google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5 h1:eaY8u2EuxbRv7c3NiGK0/NedzVsCcV6hDuU5qPX5EGE= |
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= |
||||
google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= |
||||
google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= |
||||
google.golang.org/protobuf v1.36.9 h1:w2gp2mA27hUeUzj9Ex9FBjsBm40zfaDtEWow293U7Iw= |
||||
google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= |
||||
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= |
||||
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= |
||||
@ -0,0 +1,20 @@
|
||||
package main |
||||
|
||||
import ( |
||||
"dagger/dex/internal/dagger" |
||||
) |
||||
|
||||
type Dex struct { |
||||
// +private
|
||||
Source *dagger.Directory |
||||
} |
||||
|
||||
func New( |
||||
// +defaultPath="/"
|
||||
// +ignore=[".devenv", ".direnv", ".github", "tmp"]
|
||||
source *dagger.Directory, |
||||
) *Dex { |
||||
return &Dex{ |
||||
Source: source, |
||||
} |
||||
} |
||||
@ -0,0 +1,80 @@
|
||||
package main |
||||
|
||||
import ( |
||||
"context" |
||||
"dagger/dex/internal/dagger" |
||||
"fmt" |
||||
) |
||||
|
||||
func (m *Dex) Test() *Test { |
||||
return &Test{ |
||||
Source: m.Source, |
||||
} |
||||
} |
||||
|
||||
type Test struct { |
||||
// +private
|
||||
Source *dagger.Directory |
||||
} |
||||
|
||||
func (m *Test) chart() *dagger.HelmChart { |
||||
chart := dag.Git("https://github.com/dexidp/helm-charts.git").Branch("master").Tree() |
||||
chart = chart.Directory("charts/dex") |
||||
// chart := m.Source.Directory("deploy/charts/dex")
|
||||
|
||||
return dag.Helm().Chart(chart) |
||||
} |
||||
|
||||
func (m *Test) Lint(ctx context.Context) (string, error) { |
||||
return m.chart().Lint().Stdout(ctx) |
||||
} |
||||
|
||||
var k3sVersions = map[string]string{ |
||||
"latest": "latest", |
||||
"1.30": "v1.30.13-k3s1", |
||||
"1.31": "v1.31.14-k3s1", |
||||
"1.32": "v1.32.11-k3s1", |
||||
"1.33": "v1.33.7-k3s1", |
||||
"1.34": "v1.34.3-k3s1", |
||||
"1.35": "v1.35.0-k3s1", |
||||
} |
||||
|
||||
func (m *Test) HelmChart( |
||||
ctx context.Context, |
||||
|
||||
// +default="latest"
|
||||
kubeVersion string, |
||||
) error { |
||||
k3sVersion, ok := k3sVersions[kubeVersion] |
||||
if !ok { |
||||
return fmt.Errorf("unsupported kube version: %s", kubeVersion) |
||||
} |
||||
|
||||
k8s := dag.K3S("test", dagger.K3SOpts{ |
||||
Image: fmt.Sprintf("rancher/k3s:%s", k3sVersion), |
||||
}) |
||||
|
||||
_, err := k8s.Server().Start(ctx) |
||||
if err != nil { |
||||
return err |
||||
} |
||||
|
||||
result, err := m.chart().Package(). |
||||
WithKubeconfigFile(k8s.Config()). |
||||
Install("demo", dagger.HelmPackageInstallOpts{ |
||||
Wait: true, |
||||
Timeout: "1m", |
||||
Values: []*dagger.File{ |
||||
m.chart().Directory().File("ci/test-values.yaml"), |
||||
}, |
||||
}). |
||||
Test(ctx, dagger.HelmReleaseTestOpts{ |
||||
Logs: true, |
||||
}) |
||||
fmt.Println(result) |
||||
if err != nil { |
||||
return err |
||||
} |
||||
|
||||
return nil |
||||
} |
||||
@ -1,6 +1,5 @@
|
||||
if ! has nix_direnv_version || ! nix_direnv_version 3.0.6; then |
||||
source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.0.6/direnvrc" "sha256-RYcUJaRMf8oF5LznDrlCXbkOQrywm0HDv1VjYGaJGdM=" |
||||
fi |
||||
use flake . --impure |
||||
export DIRENV_WARN_TIMEOUT=20s |
||||
|
||||
dotenv_if_exists |
||||
eval "$(devenv direnvrc)" |
||||
|
||||
use devenv |
||||
|
||||
@ -1,8 +1,12 @@
|
||||
/.devenv/ |
||||
/.direnv/ |
||||
/.idea/ |
||||
/bin/ |
||||
/config.yaml |
||||
/docker-compose.override.yaml |
||||
/var/ |
||||
/vendor/ |
||||
|
||||
# Devenv |
||||
/.devenv* |
||||
/.direnv/ |
||||
devenv.local.nix |
||||
.pre-commit-config.yaml |
||||
|
||||
@ -0,0 +1,31 @@
|
||||
{ |
||||
"name": "dex", |
||||
"engineVersion": "v0.19.9", |
||||
"sdk": { |
||||
"source": "go" |
||||
}, |
||||
"dependencies": [ |
||||
{ |
||||
"name": "helm", |
||||
"source": "github.com/sagikazarmark/daggerverse/helm@helm/v0.15.0", |
||||
"pin": "5dcc7e4c4cd5ed230046955f42e27f2166545155" |
||||
}, |
||||
{ |
||||
"name": "helm-docs", |
||||
"source": "github.com/sagikazarmark/daggerverse/helm-docs@helm-docs/v0.6.0", |
||||
"pin": "5dcc7e4c4cd5ed230046955f42e27f2166545155" |
||||
}, |
||||
{ |
||||
"name": "k3s", |
||||
"source": "github.com/marcosnils/daggerverse/k3s@k3s/v0.11.1", |
||||
"pin": "c07646d1bf7f6079dab47ba152c767e062aa0f58" |
||||
}, |
||||
{ |
||||
"name": "registry", |
||||
"source": "github.com/sagikazarmark/daggerverse/registry@main", |
||||
"pin": "88056b48085a170fbf7638e106efbecd26c6573d" |
||||
} |
||||
], |
||||
"source": ".dagger", |
||||
"disableDefaultFunctionCaching": true |
||||
} |
||||
@ -0,0 +1,152 @@
|
||||
{ |
||||
"nodes": { |
||||
"dagger": { |
||||
"inputs": { |
||||
"nixpkgs": "nixpkgs" |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1767828339, |
||||
"owner": "dagger", |
||||
"repo": "nix", |
||||
"rev": "6906a3d0b8ee02a5f9565cbea0f372f8c99e4146", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "dagger", |
||||
"repo": "nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"devenv": { |
||||
"locked": { |
||||
"dir": "src/modules", |
||||
"lastModified": 1768272662, |
||||
"owner": "cachix", |
||||
"repo": "devenv", |
||||
"rev": "8851f6d40a61091a39076f55e2765ca2b15b733e", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"dir": "src/modules", |
||||
"owner": "cachix", |
||||
"repo": "devenv", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"flake-compat": { |
||||
"flake": false, |
||||
"locked": { |
||||
"lastModified": 1767039857, |
||||
"owner": "NixOS", |
||||
"repo": "flake-compat", |
||||
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "NixOS", |
||||
"repo": "flake-compat", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"git-hooks": { |
||||
"inputs": { |
||||
"flake-compat": "flake-compat", |
||||
"gitignore": "gitignore", |
||||
"nixpkgs": [ |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1767281941, |
||||
"owner": "cachix", |
||||
"repo": "git-hooks.nix", |
||||
"rev": "f0927703b7b1c8d97511c4116eb9b4ec6645a0fa", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"repo": "git-hooks.nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"gitignore": { |
||||
"inputs": { |
||||
"nixpkgs": [ |
||||
"git-hooks", |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1762808025, |
||||
"owner": "hercules-ci", |
||||
"repo": "gitignore.nix", |
||||
"rev": "cb5e3fdca1de58ccbc3ef53de65bd372b48f567c", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "hercules-ci", |
||||
"repo": "gitignore.nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nixpkgs": { |
||||
"locked": { |
||||
"lastModified": 1768178648, |
||||
"owner": "NixOS", |
||||
"repo": "nixpkgs", |
||||
"rev": "3fbab70c6e69c87ea2b6e48aa6629da2aa6a23b0", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "NixOS", |
||||
"ref": "nixpkgs-unstable", |
||||
"repo": "nixpkgs", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nixpkgs_2": { |
||||
"locked": { |
||||
"lastModified": 1767052823, |
||||
"owner": "cachix", |
||||
"repo": "devenv-nixpkgs", |
||||
"rev": "538a5124359f0b3d466e1160378c87887e3b51a4", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"ref": "rolling", |
||||
"repo": "devenv-nixpkgs", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"root": { |
||||
"inputs": { |
||||
"dagger": "dagger", |
||||
"devenv": "devenv", |
||||
"git-hooks": "git-hooks", |
||||
"nixpkgs": "nixpkgs_2", |
||||
"pre-commit-hooks": [ |
||||
"git-hooks" |
||||
], |
||||
"unstable": "unstable" |
||||
} |
||||
}, |
||||
"unstable": { |
||||
"locked": { |
||||
"lastModified": 1768178648, |
||||
"owner": "NixOS", |
||||
"repo": "nixpkgs", |
||||
"rev": "3fbab70c6e69c87ea2b6e48aa6629da2aa6a23b0", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "NixOS", |
||||
"ref": "nixpkgs-unstable", |
||||
"repo": "nixpkgs", |
||||
"type": "github" |
||||
} |
||||
} |
||||
}, |
||||
"root": "root", |
||||
"version": 7 |
||||
} |
||||
@ -0,0 +1,28 @@
|
||||
{ pkgs, inputs, ... }: |
||||
|
||||
{ |
||||
overlays = [ |
||||
(final: prev: { |
||||
go_1_25 = inputs.unstable.legacyPackages.${final.system}.go_1_25; |
||||
}) |
||||
]; |
||||
|
||||
languages = { |
||||
go = { |
||||
enable = true; |
||||
package = pkgs.go_1_25; |
||||
}; |
||||
}; |
||||
|
||||
packages = with pkgs; [ |
||||
just |
||||
gnumake |
||||
golangci-lint |
||||
gotestsum |
||||
protobuf |
||||
protoc-gen-go |
||||
protoc-gen-go-grpc |
||||
kind |
||||
dagger |
||||
]; |
||||
} |
||||
@ -0,0 +1,10 @@
|
||||
# yaml-language-server: $schema=https://devenv.sh/devenv.schema.json |
||||
inputs: |
||||
nixpkgs: |
||||
url: github:cachix/devenv-nixpkgs/rolling |
||||
unstable: |
||||
url: github:NixOS/nixpkgs/nixpkgs-unstable |
||||
dagger: |
||||
url: github:dagger/nix |
||||
overlays: |
||||
- default |
||||
@ -1,255 +0,0 @@
|
||||
{ |
||||
"nodes": { |
||||
"cachix": { |
||||
"inputs": { |
||||
"devenv": [ |
||||
"devenv" |
||||
], |
||||
"flake-compat": [ |
||||
"devenv" |
||||
], |
||||
"git-hooks": [ |
||||
"devenv", |
||||
"git-hooks" |
||||
], |
||||
"nixpkgs": [ |
||||
"devenv", |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1748883665, |
||||
"narHash": "sha256-R0W7uAg+BLoHjMRMQ8+oiSbTq8nkGz5RDpQ+ZfxxP3A=", |
||||
"owner": "cachix", |
||||
"repo": "cachix", |
||||
"rev": "f707778d902af4d62d8dd92c269f8e70de09acbe", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"ref": "latest", |
||||
"repo": "cachix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"devenv": { |
||||
"inputs": { |
||||
"cachix": "cachix", |
||||
"flake-compat": "flake-compat", |
||||
"git-hooks": "git-hooks", |
||||
"nix": "nix", |
||||
"nixpkgs": "nixpkgs" |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1755355634, |
||||
"narHash": "sha256-3UNeb5pBLHtTyYIkzF/3+2YlAKf6OuWQYUQO+qmInA4=", |
||||
"owner": "cachix", |
||||
"repo": "devenv", |
||||
"rev": "85e78cbe26467a2c23c9d34869235740132d749f", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"repo": "devenv", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"flake-compat": { |
||||
"flake": false, |
||||
"locked": { |
||||
"lastModified": 1747046372, |
||||
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", |
||||
"owner": "edolstra", |
||||
"repo": "flake-compat", |
||||
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "edolstra", |
||||
"repo": "flake-compat", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"flake-parts": { |
||||
"inputs": { |
||||
"nixpkgs-lib": [ |
||||
"devenv", |
||||
"nix", |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1733312601, |
||||
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", |
||||
"owner": "hercules-ci", |
||||
"repo": "flake-parts", |
||||
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "hercules-ci", |
||||
"repo": "flake-parts", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"flake-parts_2": { |
||||
"inputs": { |
||||
"nixpkgs-lib": "nixpkgs-lib" |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1754487366, |
||||
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=", |
||||
"owner": "hercules-ci", |
||||
"repo": "flake-parts", |
||||
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "hercules-ci", |
||||
"repo": "flake-parts", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"git-hooks": { |
||||
"inputs": { |
||||
"flake-compat": [ |
||||
"devenv", |
||||
"flake-compat" |
||||
], |
||||
"gitignore": "gitignore", |
||||
"nixpkgs": [ |
||||
"devenv", |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1750779888, |
||||
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=", |
||||
"owner": "cachix", |
||||
"repo": "git-hooks.nix", |
||||
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"repo": "git-hooks.nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"gitignore": { |
||||
"inputs": { |
||||
"nixpkgs": [ |
||||
"devenv", |
||||
"git-hooks", |
||||
"nixpkgs" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1709087332, |
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=", |
||||
"owner": "hercules-ci", |
||||
"repo": "gitignore.nix", |
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "hercules-ci", |
||||
"repo": "gitignore.nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nix": { |
||||
"inputs": { |
||||
"flake-compat": [ |
||||
"devenv", |
||||
"flake-compat" |
||||
], |
||||
"flake-parts": "flake-parts", |
||||
"git-hooks-nix": [ |
||||
"devenv", |
||||
"git-hooks" |
||||
], |
||||
"nixpkgs": [ |
||||
"devenv", |
||||
"nixpkgs" |
||||
], |
||||
"nixpkgs-23-11": [ |
||||
"devenv" |
||||
], |
||||
"nixpkgs-regression": [ |
||||
"devenv" |
||||
] |
||||
}, |
||||
"locked": { |
||||
"lastModified": 1755029779, |
||||
"narHash": "sha256-3+GHIYGg4U9XKUN4rg473frIVNn8YD06bjwxKS1IPrU=", |
||||
"owner": "cachix", |
||||
"repo": "nix", |
||||
"rev": "b0972b0eee6726081d10b1199f54de6d2917f861", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"ref": "devenv-2.30", |
||||
"repo": "nix", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nixpkgs": { |
||||
"locked": { |
||||
"lastModified": 1750441195, |
||||
"narHash": "sha256-yke+pm+MdgRb6c0dPt8MgDhv7fcBbdjmv1ZceNTyzKg=", |
||||
"owner": "cachix", |
||||
"repo": "devenv-nixpkgs", |
||||
"rev": "0ceffe312871b443929ff3006960d29b120dc627", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "cachix", |
||||
"ref": "rolling", |
||||
"repo": "devenv-nixpkgs", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nixpkgs-lib": { |
||||
"locked": { |
||||
"lastModified": 1753579242, |
||||
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=", |
||||
"owner": "nix-community", |
||||
"repo": "nixpkgs.lib", |
||||
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "nix-community", |
||||
"repo": "nixpkgs.lib", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"nixpkgs_2": { |
||||
"locked": { |
||||
"lastModified": 1755268003, |
||||
"narHash": "sha256-nNaeJjo861wFR0tjHDyCnHs1rbRtrMgxAKMoig9Sj/w=", |
||||
"owner": "NixOS", |
||||
"repo": "nixpkgs", |
||||
"rev": "32f313e49e42f715491e1ea7b306a87c16fe0388", |
||||
"type": "github" |
||||
}, |
||||
"original": { |
||||
"owner": "NixOS", |
||||
"ref": "nixpkgs-unstable", |
||||
"repo": "nixpkgs", |
||||
"type": "github" |
||||
} |
||||
}, |
||||
"root": { |
||||
"inputs": { |
||||
"devenv": "devenv", |
||||
"flake-parts": "flake-parts_2", |
||||
"nixpkgs": "nixpkgs_2" |
||||
} |
||||
} |
||||
}, |
||||
"root": "root", |
||||
"version": 7 |
||||
} |
||||
@ -1,56 +0,0 @@
|
||||
{ |
||||
inputs = { |
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; |
||||
flake-parts.url = "github:hercules-ci/flake-parts"; |
||||
devenv.url = "github:cachix/devenv"; |
||||
}; |
||||
|
||||
outputs = |
||||
inputs@{ flake-parts, ... }: |
||||
flake-parts.lib.mkFlake { inherit inputs; } { |
||||
imports = [ |
||||
inputs.devenv.flakeModule |
||||
]; |
||||
|
||||
systems = [ |
||||
"x86_64-linux" |
||||
"x86_64-darwin" |
||||
"aarch64-darwin" |
||||
"aarch64-linux" |
||||
]; |
||||
|
||||
perSystem = |
||||
{ pkgs, ... }: |
||||
rec { |
||||
devenv.shells = { |
||||
default = { |
||||
languages = { |
||||
go = { |
||||
enable = true; |
||||
package = pkgs.go_1_25; |
||||
}; |
||||
}; |
||||
|
||||
packages = with pkgs; [ |
||||
gnumake |
||||
|
||||
# golangci-lint |
||||
(golangci-lint.override (o: { |
||||
buildGoModule = pkgs.buildGo125Module; |
||||
})) |
||||
gotestsum |
||||
protobuf |
||||
protoc-gen-go |
||||
protoc-gen-go-grpc |
||||
kind |
||||
]; |
||||
|
||||
# https://github.com/cachix/devenv/issues/528#issuecomment-1556108767 |
||||
containers = pkgs.lib.mkForce { }; |
||||
}; |
||||
|
||||
ci = devenv.shells.default; |
||||
}; |
||||
}; |
||||
}; |
||||
} |
||||
Loading…
Reference in new issue