diff --git a/backend/controller/admin/testdata/go/dischema/go.mod b/backend/controller/admin/testdata/go/dischema/go.mod index d8fcf9916d..a24228c0ad 100644 --- a/backend/controller/admin/testdata/go/dischema/go.mod +++ b/backend/controller/admin/testdata/go/dischema/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/admin/testdata/go/dischema/go.sum b/backend/controller/admin/testdata/go/dischema/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/admin/testdata/go/dischema/go.sum +++ b/backend/controller/admin/testdata/go/dischema/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/console/testdata/go/console/go.mod b/backend/controller/console/testdata/go/console/go.mod index 97ba9613c8..d20d25c44d 100644 --- a/backend/controller/console/testdata/go/console/go.mod +++ b/backend/controller/console/testdata/go/console/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/console/testdata/go/console/go.sum b/backend/controller/console/testdata/go/console/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/console/testdata/go/console/go.sum +++ b/backend/controller/console/testdata/go/console/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/controller.go b/backend/controller/controller.go index 528388bc47..9b8d121492 100644 --- a/backend/controller/controller.go +++ b/backend/controller/controller.go @@ -191,6 +191,7 @@ func Start( rpc.GRPC(ftlv1connect.NewVerbServiceHandler, svc), rpc.GRPC(ftlv1connect.NewModuleServiceHandler, svc), rpc.GRPC(ftlv1connect.NewControllerServiceHandler, svc), + rpc.GRPC(ftlv1connect.NewSchemaServiceHandler, svc), rpc.GRPC(ftlv1connect.NewAdminServiceHandler, admin), rpc.GRPC(pbconsoleconnect.NewConsoleServiceHandler, console), rpc.HTTP("/", consoleHandler), @@ -208,6 +209,7 @@ func Start( var _ ftlv1connect.ControllerServiceHandler = (*Service)(nil) var _ ftlv1connect.VerbServiceHandler = (*Service)(nil) +var _ ftlv1connect.SchemaServiceHandler = (*Service)(nil) type clients struct { verb ftlv1connect.VerbServiceClient diff --git a/backend/controller/encryption/testdata/go/encryption/go.mod b/backend/controller/encryption/testdata/go/encryption/go.mod index b800a1dadb..7aa5772f95 100644 --- a/backend/controller/encryption/testdata/go/encryption/go.mod +++ b/backend/controller/encryption/testdata/go/encryption/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/encryption/testdata/go/encryption/go.sum b/backend/controller/encryption/testdata/go/encryption/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/encryption/testdata/go/encryption/go.sum +++ b/backend/controller/encryption/testdata/go/encryption/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/ingress/testdata/go/httpingress/go.mod b/backend/controller/ingress/testdata/go/httpingress/go.mod index 19de396509..f053a14219 100644 --- a/backend/controller/ingress/testdata/go/httpingress/go.mod +++ b/backend/controller/ingress/testdata/go/httpingress/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/ingress/testdata/go/httpingress/go.sum b/backend/controller/ingress/testdata/go/httpingress/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/ingress/testdata/go/httpingress/go.sum +++ b/backend/controller/ingress/testdata/go/httpingress/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/leases/testdata/go/leases/go.mod b/backend/controller/leases/testdata/go/leases/go.mod index db2430e450..20d1ff1232 100644 --- a/backend/controller/leases/testdata/go/leases/go.mod +++ b/backend/controller/leases/testdata/go/leases/go.mod @@ -22,7 +22,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/backend/controller/leases/testdata/go/leases/go.sum b/backend/controller/leases/testdata/go/leases/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/backend/controller/leases/testdata/go/leases/go.sum +++ b/backend/controller/leases/testdata/go/leases/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/backend/controller/pubsub/testdata/go/publisher/go.mod b/backend/controller/pubsub/testdata/go/publisher/go.mod index 1c06df2f6c..f2017eff86 100644 --- a/backend/controller/pubsub/testdata/go/publisher/go.mod +++ b/backend/controller/pubsub/testdata/go/publisher/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/pubsub/testdata/go/publisher/go.sum b/backend/controller/pubsub/testdata/go/publisher/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/pubsub/testdata/go/publisher/go.sum +++ b/backend/controller/pubsub/testdata/go/publisher/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/pubsub/testdata/go/slow/go.mod b/backend/controller/pubsub/testdata/go/slow/go.mod index 7940473b3a..029ce4eb9e 100644 --- a/backend/controller/pubsub/testdata/go/slow/go.mod +++ b/backend/controller/pubsub/testdata/go/slow/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/pubsub/testdata/go/slow/go.sum b/backend/controller/pubsub/testdata/go/slow/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/pubsub/testdata/go/slow/go.sum +++ b/backend/controller/pubsub/testdata/go/slow/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/pubsub/testdata/go/subscriber/go.mod b/backend/controller/pubsub/testdata/go/subscriber/go.mod index 7c202d6e14..4c30f7d787 100644 --- a/backend/controller/pubsub/testdata/go/subscriber/go.mod +++ b/backend/controller/pubsub/testdata/go/subscriber/go.mod @@ -14,7 +14,7 @@ require ( connectrpc.com/otelconnect v0.7.1 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/controller/pubsub/testdata/go/subscriber/go.sum b/backend/controller/pubsub/testdata/go/subscriber/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/controller/pubsub/testdata/go/subscriber/go.sum +++ b/backend/controller/pubsub/testdata/go/subscriber/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/backend/controller/scaling/scaling.go b/backend/controller/scaling/scaling.go index e926a26850..ff789fe89c 100644 --- a/backend/controller/scaling/scaling.go +++ b/backend/controller/scaling/scaling.go @@ -55,7 +55,7 @@ func BeginGrpcScaling(ctx context.Context, url url.URL, leaser leases.Leaser, ha } func runGrpcScaling(ctx context.Context, url url.URL, handler func(ctx context.Context, msg *ftlv1.PullSchemaResponse) error) { - client := rpc.Dial(ftlv1connect.NewControllerServiceClient, url.String(), log.Error) + client := rpc.Dial(ftlv1connect.NewSchemaServiceClient, url.String(), log.Error) ctx = rpc.ContextWithClient(ctx, client) logger := log.FromContext(ctx) diff --git a/backend/controller/sql/testdata/go/database/go.mod b/backend/controller/sql/testdata/go/database/go.mod index 75ec95e458..27a001efe6 100644 --- a/backend/controller/sql/testdata/go/database/go.mod +++ b/backend/controller/sql/testdata/go/database/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/backend/controller/sql/testdata/go/database/go.sum b/backend/controller/sql/testdata/go/database/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/backend/controller/sql/testdata/go/database/go.sum +++ b/backend/controller/sql/testdata/go/database/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/backend/protos/xyz/block/ftl/v1/controller.pb.go b/backend/protos/xyz/block/ftl/v1/controller.pb.go index dbf23bcaf3..caa6d65517 100644 --- a/backend/protos/xyz/block/ftl/v1/controller.pb.go +++ b/backend/protos/xyz/block/ftl/v1/controller.pb.go @@ -23,55 +23,6 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -type DeploymentChangeType int32 - -const ( - DeploymentChangeType_DEPLOYMENT_ADDED DeploymentChangeType = 0 - DeploymentChangeType_DEPLOYMENT_REMOVED DeploymentChangeType = 1 - DeploymentChangeType_DEPLOYMENT_CHANGED DeploymentChangeType = 2 -) - -// Enum value maps for DeploymentChangeType. -var ( - DeploymentChangeType_name = map[int32]string{ - 0: "DEPLOYMENT_ADDED", - 1: "DEPLOYMENT_REMOVED", - 2: "DEPLOYMENT_CHANGED", - } - DeploymentChangeType_value = map[string]int32{ - "DEPLOYMENT_ADDED": 0, - "DEPLOYMENT_REMOVED": 1, - "DEPLOYMENT_CHANGED": 2, - } -) - -func (x DeploymentChangeType) Enum() *DeploymentChangeType { - p := new(DeploymentChangeType) - *p = x - return p -} - -func (x DeploymentChangeType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DeploymentChangeType) Descriptor() protoreflect.EnumDescriptor { - return file_xyz_block_ftl_v1_controller_proto_enumTypes[0].Descriptor() -} - -func (DeploymentChangeType) Type() protoreflect.EnumType { - return &file_xyz_block_ftl_v1_controller_proto_enumTypes[0] -} - -func (x DeploymentChangeType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DeploymentChangeType.Descriptor instead. -func (DeploymentChangeType) EnumDescriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{0} -} - type GetCertificationRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -277,203 +228,6 @@ func (x *Certificate) GetControllerSignature() []byte { return nil } -type GetSchemaRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *GetSchemaRequest) Reset() { - *x = GetSchemaRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetSchemaRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSchemaRequest) ProtoMessage() {} - -func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[4] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. -func (*GetSchemaRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{4} -} - -type GetSchemaResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Schema *schema.Schema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` -} - -func (x *GetSchemaResponse) Reset() { - *x = GetSchemaResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *GetSchemaResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetSchemaResponse) ProtoMessage() {} - -func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[5] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. -func (*GetSchemaResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{5} -} - -func (x *GetSchemaResponse) GetSchema() *schema.Schema { - if x != nil { - return x.Schema - } - return nil -} - -type PullSchemaRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *PullSchemaRequest) Reset() { - *x = PullSchemaRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullSchemaRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullSchemaRequest) ProtoMessage() {} - -func (x *PullSchemaRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[6] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullSchemaRequest.ProtoReflect.Descriptor instead. -func (*PullSchemaRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{6} -} - -type PullSchemaResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DeploymentKey string `protobuf:"bytes,1,opt,name=deployment_key,json=deploymentKey,proto3" json:"deployment_key,omitempty"` - ModuleName string `protobuf:"bytes,2,opt,name=module_name,json=moduleName,proto3" json:"module_name,omitempty"` - // For deletes this will not be present. - Schema *schema.Module `protobuf:"bytes,4,opt,name=schema,proto3,oneof" json:"schema,omitempty"` - // If true there are more schema changes immediately following this one as part of the initial batch. - // If false this is the last schema change in the initial batch, but others may follow later. - More bool `protobuf:"varint,3,opt,name=more,proto3" json:"more,omitempty"` - ChangeType DeploymentChangeType `protobuf:"varint,5,opt,name=change_type,json=changeType,proto3,enum=xyz.block.ftl.v1.DeploymentChangeType" json:"change_type,omitempty"` -} - -func (x *PullSchemaResponse) Reset() { - *x = PullSchemaResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) -} - -func (x *PullSchemaResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PullSchemaResponse) ProtoMessage() {} - -func (x *PullSchemaResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[7] - if x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PullSchemaResponse.ProtoReflect.Descriptor instead. -func (*PullSchemaResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{7} -} - -func (x *PullSchemaResponse) GetDeploymentKey() string { - if x != nil { - return x.DeploymentKey - } - return "" -} - -func (x *PullSchemaResponse) GetModuleName() string { - if x != nil { - return x.ModuleName - } - return "" -} - -func (x *PullSchemaResponse) GetSchema() *schema.Module { - if x != nil { - return x.Schema - } - return nil -} - -func (x *PullSchemaResponse) GetMore() bool { - if x != nil { - return x.More - } - return false -} - -func (x *PullSchemaResponse) GetChangeType() DeploymentChangeType { - if x != nil { - return x.ChangeType - } - return DeploymentChangeType_DEPLOYMENT_ADDED -} - type GetArtefactDiffsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -484,7 +238,7 @@ type GetArtefactDiffsRequest struct { func (x *GetArtefactDiffsRequest) Reset() { *x = GetArtefactDiffsRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[8] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -496,7 +250,7 @@ func (x *GetArtefactDiffsRequest) String() string { func (*GetArtefactDiffsRequest) ProtoMessage() {} func (x *GetArtefactDiffsRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[8] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -509,7 +263,7 @@ func (x *GetArtefactDiffsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArtefactDiffsRequest.ProtoReflect.Descriptor instead. func (*GetArtefactDiffsRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{8} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{4} } func (x *GetArtefactDiffsRequest) GetClientDigests() []string { @@ -531,7 +285,7 @@ type GetArtefactDiffsResponse struct { func (x *GetArtefactDiffsResponse) Reset() { *x = GetArtefactDiffsResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[9] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -543,7 +297,7 @@ func (x *GetArtefactDiffsResponse) String() string { func (*GetArtefactDiffsResponse) ProtoMessage() {} func (x *GetArtefactDiffsResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[9] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -556,7 +310,7 @@ func (x *GetArtefactDiffsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetArtefactDiffsResponse.ProtoReflect.Descriptor instead. func (*GetArtefactDiffsResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{9} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{5} } func (x *GetArtefactDiffsResponse) GetMissingDigests() []string { @@ -583,7 +337,7 @@ type UploadArtefactRequest struct { func (x *UploadArtefactRequest) Reset() { *x = UploadArtefactRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[10] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -595,7 +349,7 @@ func (x *UploadArtefactRequest) String() string { func (*UploadArtefactRequest) ProtoMessage() {} func (x *UploadArtefactRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[10] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -608,7 +362,7 @@ func (x *UploadArtefactRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadArtefactRequest.ProtoReflect.Descriptor instead. func (*UploadArtefactRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{10} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{6} } func (x *UploadArtefactRequest) GetContent() []byte { @@ -628,7 +382,7 @@ type UploadArtefactResponse struct { func (x *UploadArtefactResponse) Reset() { *x = UploadArtefactResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[11] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -640,7 +394,7 @@ func (x *UploadArtefactResponse) String() string { func (*UploadArtefactResponse) ProtoMessage() {} func (x *UploadArtefactResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[11] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -653,7 +407,7 @@ func (x *UploadArtefactResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UploadArtefactResponse.ProtoReflect.Descriptor instead. func (*UploadArtefactResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{11} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{7} } func (x *UploadArtefactResponse) GetDigest() []byte { @@ -675,7 +429,7 @@ type DeploymentArtefact struct { func (x *DeploymentArtefact) Reset() { *x = DeploymentArtefact{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[12] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -687,7 +441,7 @@ func (x *DeploymentArtefact) String() string { func (*DeploymentArtefact) ProtoMessage() {} func (x *DeploymentArtefact) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[12] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -700,7 +454,7 @@ func (x *DeploymentArtefact) ProtoReflect() protoreflect.Message { // Deprecated: Use DeploymentArtefact.ProtoReflect.Descriptor instead. func (*DeploymentArtefact) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{12} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{8} } func (x *DeploymentArtefact) GetDigest() string { @@ -737,7 +491,7 @@ type CreateDeploymentRequest struct { func (x *CreateDeploymentRequest) Reset() { *x = CreateDeploymentRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[13] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -749,7 +503,7 @@ func (x *CreateDeploymentRequest) String() string { func (*CreateDeploymentRequest) ProtoMessage() {} func (x *CreateDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[13] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -762,7 +516,7 @@ func (x *CreateDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDeploymentRequest.ProtoReflect.Descriptor instead. func (*CreateDeploymentRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{13} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{9} } func (x *CreateDeploymentRequest) GetSchema() *schema.Module { @@ -798,7 +552,7 @@ type CreateDeploymentResponse struct { func (x *CreateDeploymentResponse) Reset() { *x = CreateDeploymentResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[14] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -810,7 +564,7 @@ func (x *CreateDeploymentResponse) String() string { func (*CreateDeploymentResponse) ProtoMessage() {} func (x *CreateDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[14] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -823,7 +577,7 @@ func (x *CreateDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateDeploymentResponse.ProtoReflect.Descriptor instead. func (*CreateDeploymentResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{14} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{10} } func (x *CreateDeploymentResponse) GetDeploymentKey() string { @@ -851,7 +605,7 @@ type GetDeploymentArtefactsRequest struct { func (x *GetDeploymentArtefactsRequest) Reset() { *x = GetDeploymentArtefactsRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[15] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -863,7 +617,7 @@ func (x *GetDeploymentArtefactsRequest) String() string { func (*GetDeploymentArtefactsRequest) ProtoMessage() {} func (x *GetDeploymentArtefactsRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[15] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -876,7 +630,7 @@ func (x *GetDeploymentArtefactsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentArtefactsRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentArtefactsRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{15} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{11} } func (x *GetDeploymentArtefactsRequest) GetDeploymentKey() string { @@ -904,7 +658,7 @@ type GetDeploymentArtefactsResponse struct { func (x *GetDeploymentArtefactsResponse) Reset() { *x = GetDeploymentArtefactsResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[16] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -916,7 +670,7 @@ func (x *GetDeploymentArtefactsResponse) String() string { func (*GetDeploymentArtefactsResponse) ProtoMessage() {} func (x *GetDeploymentArtefactsResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[16] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -929,7 +683,7 @@ func (x *GetDeploymentArtefactsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentArtefactsResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentArtefactsResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{16} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{12} } func (x *GetDeploymentArtefactsResponse) GetArtefact() *DeploymentArtefact { @@ -956,7 +710,7 @@ type GetDeploymentRequest struct { func (x *GetDeploymentRequest) Reset() { *x = GetDeploymentRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[17] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -968,7 +722,7 @@ func (x *GetDeploymentRequest) String() string { func (*GetDeploymentRequest) ProtoMessage() {} func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[17] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -981,7 +735,7 @@ func (x *GetDeploymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentRequest.ProtoReflect.Descriptor instead. func (*GetDeploymentRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{17} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{13} } func (x *GetDeploymentRequest) GetDeploymentKey() string { @@ -1002,7 +756,7 @@ type GetDeploymentResponse struct { func (x *GetDeploymentResponse) Reset() { *x = GetDeploymentResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[18] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1014,7 +768,7 @@ func (x *GetDeploymentResponse) String() string { func (*GetDeploymentResponse) ProtoMessage() {} func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[18] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1027,7 +781,7 @@ func (x *GetDeploymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDeploymentResponse.ProtoReflect.Descriptor instead. func (*GetDeploymentResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{18} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{14} } func (x *GetDeploymentResponse) GetSchema() *schema.Module { @@ -1057,7 +811,7 @@ type RegisterRunnerRequest struct { func (x *RegisterRunnerRequest) Reset() { *x = RegisterRunnerRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[19] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1069,7 +823,7 @@ func (x *RegisterRunnerRequest) String() string { func (*RegisterRunnerRequest) ProtoMessage() {} func (x *RegisterRunnerRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[19] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1082,7 +836,7 @@ func (x *RegisterRunnerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterRunnerRequest.ProtoReflect.Descriptor instead. func (*RegisterRunnerRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{19} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{15} } func (x *RegisterRunnerRequest) GetKey() string { @@ -1121,7 +875,7 @@ type RegisterRunnerResponse struct { func (x *RegisterRunnerResponse) Reset() { *x = RegisterRunnerResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[20] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1133,7 +887,7 @@ func (x *RegisterRunnerResponse) String() string { func (*RegisterRunnerResponse) ProtoMessage() {} func (x *RegisterRunnerResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[20] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1146,7 +900,7 @@ func (x *RegisterRunnerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RegisterRunnerResponse.ProtoReflect.Descriptor instead. func (*RegisterRunnerResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{20} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{16} } type UpdateDeployRequest struct { @@ -1160,7 +914,7 @@ type UpdateDeployRequest struct { func (x *UpdateDeployRequest) Reset() { *x = UpdateDeployRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[21] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1172,7 +926,7 @@ func (x *UpdateDeployRequest) String() string { func (*UpdateDeployRequest) ProtoMessage() {} func (x *UpdateDeployRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[21] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1185,7 +939,7 @@ func (x *UpdateDeployRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDeployRequest.ProtoReflect.Descriptor instead. func (*UpdateDeployRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{21} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{17} } func (x *UpdateDeployRequest) GetDeploymentKey() string { @@ -1210,7 +964,7 @@ type UpdateDeployResponse struct { func (x *UpdateDeployResponse) Reset() { *x = UpdateDeployResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[22] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1222,7 +976,7 @@ func (x *UpdateDeployResponse) String() string { func (*UpdateDeployResponse) ProtoMessage() {} func (x *UpdateDeployResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[22] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1235,7 +989,7 @@ func (x *UpdateDeployResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateDeployResponse.ProtoReflect.Descriptor instead. func (*UpdateDeployResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{22} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{18} } type ReplaceDeployRequest struct { @@ -1249,7 +1003,7 @@ type ReplaceDeployRequest struct { func (x *ReplaceDeployRequest) Reset() { *x = ReplaceDeployRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[23] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1261,7 +1015,7 @@ func (x *ReplaceDeployRequest) String() string { func (*ReplaceDeployRequest) ProtoMessage() {} func (x *ReplaceDeployRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[23] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1274,7 +1028,7 @@ func (x *ReplaceDeployRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplaceDeployRequest.ProtoReflect.Descriptor instead. func (*ReplaceDeployRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{23} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{19} } func (x *ReplaceDeployRequest) GetDeploymentKey() string { @@ -1299,7 +1053,7 @@ type ReplaceDeployResponse struct { func (x *ReplaceDeployResponse) Reset() { *x = ReplaceDeployResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[24] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1311,7 +1065,7 @@ func (x *ReplaceDeployResponse) String() string { func (*ReplaceDeployResponse) ProtoMessage() {} func (x *ReplaceDeployResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[24] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1324,7 +1078,7 @@ func (x *ReplaceDeployResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ReplaceDeployResponse.ProtoReflect.Descriptor instead. func (*ReplaceDeployResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{20} } type StreamDeploymentLogsRequest struct { @@ -1343,7 +1097,7 @@ type StreamDeploymentLogsRequest struct { func (x *StreamDeploymentLogsRequest) Reset() { *x = StreamDeploymentLogsRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[25] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1355,7 +1109,7 @@ func (x *StreamDeploymentLogsRequest) String() string { func (*StreamDeploymentLogsRequest) ProtoMessage() {} func (x *StreamDeploymentLogsRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[25] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1368,7 +1122,7 @@ func (x *StreamDeploymentLogsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamDeploymentLogsRequest.ProtoReflect.Descriptor instead. func (*StreamDeploymentLogsRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{25} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{21} } func (x *StreamDeploymentLogsRequest) GetDeploymentKey() string { @@ -1428,7 +1182,7 @@ type StreamDeploymentLogsResponse struct { func (x *StreamDeploymentLogsResponse) Reset() { *x = StreamDeploymentLogsResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[26] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1440,7 +1194,7 @@ func (x *StreamDeploymentLogsResponse) String() string { func (*StreamDeploymentLogsResponse) ProtoMessage() {} func (x *StreamDeploymentLogsResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[26] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1453,7 +1207,7 @@ func (x *StreamDeploymentLogsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StreamDeploymentLogsResponse.ProtoReflect.Descriptor instead. func (*StreamDeploymentLogsResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{26} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{22} } type StatusRequest struct { @@ -1464,7 +1218,7 @@ type StatusRequest struct { func (x *StatusRequest) Reset() { *x = StatusRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[27] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1476,7 +1230,7 @@ func (x *StatusRequest) String() string { func (*StatusRequest) ProtoMessage() {} func (x *StatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[27] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1489,7 +1243,7 @@ func (x *StatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusRequest.ProtoReflect.Descriptor instead. func (*StatusRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{27} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{23} } type StatusResponse struct { @@ -1506,7 +1260,7 @@ type StatusResponse struct { func (x *StatusResponse) Reset() { *x = StatusResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[28] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1518,7 +1272,7 @@ func (x *StatusResponse) String() string { func (*StatusResponse) ProtoMessage() {} func (x *StatusResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[28] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1531,7 +1285,7 @@ func (x *StatusResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse.ProtoReflect.Descriptor instead. func (*StatusResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24} } func (x *StatusResponse) GetControllers() []*StatusResponse_Controller { @@ -1577,7 +1331,7 @@ type ProcessListRequest struct { func (x *ProcessListRequest) Reset() { *x = ProcessListRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[29] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1589,7 +1343,7 @@ func (x *ProcessListRequest) String() string { func (*ProcessListRequest) ProtoMessage() {} func (x *ProcessListRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[29] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1602,7 +1356,7 @@ func (x *ProcessListRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessListRequest.ProtoReflect.Descriptor instead. func (*ProcessListRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{29} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{25} } type ProcessListResponse struct { @@ -1615,7 +1369,7 @@ type ProcessListResponse struct { func (x *ProcessListResponse) Reset() { *x = ProcessListResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[30] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1627,7 +1381,7 @@ func (x *ProcessListResponse) String() string { func (*ProcessListResponse) ProtoMessage() {} func (x *ProcessListResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[30] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1640,7 +1394,7 @@ func (x *ProcessListResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessListResponse.ProtoReflect.Descriptor instead. func (*ProcessListResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{30} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{26} } func (x *ProcessListResponse) GetProcesses() []*ProcessListResponse_Process { @@ -1660,7 +1414,7 @@ type ResetSubscriptionRequest struct { func (x *ResetSubscriptionRequest) Reset() { *x = ResetSubscriptionRequest{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[31] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1672,7 +1426,7 @@ func (x *ResetSubscriptionRequest) String() string { func (*ResetSubscriptionRequest) ProtoMessage() {} func (x *ResetSubscriptionRequest) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[31] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1685,7 +1439,7 @@ func (x *ResetSubscriptionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetSubscriptionRequest.ProtoReflect.Descriptor instead. func (*ResetSubscriptionRequest) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{31} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{27} } func (x *ResetSubscriptionRequest) GetSubscription() *schema.Ref { @@ -1703,7 +1457,7 @@ type ResetSubscriptionResponse struct { func (x *ResetSubscriptionResponse) Reset() { *x = ResetSubscriptionResponse{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[32] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1715,7 +1469,7 @@ func (x *ResetSubscriptionResponse) String() string { func (*ResetSubscriptionResponse) ProtoMessage() {} func (x *ResetSubscriptionResponse) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[32] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1728,7 +1482,7 @@ func (x *ResetSubscriptionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResetSubscriptionResponse.ProtoReflect.Descriptor instead. func (*ResetSubscriptionResponse) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{32} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28} } type StatusResponse_Controller struct { @@ -1743,7 +1497,7 @@ type StatusResponse_Controller struct { func (x *StatusResponse_Controller) Reset() { *x = StatusResponse_Controller{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[34] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1755,7 +1509,7 @@ func (x *StatusResponse_Controller) String() string { func (*StatusResponse_Controller) ProtoMessage() {} func (x *StatusResponse_Controller) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[34] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1768,7 +1522,7 @@ func (x *StatusResponse_Controller) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse_Controller.ProtoReflect.Descriptor instead. func (*StatusResponse_Controller) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28, 0} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24, 0} } func (x *StatusResponse_Controller) GetKey() string { @@ -1805,7 +1559,7 @@ type StatusResponse_Runner struct { func (x *StatusResponse_Runner) Reset() { *x = StatusResponse_Runner{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[35] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1817,7 +1571,7 @@ func (x *StatusResponse_Runner) String() string { func (*StatusResponse_Runner) ProtoMessage() {} func (x *StatusResponse_Runner) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[35] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1830,7 +1584,7 @@ func (x *StatusResponse_Runner) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse_Runner.ProtoReflect.Descriptor instead. func (*StatusResponse_Runner) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28, 1} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24, 1} } func (x *StatusResponse_Runner) GetKey() string { @@ -1877,7 +1631,7 @@ type StatusResponse_Deployment struct { func (x *StatusResponse_Deployment) Reset() { *x = StatusResponse_Deployment{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[36] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1889,7 +1643,7 @@ func (x *StatusResponse_Deployment) String() string { func (*StatusResponse_Deployment) ProtoMessage() {} func (x *StatusResponse_Deployment) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[36] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1902,7 +1656,7 @@ func (x *StatusResponse_Deployment) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse_Deployment.ProtoReflect.Descriptor instead. func (*StatusResponse_Deployment) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28, 2} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24, 2} } func (x *StatusResponse_Deployment) GetKey() string { @@ -1967,7 +1721,7 @@ type StatusResponse_IngressRoute struct { func (x *StatusResponse_IngressRoute) Reset() { *x = StatusResponse_IngressRoute{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[37] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1979,7 +1733,7 @@ func (x *StatusResponse_IngressRoute) String() string { func (*StatusResponse_IngressRoute) ProtoMessage() {} func (x *StatusResponse_IngressRoute) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[37] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1992,7 +1746,7 @@ func (x *StatusResponse_IngressRoute) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse_IngressRoute.ProtoReflect.Descriptor instead. func (*StatusResponse_IngressRoute) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28, 3} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24, 3} } func (x *StatusResponse_IngressRoute) GetDeploymentKey() string { @@ -2035,7 +1789,7 @@ type StatusResponse_Route struct { func (x *StatusResponse_Route) Reset() { *x = StatusResponse_Route{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[38] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2047,7 +1801,7 @@ func (x *StatusResponse_Route) String() string { func (*StatusResponse_Route) ProtoMessage() {} func (x *StatusResponse_Route) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[38] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2060,7 +1814,7 @@ func (x *StatusResponse_Route) ProtoReflect() protoreflect.Message { // Deprecated: Use StatusResponse_Route.ProtoReflect.Descriptor instead. func (*StatusResponse_Route) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{28, 4} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{24, 4} } func (x *StatusResponse_Route) GetModule() string { @@ -2096,7 +1850,7 @@ type ProcessListResponse_ProcessRunner struct { func (x *ProcessListResponse_ProcessRunner) Reset() { *x = ProcessListResponse_ProcessRunner{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[39] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2108,7 +1862,7 @@ func (x *ProcessListResponse_ProcessRunner) String() string { func (*ProcessListResponse_ProcessRunner) ProtoMessage() {} func (x *ProcessListResponse_ProcessRunner) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[39] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2121,7 +1875,7 @@ func (x *ProcessListResponse_ProcessRunner) ProtoReflect() protoreflect.Message // Deprecated: Use ProcessListResponse_ProcessRunner.ProtoReflect.Descriptor instead. func (*ProcessListResponse_ProcessRunner) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{30, 0} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{26, 0} } func (x *ProcessListResponse_ProcessRunner) GetKey() string { @@ -2158,7 +1912,7 @@ type ProcessListResponse_Process struct { func (x *ProcessListResponse_Process) Reset() { *x = ProcessListResponse_Process{} - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[40] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2170,7 +1924,7 @@ func (x *ProcessListResponse_Process) String() string { func (*ProcessListResponse_Process) ProtoMessage() {} func (x *ProcessListResponse_Process) ProtoReflect() protoreflect.Message { - mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[40] + mi := &file_xyz_block_ftl_v1_controller_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2183,7 +1937,7 @@ func (x *ProcessListResponse_Process) ProtoReflect() protoreflect.Message { // Deprecated: Use ProcessListResponse_Process.ProtoReflect.Descriptor instead. func (*ProcessListResponse_Process) Descriptor() ([]byte, []int) { - return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{30, 1} + return file_xyz_block_ftl_v1_controller_proto_rawDescGZIP(), []int{26, 1} } func (x *ProcessListResponse_Process) GetDeployment() string { @@ -2255,385 +2009,344 @@ var file_xyz_block_ftl_v1_controller_proto_rawDesc = []byte{ 0x14, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x22, 0x13, 0x0a, 0x11, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x50, 0x75, 0x6c, 0x6c, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, - 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, - 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x88, 0x01, 0x01, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, - 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x40, 0x0a, 0x17, - 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x22, 0x94, - 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x44, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x61, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, - 0x66, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, - 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x18, - 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x0a, 0x16, 0x55, 0x70, 0x6c, 0x6f, - 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x60, 0x0a, 0x12, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, - 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xd7, 0x01, 0x0a, - 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x65, - 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x48, 0x00, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x37, 0x0a, 0x15, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x13, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, - 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x93, 0x01, - 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x68, 0x61, 0x76, 0x65, 0x5f, 0x61, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, - 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, - 0x66, 0x61, 0x63, 0x74, 0x52, 0x0d, 0x68, 0x61, 0x76, 0x65, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, - 0x63, 0x74, 0x73, 0x22, 0x78, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, - 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x08, 0x61, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x22, 0x3d, 0x0a, - 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x94, 0x01, 0x0a, - 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, - 0x42, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x22, 0x40, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, + 0x69, 0x66, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, + 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x27, 0x0a, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x69, 0x67, 0x65, 0x73, + 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, + 0x67, 0x44, 0x69, 0x67, 0x65, 0x73, 0x74, 0x73, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, - 0x63, 0x74, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x18, 0x0a, 0x16, - 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, - 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, - 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x60, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x31, 0x0a, 0x15, 0x55, 0x70, 0x6c, + 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x22, 0x30, 0x0a, 0x16, + 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x22, 0x60, + 0x0a, 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, + 0x66, 0x61, 0x63, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x22, 0xd7, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x06, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, + 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x73, + 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, + 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, + 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x34, 0x0a, 0x06, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x48, 0x00, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x88, 0x01, 0x01, 0x42, + 0x09, 0x0a, 0x07, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x22, 0x94, 0x01, 0x0a, 0x18, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x21, - 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x73, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, 0x03, 0x0a, 0x1b, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, + 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x37, + 0x0a, 0x15, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x13, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x22, 0x93, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x4b, 0x0a, 0x0e, 0x68, 0x61, + 0x76, 0x65, 0x5f, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, + 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x0d, 0x68, 0x61, 0x76, 0x65, 0x41, 0x72, + 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x78, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x08, 0x61, 0x72, 0x74, + 0x65, 0x66, 0x61, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, + 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, + 0x74, 0x52, 0x08, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x63, + 0x68, 0x75, 0x6e, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x63, 0x68, 0x75, 0x6e, + 0x6b, 0x22, 0x3d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, + 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, + 0x22, 0x94, 0x01, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, + 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, + 0x65, 0x6d, 0x61, 0x12, 0x42, 0x0a, 0x09, 0x61, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x09, 0x61, 0x72, + 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, + 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, + 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, + 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x13, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, + 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, + 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x14, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x64, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, + 0x65, 0x79, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x73, 0x22, 0x17, 0x0a, 0x15, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xaf, + 0x03, 0x0a, 0x1b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25, + 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x74, + 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x53, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, + 0x76, 0x65, 0x6c, 0x12, 0x5d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, + 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x22, 0x1e, 0x0a, 0x1c, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x0f, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0xe8, 0x08, 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x79, 0x7a, 0x2e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x73, 0x12, 0x41, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x07, 0x72, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x79, + 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, + 0x5f, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x69, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, + 0x6f, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x79, + 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, + 0x75, 0x74, 0x65, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x54, 0x0a, 0x0a, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x1a, 0x9b, 0x01, 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x64, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, + 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, + 0xf7, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, + 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x93, 0x01, 0x0a, 0x0c, 0x49, 0x6e, + 0x67, 0x72, 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x39, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x67, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x67, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, - 0x5d, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x18, - 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x88, 0x01, 0x01, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0x1e, 0x0a, 0x1c, - 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0f, 0x0a, 0x0d, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xe8, 0x08, - 0x0a, 0x0e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x4d, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x12, - 0x41, 0x0a, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x2e, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x6e, 0x65, - 0x72, 0x73, 0x12, 0x4d, 0x0a, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x54, 0x0a, 0x0e, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x72, 0x6f, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x49, 0x6e, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, 0x0d, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x12, 0x3e, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x52, - 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x73, 0x1a, 0x54, 0x0a, 0x0a, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x9b, 0x01, - 0x0a, 0x06, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x79, 0x12, 0x30, 0x0a, 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x04, 0x76, + 0x65, 0x72, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, + 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, + 0x5b, 0x0a, 0x05, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, + 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x14, 0x0a, 0x12, + 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x22, 0xaf, 0x03, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x09, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0a, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0xf7, 0x01, 0x0a, 0x0a, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, - 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x37, 0x0a, 0x06, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, + 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, + 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, + 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, + 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, + 0x6e, 0x6e, 0x65, 0x72, 0x22, 0x5c, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x40, 0x0a, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x2e, 0x52, 0x65, 0x66, 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x1b, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, + 0x9e, 0x0b, 0x0a, 0x11, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, + 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x1a, 0x93, 0x01, 0x0a, 0x0c, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x30, 0x0a, - 0x04, 0x76, 0x65, 0x72, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x79, - 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x66, 0x52, 0x04, 0x76, 0x65, 0x72, 0x62, 0x12, - 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x1a, 0x5b, 0x0a, 0x05, 0x52, - 0x6f, 0x75, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x63, - 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0xaf, - 0x03, 0x0a, 0x13, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, - 0x73, 0x65, 0x73, 0x1a, 0x6e, 0x0a, 0x0d, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x52, 0x75, - 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0xda, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x12, - 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x73, 0x12, 0x2f, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x12, 0x50, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6e, 0x6e, - 0x65, 0x72, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x65, 0x72, - 0x22, 0x5c, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0c, - 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, - 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x52, 0x65, 0x66, - 0x52, 0x0c, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x1b, - 0x0a, 0x19, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0x5c, 0x0a, 0x14, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, - 0x54, 0x5f, 0x41, 0x44, 0x44, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, - 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, - 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, - 0x43, 0x48, 0x41, 0x4e, 0x47, 0x45, 0x44, 0x10, 0x02, 0x32, 0xcf, 0x0c, 0x0a, 0x11, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0x4a, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5a, 0x0a, 0x0b, 0x50, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x24, 0x2e, 0x78, 0x79, 0x7a, - 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, - 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x25, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, + 0x01, 0x12, 0x5a, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, - 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, - 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, - 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, - 0x66, 0x66, 0x73, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, - 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x63, 0x65, 0x73, + 0x73, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, + 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, 0x66, - 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x63, 0x0a, 0x0e, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x78, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, + 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, + 0x61, 0x63, 0x74, 0x44, 0x69, 0x66, 0x66, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x63, 0x0a, 0x0e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, + 0x63, 0x74, 0x12, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, + 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, + 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x79, + 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x69, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, + 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, + 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x60, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, + 0x74, 0x12, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, + 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, + 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, + 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x41, - 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x69, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x29, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, - 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x47, 0x65, - 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x78, 0x79, - 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, - 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, - 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, - 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x65, 0x0a, 0x0e, 0x52, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x12, 0x27, 0x2e, + 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, - 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x28, 0x01, 0x12, 0x5d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x12, 0x25, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, - 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x12, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, - 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x79, 0x7a, - 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x14, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, - 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x12, 0x2d, 0x2e, 0x78, 0x79, - 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, - 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x78, 0x79, 0x7a, - 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, - 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x54, 0x0a, 0x09, - 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x2e, 0x78, 0x79, 0x7a, 0x2e, - 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x12, 0x23, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, - 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, 0x12, 0x6c, 0x0a, - 0x11, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, - 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x44, 0x50, 0x01, 0x5a, - 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x42, 0x44, 0x35, - 0x34, 0x35, 0x36, 0x36, 0x39, 0x37, 0x35, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x62, 0x61, 0x63, 0x6b, - 0x65, 0x6e, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x78, 0x79, 0x7a, 0x2f, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x3b, 0x66, 0x74, 0x6c, 0x76, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2e, 0x47, 0x65, 0x74, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x72, + 0x74, 0x65, 0x66, 0x61, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, + 0x01, 0x12, 0x65, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, + 0x6e, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, + 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, + 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x78, + 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x52, 0x75, 0x6e, 0x6e, 0x65, 0x72, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x12, 0x5d, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x25, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x6c, 0x61, + 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x12, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, + 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, + 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x77, 0x0a, 0x14, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, + 0x73, 0x12, 0x2d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, + 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x2e, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x6f, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x28, 0x01, 0x12, 0x6c, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, + 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, + 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x53, 0x75, 0x62, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x44, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x54, 0x42, 0x44, 0x35, 0x34, 0x35, 0x36, 0x36, 0x39, 0x37, 0x35, 0x2f, 0x66, 0x74, 0x6c, + 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, + 0x3b, 0x66, 0x74, 0x6c, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2648,128 +2361,114 @@ func file_xyz_block_ftl_v1_controller_proto_rawDescGZIP() []byte { return file_xyz_block_ftl_v1_controller_proto_rawDescData } -var file_xyz_block_ftl_v1_controller_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_xyz_block_ftl_v1_controller_proto_msgTypes = make([]protoimpl.MessageInfo, 41) +var file_xyz_block_ftl_v1_controller_proto_msgTypes = make([]protoimpl.MessageInfo, 37) var file_xyz_block_ftl_v1_controller_proto_goTypes = []any{ - (DeploymentChangeType)(0), // 0: xyz.block.ftl.v1.DeploymentChangeType - (*GetCertificationRequest)(nil), // 1: xyz.block.ftl.v1.GetCertificationRequest - (*GetCertificationResponse)(nil), // 2: xyz.block.ftl.v1.GetCertificationResponse - (*CertificateContent)(nil), // 3: xyz.block.ftl.v1.CertificateContent - (*Certificate)(nil), // 4: xyz.block.ftl.v1.Certificate - (*GetSchemaRequest)(nil), // 5: xyz.block.ftl.v1.GetSchemaRequest - (*GetSchemaResponse)(nil), // 6: xyz.block.ftl.v1.GetSchemaResponse - (*PullSchemaRequest)(nil), // 7: xyz.block.ftl.v1.PullSchemaRequest - (*PullSchemaResponse)(nil), // 8: xyz.block.ftl.v1.PullSchemaResponse - (*GetArtefactDiffsRequest)(nil), // 9: xyz.block.ftl.v1.GetArtefactDiffsRequest - (*GetArtefactDiffsResponse)(nil), // 10: xyz.block.ftl.v1.GetArtefactDiffsResponse - (*UploadArtefactRequest)(nil), // 11: xyz.block.ftl.v1.UploadArtefactRequest - (*UploadArtefactResponse)(nil), // 12: xyz.block.ftl.v1.UploadArtefactResponse - (*DeploymentArtefact)(nil), // 13: xyz.block.ftl.v1.DeploymentArtefact - (*CreateDeploymentRequest)(nil), // 14: xyz.block.ftl.v1.CreateDeploymentRequest - (*CreateDeploymentResponse)(nil), // 15: xyz.block.ftl.v1.CreateDeploymentResponse - (*GetDeploymentArtefactsRequest)(nil), // 16: xyz.block.ftl.v1.GetDeploymentArtefactsRequest - (*GetDeploymentArtefactsResponse)(nil), // 17: xyz.block.ftl.v1.GetDeploymentArtefactsResponse - (*GetDeploymentRequest)(nil), // 18: xyz.block.ftl.v1.GetDeploymentRequest - (*GetDeploymentResponse)(nil), // 19: xyz.block.ftl.v1.GetDeploymentResponse - (*RegisterRunnerRequest)(nil), // 20: xyz.block.ftl.v1.RegisterRunnerRequest - (*RegisterRunnerResponse)(nil), // 21: xyz.block.ftl.v1.RegisterRunnerResponse - (*UpdateDeployRequest)(nil), // 22: xyz.block.ftl.v1.UpdateDeployRequest - (*UpdateDeployResponse)(nil), // 23: xyz.block.ftl.v1.UpdateDeployResponse - (*ReplaceDeployRequest)(nil), // 24: xyz.block.ftl.v1.ReplaceDeployRequest - (*ReplaceDeployResponse)(nil), // 25: xyz.block.ftl.v1.ReplaceDeployResponse - (*StreamDeploymentLogsRequest)(nil), // 26: xyz.block.ftl.v1.StreamDeploymentLogsRequest - (*StreamDeploymentLogsResponse)(nil), // 27: xyz.block.ftl.v1.StreamDeploymentLogsResponse - (*StatusRequest)(nil), // 28: xyz.block.ftl.v1.StatusRequest - (*StatusResponse)(nil), // 29: xyz.block.ftl.v1.StatusResponse - (*ProcessListRequest)(nil), // 30: xyz.block.ftl.v1.ProcessListRequest - (*ProcessListResponse)(nil), // 31: xyz.block.ftl.v1.ProcessListResponse - (*ResetSubscriptionRequest)(nil), // 32: xyz.block.ftl.v1.ResetSubscriptionRequest - (*ResetSubscriptionResponse)(nil), // 33: xyz.block.ftl.v1.ResetSubscriptionResponse - nil, // 34: xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntry - (*StatusResponse_Controller)(nil), // 35: xyz.block.ftl.v1.StatusResponse.Controller - (*StatusResponse_Runner)(nil), // 36: xyz.block.ftl.v1.StatusResponse.Runner - (*StatusResponse_Deployment)(nil), // 37: xyz.block.ftl.v1.StatusResponse.Deployment - (*StatusResponse_IngressRoute)(nil), // 38: xyz.block.ftl.v1.StatusResponse.IngressRoute - (*StatusResponse_Route)(nil), // 39: xyz.block.ftl.v1.StatusResponse.Route - (*ProcessListResponse_ProcessRunner)(nil), // 40: xyz.block.ftl.v1.ProcessListResponse.ProcessRunner - (*ProcessListResponse_Process)(nil), // 41: xyz.block.ftl.v1.ProcessListResponse.Process - (*schema.Schema)(nil), // 42: xyz.block.ftl.v1.schema.Schema - (*schema.Module)(nil), // 43: xyz.block.ftl.v1.schema.Module - (*structpb.Struct)(nil), // 44: google.protobuf.Struct - (*timestamppb.Timestamp)(nil), // 45: google.protobuf.Timestamp - (*schema.Ref)(nil), // 46: xyz.block.ftl.v1.schema.Ref - (*PingRequest)(nil), // 47: xyz.block.ftl.v1.PingRequest - (*PingResponse)(nil), // 48: xyz.block.ftl.v1.PingResponse + (*GetCertificationRequest)(nil), // 0: xyz.block.ftl.v1.GetCertificationRequest + (*GetCertificationResponse)(nil), // 1: xyz.block.ftl.v1.GetCertificationResponse + (*CertificateContent)(nil), // 2: xyz.block.ftl.v1.CertificateContent + (*Certificate)(nil), // 3: xyz.block.ftl.v1.Certificate + (*GetArtefactDiffsRequest)(nil), // 4: xyz.block.ftl.v1.GetArtefactDiffsRequest + (*GetArtefactDiffsResponse)(nil), // 5: xyz.block.ftl.v1.GetArtefactDiffsResponse + (*UploadArtefactRequest)(nil), // 6: xyz.block.ftl.v1.UploadArtefactRequest + (*UploadArtefactResponse)(nil), // 7: xyz.block.ftl.v1.UploadArtefactResponse + (*DeploymentArtefact)(nil), // 8: xyz.block.ftl.v1.DeploymentArtefact + (*CreateDeploymentRequest)(nil), // 9: xyz.block.ftl.v1.CreateDeploymentRequest + (*CreateDeploymentResponse)(nil), // 10: xyz.block.ftl.v1.CreateDeploymentResponse + (*GetDeploymentArtefactsRequest)(nil), // 11: xyz.block.ftl.v1.GetDeploymentArtefactsRequest + (*GetDeploymentArtefactsResponse)(nil), // 12: xyz.block.ftl.v1.GetDeploymentArtefactsResponse + (*GetDeploymentRequest)(nil), // 13: xyz.block.ftl.v1.GetDeploymentRequest + (*GetDeploymentResponse)(nil), // 14: xyz.block.ftl.v1.GetDeploymentResponse + (*RegisterRunnerRequest)(nil), // 15: xyz.block.ftl.v1.RegisterRunnerRequest + (*RegisterRunnerResponse)(nil), // 16: xyz.block.ftl.v1.RegisterRunnerResponse + (*UpdateDeployRequest)(nil), // 17: xyz.block.ftl.v1.UpdateDeployRequest + (*UpdateDeployResponse)(nil), // 18: xyz.block.ftl.v1.UpdateDeployResponse + (*ReplaceDeployRequest)(nil), // 19: xyz.block.ftl.v1.ReplaceDeployRequest + (*ReplaceDeployResponse)(nil), // 20: xyz.block.ftl.v1.ReplaceDeployResponse + (*StreamDeploymentLogsRequest)(nil), // 21: xyz.block.ftl.v1.StreamDeploymentLogsRequest + (*StreamDeploymentLogsResponse)(nil), // 22: xyz.block.ftl.v1.StreamDeploymentLogsResponse + (*StatusRequest)(nil), // 23: xyz.block.ftl.v1.StatusRequest + (*StatusResponse)(nil), // 24: xyz.block.ftl.v1.StatusResponse + (*ProcessListRequest)(nil), // 25: xyz.block.ftl.v1.ProcessListRequest + (*ProcessListResponse)(nil), // 26: xyz.block.ftl.v1.ProcessListResponse + (*ResetSubscriptionRequest)(nil), // 27: xyz.block.ftl.v1.ResetSubscriptionRequest + (*ResetSubscriptionResponse)(nil), // 28: xyz.block.ftl.v1.ResetSubscriptionResponse + nil, // 29: xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntry + (*StatusResponse_Controller)(nil), // 30: xyz.block.ftl.v1.StatusResponse.Controller + (*StatusResponse_Runner)(nil), // 31: xyz.block.ftl.v1.StatusResponse.Runner + (*StatusResponse_Deployment)(nil), // 32: xyz.block.ftl.v1.StatusResponse.Deployment + (*StatusResponse_IngressRoute)(nil), // 33: xyz.block.ftl.v1.StatusResponse.IngressRoute + (*StatusResponse_Route)(nil), // 34: xyz.block.ftl.v1.StatusResponse.Route + (*ProcessListResponse_ProcessRunner)(nil), // 35: xyz.block.ftl.v1.ProcessListResponse.ProcessRunner + (*ProcessListResponse_Process)(nil), // 36: xyz.block.ftl.v1.ProcessListResponse.Process + (*schema.Module)(nil), // 37: xyz.block.ftl.v1.schema.Module + (*structpb.Struct)(nil), // 38: google.protobuf.Struct + (*timestamppb.Timestamp)(nil), // 39: google.protobuf.Timestamp + (*schema.Ref)(nil), // 40: xyz.block.ftl.v1.schema.Ref + (*PingRequest)(nil), // 41: xyz.block.ftl.v1.PingRequest + (*PingResponse)(nil), // 42: xyz.block.ftl.v1.PingResponse } var file_xyz_block_ftl_v1_controller_proto_depIdxs = []int32{ - 3, // 0: xyz.block.ftl.v1.GetCertificationRequest.request:type_name -> xyz.block.ftl.v1.CertificateContent - 4, // 1: xyz.block.ftl.v1.GetCertificationResponse.certificate:type_name -> xyz.block.ftl.v1.Certificate - 3, // 2: xyz.block.ftl.v1.Certificate.content:type_name -> xyz.block.ftl.v1.CertificateContent - 42, // 3: xyz.block.ftl.v1.GetSchemaResponse.schema:type_name -> xyz.block.ftl.v1.schema.Schema - 43, // 4: xyz.block.ftl.v1.PullSchemaResponse.schema:type_name -> xyz.block.ftl.v1.schema.Module - 0, // 5: xyz.block.ftl.v1.PullSchemaResponse.change_type:type_name -> xyz.block.ftl.v1.DeploymentChangeType - 13, // 6: xyz.block.ftl.v1.GetArtefactDiffsResponse.client_artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact - 43, // 7: xyz.block.ftl.v1.CreateDeploymentRequest.schema:type_name -> xyz.block.ftl.v1.schema.Module - 13, // 8: xyz.block.ftl.v1.CreateDeploymentRequest.artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact - 44, // 9: xyz.block.ftl.v1.CreateDeploymentRequest.labels:type_name -> google.protobuf.Struct - 13, // 10: xyz.block.ftl.v1.GetDeploymentArtefactsRequest.have_artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact - 13, // 11: xyz.block.ftl.v1.GetDeploymentArtefactsResponse.artefact:type_name -> xyz.block.ftl.v1.DeploymentArtefact - 43, // 12: xyz.block.ftl.v1.GetDeploymentResponse.schema:type_name -> xyz.block.ftl.v1.schema.Module - 13, // 13: xyz.block.ftl.v1.GetDeploymentResponse.artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact - 44, // 14: xyz.block.ftl.v1.RegisterRunnerRequest.labels:type_name -> google.protobuf.Struct - 45, // 15: xyz.block.ftl.v1.StreamDeploymentLogsRequest.time_stamp:type_name -> google.protobuf.Timestamp - 34, // 16: xyz.block.ftl.v1.StreamDeploymentLogsRequest.attributes:type_name -> xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntry - 35, // 17: xyz.block.ftl.v1.StatusResponse.controllers:type_name -> xyz.block.ftl.v1.StatusResponse.Controller - 36, // 18: xyz.block.ftl.v1.StatusResponse.runners:type_name -> xyz.block.ftl.v1.StatusResponse.Runner - 37, // 19: xyz.block.ftl.v1.StatusResponse.deployments:type_name -> xyz.block.ftl.v1.StatusResponse.Deployment - 38, // 20: xyz.block.ftl.v1.StatusResponse.ingress_routes:type_name -> xyz.block.ftl.v1.StatusResponse.IngressRoute - 39, // 21: xyz.block.ftl.v1.StatusResponse.routes:type_name -> xyz.block.ftl.v1.StatusResponse.Route - 41, // 22: xyz.block.ftl.v1.ProcessListResponse.processes:type_name -> xyz.block.ftl.v1.ProcessListResponse.Process - 46, // 23: xyz.block.ftl.v1.ResetSubscriptionRequest.subscription:type_name -> xyz.block.ftl.v1.schema.Ref - 44, // 24: xyz.block.ftl.v1.StatusResponse.Runner.labels:type_name -> google.protobuf.Struct - 44, // 25: xyz.block.ftl.v1.StatusResponse.Deployment.labels:type_name -> google.protobuf.Struct - 43, // 26: xyz.block.ftl.v1.StatusResponse.Deployment.schema:type_name -> xyz.block.ftl.v1.schema.Module - 46, // 27: xyz.block.ftl.v1.StatusResponse.IngressRoute.verb:type_name -> xyz.block.ftl.v1.schema.Ref - 44, // 28: xyz.block.ftl.v1.ProcessListResponse.ProcessRunner.labels:type_name -> google.protobuf.Struct - 44, // 29: xyz.block.ftl.v1.ProcessListResponse.Process.labels:type_name -> google.protobuf.Struct - 40, // 30: xyz.block.ftl.v1.ProcessListResponse.Process.runner:type_name -> xyz.block.ftl.v1.ProcessListResponse.ProcessRunner - 47, // 31: xyz.block.ftl.v1.ControllerService.Ping:input_type -> xyz.block.ftl.v1.PingRequest - 30, // 32: xyz.block.ftl.v1.ControllerService.ProcessList:input_type -> xyz.block.ftl.v1.ProcessListRequest - 28, // 33: xyz.block.ftl.v1.ControllerService.Status:input_type -> xyz.block.ftl.v1.StatusRequest - 1, // 34: xyz.block.ftl.v1.ControllerService.GetCertification:input_type -> xyz.block.ftl.v1.GetCertificationRequest - 9, // 35: xyz.block.ftl.v1.ControllerService.GetArtefactDiffs:input_type -> xyz.block.ftl.v1.GetArtefactDiffsRequest - 11, // 36: xyz.block.ftl.v1.ControllerService.UploadArtefact:input_type -> xyz.block.ftl.v1.UploadArtefactRequest - 14, // 37: xyz.block.ftl.v1.ControllerService.CreateDeployment:input_type -> xyz.block.ftl.v1.CreateDeploymentRequest - 18, // 38: xyz.block.ftl.v1.ControllerService.GetDeployment:input_type -> xyz.block.ftl.v1.GetDeploymentRequest - 16, // 39: xyz.block.ftl.v1.ControllerService.GetDeploymentArtefacts:input_type -> xyz.block.ftl.v1.GetDeploymentArtefactsRequest - 20, // 40: xyz.block.ftl.v1.ControllerService.RegisterRunner:input_type -> xyz.block.ftl.v1.RegisterRunnerRequest - 22, // 41: xyz.block.ftl.v1.ControllerService.UpdateDeploy:input_type -> xyz.block.ftl.v1.UpdateDeployRequest - 24, // 42: xyz.block.ftl.v1.ControllerService.ReplaceDeploy:input_type -> xyz.block.ftl.v1.ReplaceDeployRequest - 26, // 43: xyz.block.ftl.v1.ControllerService.StreamDeploymentLogs:input_type -> xyz.block.ftl.v1.StreamDeploymentLogsRequest - 5, // 44: xyz.block.ftl.v1.ControllerService.GetSchema:input_type -> xyz.block.ftl.v1.GetSchemaRequest - 7, // 45: xyz.block.ftl.v1.ControllerService.PullSchema:input_type -> xyz.block.ftl.v1.PullSchemaRequest - 32, // 46: xyz.block.ftl.v1.ControllerService.ResetSubscription:input_type -> xyz.block.ftl.v1.ResetSubscriptionRequest - 48, // 47: xyz.block.ftl.v1.ControllerService.Ping:output_type -> xyz.block.ftl.v1.PingResponse - 31, // 48: xyz.block.ftl.v1.ControllerService.ProcessList:output_type -> xyz.block.ftl.v1.ProcessListResponse - 29, // 49: xyz.block.ftl.v1.ControllerService.Status:output_type -> xyz.block.ftl.v1.StatusResponse - 2, // 50: xyz.block.ftl.v1.ControllerService.GetCertification:output_type -> xyz.block.ftl.v1.GetCertificationResponse - 10, // 51: xyz.block.ftl.v1.ControllerService.GetArtefactDiffs:output_type -> xyz.block.ftl.v1.GetArtefactDiffsResponse - 12, // 52: xyz.block.ftl.v1.ControllerService.UploadArtefact:output_type -> xyz.block.ftl.v1.UploadArtefactResponse - 15, // 53: xyz.block.ftl.v1.ControllerService.CreateDeployment:output_type -> xyz.block.ftl.v1.CreateDeploymentResponse - 19, // 54: xyz.block.ftl.v1.ControllerService.GetDeployment:output_type -> xyz.block.ftl.v1.GetDeploymentResponse - 17, // 55: xyz.block.ftl.v1.ControllerService.GetDeploymentArtefacts:output_type -> xyz.block.ftl.v1.GetDeploymentArtefactsResponse - 21, // 56: xyz.block.ftl.v1.ControllerService.RegisterRunner:output_type -> xyz.block.ftl.v1.RegisterRunnerResponse - 23, // 57: xyz.block.ftl.v1.ControllerService.UpdateDeploy:output_type -> xyz.block.ftl.v1.UpdateDeployResponse - 25, // 58: xyz.block.ftl.v1.ControllerService.ReplaceDeploy:output_type -> xyz.block.ftl.v1.ReplaceDeployResponse - 27, // 59: xyz.block.ftl.v1.ControllerService.StreamDeploymentLogs:output_type -> xyz.block.ftl.v1.StreamDeploymentLogsResponse - 6, // 60: xyz.block.ftl.v1.ControllerService.GetSchema:output_type -> xyz.block.ftl.v1.GetSchemaResponse - 8, // 61: xyz.block.ftl.v1.ControllerService.PullSchema:output_type -> xyz.block.ftl.v1.PullSchemaResponse - 33, // 62: xyz.block.ftl.v1.ControllerService.ResetSubscription:output_type -> xyz.block.ftl.v1.ResetSubscriptionResponse - 47, // [47:63] is the sub-list for method output_type - 31, // [31:47] is the sub-list for method input_type - 31, // [31:31] is the sub-list for extension type_name - 31, // [31:31] is the sub-list for extension extendee - 0, // [0:31] is the sub-list for field type_name + 2, // 0: xyz.block.ftl.v1.GetCertificationRequest.request:type_name -> xyz.block.ftl.v1.CertificateContent + 3, // 1: xyz.block.ftl.v1.GetCertificationResponse.certificate:type_name -> xyz.block.ftl.v1.Certificate + 2, // 2: xyz.block.ftl.v1.Certificate.content:type_name -> xyz.block.ftl.v1.CertificateContent + 8, // 3: xyz.block.ftl.v1.GetArtefactDiffsResponse.client_artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact + 37, // 4: xyz.block.ftl.v1.CreateDeploymentRequest.schema:type_name -> xyz.block.ftl.v1.schema.Module + 8, // 5: xyz.block.ftl.v1.CreateDeploymentRequest.artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact + 38, // 6: xyz.block.ftl.v1.CreateDeploymentRequest.labels:type_name -> google.protobuf.Struct + 8, // 7: xyz.block.ftl.v1.GetDeploymentArtefactsRequest.have_artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact + 8, // 8: xyz.block.ftl.v1.GetDeploymentArtefactsResponse.artefact:type_name -> xyz.block.ftl.v1.DeploymentArtefact + 37, // 9: xyz.block.ftl.v1.GetDeploymentResponse.schema:type_name -> xyz.block.ftl.v1.schema.Module + 8, // 10: xyz.block.ftl.v1.GetDeploymentResponse.artefacts:type_name -> xyz.block.ftl.v1.DeploymentArtefact + 38, // 11: xyz.block.ftl.v1.RegisterRunnerRequest.labels:type_name -> google.protobuf.Struct + 39, // 12: xyz.block.ftl.v1.StreamDeploymentLogsRequest.time_stamp:type_name -> google.protobuf.Timestamp + 29, // 13: xyz.block.ftl.v1.StreamDeploymentLogsRequest.attributes:type_name -> xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntry + 30, // 14: xyz.block.ftl.v1.StatusResponse.controllers:type_name -> xyz.block.ftl.v1.StatusResponse.Controller + 31, // 15: xyz.block.ftl.v1.StatusResponse.runners:type_name -> xyz.block.ftl.v1.StatusResponse.Runner + 32, // 16: xyz.block.ftl.v1.StatusResponse.deployments:type_name -> xyz.block.ftl.v1.StatusResponse.Deployment + 33, // 17: xyz.block.ftl.v1.StatusResponse.ingress_routes:type_name -> xyz.block.ftl.v1.StatusResponse.IngressRoute + 34, // 18: xyz.block.ftl.v1.StatusResponse.routes:type_name -> xyz.block.ftl.v1.StatusResponse.Route + 36, // 19: xyz.block.ftl.v1.ProcessListResponse.processes:type_name -> xyz.block.ftl.v1.ProcessListResponse.Process + 40, // 20: xyz.block.ftl.v1.ResetSubscriptionRequest.subscription:type_name -> xyz.block.ftl.v1.schema.Ref + 38, // 21: xyz.block.ftl.v1.StatusResponse.Runner.labels:type_name -> google.protobuf.Struct + 38, // 22: xyz.block.ftl.v1.StatusResponse.Deployment.labels:type_name -> google.protobuf.Struct + 37, // 23: xyz.block.ftl.v1.StatusResponse.Deployment.schema:type_name -> xyz.block.ftl.v1.schema.Module + 40, // 24: xyz.block.ftl.v1.StatusResponse.IngressRoute.verb:type_name -> xyz.block.ftl.v1.schema.Ref + 38, // 25: xyz.block.ftl.v1.ProcessListResponse.ProcessRunner.labels:type_name -> google.protobuf.Struct + 38, // 26: xyz.block.ftl.v1.ProcessListResponse.Process.labels:type_name -> google.protobuf.Struct + 35, // 27: xyz.block.ftl.v1.ProcessListResponse.Process.runner:type_name -> xyz.block.ftl.v1.ProcessListResponse.ProcessRunner + 41, // 28: xyz.block.ftl.v1.ControllerService.Ping:input_type -> xyz.block.ftl.v1.PingRequest + 25, // 29: xyz.block.ftl.v1.ControllerService.ProcessList:input_type -> xyz.block.ftl.v1.ProcessListRequest + 23, // 30: xyz.block.ftl.v1.ControllerService.Status:input_type -> xyz.block.ftl.v1.StatusRequest + 0, // 31: xyz.block.ftl.v1.ControllerService.GetCertification:input_type -> xyz.block.ftl.v1.GetCertificationRequest + 4, // 32: xyz.block.ftl.v1.ControllerService.GetArtefactDiffs:input_type -> xyz.block.ftl.v1.GetArtefactDiffsRequest + 6, // 33: xyz.block.ftl.v1.ControllerService.UploadArtefact:input_type -> xyz.block.ftl.v1.UploadArtefactRequest + 9, // 34: xyz.block.ftl.v1.ControllerService.CreateDeployment:input_type -> xyz.block.ftl.v1.CreateDeploymentRequest + 13, // 35: xyz.block.ftl.v1.ControllerService.GetDeployment:input_type -> xyz.block.ftl.v1.GetDeploymentRequest + 11, // 36: xyz.block.ftl.v1.ControllerService.GetDeploymentArtefacts:input_type -> xyz.block.ftl.v1.GetDeploymentArtefactsRequest + 15, // 37: xyz.block.ftl.v1.ControllerService.RegisterRunner:input_type -> xyz.block.ftl.v1.RegisterRunnerRequest + 17, // 38: xyz.block.ftl.v1.ControllerService.UpdateDeploy:input_type -> xyz.block.ftl.v1.UpdateDeployRequest + 19, // 39: xyz.block.ftl.v1.ControllerService.ReplaceDeploy:input_type -> xyz.block.ftl.v1.ReplaceDeployRequest + 21, // 40: xyz.block.ftl.v1.ControllerService.StreamDeploymentLogs:input_type -> xyz.block.ftl.v1.StreamDeploymentLogsRequest + 27, // 41: xyz.block.ftl.v1.ControllerService.ResetSubscription:input_type -> xyz.block.ftl.v1.ResetSubscriptionRequest + 42, // 42: xyz.block.ftl.v1.ControllerService.Ping:output_type -> xyz.block.ftl.v1.PingResponse + 26, // 43: xyz.block.ftl.v1.ControllerService.ProcessList:output_type -> xyz.block.ftl.v1.ProcessListResponse + 24, // 44: xyz.block.ftl.v1.ControllerService.Status:output_type -> xyz.block.ftl.v1.StatusResponse + 1, // 45: xyz.block.ftl.v1.ControllerService.GetCertification:output_type -> xyz.block.ftl.v1.GetCertificationResponse + 5, // 46: xyz.block.ftl.v1.ControllerService.GetArtefactDiffs:output_type -> xyz.block.ftl.v1.GetArtefactDiffsResponse + 7, // 47: xyz.block.ftl.v1.ControllerService.UploadArtefact:output_type -> xyz.block.ftl.v1.UploadArtefactResponse + 10, // 48: xyz.block.ftl.v1.ControllerService.CreateDeployment:output_type -> xyz.block.ftl.v1.CreateDeploymentResponse + 14, // 49: xyz.block.ftl.v1.ControllerService.GetDeployment:output_type -> xyz.block.ftl.v1.GetDeploymentResponse + 12, // 50: xyz.block.ftl.v1.ControllerService.GetDeploymentArtefacts:output_type -> xyz.block.ftl.v1.GetDeploymentArtefactsResponse + 16, // 51: xyz.block.ftl.v1.ControllerService.RegisterRunner:output_type -> xyz.block.ftl.v1.RegisterRunnerResponse + 18, // 52: xyz.block.ftl.v1.ControllerService.UpdateDeploy:output_type -> xyz.block.ftl.v1.UpdateDeployResponse + 20, // 53: xyz.block.ftl.v1.ControllerService.ReplaceDeploy:output_type -> xyz.block.ftl.v1.ReplaceDeployResponse + 22, // 54: xyz.block.ftl.v1.ControllerService.StreamDeploymentLogs:output_type -> xyz.block.ftl.v1.StreamDeploymentLogsResponse + 28, // 55: xyz.block.ftl.v1.ControllerService.ResetSubscription:output_type -> xyz.block.ftl.v1.ResetSubscriptionResponse + 42, // [42:56] is the sub-list for method output_type + 28, // [28:42] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name } func init() { file_xyz_block_ftl_v1_controller_proto_init() } @@ -2778,25 +2477,23 @@ func file_xyz_block_ftl_v1_controller_proto_init() { return } file_xyz_block_ftl_v1_ftl_proto_init() - file_xyz_block_ftl_v1_controller_proto_msgTypes[7].OneofWrappers = []any{} - file_xyz_block_ftl_v1_controller_proto_msgTypes[13].OneofWrappers = []any{} - file_xyz_block_ftl_v1_controller_proto_msgTypes[14].OneofWrappers = []any{} - file_xyz_block_ftl_v1_controller_proto_msgTypes[25].OneofWrappers = []any{} - file_xyz_block_ftl_v1_controller_proto_msgTypes[35].OneofWrappers = []any{} - file_xyz_block_ftl_v1_controller_proto_msgTypes[40].OneofWrappers = []any{} + file_xyz_block_ftl_v1_controller_proto_msgTypes[9].OneofWrappers = []any{} + file_xyz_block_ftl_v1_controller_proto_msgTypes[10].OneofWrappers = []any{} + file_xyz_block_ftl_v1_controller_proto_msgTypes[21].OneofWrappers = []any{} + file_xyz_block_ftl_v1_controller_proto_msgTypes[31].OneofWrappers = []any{} + file_xyz_block_ftl_v1_controller_proto_msgTypes[36].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_xyz_block_ftl_v1_controller_proto_rawDesc, - NumEnums: 1, - NumMessages: 41, + NumEnums: 0, + NumMessages: 37, NumExtensions: 0, NumServices: 1, }, GoTypes: file_xyz_block_ftl_v1_controller_proto_goTypes, DependencyIndexes: file_xyz_block_ftl_v1_controller_proto_depIdxs, - EnumInfos: file_xyz_block_ftl_v1_controller_proto_enumTypes, MessageInfos: file_xyz_block_ftl_v1_controller_proto_msgTypes, }.Build() File_xyz_block_ftl_v1_controller_proto = out.File diff --git a/backend/protos/xyz/block/ftl/v1/controller.proto b/backend/protos/xyz/block/ftl/v1/controller.proto index c7bf419540..eb4f4b82ae 100644 --- a/backend/protos/xyz/block/ftl/v1/controller.proto +++ b/backend/protos/xyz/block/ftl/v1/controller.proto @@ -30,29 +30,6 @@ message Certificate { bytes controller_signature = 3; } -enum DeploymentChangeType { - DEPLOYMENT_ADDED = 0; - DEPLOYMENT_REMOVED = 1; - DEPLOYMENT_CHANGED = 2; -} - -message GetSchemaRequest {} -message GetSchemaResponse { - schema.Schema schema = 1; -} - -message PullSchemaRequest {} -message PullSchemaResponse { - string deployment_key = 1; - string module_name = 2; - // For deletes this will not be present. - optional schema.Module schema = 4; - // If true there are more schema changes immediately following this one as part of the initial batch. - // If false this is the last schema change in the initial batch, but others may follow later. - bool more = 3; - DeploymentChangeType change_type = 5; -} - message GetArtefactDiffsRequest { repeated string client_digests = 1; } @@ -251,15 +228,6 @@ service ControllerService { // Stream logs from a deployment rpc StreamDeploymentLogs(stream StreamDeploymentLogsRequest) returns (StreamDeploymentLogsResponse); - // Get the full schema. - rpc GetSchema(GetSchemaRequest) returns (GetSchemaResponse); - - // Pull schema changes from the Controller. - // - // Note that if there are no deployments this will block indefinitely, making it unsuitable for - // just retrieving the schema. Use GetSchema for that. - rpc PullSchema(PullSchemaRequest) returns (stream PullSchemaResponse); - // Reset the cursor for a subscription to the head of its topic. rpc ResetSubscription(ResetSubscriptionRequest) returns (ResetSubscriptionResponse); } diff --git a/backend/protos/xyz/block/ftl/v1/ftlv1connect/controller.connect.go b/backend/protos/xyz/block/ftl/v1/ftlv1connect/controller.connect.go index 6af5a0ab5f..0403e30784 100644 --- a/backend/protos/xyz/block/ftl/v1/ftlv1connect/controller.connect.go +++ b/backend/protos/xyz/block/ftl/v1/ftlv1connect/controller.connect.go @@ -71,12 +71,6 @@ const ( // ControllerServiceStreamDeploymentLogsProcedure is the fully-qualified name of the // ControllerService's StreamDeploymentLogs RPC. ControllerServiceStreamDeploymentLogsProcedure = "/xyz.block.ftl.v1.ControllerService/StreamDeploymentLogs" - // ControllerServiceGetSchemaProcedure is the fully-qualified name of the ControllerService's - // GetSchema RPC. - ControllerServiceGetSchemaProcedure = "/xyz.block.ftl.v1.ControllerService/GetSchema" - // ControllerServicePullSchemaProcedure is the fully-qualified name of the ControllerService's - // PullSchema RPC. - ControllerServicePullSchemaProcedure = "/xyz.block.ftl.v1.ControllerService/PullSchema" // ControllerServiceResetSubscriptionProcedure is the fully-qualified name of the // ControllerService's ResetSubscription RPC. ControllerServiceResetSubscriptionProcedure = "/xyz.block.ftl.v1.ControllerService/ResetSubscription" @@ -118,13 +112,6 @@ type ControllerServiceClient interface { ReplaceDeploy(context.Context, *connect.Request[v1.ReplaceDeployRequest]) (*connect.Response[v1.ReplaceDeployResponse], error) // Stream logs from a deployment StreamDeploymentLogs(context.Context) *connect.ClientStreamForClient[v1.StreamDeploymentLogsRequest, v1.StreamDeploymentLogsResponse] - // Get the full schema. - GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) - // Pull schema changes from the Controller. - // - // Note that if there are no deployments this will block indefinitely, making it unsuitable for - // just retrieving the schema. Use GetSchema for that. - PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) // Reset the cursor for a subscription to the head of its topic. ResetSubscription(context.Context, *connect.Request[v1.ResetSubscriptionRequest]) (*connect.Response[v1.ResetSubscriptionResponse], error) } @@ -205,16 +192,6 @@ func NewControllerServiceClient(httpClient connect.HTTPClient, baseURL string, o baseURL+ControllerServiceStreamDeploymentLogsProcedure, opts..., ), - getSchema: connect.NewClient[v1.GetSchemaRequest, v1.GetSchemaResponse]( - httpClient, - baseURL+ControllerServiceGetSchemaProcedure, - opts..., - ), - pullSchema: connect.NewClient[v1.PullSchemaRequest, v1.PullSchemaResponse]( - httpClient, - baseURL+ControllerServicePullSchemaProcedure, - opts..., - ), resetSubscription: connect.NewClient[v1.ResetSubscriptionRequest, v1.ResetSubscriptionResponse]( httpClient, baseURL+ControllerServiceResetSubscriptionProcedure, @@ -238,8 +215,6 @@ type controllerServiceClient struct { updateDeploy *connect.Client[v1.UpdateDeployRequest, v1.UpdateDeployResponse] replaceDeploy *connect.Client[v1.ReplaceDeployRequest, v1.ReplaceDeployResponse] streamDeploymentLogs *connect.Client[v1.StreamDeploymentLogsRequest, v1.StreamDeploymentLogsResponse] - getSchema *connect.Client[v1.GetSchemaRequest, v1.GetSchemaResponse] - pullSchema *connect.Client[v1.PullSchemaRequest, v1.PullSchemaResponse] resetSubscription *connect.Client[v1.ResetSubscriptionRequest, v1.ResetSubscriptionResponse] } @@ -308,16 +283,6 @@ func (c *controllerServiceClient) StreamDeploymentLogs(ctx context.Context) *con return c.streamDeploymentLogs.CallClientStream(ctx) } -// GetSchema calls xyz.block.ftl.v1.ControllerService.GetSchema. -func (c *controllerServiceClient) GetSchema(ctx context.Context, req *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { - return c.getSchema.CallUnary(ctx, req) -} - -// PullSchema calls xyz.block.ftl.v1.ControllerService.PullSchema. -func (c *controllerServiceClient) PullSchema(ctx context.Context, req *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) { - return c.pullSchema.CallServerStream(ctx, req) -} - // ResetSubscription calls xyz.block.ftl.v1.ControllerService.ResetSubscription. func (c *controllerServiceClient) ResetSubscription(ctx context.Context, req *connect.Request[v1.ResetSubscriptionRequest]) (*connect.Response[v1.ResetSubscriptionResponse], error) { return c.resetSubscription.CallUnary(ctx, req) @@ -359,13 +324,6 @@ type ControllerServiceHandler interface { ReplaceDeploy(context.Context, *connect.Request[v1.ReplaceDeployRequest]) (*connect.Response[v1.ReplaceDeployResponse], error) // Stream logs from a deployment StreamDeploymentLogs(context.Context, *connect.ClientStream[v1.StreamDeploymentLogsRequest]) (*connect.Response[v1.StreamDeploymentLogsResponse], error) - // Get the full schema. - GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) - // Pull schema changes from the Controller. - // - // Note that if there are no deployments this will block indefinitely, making it unsuitable for - // just retrieving the schema. Use GetSchema for that. - PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error // Reset the cursor for a subscription to the head of its topic. ResetSubscription(context.Context, *connect.Request[v1.ResetSubscriptionRequest]) (*connect.Response[v1.ResetSubscriptionResponse], error) } @@ -442,16 +400,6 @@ func NewControllerServiceHandler(svc ControllerServiceHandler, opts ...connect.H svc.StreamDeploymentLogs, opts..., ) - controllerServiceGetSchemaHandler := connect.NewUnaryHandler( - ControllerServiceGetSchemaProcedure, - svc.GetSchema, - opts..., - ) - controllerServicePullSchemaHandler := connect.NewServerStreamHandler( - ControllerServicePullSchemaProcedure, - svc.PullSchema, - opts..., - ) controllerServiceResetSubscriptionHandler := connect.NewUnaryHandler( ControllerServiceResetSubscriptionProcedure, svc.ResetSubscription, @@ -485,10 +433,6 @@ func NewControllerServiceHandler(svc ControllerServiceHandler, opts ...connect.H controllerServiceReplaceDeployHandler.ServeHTTP(w, r) case ControllerServiceStreamDeploymentLogsProcedure: controllerServiceStreamDeploymentLogsHandler.ServeHTTP(w, r) - case ControllerServiceGetSchemaProcedure: - controllerServiceGetSchemaHandler.ServeHTTP(w, r) - case ControllerServicePullSchemaProcedure: - controllerServicePullSchemaHandler.ServeHTTP(w, r) case ControllerServiceResetSubscriptionProcedure: controllerServiceResetSubscriptionHandler.ServeHTTP(w, r) default: @@ -552,14 +496,6 @@ func (UnimplementedControllerServiceHandler) StreamDeploymentLogs(context.Contex return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.ControllerService.StreamDeploymentLogs is not implemented")) } -func (UnimplementedControllerServiceHandler) GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.ControllerService.GetSchema is not implemented")) -} - -func (UnimplementedControllerServiceHandler) PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.ControllerService.PullSchema is not implemented")) -} - func (UnimplementedControllerServiceHandler) ResetSubscription(context.Context, *connect.Request[v1.ResetSubscriptionRequest]) (*connect.Response[v1.ResetSubscriptionResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.ControllerService.ResetSubscription is not implemented")) } diff --git a/backend/protos/xyz/block/ftl/v1/ftlv1connect/schemaservice.connect.go b/backend/protos/xyz/block/ftl/v1/ftlv1connect/schemaservice.connect.go new file mode 100644 index 0000000000..608d82176a --- /dev/null +++ b/backend/protos/xyz/block/ftl/v1/ftlv1connect/schemaservice.connect.go @@ -0,0 +1,175 @@ +// Code generated by protoc-gen-connect-go. DO NOT EDIT. +// +// Source: xyz/block/ftl/v1/schemaservice.proto + +package ftlv1connect + +import ( + connect "connectrpc.com/connect" + context "context" + errors "errors" + v1 "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1" + http "net/http" + strings "strings" +) + +// This is a compile-time assertion to ensure that this generated file and the connect package are +// compatible. If you get a compiler error that this constant is not defined, this code was +// generated with a version of connect newer than the one compiled into your binary. You can fix the +// problem by either regenerating this code with an older version of connect or updating the connect +// version compiled into your binary. +const _ = connect.IsAtLeastVersion1_7_0 + +const ( + // SchemaServiceName is the fully-qualified name of the SchemaService service. + SchemaServiceName = "xyz.block.ftl.v1.SchemaService" +) + +// These constants are the fully-qualified names of the RPCs defined in this package. They're +// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route. +// +// Note that these are different from the fully-qualified method names used by +// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to +// reflection-formatted method names, remove the leading slash and convert the remaining slash to a +// period. +const ( + // SchemaServicePingProcedure is the fully-qualified name of the SchemaService's Ping RPC. + SchemaServicePingProcedure = "/xyz.block.ftl.v1.SchemaService/Ping" + // SchemaServiceGetSchemaProcedure is the fully-qualified name of the SchemaService's GetSchema RPC. + SchemaServiceGetSchemaProcedure = "/xyz.block.ftl.v1.SchemaService/GetSchema" + // SchemaServicePullSchemaProcedure is the fully-qualified name of the SchemaService's PullSchema + // RPC. + SchemaServicePullSchemaProcedure = "/xyz.block.ftl.v1.SchemaService/PullSchema" +) + +// SchemaServiceClient is a client for the xyz.block.ftl.v1.SchemaService service. +type SchemaServiceClient interface { + // Ping service for readiness. + Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) + // Get the full schema. + GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) + // Pull schema changes from the Controller. + // + // Note that if there are no deployments this will block indefinitely, making it unsuitable for + // just retrieving the schema. Use GetSchema for that. + PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) +} + +// NewSchemaServiceClient constructs a client for the xyz.block.ftl.v1.SchemaService service. By +// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, +// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the +// connect.WithGRPC() or connect.WithGRPCWeb() options. +// +// The URL supplied here should be the base URL for the Connect or gRPC server (for example, +// http://api.acme.com or https://acme.com/grpc). +func NewSchemaServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) SchemaServiceClient { + baseURL = strings.TrimRight(baseURL, "/") + return &schemaServiceClient{ + ping: connect.NewClient[v1.PingRequest, v1.PingResponse]( + httpClient, + baseURL+SchemaServicePingProcedure, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + getSchema: connect.NewClient[v1.GetSchemaRequest, v1.GetSchemaResponse]( + httpClient, + baseURL+SchemaServiceGetSchemaProcedure, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + pullSchema: connect.NewClient[v1.PullSchemaRequest, v1.PullSchemaResponse]( + httpClient, + baseURL+SchemaServicePullSchemaProcedure, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithClientOptions(opts...), + ), + } +} + +// schemaServiceClient implements SchemaServiceClient. +type schemaServiceClient struct { + ping *connect.Client[v1.PingRequest, v1.PingResponse] + getSchema *connect.Client[v1.GetSchemaRequest, v1.GetSchemaResponse] + pullSchema *connect.Client[v1.PullSchemaRequest, v1.PullSchemaResponse] +} + +// Ping calls xyz.block.ftl.v1.SchemaService.Ping. +func (c *schemaServiceClient) Ping(ctx context.Context, req *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) { + return c.ping.CallUnary(ctx, req) +} + +// GetSchema calls xyz.block.ftl.v1.SchemaService.GetSchema. +func (c *schemaServiceClient) GetSchema(ctx context.Context, req *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { + return c.getSchema.CallUnary(ctx, req) +} + +// PullSchema calls xyz.block.ftl.v1.SchemaService.PullSchema. +func (c *schemaServiceClient) PullSchema(ctx context.Context, req *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) { + return c.pullSchema.CallServerStream(ctx, req) +} + +// SchemaServiceHandler is an implementation of the xyz.block.ftl.v1.SchemaService service. +type SchemaServiceHandler interface { + // Ping service for readiness. + Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) + // Get the full schema. + GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) + // Pull schema changes from the Controller. + // + // Note that if there are no deployments this will block indefinitely, making it unsuitable for + // just retrieving the schema. Use GetSchema for that. + PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error +} + +// NewSchemaServiceHandler builds an HTTP handler from the service implementation. It returns the +// path on which to mount the handler and the handler itself. +// +// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf +// and JSON codecs. They also support gzip compression. +func NewSchemaServiceHandler(svc SchemaServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) { + schemaServicePingHandler := connect.NewUnaryHandler( + SchemaServicePingProcedure, + svc.Ping, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + schemaServiceGetSchemaHandler := connect.NewUnaryHandler( + SchemaServiceGetSchemaProcedure, + svc.GetSchema, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + schemaServicePullSchemaHandler := connect.NewServerStreamHandler( + SchemaServicePullSchemaProcedure, + svc.PullSchema, + connect.WithIdempotency(connect.IdempotencyNoSideEffects), + connect.WithHandlerOptions(opts...), + ) + return "/xyz.block.ftl.v1.SchemaService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + switch r.URL.Path { + case SchemaServicePingProcedure: + schemaServicePingHandler.ServeHTTP(w, r) + case SchemaServiceGetSchemaProcedure: + schemaServiceGetSchemaHandler.ServeHTTP(w, r) + case SchemaServicePullSchemaProcedure: + schemaServicePullSchemaHandler.ServeHTTP(w, r) + default: + http.NotFound(w, r) + } + }) +} + +// UnimplementedSchemaServiceHandler returns CodeUnimplemented from all methods. +type UnimplementedSchemaServiceHandler struct{} + +func (UnimplementedSchemaServiceHandler) Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.SchemaService.Ping is not implemented")) +} + +func (UnimplementedSchemaServiceHandler) GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { + return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.SchemaService.GetSchema is not implemented")) +} + +func (UnimplementedSchemaServiceHandler) PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error { + return connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1.SchemaService.PullSchema is not implemented")) +} diff --git a/backend/protos/xyz/block/ftl/v1/schemaservice.pb.go b/backend/protos/xyz/block/ftl/v1/schemaservice.pb.go new file mode 100644 index 0000000000..fdde90e36a --- /dev/null +++ b/backend/protos/xyz/block/ftl/v1/schemaservice.pb.go @@ -0,0 +1,403 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.35.2 +// protoc (unknown) +// source: xyz/block/ftl/v1/schemaservice.proto + +package ftlv1 + +import ( + schema "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/schema" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type DeploymentChangeType int32 + +const ( + DeploymentChangeType_DEPLOYMENT_ADDED DeploymentChangeType = 0 + DeploymentChangeType_DEPLOYMENT_REMOVED DeploymentChangeType = 1 + DeploymentChangeType_DEPLOYMENT_CHANGED DeploymentChangeType = 2 +) + +// Enum value maps for DeploymentChangeType. +var ( + DeploymentChangeType_name = map[int32]string{ + 0: "DEPLOYMENT_ADDED", + 1: "DEPLOYMENT_REMOVED", + 2: "DEPLOYMENT_CHANGED", + } + DeploymentChangeType_value = map[string]int32{ + "DEPLOYMENT_ADDED": 0, + "DEPLOYMENT_REMOVED": 1, + "DEPLOYMENT_CHANGED": 2, + } +) + +func (x DeploymentChangeType) Enum() *DeploymentChangeType { + p := new(DeploymentChangeType) + *p = x + return p +} + +func (x DeploymentChangeType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeploymentChangeType) Descriptor() protoreflect.EnumDescriptor { + return file_xyz_block_ftl_v1_schemaservice_proto_enumTypes[0].Descriptor() +} + +func (DeploymentChangeType) Type() protoreflect.EnumType { + return &file_xyz_block_ftl_v1_schemaservice_proto_enumTypes[0] +} + +func (x DeploymentChangeType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeploymentChangeType.Descriptor instead. +func (DeploymentChangeType) EnumDescriptor() ([]byte, []int) { + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP(), []int{0} +} + +type GetSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *GetSchemaRequest) Reset() { + *x = GetSchemaRequest{} + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSchemaRequest) ProtoMessage() {} + +func (x *GetSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSchemaRequest.ProtoReflect.Descriptor instead. +func (*GetSchemaRequest) Descriptor() ([]byte, []int) { + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP(), []int{0} +} + +type GetSchemaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Schema *schema.Schema `protobuf:"bytes,1,opt,name=schema,proto3" json:"schema,omitempty"` +} + +func (x *GetSchemaResponse) Reset() { + *x = GetSchemaResponse{} + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSchemaResponse) ProtoMessage() {} + +func (x *GetSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSchemaResponse.ProtoReflect.Descriptor instead. +func (*GetSchemaResponse) Descriptor() ([]byte, []int) { + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP(), []int{1} +} + +func (x *GetSchemaResponse) GetSchema() *schema.Schema { + if x != nil { + return x.Schema + } + return nil +} + +type PullSchemaRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *PullSchemaRequest) Reset() { + *x = PullSchemaRequest{} + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullSchemaRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullSchemaRequest) ProtoMessage() {} + +func (x *PullSchemaRequest) ProtoReflect() protoreflect.Message { + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullSchemaRequest.ProtoReflect.Descriptor instead. +func (*PullSchemaRequest) Descriptor() ([]byte, []int) { + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP(), []int{2} +} + +type PullSchemaResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DeploymentKey string `protobuf:"bytes,1,opt,name=deployment_key,json=deploymentKey,proto3" json:"deployment_key,omitempty"` + ModuleName string `protobuf:"bytes,2,opt,name=module_name,json=moduleName,proto3" json:"module_name,omitempty"` + // For deletes this will not be present. + Schema *schema.Module `protobuf:"bytes,4,opt,name=schema,proto3,oneof" json:"schema,omitempty"` + // If true there are more schema changes immediately following this one as part of the initial batch. + // If false this is the last schema change in the initial batch, but others may follow later. + More bool `protobuf:"varint,3,opt,name=more,proto3" json:"more,omitempty"` + ChangeType DeploymentChangeType `protobuf:"varint,5,opt,name=change_type,json=changeType,proto3,enum=xyz.block.ftl.v1.DeploymentChangeType" json:"change_type,omitempty"` +} + +func (x *PullSchemaResponse) Reset() { + *x = PullSchemaResponse{} + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PullSchemaResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PullSchemaResponse) ProtoMessage() {} + +func (x *PullSchemaResponse) ProtoReflect() protoreflect.Message { + mi := &file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PullSchemaResponse.ProtoReflect.Descriptor instead. +func (*PullSchemaResponse) Descriptor() ([]byte, []int) { + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP(), []int{3} +} + +func (x *PullSchemaResponse) GetDeploymentKey() string { + if x != nil { + return x.DeploymentKey + } + return "" +} + +func (x *PullSchemaResponse) GetModuleName() string { + if x != nil { + return x.ModuleName + } + return "" +} + +func (x *PullSchemaResponse) GetSchema() *schema.Module { + if x != nil { + return x.Schema + } + return nil +} + +func (x *PullSchemaResponse) GetMore() bool { + if x != nil { + return x.More + } + return false +} + +func (x *PullSchemaResponse) GetChangeType() DeploymentChangeType { + if x != nil { + return x.ChangeType + } + return DeploymentChangeType_DEPLOYMENT_ADDED +} + +var File_xyz_block_ftl_v1_schemaservice_proto protoreflect.FileDescriptor + +var file_xyz_block_ftl_v1_schemaservice_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, + 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 0x1a, 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x74, 0x6c, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, + 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x12, 0x0a, 0x10, 0x47, 0x65, + 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x4c, + 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, + 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x53, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x22, 0x13, 0x0a, 0x11, + 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x22, 0x82, 0x02, 0x0a, 0x12, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, + 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, + 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4d, 0x6f, 0x64, 0x75, 0x6c, + 0x65, 0x48, 0x00, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x88, 0x01, 0x01, 0x12, 0x12, + 0x0a, 0x04, 0x6d, 0x6f, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x6d, 0x6f, + 0x72, 0x65, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, + 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, + 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, + 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2a, 0x5c, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, + 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, + 0x0a, 0x10, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x41, 0x44, 0x44, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, + 0x4e, 0x54, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, + 0x44, 0x45, 0x50, 0x4c, 0x4f, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x47, + 0x45, 0x44, 0x10, 0x02, 0x32, 0x96, 0x02, 0x0a, 0x0d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1d, + 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, + 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, + 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, + 0x02, 0x01, 0x12, 0x59, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, + 0x22, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, + 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5e, 0x0a, + 0x0a, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x23, 0x2e, 0x78, 0x79, + 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, + 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, + 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x30, 0x01, 0x42, 0x44, 0x50, + 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x54, 0x42, + 0x44, 0x35, 0x34, 0x35, 0x36, 0x36, 0x39, 0x37, 0x35, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x62, 0x61, + 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x78, 0x79, 0x7a, + 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x3b, 0x66, 0x74, + 0x6c, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_xyz_block_ftl_v1_schemaservice_proto_rawDescOnce sync.Once + file_xyz_block_ftl_v1_schemaservice_proto_rawDescData = file_xyz_block_ftl_v1_schemaservice_proto_rawDesc +) + +func file_xyz_block_ftl_v1_schemaservice_proto_rawDescGZIP() []byte { + file_xyz_block_ftl_v1_schemaservice_proto_rawDescOnce.Do(func() { + file_xyz_block_ftl_v1_schemaservice_proto_rawDescData = protoimpl.X.CompressGZIP(file_xyz_block_ftl_v1_schemaservice_proto_rawDescData) + }) + return file_xyz_block_ftl_v1_schemaservice_proto_rawDescData +} + +var file_xyz_block_ftl_v1_schemaservice_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_xyz_block_ftl_v1_schemaservice_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_xyz_block_ftl_v1_schemaservice_proto_goTypes = []any{ + (DeploymentChangeType)(0), // 0: xyz.block.ftl.v1.DeploymentChangeType + (*GetSchemaRequest)(nil), // 1: xyz.block.ftl.v1.GetSchemaRequest + (*GetSchemaResponse)(nil), // 2: xyz.block.ftl.v1.GetSchemaResponse + (*PullSchemaRequest)(nil), // 3: xyz.block.ftl.v1.PullSchemaRequest + (*PullSchemaResponse)(nil), // 4: xyz.block.ftl.v1.PullSchemaResponse + (*schema.Schema)(nil), // 5: xyz.block.ftl.v1.schema.Schema + (*schema.Module)(nil), // 6: xyz.block.ftl.v1.schema.Module + (*PingRequest)(nil), // 7: xyz.block.ftl.v1.PingRequest + (*PingResponse)(nil), // 8: xyz.block.ftl.v1.PingResponse +} +var file_xyz_block_ftl_v1_schemaservice_proto_depIdxs = []int32{ + 5, // 0: xyz.block.ftl.v1.GetSchemaResponse.schema:type_name -> xyz.block.ftl.v1.schema.Schema + 6, // 1: xyz.block.ftl.v1.PullSchemaResponse.schema:type_name -> xyz.block.ftl.v1.schema.Module + 0, // 2: xyz.block.ftl.v1.PullSchemaResponse.change_type:type_name -> xyz.block.ftl.v1.DeploymentChangeType + 7, // 3: xyz.block.ftl.v1.SchemaService.Ping:input_type -> xyz.block.ftl.v1.PingRequest + 1, // 4: xyz.block.ftl.v1.SchemaService.GetSchema:input_type -> xyz.block.ftl.v1.GetSchemaRequest + 3, // 5: xyz.block.ftl.v1.SchemaService.PullSchema:input_type -> xyz.block.ftl.v1.PullSchemaRequest + 8, // 6: xyz.block.ftl.v1.SchemaService.Ping:output_type -> xyz.block.ftl.v1.PingResponse + 2, // 7: xyz.block.ftl.v1.SchemaService.GetSchema:output_type -> xyz.block.ftl.v1.GetSchemaResponse + 4, // 8: xyz.block.ftl.v1.SchemaService.PullSchema:output_type -> xyz.block.ftl.v1.PullSchemaResponse + 6, // [6:9] is the sub-list for method output_type + 3, // [3:6] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_xyz_block_ftl_v1_schemaservice_proto_init() } +func file_xyz_block_ftl_v1_schemaservice_proto_init() { + if File_xyz_block_ftl_v1_schemaservice_proto != nil { + return + } + file_xyz_block_ftl_v1_ftl_proto_init() + file_xyz_block_ftl_v1_schemaservice_proto_msgTypes[3].OneofWrappers = []any{} + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_xyz_block_ftl_v1_schemaservice_proto_rawDesc, + NumEnums: 1, + NumMessages: 4, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_xyz_block_ftl_v1_schemaservice_proto_goTypes, + DependencyIndexes: file_xyz_block_ftl_v1_schemaservice_proto_depIdxs, + EnumInfos: file_xyz_block_ftl_v1_schemaservice_proto_enumTypes, + MessageInfos: file_xyz_block_ftl_v1_schemaservice_proto_msgTypes, + }.Build() + File_xyz_block_ftl_v1_schemaservice_proto = out.File + file_xyz_block_ftl_v1_schemaservice_proto_rawDesc = nil + file_xyz_block_ftl_v1_schemaservice_proto_goTypes = nil + file_xyz_block_ftl_v1_schemaservice_proto_depIdxs = nil +} diff --git a/backend/protos/xyz/block/ftl/v1/schemaservice.proto b/backend/protos/xyz/block/ftl/v1/schemaservice.proto new file mode 100644 index 0000000000..13dd54fbb2 --- /dev/null +++ b/backend/protos/xyz/block/ftl/v1/schemaservice.proto @@ -0,0 +1,52 @@ +syntax = "proto3"; + +package xyz.block.ftl.v1; + +import "xyz/block/ftl/v1/ftl.proto"; +import "xyz/block/ftl/v1/schema/schema.proto"; + +option go_package = "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1;ftlv1"; +option java_multiple_files = true; + +message GetSchemaRequest {} +message GetSchemaResponse { + schema.Schema schema = 1; +} + +enum DeploymentChangeType { + DEPLOYMENT_ADDED = 0; + DEPLOYMENT_REMOVED = 1; + DEPLOYMENT_CHANGED = 2; +} + +message PullSchemaRequest {} +message PullSchemaResponse { + string deployment_key = 1; + string module_name = 2; + // For deletes this will not be present. + optional schema.Module schema = 4; + // If true there are more schema changes immediately following this one as part of the initial batch. + // If false this is the last schema change in the initial batch, but others may follow later. + bool more = 3; + DeploymentChangeType change_type = 5; +} + +service SchemaService { + // Ping service for readiness. + rpc Ping(PingRequest) returns (PingResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Get the full schema. + rpc GetSchema(GetSchemaRequest) returns (GetSchemaResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } + + // Pull schema changes from the Controller. + // + // Note that if there are no deployments this will block indefinitely, making it unsuitable for + // just retrieving the schema. Use GetSchema for that. + rpc PullSchema(PullSchemaRequest) returns (stream PullSchemaResponse) { + option idempotency_level = NO_SIDE_EFFECTS; + } +} diff --git a/backend/protos/xyz/block/ftl/v1beta1/provisioner/provisionerconnect/service.connect.go b/backend/protos/xyz/block/ftl/v1beta1/provisioner/provisionerconnect/service.connect.go index f79dd7ac78..f08b3e6898 100644 --- a/backend/protos/xyz/block/ftl/v1beta1/provisioner/provisionerconnect/service.connect.go +++ b/backend/protos/xyz/block/ftl/v1beta1/provisioner/provisionerconnect/service.connect.go @@ -54,12 +54,6 @@ const ( // ProvisionerServiceReplaceDeployProcedure is the fully-qualified name of the ProvisionerService's // ReplaceDeploy RPC. ProvisionerServiceReplaceDeployProcedure = "/xyz.block.ftl.v1beta1.provisioner.ProvisionerService/ReplaceDeploy" - // ProvisionerServiceGetSchemaProcedure is the fully-qualified name of the ProvisionerService's - // GetSchema RPC. - ProvisionerServiceGetSchemaProcedure = "/xyz.block.ftl.v1beta1.provisioner.ProvisionerService/GetSchema" - // ProvisionerServicePullSchemaProcedure is the fully-qualified name of the ProvisionerService's - // PullSchema RPC. - ProvisionerServicePullSchemaProcedure = "/xyz.block.ftl.v1beta1.provisioner.ProvisionerService/PullSchema" ) // ProvisionerServiceClient is a client for the xyz.block.ftl.v1beta1.provisioner.ProvisionerService @@ -72,8 +66,6 @@ type ProvisionerServiceClient interface { CreateDeployment(context.Context, *connect.Request[v1.CreateDeploymentRequest]) (*connect.Response[v1.CreateDeploymentResponse], error) UpdateDeploy(context.Context, *connect.Request[v1.UpdateDeployRequest]) (*connect.Response[v1.UpdateDeployResponse], error) ReplaceDeploy(context.Context, *connect.Request[v1.ReplaceDeployRequest]) (*connect.Response[v1.ReplaceDeployResponse], error) - GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) - PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) } // NewProvisionerServiceClient constructs a client for the @@ -123,16 +115,6 @@ func NewProvisionerServiceClient(httpClient connect.HTTPClient, baseURL string, baseURL+ProvisionerServiceReplaceDeployProcedure, opts..., ), - getSchema: connect.NewClient[v1.GetSchemaRequest, v1.GetSchemaResponse]( - httpClient, - baseURL+ProvisionerServiceGetSchemaProcedure, - opts..., - ), - pullSchema: connect.NewClient[v1.PullSchemaRequest, v1.PullSchemaResponse]( - httpClient, - baseURL+ProvisionerServicePullSchemaProcedure, - opts..., - ), } } @@ -145,8 +127,6 @@ type provisionerServiceClient struct { createDeployment *connect.Client[v1.CreateDeploymentRequest, v1.CreateDeploymentResponse] updateDeploy *connect.Client[v1.UpdateDeployRequest, v1.UpdateDeployResponse] replaceDeploy *connect.Client[v1.ReplaceDeployRequest, v1.ReplaceDeployResponse] - getSchema *connect.Client[v1.GetSchemaRequest, v1.GetSchemaResponse] - pullSchema *connect.Client[v1.PullSchemaRequest, v1.PullSchemaResponse] } // Ping calls xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Ping. @@ -184,16 +164,6 @@ func (c *provisionerServiceClient) ReplaceDeploy(ctx context.Context, req *conne return c.replaceDeploy.CallUnary(ctx, req) } -// GetSchema calls xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetSchema. -func (c *provisionerServiceClient) GetSchema(ctx context.Context, req *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { - return c.getSchema.CallUnary(ctx, req) -} - -// PullSchema calls xyz.block.ftl.v1beta1.provisioner.ProvisionerService.PullSchema. -func (c *provisionerServiceClient) PullSchema(ctx context.Context, req *connect.Request[v1.PullSchemaRequest]) (*connect.ServerStreamForClient[v1.PullSchemaResponse], error) { - return c.pullSchema.CallServerStream(ctx, req) -} - // ProvisionerServiceHandler is an implementation of the // xyz.block.ftl.v1beta1.provisioner.ProvisionerService service. type ProvisionerServiceHandler interface { @@ -204,8 +174,6 @@ type ProvisionerServiceHandler interface { CreateDeployment(context.Context, *connect.Request[v1.CreateDeploymentRequest]) (*connect.Response[v1.CreateDeploymentResponse], error) UpdateDeploy(context.Context, *connect.Request[v1.UpdateDeployRequest]) (*connect.Response[v1.UpdateDeployResponse], error) ReplaceDeploy(context.Context, *connect.Request[v1.ReplaceDeployRequest]) (*connect.Response[v1.ReplaceDeployResponse], error) - GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) - PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error } // NewProvisionerServiceHandler builds an HTTP handler from the service implementation. It returns @@ -250,16 +218,6 @@ func NewProvisionerServiceHandler(svc ProvisionerServiceHandler, opts ...connect svc.ReplaceDeploy, opts..., ) - provisionerServiceGetSchemaHandler := connect.NewUnaryHandler( - ProvisionerServiceGetSchemaProcedure, - svc.GetSchema, - opts..., - ) - provisionerServicePullSchemaHandler := connect.NewServerStreamHandler( - ProvisionerServicePullSchemaProcedure, - svc.PullSchema, - opts..., - ) return "/xyz.block.ftl.v1beta1.provisioner.ProvisionerService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { switch r.URL.Path { case ProvisionerServicePingProcedure: @@ -276,10 +234,6 @@ func NewProvisionerServiceHandler(svc ProvisionerServiceHandler, opts ...connect provisionerServiceUpdateDeployHandler.ServeHTTP(w, r) case ProvisionerServiceReplaceDeployProcedure: provisionerServiceReplaceDeployHandler.ServeHTTP(w, r) - case ProvisionerServiceGetSchemaProcedure: - provisionerServiceGetSchemaHandler.ServeHTTP(w, r) - case ProvisionerServicePullSchemaProcedure: - provisionerServicePullSchemaHandler.ServeHTTP(w, r) default: http.NotFound(w, r) } @@ -316,11 +270,3 @@ func (UnimplementedProvisionerServiceHandler) UpdateDeploy(context.Context, *con func (UnimplementedProvisionerServiceHandler) ReplaceDeploy(context.Context, *connect.Request[v1.ReplaceDeployRequest]) (*connect.Response[v1.ReplaceDeployResponse], error) { return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1beta1.provisioner.ProvisionerService.ReplaceDeploy is not implemented")) } - -func (UnimplementedProvisionerServiceHandler) GetSchema(context.Context, *connect.Request[v1.GetSchemaRequest]) (*connect.Response[v1.GetSchemaResponse], error) { - return nil, connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetSchema is not implemented")) -} - -func (UnimplementedProvisionerServiceHandler) PullSchema(context.Context, *connect.Request[v1.PullSchemaRequest], *connect.ServerStream[v1.PullSchemaResponse]) error { - return connect.NewError(connect.CodeUnimplemented, errors.New("xyz.block.ftl.v1beta1.provisioner.ProvisionerService.PullSchema is not implemented")) -} diff --git a/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.pb.go b/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.pb.go index a64786dd9d..1f82f04ee0 100644 --- a/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.pb.go +++ b/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.pb.go @@ -32,7 +32,7 @@ var file_xyz_block_ftl_v1beta1_provisioner_service_proto_rawDesc = []byte{ 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1a, 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x66, 0x74, 0x6c, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x32, 0xda, 0x06, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6f, 0x74, 0x6f, 0x32, 0xa9, 0x05, 0x0a, 0x12, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4a, 0x0a, 0x04, 0x50, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, @@ -74,25 +74,14 @@ var file_xyz_block_ftl_v1beta1_provisioner_service_proto_rawDesc = []byte{ 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x22, 0x2e, 0x78, - 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0a, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x12, 0x23, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2e, - 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x78, 0x79, 0x7a, 0x2e, 0x62, - 0x6c, 0x6f, 0x63, 0x6b, 0x2e, 0x66, 0x74, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x75, 0x6c, 0x6c, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30, 0x01, - 0x42, 0x5b, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x54, 0x42, 0x44, 0x35, 0x34, 0x35, 0x36, 0x36, 0x39, 0x37, 0x35, 0x2f, 0x66, 0x74, 0x6c, - 0x2f, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, - 0x78, 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, - 0x72, 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, + 0x5b, 0x50, 0x01, 0x5a, 0x57, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x54, 0x42, 0x44, 0x35, 0x34, 0x35, 0x36, 0x36, 0x39, 0x37, 0x35, 0x2f, 0x66, 0x74, 0x6c, 0x2f, + 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x78, + 0x79, 0x7a, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x2f, 0x66, 0x74, 0x6c, 0x2f, 0x76, 0x31, 0x62, + 0x65, 0x74, 0x61, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, + 0x3b, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var file_xyz_block_ftl_v1beta1_provisioner_service_proto_goTypes = []any{ @@ -103,17 +92,13 @@ var file_xyz_block_ftl_v1beta1_provisioner_service_proto_goTypes = []any{ (*v1.CreateDeploymentRequest)(nil), // 4: xyz.block.ftl.v1.CreateDeploymentRequest (*v1.UpdateDeployRequest)(nil), // 5: xyz.block.ftl.v1.UpdateDeployRequest (*v1.ReplaceDeployRequest)(nil), // 6: xyz.block.ftl.v1.ReplaceDeployRequest - (*v1.GetSchemaRequest)(nil), // 7: xyz.block.ftl.v1.GetSchemaRequest - (*v1.PullSchemaRequest)(nil), // 8: xyz.block.ftl.v1.PullSchemaRequest - (*v1.PingResponse)(nil), // 9: xyz.block.ftl.v1.PingResponse - (*v1.StatusResponse)(nil), // 10: xyz.block.ftl.v1.StatusResponse - (*v1.GetArtefactDiffsResponse)(nil), // 11: xyz.block.ftl.v1.GetArtefactDiffsResponse - (*v1.UploadArtefactResponse)(nil), // 12: xyz.block.ftl.v1.UploadArtefactResponse - (*v1.CreateDeploymentResponse)(nil), // 13: xyz.block.ftl.v1.CreateDeploymentResponse - (*v1.UpdateDeployResponse)(nil), // 14: xyz.block.ftl.v1.UpdateDeployResponse - (*v1.ReplaceDeployResponse)(nil), // 15: xyz.block.ftl.v1.ReplaceDeployResponse - (*v1.GetSchemaResponse)(nil), // 16: xyz.block.ftl.v1.GetSchemaResponse - (*v1.PullSchemaResponse)(nil), // 17: xyz.block.ftl.v1.PullSchemaResponse + (*v1.PingResponse)(nil), // 7: xyz.block.ftl.v1.PingResponse + (*v1.StatusResponse)(nil), // 8: xyz.block.ftl.v1.StatusResponse + (*v1.GetArtefactDiffsResponse)(nil), // 9: xyz.block.ftl.v1.GetArtefactDiffsResponse + (*v1.UploadArtefactResponse)(nil), // 10: xyz.block.ftl.v1.UploadArtefactResponse + (*v1.CreateDeploymentResponse)(nil), // 11: xyz.block.ftl.v1.CreateDeploymentResponse + (*v1.UpdateDeployResponse)(nil), // 12: xyz.block.ftl.v1.UpdateDeployResponse + (*v1.ReplaceDeployResponse)(nil), // 13: xyz.block.ftl.v1.ReplaceDeployResponse } var file_xyz_block_ftl_v1beta1_provisioner_service_proto_depIdxs = []int32{ 0, // 0: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Ping:input_type -> xyz.block.ftl.v1.PingRequest @@ -123,19 +108,15 @@ var file_xyz_block_ftl_v1beta1_provisioner_service_proto_depIdxs = []int32{ 4, // 4: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.CreateDeployment:input_type -> xyz.block.ftl.v1.CreateDeploymentRequest 5, // 5: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.UpdateDeploy:input_type -> xyz.block.ftl.v1.UpdateDeployRequest 6, // 6: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.ReplaceDeploy:input_type -> xyz.block.ftl.v1.ReplaceDeployRequest - 7, // 7: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetSchema:input_type -> xyz.block.ftl.v1.GetSchemaRequest - 8, // 8: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.PullSchema:input_type -> xyz.block.ftl.v1.PullSchemaRequest - 9, // 9: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Ping:output_type -> xyz.block.ftl.v1.PingResponse - 10, // 10: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Status:output_type -> xyz.block.ftl.v1.StatusResponse - 11, // 11: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetArtefactDiffs:output_type -> xyz.block.ftl.v1.GetArtefactDiffsResponse - 12, // 12: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.UploadArtefact:output_type -> xyz.block.ftl.v1.UploadArtefactResponse - 13, // 13: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.CreateDeployment:output_type -> xyz.block.ftl.v1.CreateDeploymentResponse - 14, // 14: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.UpdateDeploy:output_type -> xyz.block.ftl.v1.UpdateDeployResponse - 15, // 15: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.ReplaceDeploy:output_type -> xyz.block.ftl.v1.ReplaceDeployResponse - 16, // 16: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetSchema:output_type -> xyz.block.ftl.v1.GetSchemaResponse - 17, // 17: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.PullSchema:output_type -> xyz.block.ftl.v1.PullSchemaResponse - 9, // [9:18] is the sub-list for method output_type - 0, // [0:9] is the sub-list for method input_type + 7, // 7: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Ping:output_type -> xyz.block.ftl.v1.PingResponse + 8, // 8: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.Status:output_type -> xyz.block.ftl.v1.StatusResponse + 9, // 9: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetArtefactDiffs:output_type -> xyz.block.ftl.v1.GetArtefactDiffsResponse + 10, // 10: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.UploadArtefact:output_type -> xyz.block.ftl.v1.UploadArtefactResponse + 11, // 11: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.CreateDeployment:output_type -> xyz.block.ftl.v1.CreateDeploymentResponse + 12, // 12: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.UpdateDeploy:output_type -> xyz.block.ftl.v1.UpdateDeployResponse + 13, // 13: xyz.block.ftl.v1beta1.provisioner.ProvisionerService.ReplaceDeploy:output_type -> xyz.block.ftl.v1.ReplaceDeployResponse + 7, // [7:14] is the sub-list for method output_type + 0, // [0:7] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.proto b/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.proto index c6b37c20ad..55e479e269 100644 --- a/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.proto +++ b/backend/protos/xyz/block/ftl/v1beta1/provisioner/service.proto @@ -21,6 +21,4 @@ service ProvisionerService { rpc CreateDeployment(xyz.block.ftl.v1.CreateDeploymentRequest) returns (xyz.block.ftl.v1.CreateDeploymentResponse); rpc UpdateDeploy(xyz.block.ftl.v1.UpdateDeployRequest) returns (xyz.block.ftl.v1.UpdateDeployResponse); rpc ReplaceDeploy(xyz.block.ftl.v1.ReplaceDeployRequest) returns (xyz.block.ftl.v1.ReplaceDeployResponse); - rpc GetSchema(xyz.block.ftl.v1.GetSchemaRequest) returns (xyz.block.ftl.v1.GetSchemaResponse); - rpc PullSchema(xyz.block.ftl.v1.PullSchemaRequest) returns (stream xyz.block.ftl.v1.PullSchemaResponse); } diff --git a/backend/provisioner/service.go b/backend/provisioner/service.go index b69ba6f3fc..d85fdc7851 100644 --- a/backend/provisioner/service.go +++ b/backend/provisioner/service.go @@ -40,15 +40,23 @@ func (c *Config) SetDefaults() { type Service struct { controllerClient ftlv1connect.ControllerServiceClient + schemaClient ftlv1connect.SchemaServiceClient currentResources map[string]*ResourceGraph registry *ProvisionerRegistry } var _ provisionerconnect.ProvisionerServiceHandler = (*Service)(nil) -func New(ctx context.Context, config Config, controllerClient ftlv1connect.ControllerServiceClient, registry *ProvisionerRegistry) (*Service, error) { +func New( + ctx context.Context, + config Config, + controllerClient ftlv1connect.ControllerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, + registry *ProvisionerRegistry, +) (*Service, error) { return &Service{ controllerClient: controllerClient, + schemaClient: schemaClient, currentResources: map[string]*ResourceGraph{}, registry: registry, }, nil @@ -133,13 +141,19 @@ func replaceOutputs(to []*provproto.Resource, from []*provproto.Resource) error } // Start the Provisioner. Blocks until the context is cancelled. -func Start(ctx context.Context, config Config, registry *ProvisionerRegistry, controllerClient ftlv1connect.ControllerServiceClient) error { +func Start( + ctx context.Context, + config Config, + registry *ProvisionerRegistry, + controllerClient ftlv1connect.ControllerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, +) error { config.SetDefaults() logger := log.FromContext(ctx) logger.Debugf("Starting FTL provisioner") - svc, err := New(ctx, config, controllerClient, registry) + svc, err := New(ctx, config, controllerClient, schemaClient, registry) if err != nil { return err } @@ -221,7 +235,7 @@ func (s *Service) UploadArtefact(ctx context.Context, req *connect.Request[ftlv1 } func (s *Service) GetSchema(ctx context.Context, req *connect.Request[ftlv1.GetSchemaRequest]) (*connect.Response[ftlv1.GetSchemaResponse], error) { - resp, err := s.controllerClient.GetSchema(ctx, req) + resp, err := s.schemaClient.GetSchema(ctx, req) if err != nil { logger := log.FromContext(ctx) logger.Errorf(err, "get schema failed") @@ -232,7 +246,7 @@ func (s *Service) GetSchema(ctx context.Context, req *connect.Request[ftlv1.GetS func (s *Service) PullSchema(ctx context.Context, req *connect.Request[ftlv1.PullSchemaRequest], to *connect.ServerStream[ftlv1.PullSchemaResponse]) error { logger := log.FromContext(ctx) - stream, err := s.controllerClient.PullSchema(ctx, req) + stream, err := s.schemaClient.PullSchema(ctx, req) if err != nil { logger.Errorf(err, "pull schema failed") return fmt.Errorf("call to ftl-controller failed: %w", err) diff --git a/backend/provisioner/testdata/go/echo/go.mod b/backend/provisioner/testdata/go/echo/go.mod index 43a3a58c38..66a90c236a 100644 --- a/backend/provisioner/testdata/go/echo/go.mod +++ b/backend/provisioner/testdata/go/echo/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/backend/provisioner/testdata/go/echo/go.sum b/backend/provisioner/testdata/go/echo/go.sum index 428b0e41d2..51229e8c30 100644 --- a/backend/provisioner/testdata/go/echo/go.sum +++ b/backend/provisioner/testdata/go/echo/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/cmd/ftl-provisioner/main.go b/cmd/ftl-provisioner/main.go index ec470515d5..55b65c56e9 100644 --- a/cmd/ftl-provisioner/main.go +++ b/cmd/ftl-provisioner/main.go @@ -43,10 +43,11 @@ func main() { kctx.FatalIfErrorf(err, "failed to initialize observability") controllerClient := rpc.Dial(ftlv1connect.NewControllerServiceClient, cli.ProvisionerConfig.ControllerEndpoint.String(), log.Error) + schemaClient := rpc.Dial(ftlv1connect.NewSchemaServiceClient, cli.ProvisionerConfig.ControllerEndpoint.String(), log.Error) registry, err := provisioner.RegistryFromConfigFile(ctx, cli.ProvisionerConfig.PluginConfigFile, controllerClient) kctx.FatalIfErrorf(err, "failed to create provisioner registry") - err = provisioner.Start(ctx, cli.ProvisionerConfig, registry, controllerClient) + err = provisioner.Start(ctx, cli.ProvisionerConfig, registry, controllerClient, schemaClient) kctx.FatalIfErrorf(err, "failed to start provisioner") } diff --git a/examples/go/cron/go.mod b/examples/go/cron/go.mod index cc82daebfb..fc7ddacdbc 100644 --- a/examples/go/cron/go.mod +++ b/examples/go/cron/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/go/cron/go.sum b/examples/go/cron/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/go/cron/go.sum +++ b/examples/go/cron/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/go/echo/go.mod b/examples/go/echo/go.mod index 0a4dd07d5e..b47d5d6add 100644 --- a/examples/go/echo/go.mod +++ b/examples/go/echo/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/examples/go/echo/go.sum b/examples/go/echo/go.sum index ccb3e122ca..2e1820809b 100644 --- a/examples/go/echo/go.sum +++ b/examples/go/echo/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/go/http/go.mod b/examples/go/http/go.mod index b4fe4557d1..8fad53369d 100644 --- a/examples/go/http/go.mod +++ b/examples/go/http/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/go/http/go.sum b/examples/go/http/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/go/http/go.sum +++ b/examples/go/http/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/go/pubsub/go.mod b/examples/go/pubsub/go.mod index 6e8f594274..d6c60bfb88 100644 --- a/examples/go/pubsub/go.mod +++ b/examples/go/pubsub/go.mod @@ -17,7 +17,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/go/pubsub/go.sum b/examples/go/pubsub/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/go/pubsub/go.sum +++ b/examples/go/pubsub/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/go/time/go.mod b/examples/go/time/go.mod index e922325184..59c3ee2a60 100644 --- a/examples/go/time/go.mod +++ b/examples/go/time/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/examples/go/time/go.sum b/examples/go/time/go.sum index ccb3e122ca..2e1820809b 100644 --- a/examples/go/time/go.sum +++ b/examples/go/time/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/ad/go.mod b/examples/online-boutique/backend/services/ad/go.mod index c685740a53..252637c284 100644 --- a/examples/online-boutique/backend/services/ad/go.mod +++ b/examples/online-boutique/backend/services/ad/go.mod @@ -20,7 +20,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/ad/go.sum b/examples/online-boutique/backend/services/ad/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/ad/go.sum +++ b/examples/online-boutique/backend/services/ad/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/cart/go.mod b/examples/online-boutique/backend/services/cart/go.mod index 9850fdbec0..ecd8ef3ff6 100644 --- a/examples/online-boutique/backend/services/cart/go.mod +++ b/examples/online-boutique/backend/services/cart/go.mod @@ -17,7 +17,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/cart/go.sum b/examples/online-boutique/backend/services/cart/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/cart/go.sum +++ b/examples/online-boutique/backend/services/cart/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/checkout/go.mod b/examples/online-boutique/backend/services/checkout/go.mod index 4f80754d77..4a2bb0e96a 100644 --- a/examples/online-boutique/backend/services/checkout/go.mod +++ b/examples/online-boutique/backend/services/checkout/go.mod @@ -22,7 +22,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/examples/online-boutique/backend/services/checkout/go.sum b/examples/online-boutique/backend/services/checkout/go.sum index ccb3e122ca..2e1820809b 100644 --- a/examples/online-boutique/backend/services/checkout/go.sum +++ b/examples/online-boutique/backend/services/checkout/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/currency/go.mod b/examples/online-boutique/backend/services/currency/go.mod index 510de66158..efedd28529 100644 --- a/examples/online-boutique/backend/services/currency/go.mod +++ b/examples/online-boutique/backend/services/currency/go.mod @@ -20,7 +20,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/currency/go.sum b/examples/online-boutique/backend/services/currency/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/currency/go.sum +++ b/examples/online-boutique/backend/services/currency/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/payment/go.mod b/examples/online-boutique/backend/services/payment/go.mod index cc6df5ab49..49bd06558b 100644 --- a/examples/online-boutique/backend/services/payment/go.mod +++ b/examples/online-boutique/backend/services/payment/go.mod @@ -17,7 +17,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/payment/go.sum b/examples/online-boutique/backend/services/payment/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/payment/go.sum +++ b/examples/online-boutique/backend/services/payment/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/productcatalog/go.mod b/examples/online-boutique/backend/services/productcatalog/go.mod index 449eda5b6a..d5f583e38e 100644 --- a/examples/online-boutique/backend/services/productcatalog/go.mod +++ b/examples/online-boutique/backend/services/productcatalog/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/productcatalog/go.sum b/examples/online-boutique/backend/services/productcatalog/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/productcatalog/go.sum +++ b/examples/online-boutique/backend/services/productcatalog/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/recommendation/go.mod b/examples/online-boutique/backend/services/recommendation/go.mod index 3bb42120ba..fbac1ac0da 100644 --- a/examples/online-boutique/backend/services/recommendation/go.mod +++ b/examples/online-boutique/backend/services/recommendation/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/examples/online-boutique/backend/services/recommendation/go.sum b/examples/online-boutique/backend/services/recommendation/go.sum index ccb3e122ca..2e1820809b 100644 --- a/examples/online-boutique/backend/services/recommendation/go.sum +++ b/examples/online-boutique/backend/services/recommendation/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/examples/online-boutique/backend/services/shipping/go.mod b/examples/online-boutique/backend/services/shipping/go.mod index 91770b9d48..d1adaa1aa1 100644 --- a/examples/online-boutique/backend/services/shipping/go.mod +++ b/examples/online-boutique/backend/services/shipping/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/examples/online-boutique/backend/services/shipping/go.sum b/examples/online-boutique/backend/services/shipping/go.sum index 428b0e41d2..51229e8c30 100644 --- a/examples/online-boutique/backend/services/shipping/go.sum +++ b/examples/online-boutique/backend/services/shipping/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/frontend/cli/cmd_box.go b/frontend/cli/cmd_box.go index 6fd2159d54..b333e6795a 100644 --- a/frontend/cli/cmd_box.go +++ b/frontend/cli/cmd_box.go @@ -116,14 +116,23 @@ Bring the box down: ` } -func (b *boxCmd) Run(ctx context.Context, client ftlv1connect.ControllerServiceClient, projConfig projectconfig.Config) error { +func (b *boxCmd) Run( + ctx context.Context, + controllerClient ftlv1connect.ControllerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, + projConfig projectconfig.Config, +) error { if len(b.Build.Dirs) == 0 { b.Build.Dirs = projConfig.AbsModuleDirs() } if len(b.Build.Dirs) == 0 { return errors.New("no directories specified") } - engine, err := buildengine.New(ctx, client, projConfig, b.Build.Dirs, buildengine.BuildEnv(b.Build.BuildEnv), buildengine.Parallelism(b.Build.Parallelism)) + engine, err := buildengine.New( + ctx, controllerClient, schemaClient, projConfig, b.Build.Dirs, + buildengine.BuildEnv(b.Build.BuildEnv), + buildengine.Parallelism(b.Build.Parallelism), + ) if err != nil { return err } diff --git a/frontend/cli/cmd_box_run.go b/frontend/cli/cmd_box_run.go index 0c56932195..8627837c3e 100644 --- a/frontend/cli/cmd_box_run.go +++ b/frontend/cli/cmd_box_run.go @@ -77,12 +77,13 @@ func (b *boxRunCmd) Run( }) // Wait for the controller to come up. - client := ftlv1connect.NewControllerServiceClient(rpc.GetHTTPClient(b.Bind.String()), b.Bind.String()) - if err := rpc.Wait(ctx, backoff.Backoff{}, b.ControllerTimeout, client); err != nil { + controllerClient := ftlv1connect.NewControllerServiceClient(rpc.GetHTTPClient(b.Bind.String()), b.Bind.String()) + schemaClient := ftlv1connect.NewSchemaServiceClient(rpc.GetHTTPClient(b.Bind.String()), b.Bind.String()) + if err := rpc.Wait(ctx, backoff.Backoff{}, b.ControllerTimeout, controllerClient); err != nil { return fmt.Errorf("controller failed to start: %w", err) } - engine, err := buildengine.New(ctx, client, projConfig, []string{b.Dir}) + engine, err := buildengine.New(ctx, controllerClient, schemaClient, projConfig, []string{b.Dir}) if err != nil { return fmt.Errorf("failed to create build engine: %w", err) } diff --git a/frontend/cli/cmd_build.go b/frontend/cli/cmd_build.go index aa9e8c02d4..16261bfab5 100644 --- a/frontend/cli/cmd_build.go +++ b/frontend/cli/cmd_build.go @@ -16,7 +16,12 @@ type buildCmd struct { BuildEnv []string `help:"Environment variables to set for the build."` } -func (b *buildCmd) Run(ctx context.Context, client ftlv1connect.ControllerServiceClient, projConfig projectconfig.Config) error { +func (b *buildCmd) Run( + ctx context.Context, + controllerClient ftlv1connect.ControllerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, + projConfig projectconfig.Config, +) error { if len(b.Dirs) == 0 { b.Dirs = projConfig.AbsModuleDirs() } @@ -27,7 +32,15 @@ func (b *buildCmd) Run(ctx context.Context, client ftlv1connect.ControllerServic // Cancel build engine context to ensure all language plugins are killed. ctx, cancel := context.WithCancel(ctx) defer cancel() - engine, err := buildengine.New(ctx, client, projConfig, b.Dirs, buildengine.BuildEnv(b.BuildEnv), buildengine.Parallelism(b.Parallelism)) + engine, err := buildengine.New( + ctx, + controllerClient, + schemaClient, + projConfig, + b.Dirs, + buildengine.BuildEnv(b.BuildEnv), + buildengine.Parallelism(b.Parallelism), + ) if err != nil { return err } diff --git a/frontend/cli/cmd_call.go b/frontend/cli/cmd_call.go index 26e2bdb84d..803c8b58d6 100644 --- a/frontend/cli/cmd_call.go +++ b/frontend/cli/cmd_call.go @@ -28,8 +28,12 @@ type callCmd struct { Request string `arg:"" optional:"" help:"JSON5 request payload." default:"{}"` } -func (c *callCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClient, ctlCli ftlv1connect.ControllerServiceClient) error { - if err := rpc.Wait(ctx, backoff.Backoff{Max: time.Second * 2}, c.Wait, client); err != nil { +func (c *callCmd) Run( + ctx context.Context, + verbClient ftlv1connect.VerbServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, +) error { + if err := rpc.Wait(ctx, backoff.Backoff{Max: time.Second * 2}, c.Wait, verbClient); err != nil { return err } @@ -46,19 +50,25 @@ func (c *callCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClient logger.Debugf("Calling %s", c.Verb) - return callVerb(ctx, client, ctlCli, c.Verb, requestJSON) + return callVerb(ctx, verbClient, schemaClient, c.Verb, requestJSON) } -func callVerb(ctx context.Context, client ftlv1connect.VerbServiceClient, ctlCli ftlv1connect.ControllerServiceClient, verb reflection.Ref, requestJSON []byte) error { +func callVerb( + ctx context.Context, + verbClient ftlv1connect.VerbServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, + verb reflection.Ref, + requestJSON []byte, +) error { logger := log.FromContext(ctx) // otherwise, we have a match so call the verb - resp, err := client.Call(ctx, connect.NewRequest(&ftlv1.CallRequest{ + resp, err := verbClient.Call(ctx, connect.NewRequest(&ftlv1.CallRequest{ Verb: verb.ToProto(), Body: requestJSON, })) if cerr := new(connect.Error); errors.As(err, &cerr) && cerr.Code() == connect.CodeNotFound { - suggestions, err := findSuggestions(ctx, ctlCli, verb) + suggestions, err := findSuggestions(ctx, schemaClient, verb) // If we have suggestions, return a helpful error message, otherwise continue to the original error. if err == nil { @@ -84,11 +94,15 @@ func callVerb(ctx context.Context, client ftlv1connect.VerbServiceClient, ctlCli // findSuggestions looks up the schema and finds verbs that are similar to the one that was not found // it uses the levenshtein distance to determine similarity - if the distance is less than 40% of the length of the verb, // it returns an error if no closely matching suggestions are found -func findSuggestions(ctx context.Context, client ftlv1connect.ControllerServiceClient, verb reflection.Ref) ([]string, error) { +func findSuggestions( + ctx context.Context, + schemaClient ftlv1connect.SchemaServiceClient, + verb reflection.Ref, +) ([]string, error) { logger := log.FromContext(ctx) // lookup the verbs - res, err := client.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) + res, err := schemaClient.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err != nil { return nil, err } diff --git a/frontend/cli/cmd_deploy.go b/frontend/cli/cmd_deploy.go index e8e1b4e700..c2cd21f75c 100644 --- a/frontend/cli/cmd_deploy.go +++ b/frontend/cli/cmd_deploy.go @@ -7,7 +7,6 @@ import ( "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1beta1/provisioner/provisionerconnect" "github.com/TBD54566975/ftl/internal/buildengine" "github.com/TBD54566975/ftl/internal/projectconfig" - "github.com/TBD54566975/ftl/internal/rpc" ) type deployCmd struct { @@ -17,18 +16,28 @@ type deployCmd struct { Build buildCmd `embed:""` } -func (d *deployCmd) Run(ctx context.Context, projConfig projectconfig.Config) error { +func (d *deployCmd) Run( + ctx context.Context, + projConfig projectconfig.Config, + provisionerClient provisionerconnect.ProvisionerServiceClient, + controllerClient ftlv1connect.ControllerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, +) error { var client buildengine.DeployClient if d.UseProvisioner { - client = rpc.ClientFromContext[provisionerconnect.ProvisionerServiceClient](ctx) + client = provisionerClient } else { - client = rpc.ClientFromContext[ftlv1connect.ControllerServiceClient](ctx) + client = controllerClient } // Cancel build engine context to ensure all language plugins are killed. ctx, cancel := context.WithCancel(ctx) defer cancel() - engine, err := buildengine.New(ctx, client, projConfig, d.Build.Dirs, buildengine.BuildEnv(d.Build.BuildEnv), buildengine.Parallelism(d.Build.Parallelism)) + engine, err := buildengine.New( + ctx, client, schemaClient, projConfig, d.Build.Dirs, + buildengine.BuildEnv(d.Build.BuildEnv), + buildengine.Parallelism(d.Build.Parallelism), + ) if err != nil { return err } diff --git a/frontend/cli/cmd_dev.go b/frontend/cli/cmd_dev.go index ca21b8c2f9..39b8f9499c 100644 --- a/frontend/cli/cmd_dev.go +++ b/frontend/cli/cmd_dev.go @@ -36,11 +36,16 @@ type devCmd struct { func (d *devCmd) Run( ctx context.Context, + cli *CLI, k *kong.Kong, + kctx *kong.Context, cm *manager.Manager[configuration.Configuration], sm *manager.Manager[configuration.Secrets], projConfig projectconfig.Config, bindContext terminal.KongContextBinder, + schemaClient ftlv1connect.SchemaServiceClient, + controllerClient ftlv1connect.ControllerServiceClient, + provisionerClient provisionerconnect.ProvisionerServiceClient, ) error { startTime := time.Now() if len(d.Build.Dirs) == 0 { @@ -50,9 +55,7 @@ func (d *devCmd) Run( return errors.New("no directories specified") } - controllerClient := rpc.ClientFromContext[ftlv1connect.ControllerServiceClient](ctx) - terminal.LaunchEmbeddedConsole(ctx, k, bindContext, controllerClient) - + terminal.LaunchEmbeddedConsole(ctx, k, bindContext, schemaClient) var client buildengine.DeployClient = controllerClient if d.ServeCmd.Provisioners > 0 { client = rpc.ClientFromContext[provisionerconnect.ProvisionerServiceClient](ctx) @@ -85,15 +88,15 @@ func (d *devCmd) Run( controllerReady := make(chan bool, 1) if !d.NoServe { if d.ServeCmd.Stop { - err := d.ServeCmd.Run(ctx, cm, sm, projConfig) + _, err := kctx.Call(d.ServeCmd.Run) if err != nil { - return err + return fmt.Errorf("failed to stop server: %w", err) } d.ServeCmd.Stop = false } g.Go(func() error { - return d.ServeCmd.run(ctx, projConfig, cm, sm, optional.Some(controllerReady), true, bindAllocator) + return d.ServeCmd.run(ctx, projConfig, cm, sm, optional.Some(controllerReady), true, bindAllocator, controllerClient, provisionerClient, schemaClient) }) } @@ -114,7 +117,7 @@ func (d *devCmd) Run( }) } - engine, err := buildengine.New(ctx, client, projConfig, d.Build.Dirs, opts...) + engine, err := buildengine.New(ctx, client, schemaClient, projConfig, d.Build.Dirs, opts...) if err != nil { return err } diff --git a/frontend/cli/cmd_interactive.go b/frontend/cli/cmd_interactive.go index b3c2643820..442a94247e 100644 --- a/frontend/cli/cmd_interactive.go +++ b/frontend/cli/cmd_interactive.go @@ -7,14 +7,13 @@ import ( "github.com/alecthomas/kong" "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/ftlv1connect" - "github.com/TBD54566975/ftl/internal/projectconfig" "github.com/TBD54566975/ftl/internal/terminal" ) type interactiveCmd struct { } -func (i *interactiveCmd) Run(ctx context.Context, k *kong.Kong, projectConfig projectconfig.Config, binder terminal.KongContextBinder, cancel context.CancelFunc, client ftlv1connect.ControllerServiceClient) error { +func (i *interactiveCmd) Run(ctx context.Context, k *kong.Kong, binder terminal.KongContextBinder, client ftlv1connect.SchemaServiceClient) error { err := terminal.RunInteractiveConsole(ctx, k, binder, client) if err != nil { return fmt.Errorf("interactive console: %w", err) diff --git a/frontend/cli/cmd_replay.go b/frontend/cli/cmd_replay.go index 37a6425c95..bc609bd270 100644 --- a/frontend/cli/cmd_replay.go +++ b/frontend/cli/cmd_replay.go @@ -25,11 +25,15 @@ type replayCmd struct { Verb reflection.Ref `arg:"" required:"" help:"Full path of Verb to call." predictor:"verbs"` } -func (c *replayCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClient, ctlCli ftlv1connect.ControllerServiceClient) error { +func (c *replayCmd) Run( + ctx context.Context, + verbClient ftlv1connect.VerbServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, +) error { // Wait timeout is for both pings to complete, not each ping individually startTime := time.Now() - if err := rpc.Wait(ctx, backoff.Backoff{Max: time.Second * 2}, c.Wait, client); err != nil { + if err := rpc.Wait(ctx, backoff.Backoff{Max: time.Second * 2}, c.Wait, verbClient); err != nil { return fmt.Errorf("failed to wait for client: %w", err) } @@ -42,7 +46,7 @@ func (c *replayCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClie // First check the verb is valid // lookup the verbs - res, err := ctlCli.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) + res, err := schemaClient.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err != nil { return fmt.Errorf("failed to get schema: %w", err) } @@ -64,7 +68,7 @@ func (c *replayCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClie } } if !found { - suggestions, err := findSuggestions(ctx, ctlCli, c.Verb) + suggestions, err := findSuggestions(ctx, schemaClient, c.Verb) // if we have suggestions, return a helpful error message. otherwise continue to the original error if err == nil { return fmt.Errorf("verb not found: %s\n\nDid you mean one of these?\n%s", c.Verb, strings.Join(suggestions, "\n")) @@ -102,5 +106,5 @@ func (c *replayCmd) Run(ctx context.Context, client ftlv1connect.VerbServiceClie logger.Infof("Calling %s with body:", c.Verb) status.PrintJSON(ctx, []byte(requestJSON)) logger.Infof("Response:") - return callVerb(ctx, client, ctlCli, c.Verb, []byte(requestJSON)) + return callVerb(ctx, verbClient, schemaClient, c.Verb, []byte(requestJSON)) } diff --git a/frontend/cli/cmd_schema_diff.go b/frontend/cli/cmd_schema_diff.go index e33facc8cf..a2313a4237 100644 --- a/frontend/cli/cmd_schema_diff.go +++ b/frontend/cli/cmd_schema_diff.go @@ -18,9 +18,7 @@ import ( ftlv1 "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1" "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/ftlv1connect" schemapb "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/schema" - "github.com/TBD54566975/ftl/internal/log" "github.com/TBD54566975/ftl/internal/projectconfig" - "github.com/TBD54566975/ftl/internal/rpc" "github.com/TBD54566975/ftl/internal/schema" "github.com/TBD54566975/ftl/internal/terminal" "github.com/TBD54566975/ftl/internal/watch" @@ -31,7 +29,12 @@ type schemaDiffCmd struct { Color bool `help:"Enable colored output regardless of TTY."` } -func (d *schemaDiffCmd) Run(ctx context.Context, currentURL *url.URL, projConfig projectconfig.Config) error { +func (d *schemaDiffCmd) Run( + ctx context.Context, + currentURL *url.URL, + projConfig projectconfig.Config, + schemaClient ftlv1connect.SchemaServiceClient, +) error { var other *schema.Schema var err error sameModulesOnly := false @@ -42,12 +45,12 @@ func (d *schemaDiffCmd) Run(ctx context.Context, currentURL *url.URL, projConfig other, err = localSchema(ctx, projConfig) } else { - other, err = schemaForURL(ctx, d.OtherEndpoint) + other, err = schemaForURL(ctx, schemaClient, d.OtherEndpoint) } if err != nil { return fmt.Errorf("failed to get other schema: %w", err) } - current, err := schemaForURL(ctx, *currentURL) + current, err := schemaForURL(ctx, schemaClient, *currentURL) if err != nil { return fmt.Errorf("failed to get current schema: %w", err) } @@ -129,9 +132,8 @@ func localSchema(ctx context.Context, projectConfig projectconfig.Config) (*sche return sch, nil } -func schemaForURL(ctx context.Context, url url.URL) (*schema.Schema, error) { - client := rpc.Dial(ftlv1connect.NewControllerServiceClient, url.String(), log.Error) - resp, err := client.PullSchema(ctx, connect.NewRequest(&ftlv1.PullSchemaRequest{})) +func schemaForURL(ctx context.Context, schemaClient ftlv1connect.SchemaServiceClient, url url.URL) (*schema.Schema, error) { + resp, err := schemaClient.PullSchema(ctx, connect.NewRequest(&ftlv1.PullSchemaRequest{})) if err != nil { return nil, fmt.Errorf("url %s: failed to pull schema: %w", url.String(), err) } diff --git a/frontend/cli/cmd_schema_generate.go b/frontend/cli/cmd_schema_generate.go index 4f850555f8..52cac14670 100644 --- a/frontend/cli/cmd_schema_generate.go +++ b/frontend/cli/cmd_schema_generate.go @@ -29,15 +29,15 @@ type schemaGenerateCmd struct { ReconnectDelay time.Duration `help:"Delay before attempting to reconnect to FTL." default:"5s"` } -func (s *schemaGenerateCmd) Run(ctx context.Context, client ftlv1connect.ControllerServiceClient) error { +func (s *schemaGenerateCmd) Run(ctx context.Context, client ftlv1connect.SchemaServiceClient) error { if s.Watch == 0 { return s.oneOffGenerate(ctx, client) } return s.hotReload(ctx, client) } -func (s *schemaGenerateCmd) oneOffGenerate(ctx context.Context, client ftlv1connect.ControllerServiceClient) error { - response, err := client.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) +func (s *schemaGenerateCmd) oneOffGenerate(ctx context.Context, schemaClient ftlv1connect.SchemaServiceClient) error { + response, err := schemaClient.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err != nil { return fmt.Errorf("failed to get schema: %w", err) } @@ -48,7 +48,7 @@ func (s *schemaGenerateCmd) oneOffGenerate(ctx context.Context, client ftlv1conn return s.regenerateModules(log.FromContext(ctx), modules) } -func (s *schemaGenerateCmd) hotReload(ctx context.Context, client ftlv1connect.ControllerServiceClient) error { +func (s *schemaGenerateCmd) hotReload(ctx context.Context, client ftlv1connect.SchemaServiceClient) error { watch := watcher.New() defer watch.Close() diff --git a/frontend/cli/cmd_schema_get.go b/frontend/cli/cmd_schema_get.go index 8039f2a0fe..2f18583d99 100644 --- a/frontend/cli/cmd_schema_get.go +++ b/frontend/cli/cmd_schema_get.go @@ -23,7 +23,7 @@ type getSchemaCmd struct { Modules []string `help:"Modules to include" type:"string" optional:""` } -func (g *getSchemaCmd) Run(ctx context.Context, client ftlv1connect.ControllerServiceClient) error { +func (g *getSchemaCmd) Run(ctx context.Context, client ftlv1connect.SchemaServiceClient) error { resp, err := client.PullSchema(ctx, connect.NewRequest(&ftlv1.PullSchemaRequest{})) if err != nil { return err diff --git a/frontend/cli/cmd_serve.go b/frontend/cli/cmd_serve.go index 4c55ce54eb..4991933b83 100644 --- a/frontend/cli/cmd_serve.go +++ b/frontend/cli/cmd_serve.go @@ -64,12 +64,15 @@ func (s *serveCmd) Run( cm *manager.Manager[configuration.Configuration], sm *manager.Manager[configuration.Secrets], projConfig projectconfig.Config, + controllerClient ftlv1connect.ControllerServiceClient, + provisionerClient provisionerconnect.ProvisionerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, ) error { bindAllocator, err := bind.NewBindAllocator(s.Bind, 2) if err != nil { return fmt.Errorf("could not create bind allocator: %w", err) } - return s.run(ctx, projConfig, cm, sm, optional.None[chan bool](), false, bindAllocator) + return s.run(ctx, projConfig, cm, sm, optional.None[chan bool](), false, bindAllocator, controllerClient, provisionerClient, schemaClient) } //nolint:maintidx @@ -81,10 +84,11 @@ func (s *serveCmd) run( initialised optional.Option[chan bool], devMode bool, bindAllocator *bind.BindAllocator, + controllerClient ftlv1connect.ControllerServiceClient, + provisionerClient provisionerconnect.ProvisionerServiceClient, + schemaClient ftlv1connect.SchemaServiceClient, ) error { logger := log.FromContext(ctx) - controllerClient := rpc.ClientFromContext[ftlv1connect.ControllerServiceClient](ctx) - provisionerClient := rpc.ClientFromContext[provisionerconnect.ProvisionerServiceClient](ctx) if s.Background { if s.Stop { @@ -256,7 +260,7 @@ func (s *serveCmd) run( } wg.Go(func() error { - if err := provisioner.Start(provisionerCtx, config, registry, controllerClient); err != nil { + if err := provisioner.Start(provisionerCtx, config, registry, controllerClient, schemaClient); err != nil { logger.Errorf(err, "provisioner%d failed: %v", i, err) return fmt.Errorf("provisioner%d failed: %w", i, err) } diff --git a/frontend/cli/main.go b/frontend/cli/main.go index 3ed83add67..939986a19c 100644 --- a/frontend/cli/main.go +++ b/frontend/cli/main.go @@ -215,6 +215,10 @@ func makeBindContext(logger *log.Logger, cancel context.CancelFunc) terminal.Kon kctx.FatalIfErrorf(err) kctx.Bind(logger) + schemaServiceClient := rpc.Dial(ftlv1connect.NewSchemaServiceClient, cli.Endpoint.String(), log.Error) + ctx = rpc.ContextWithClient(ctx, schemaServiceClient) + kctx.BindTo(schemaServiceClient, (*ftlv1connect.SchemaServiceClient)(nil)) + controllerServiceClient := rpc.Dial(ftlv1connect.NewControllerServiceClient, cli.Endpoint.String(), log.Error) ctx = rpc.ContextWithClient(ctx, controllerServiceClient) kctx.BindTo(controllerServiceClient, (*ftlv1connect.ControllerServiceClient)(nil)) @@ -233,7 +237,7 @@ func makeBindContext(logger *log.Logger, cancel context.CancelFunc) terminal.Kon }) kctx.FatalIfErrorf(err) - kongcompletion.Register(kctx.Kong, kongcompletion.WithPredictors(terminal.Predictors(ctx, controllerServiceClient))) + kongcompletion.Register(kctx.Kong, kongcompletion.WithPredictors(terminal.Predictors(ctx, schemaServiceClient))) verbServiceClient := rpc.Dial(ftlv1connect.NewVerbServiceClient, cli.Endpoint.String(), log.Error) ctx = rpc.ContextWithClient(ctx, verbServiceClient) diff --git a/frontend/cli/testdata/go/echo/go.mod b/frontend/cli/testdata/go/echo/go.mod index 3edfcedde5..0318e103c4 100644 --- a/frontend/cli/testdata/go/echo/go.mod +++ b/frontend/cli/testdata/go/echo/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/frontend/cli/testdata/go/echo/go.sum b/frontend/cli/testdata/go/echo/go.sum index 428b0e41d2..51229e8c30 100644 --- a/frontend/cli/testdata/go/echo/go.sum +++ b/frontend/cli/testdata/go/echo/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/frontend/cli/testdata/go/time/go.mod b/frontend/cli/testdata/go/time/go.mod index cb43a029b3..a1b73091bd 100644 --- a/frontend/cli/testdata/go/time/go.mod +++ b/frontend/cli/testdata/go/time/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/frontend/cli/testdata/go/time/go.sum b/frontend/cli/testdata/go/time/go.sum index 428b0e41d2..51229e8c30 100644 --- a/frontend/cli/testdata/go/time/go.sum +++ b/frontend/cli/testdata/go/time/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/frontend/console/src/api/schema/use-schema.ts b/frontend/console/src/api/schema/use-schema.ts index 8ba02b7995..0ccd35b422 100644 --- a/frontend/console/src/api/schema/use-schema.ts +++ b/frontend/console/src/api/schema/use-schema.ts @@ -2,21 +2,21 @@ import { Code, ConnectError } from '@connectrpc/connect' import { type UseQueryResult, useQuery, useQueryClient } from '@tanstack/react-query' import { useClient } from '../../hooks/use-client.ts' import { useVisibility } from '../../hooks/use-visibility.ts' -import { ControllerService } from '../../protos/xyz/block/ftl/v1/controller_connect.ts' -import { DeploymentChangeType, type PullSchemaResponse } from '../../protos/xyz/block/ftl/v1/controller_pb.ts' +import { SchemaService } from '../../protos/xyz/block/ftl/v1/schemaservice_connect.ts' +import { DeploymentChangeType, type PullSchemaResponse } from '../../protos/xyz/block/ftl/v1/schemaservice_pb.ts' const streamingSchemaKey = 'streamingSchema' const currentDeployments: Record = {} const schemaMap: Record = {} export const useSchema = (): UseQueryResult => { - const client = useClient(ControllerService) + const schemaClient = useClient(SchemaService) const queryClient = useQueryClient() const isVisible = useVisibility() const streamSchema = async (signal: AbortSignal) => { try { - for await (const response of client.pullSchema({}, { signal })) { + for await (const response of schemaClient.pullSchema({}, { signal })) { const moduleName = response.moduleName ?? '' const deploymentKey = response.deploymentKey ?? '' console.log(`schema changed: ${DeploymentChangeType[response.changeType]} ${deploymentKey}`) diff --git a/frontend/console/src/features/command-pallete/command-palette.utils.ts b/frontend/console/src/features/command-pallete/command-palette.utils.ts index bbfaf01dfe..184ea5f4bc 100644 --- a/frontend/console/src/features/command-pallete/command-palette.utils.ts +++ b/frontend/console/src/features/command-pallete/command-palette.utils.ts @@ -1,5 +1,5 @@ import { type HugeiconsProps, PackageIcon } from 'hugeicons-react' -import type { PullSchemaResponse } from '../../protos/xyz/block/ftl/v1/controller_pb' +import type { PullSchemaResponse } from '../../protos/xyz/block/ftl/v1/schemaservice_pb' import { declIcon, declTypeName, declUrl } from '../modules/module.utils' export interface PaletteItem { diff --git a/frontend/console/src/protos/xyz/block/ftl/v1/controller_connect.ts b/frontend/console/src/protos/xyz/block/ftl/v1/controller_connect.ts index 5c957dc1a6..a3123d30d7 100644 --- a/frontend/console/src/protos/xyz/block/ftl/v1/controller_connect.ts +++ b/frontend/console/src/protos/xyz/block/ftl/v1/controller_connect.ts @@ -5,7 +5,7 @@ import { PingRequest, PingResponse } from "./ftl_pb.js"; import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf"; -import { CreateDeploymentRequest, CreateDeploymentResponse, GetArtefactDiffsRequest, GetArtefactDiffsResponse, GetCertificationRequest, GetCertificationResponse, GetDeploymentArtefactsRequest, GetDeploymentArtefactsResponse, GetDeploymentRequest, GetDeploymentResponse, GetSchemaRequest, GetSchemaResponse, ProcessListRequest, ProcessListResponse, PullSchemaRequest, PullSchemaResponse, RegisterRunnerRequest, RegisterRunnerResponse, ReplaceDeployRequest, ReplaceDeployResponse, ResetSubscriptionRequest, ResetSubscriptionResponse, StatusRequest, StatusResponse, StreamDeploymentLogsRequest, StreamDeploymentLogsResponse, UpdateDeployRequest, UpdateDeployResponse, UploadArtefactRequest, UploadArtefactResponse } from "./controller_pb.js"; +import { CreateDeploymentRequest, CreateDeploymentResponse, GetArtefactDiffsRequest, GetArtefactDiffsResponse, GetCertificationRequest, GetCertificationResponse, GetDeploymentArtefactsRequest, GetDeploymentArtefactsResponse, GetDeploymentRequest, GetDeploymentResponse, ProcessListRequest, ProcessListResponse, RegisterRunnerRequest, RegisterRunnerResponse, ReplaceDeployRequest, ReplaceDeployResponse, ResetSubscriptionRequest, ResetSubscriptionResponse, StatusRequest, StatusResponse, StreamDeploymentLogsRequest, StreamDeploymentLogsResponse, UpdateDeployRequest, UpdateDeployResponse, UploadArtefactRequest, UploadArtefactResponse } from "./controller_pb.js"; /** * @generated from service xyz.block.ftl.v1.ControllerService @@ -164,31 +164,6 @@ export const ControllerService = { O: StreamDeploymentLogsResponse, kind: MethodKind.ClientStreaming, }, - /** - * Get the full schema. - * - * @generated from rpc xyz.block.ftl.v1.ControllerService.GetSchema - */ - getSchema: { - name: "GetSchema", - I: GetSchemaRequest, - O: GetSchemaResponse, - kind: MethodKind.Unary, - }, - /** - * Pull schema changes from the Controller. - * - * Note that if there are no deployments this will block indefinitely, making it unsuitable for - * just retrieving the schema. Use GetSchema for that. - * - * @generated from rpc xyz.block.ftl.v1.ControllerService.PullSchema - */ - pullSchema: { - name: "PullSchema", - I: PullSchemaRequest, - O: PullSchemaResponse, - kind: MethodKind.ServerStreaming, - }, /** * Reset the cursor for a subscription to the head of its topic. * diff --git a/frontend/console/src/protos/xyz/block/ftl/v1/controller_pb.ts b/frontend/console/src/protos/xyz/block/ftl/v1/controller_pb.ts index 0b33a45274..256dc242b2 100644 --- a/frontend/console/src/protos/xyz/block/ftl/v1/controller_pb.ts +++ b/frontend/console/src/protos/xyz/block/ftl/v1/controller_pb.ts @@ -5,33 +5,7 @@ import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; import { Message, proto3, Struct, Timestamp } from "@bufbuild/protobuf"; -import { Module, Ref, Schema } from "./schema/schema_pb.js"; - -/** - * @generated from enum xyz.block.ftl.v1.DeploymentChangeType - */ -export enum DeploymentChangeType { - /** - * @generated from enum value: DEPLOYMENT_ADDED = 0; - */ - DEPLOYMENT_ADDED = 0, - - /** - * @generated from enum value: DEPLOYMENT_REMOVED = 1; - */ - DEPLOYMENT_REMOVED = 1, - - /** - * @generated from enum value: DEPLOYMENT_CHANGED = 2; - */ - DEPLOYMENT_CHANGED = 2, -} -// Retrieve enum metadata with: proto3.getEnumType(DeploymentChangeType) -proto3.util.setEnumType(DeploymentChangeType, "xyz.block.ftl.v1.DeploymentChangeType", [ - { no: 0, name: "DEPLOYMENT_ADDED" }, - { no: 1, name: "DEPLOYMENT_REMOVED" }, - { no: 2, name: "DEPLOYMENT_CHANGED" }, -]); +import { Module, Ref } from "./schema/schema_pb.js"; /** * @generated from message xyz.block.ftl.v1.GetCertificationRequest @@ -201,171 +175,6 @@ export class Certificate extends Message { } } -/** - * @generated from message xyz.block.ftl.v1.GetSchemaRequest - */ -export class GetSchemaRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "xyz.block.ftl.v1.GetSchemaRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetSchemaRequest { - return new GetSchemaRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetSchemaRequest { - return new GetSchemaRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetSchemaRequest { - return new GetSchemaRequest().fromJsonString(jsonString, options); - } - - static equals(a: GetSchemaRequest | PlainMessage | undefined, b: GetSchemaRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(GetSchemaRequest, a, b); - } -} - -/** - * @generated from message xyz.block.ftl.v1.GetSchemaResponse - */ -export class GetSchemaResponse extends Message { - /** - * @generated from field: xyz.block.ftl.v1.schema.Schema schema = 1; - */ - schema?: Schema; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "xyz.block.ftl.v1.GetSchemaResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "schema", kind: "message", T: Schema }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): GetSchemaResponse { - return new GetSchemaResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): GetSchemaResponse { - return new GetSchemaResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): GetSchemaResponse { - return new GetSchemaResponse().fromJsonString(jsonString, options); - } - - static equals(a: GetSchemaResponse | PlainMessage | undefined, b: GetSchemaResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(GetSchemaResponse, a, b); - } -} - -/** - * @generated from message xyz.block.ftl.v1.PullSchemaRequest - */ -export class PullSchemaRequest extends Message { - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "xyz.block.ftl.v1.PullSchemaRequest"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): PullSchemaRequest { - return new PullSchemaRequest().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): PullSchemaRequest { - return new PullSchemaRequest().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): PullSchemaRequest { - return new PullSchemaRequest().fromJsonString(jsonString, options); - } - - static equals(a: PullSchemaRequest | PlainMessage | undefined, b: PullSchemaRequest | PlainMessage | undefined): boolean { - return proto3.util.equals(PullSchemaRequest, a, b); - } -} - -/** - * @generated from message xyz.block.ftl.v1.PullSchemaResponse - */ -export class PullSchemaResponse extends Message { - /** - * @generated from field: string deployment_key = 1; - */ - deploymentKey = ""; - - /** - * @generated from field: string module_name = 2; - */ - moduleName = ""; - - /** - * For deletes this will not be present. - * - * @generated from field: optional xyz.block.ftl.v1.schema.Module schema = 4; - */ - schema?: Module; - - /** - * If true there are more schema changes immediately following this one as part of the initial batch. - * If false this is the last schema change in the initial batch, but others may follow later. - * - * @generated from field: bool more = 3; - */ - more = false; - - /** - * @generated from field: xyz.block.ftl.v1.DeploymentChangeType change_type = 5; - */ - changeType = DeploymentChangeType.DEPLOYMENT_ADDED; - - constructor(data?: PartialMessage) { - super(); - proto3.util.initPartial(data, this); - } - - static readonly runtime: typeof proto3 = proto3; - static readonly typeName = "xyz.block.ftl.v1.PullSchemaResponse"; - static readonly fields: FieldList = proto3.util.newFieldList(() => [ - { no: 1, name: "deployment_key", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 2, name: "module_name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, - { no: 4, name: "schema", kind: "message", T: Module, opt: true }, - { no: 3, name: "more", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, - { no: 5, name: "change_type", kind: "enum", T: proto3.getEnumType(DeploymentChangeType) }, - ]); - - static fromBinary(bytes: Uint8Array, options?: Partial): PullSchemaResponse { - return new PullSchemaResponse().fromBinary(bytes, options); - } - - static fromJson(jsonValue: JsonValue, options?: Partial): PullSchemaResponse { - return new PullSchemaResponse().fromJson(jsonValue, options); - } - - static fromJsonString(jsonString: string, options?: Partial): PullSchemaResponse { - return new PullSchemaResponse().fromJsonString(jsonString, options); - } - - static equals(a: PullSchemaResponse | PlainMessage | undefined, b: PullSchemaResponse | PlainMessage | undefined): boolean { - return proto3.util.equals(PullSchemaResponse, a, b); - } -} - /** * @generated from message xyz.block.ftl.v1.GetArtefactDiffsRequest */ diff --git a/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_connect.ts b/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_connect.ts new file mode 100644 index 0000000000..4465a66a24 --- /dev/null +++ b/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_connect.ts @@ -0,0 +1,57 @@ +// @generated by protoc-gen-connect-es v1.6.1 with parameter "target=ts" +// @generated from file xyz/block/ftl/v1/schemaservice.proto (package xyz.block.ftl.v1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import { PingRequest, PingResponse } from "./ftl_pb.js"; +import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf"; +import { GetSchemaRequest, GetSchemaResponse, PullSchemaRequest, PullSchemaResponse } from "./schemaservice_pb.js"; + +/** + * @generated from service xyz.block.ftl.v1.SchemaService + */ +export const SchemaService = { + typeName: "xyz.block.ftl.v1.SchemaService", + methods: { + /** + * Ping service for readiness. + * + * @generated from rpc xyz.block.ftl.v1.SchemaService.Ping + */ + ping: { + name: "Ping", + I: PingRequest, + O: PingResponse, + kind: MethodKind.Unary, + idempotency: MethodIdempotency.NoSideEffects, + }, + /** + * Get the full schema. + * + * @generated from rpc xyz.block.ftl.v1.SchemaService.GetSchema + */ + getSchema: { + name: "GetSchema", + I: GetSchemaRequest, + O: GetSchemaResponse, + kind: MethodKind.Unary, + idempotency: MethodIdempotency.NoSideEffects, + }, + /** + * Pull schema changes from the Controller. + * + * Note that if there are no deployments this will block indefinitely, making it unsuitable for + * just retrieving the schema. Use GetSchema for that. + * + * @generated from rpc xyz.block.ftl.v1.SchemaService.PullSchema + */ + pullSchema: { + name: "PullSchema", + I: PullSchemaRequest, + O: PullSchemaResponse, + kind: MethodKind.ServerStreaming, + idempotency: MethodIdempotency.NoSideEffects, + }, + } +} as const; + diff --git a/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_pb.ts b/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_pb.ts new file mode 100644 index 0000000000..101dc9c9ec --- /dev/null +++ b/frontend/console/src/protos/xyz/block/ftl/v1/schemaservice_pb.ts @@ -0,0 +1,200 @@ +// @generated by protoc-gen-es v1.10.0 with parameter "target=ts" +// @generated from file xyz/block/ftl/v1/schemaservice.proto (package xyz.block.ftl.v1, syntax proto3) +/* eslint-disable */ +// @ts-nocheck + +import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf"; +import { Message, proto3 } from "@bufbuild/protobuf"; +import { Module, Schema } from "./schema/schema_pb.js"; + +/** + * @generated from enum xyz.block.ftl.v1.DeploymentChangeType + */ +export enum DeploymentChangeType { + /** + * @generated from enum value: DEPLOYMENT_ADDED = 0; + */ + DEPLOYMENT_ADDED = 0, + + /** + * @generated from enum value: DEPLOYMENT_REMOVED = 1; + */ + DEPLOYMENT_REMOVED = 1, + + /** + * @generated from enum value: DEPLOYMENT_CHANGED = 2; + */ + DEPLOYMENT_CHANGED = 2, +} +// Retrieve enum metadata with: proto3.getEnumType(DeploymentChangeType) +proto3.util.setEnumType(DeploymentChangeType, "xyz.block.ftl.v1.DeploymentChangeType", [ + { no: 0, name: "DEPLOYMENT_ADDED" }, + { no: 1, name: "DEPLOYMENT_REMOVED" }, + { no: 2, name: "DEPLOYMENT_CHANGED" }, +]); + +/** + * @generated from message xyz.block.ftl.v1.GetSchemaRequest + */ +export class GetSchemaRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "xyz.block.ftl.v1.GetSchemaRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetSchemaRequest { + return new GetSchemaRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetSchemaRequest { + return new GetSchemaRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetSchemaRequest { + return new GetSchemaRequest().fromJsonString(jsonString, options); + } + + static equals(a: GetSchemaRequest | PlainMessage | undefined, b: GetSchemaRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(GetSchemaRequest, a, b); + } +} + +/** + * @generated from message xyz.block.ftl.v1.GetSchemaResponse + */ +export class GetSchemaResponse extends Message { + /** + * @generated from field: xyz.block.ftl.v1.schema.Schema schema = 1; + */ + schema?: Schema; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "xyz.block.ftl.v1.GetSchemaResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "schema", kind: "message", T: Schema }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): GetSchemaResponse { + return new GetSchemaResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): GetSchemaResponse { + return new GetSchemaResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): GetSchemaResponse { + return new GetSchemaResponse().fromJsonString(jsonString, options); + } + + static equals(a: GetSchemaResponse | PlainMessage | undefined, b: GetSchemaResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(GetSchemaResponse, a, b); + } +} + +/** + * @generated from message xyz.block.ftl.v1.PullSchemaRequest + */ +export class PullSchemaRequest extends Message { + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "xyz.block.ftl.v1.PullSchemaRequest"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): PullSchemaRequest { + return new PullSchemaRequest().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): PullSchemaRequest { + return new PullSchemaRequest().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): PullSchemaRequest { + return new PullSchemaRequest().fromJsonString(jsonString, options); + } + + static equals(a: PullSchemaRequest | PlainMessage | undefined, b: PullSchemaRequest | PlainMessage | undefined): boolean { + return proto3.util.equals(PullSchemaRequest, a, b); + } +} + +/** + * @generated from message xyz.block.ftl.v1.PullSchemaResponse + */ +export class PullSchemaResponse extends Message { + /** + * @generated from field: string deployment_key = 1; + */ + deploymentKey = ""; + + /** + * @generated from field: string module_name = 2; + */ + moduleName = ""; + + /** + * For deletes this will not be present. + * + * @generated from field: optional xyz.block.ftl.v1.schema.Module schema = 4; + */ + schema?: Module; + + /** + * If true there are more schema changes immediately following this one as part of the initial batch. + * If false this is the last schema change in the initial batch, but others may follow later. + * + * @generated from field: bool more = 3; + */ + more = false; + + /** + * @generated from field: xyz.block.ftl.v1.DeploymentChangeType change_type = 5; + */ + changeType = DeploymentChangeType.DEPLOYMENT_ADDED; + + constructor(data?: PartialMessage) { + super(); + proto3.util.initPartial(data, this); + } + + static readonly runtime: typeof proto3 = proto3; + static readonly typeName = "xyz.block.ftl.v1.PullSchemaResponse"; + static readonly fields: FieldList = proto3.util.newFieldList(() => [ + { no: 1, name: "deployment_key", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 2, name: "module_name", kind: "scalar", T: 9 /* ScalarType.STRING */ }, + { no: 4, name: "schema", kind: "message", T: Module, opt: true }, + { no: 3, name: "more", kind: "scalar", T: 8 /* ScalarType.BOOL */ }, + { no: 5, name: "change_type", kind: "enum", T: proto3.getEnumType(DeploymentChangeType) }, + ]); + + static fromBinary(bytes: Uint8Array, options?: Partial): PullSchemaResponse { + return new PullSchemaResponse().fromBinary(bytes, options); + } + + static fromJson(jsonValue: JsonValue, options?: Partial): PullSchemaResponse { + return new PullSchemaResponse().fromJson(jsonValue, options); + } + + static fromJsonString(jsonString: string, options?: Partial): PullSchemaResponse { + return new PullSchemaResponse().fromJsonString(jsonString, options); + } + + static equals(a: PullSchemaResponse | PlainMessage | undefined, b: PullSchemaResponse | PlainMessage | undefined): boolean { + return proto3.util.equals(PullSchemaResponse, a, b); + } +} + diff --git a/frontend/console/src/protos/xyz/block/ftl/v1beta1/provisioner/service_connect.ts b/frontend/console/src/protos/xyz/block/ftl/v1beta1/provisioner/service_connect.ts index a9f5364aa6..3dc2e50cec 100644 --- a/frontend/console/src/protos/xyz/block/ftl/v1beta1/provisioner/service_connect.ts +++ b/frontend/console/src/protos/xyz/block/ftl/v1beta1/provisioner/service_connect.ts @@ -5,7 +5,7 @@ import { PingRequest, PingResponse } from "../../v1/ftl_pb.js"; import { MethodIdempotency, MethodKind } from "@bufbuild/protobuf"; -import { CreateDeploymentRequest, CreateDeploymentResponse, GetArtefactDiffsRequest, GetArtefactDiffsResponse, GetSchemaRequest, GetSchemaResponse, PullSchemaRequest, PullSchemaResponse, ReplaceDeployRequest, ReplaceDeployResponse, StatusRequest, StatusResponse, UpdateDeployRequest, UpdateDeployResponse, UploadArtefactRequest, UploadArtefactResponse } from "../../v1/controller_pb.js"; +import { CreateDeploymentRequest, CreateDeploymentResponse, GetArtefactDiffsRequest, GetArtefactDiffsResponse, ReplaceDeployRequest, ReplaceDeployResponse, StatusRequest, StatusResponse, UpdateDeployRequest, UpdateDeployResponse, UploadArtefactRequest, UploadArtefactResponse } from "../../v1/controller_pb.js"; /** * @generated from service xyz.block.ftl.v1beta1.provisioner.ProvisionerService @@ -77,24 +77,6 @@ export const ProvisionerService = { O: ReplaceDeployResponse, kind: MethodKind.Unary, }, - /** - * @generated from rpc xyz.block.ftl.v1beta1.provisioner.ProvisionerService.GetSchema - */ - getSchema: { - name: "GetSchema", - I: GetSchemaRequest, - O: GetSchemaResponse, - kind: MethodKind.Unary, - }, - /** - * @generated from rpc xyz.block.ftl.v1beta1.provisioner.ProvisionerService.PullSchema - */ - pullSchema: { - name: "PullSchema", - I: PullSchemaRequest, - O: PullSchemaResponse, - kind: MethodKind.ServerStreaming, - }, } } as const; diff --git a/go-runtime/compile/testdata/go/echo/go.mod b/go-runtime/compile/testdata/go/echo/go.mod index 3c2c68e161..90fff9e7ce 100644 --- a/go-runtime/compile/testdata/go/echo/go.mod +++ b/go-runtime/compile/testdata/go/echo/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/go-runtime/compile/testdata/go/echo/go.sum b/go-runtime/compile/testdata/go/echo/go.sum index ccb3e122ca..2e1820809b 100644 --- a/go-runtime/compile/testdata/go/echo/go.sum +++ b/go-runtime/compile/testdata/go/echo/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/compile/testdata/go/external/go.mod b/go-runtime/compile/testdata/go/external/go.mod index d473b75e26..236359bdd7 100644 --- a/go-runtime/compile/testdata/go/external/go.mod +++ b/go-runtime/compile/testdata/go/external/go.mod @@ -6,7 +6,7 @@ require github.com/TBD54566975/ftl v0.206.1 require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/swaggest/jsonschema-go v0.3.72 // indirect diff --git a/go-runtime/compile/testdata/go/external/go.sum b/go-runtime/compile/testdata/go/external/go.sum index 1c98a6eba7..b12117fb18 100644 --- a/go-runtime/compile/testdata/go/external/go.sum +++ b/go-runtime/compile/testdata/go/external/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/compile/testdata/go/notexportedverb/go.mod b/go-runtime/compile/testdata/go/notexportedverb/go.mod index 1cc89aae93..1220fe22b1 100644 --- a/go-runtime/compile/testdata/go/notexportedverb/go.mod +++ b/go-runtime/compile/testdata/go/notexportedverb/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/compile/testdata/go/notexportedverb/go.sum b/go-runtime/compile/testdata/go/notexportedverb/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/compile/testdata/go/notexportedverb/go.sum +++ b/go-runtime/compile/testdata/go/notexportedverb/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/compile/testdata/go/one/go.mod b/go-runtime/compile/testdata/go/one/go.mod index d28a05ccb1..e1521c686e 100644 --- a/go-runtime/compile/testdata/go/one/go.mod +++ b/go-runtime/compile/testdata/go/one/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/compile/testdata/go/one/go.sum b/go-runtime/compile/testdata/go/one/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/compile/testdata/go/one/go.sum +++ b/go-runtime/compile/testdata/go/one/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/compile/testdata/go/two/go.mod b/go-runtime/compile/testdata/go/two/go.mod index 5ba1d4a6d3..2b8c41f7f3 100644 --- a/go-runtime/compile/testdata/go/two/go.mod +++ b/go-runtime/compile/testdata/go/two/go.mod @@ -8,7 +8,7 @@ require github.com/TBD54566975/ftl v0.150.3 require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/stretchr/testify v1.9.0 // indirect diff --git a/go-runtime/compile/testdata/go/two/go.sum b/go-runtime/compile/testdata/go/two/go.sum index 830c5c6cbf..c84ec6898c 100644 --- a/go-runtime/compile/testdata/go/two/go.sum +++ b/go-runtime/compile/testdata/go/two/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/compile/testdata/go/undefinedverb/go.mod b/go-runtime/compile/testdata/go/undefinedverb/go.mod index 1cc89aae93..1220fe22b1 100644 --- a/go-runtime/compile/testdata/go/undefinedverb/go.mod +++ b/go-runtime/compile/testdata/go/undefinedverb/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/compile/testdata/go/undefinedverb/go.sum b/go-runtime/compile/testdata/go/undefinedverb/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/compile/testdata/go/undefinedverb/go.sum +++ b/go-runtime/compile/testdata/go/undefinedverb/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/encoding/testdata/go/omitempty/go.mod b/go-runtime/encoding/testdata/go/omitempty/go.mod index b4f1d83449..4422c9210b 100644 --- a/go-runtime/encoding/testdata/go/omitempty/go.mod +++ b/go-runtime/encoding/testdata/go/omitempty/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/encoding/testdata/go/omitempty/go.sum b/go-runtime/encoding/testdata/go/omitempty/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/encoding/testdata/go/omitempty/go.sum +++ b/go-runtime/encoding/testdata/go/omitempty/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/ftl/ftltest/testdata/go/outer/go.mod b/go-runtime/ftl/ftltest/testdata/go/outer/go.mod index e2a72fa66a..500c894615 100644 --- a/go-runtime/ftl/ftltest/testdata/go/outer/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/outer/go.mod @@ -12,7 +12,7 @@ require ( require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/hexops/gotextdiff v1.0.3 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/outer/go.sum b/go-runtime/ftl/ftltest/testdata/go/outer/go.sum index 1c98a6eba7..b12117fb18 100644 --- a/go-runtime/ftl/ftltest/testdata/go/outer/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/outer/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/ftl/ftltest/testdata/go/pubsub/go.mod b/go-runtime/ftl/ftltest/testdata/go/pubsub/go.mod index 8f7ad9bb33..f1aba74649 100644 --- a/go-runtime/ftl/ftltest/testdata/go/pubsub/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/pubsub/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/pubsub/go.sum b/go-runtime/ftl/ftltest/testdata/go/pubsub/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/ftltest/testdata/go/pubsub/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/pubsub/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/ftl/ftltest/testdata/go/subscriber/go.mod b/go-runtime/ftl/ftltest/testdata/go/subscriber/go.mod index 0d9b05f7ec..cad2d577e2 100644 --- a/go-runtime/ftl/ftltest/testdata/go/subscriber/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/subscriber/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/subscriber/go.sum b/go-runtime/ftl/ftltest/testdata/go/subscriber/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/ftltest/testdata/go/subscriber/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/subscriber/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/ftl/ftltest/testdata/go/time/go.mod b/go-runtime/ftl/ftltest/testdata/go/time/go.mod index beb77e4769..a492f68a1d 100644 --- a/go-runtime/ftl/ftltest/testdata/go/time/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/time/go.mod @@ -8,7 +8,7 @@ require github.com/TBD54566975/ftl v0.0.0-00010101000000-000000000000 require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/swaggest/jsonschema-go v0.3.72 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/time/go.sum b/go-runtime/ftl/ftltest/testdata/go/time/go.sum index 1c98a6eba7..b12117fb18 100644 --- a/go-runtime/ftl/ftltest/testdata/go/time/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/time/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.mod b/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.mod index 08fe6f34fa..7ee189d6c0 100644 --- a/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.mod @@ -21,7 +21,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.sum b/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/verbtypes/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/ftl/ftltest/testdata/go/wrapped/go.mod b/go-runtime/ftl/ftltest/testdata/go/wrapped/go.mod index 1c7ed2d10c..a2a836d372 100644 --- a/go-runtime/ftl/ftltest/testdata/go/wrapped/go.mod +++ b/go-runtime/ftl/ftltest/testdata/go/wrapped/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/ftltest/testdata/go/wrapped/go.sum b/go-runtime/ftl/ftltest/testdata/go/wrapped/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/ftltest/testdata/go/wrapped/go.sum +++ b/go-runtime/ftl/ftltest/testdata/go/wrapped/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.mod b/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.mod index 0ba2f09121..96a712ca85 100644 --- a/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.mod +++ b/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.sum b/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.sum +++ b/go-runtime/ftl/reflection/testdata/go/runtimereflection/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/ftl/testdata/go/echo/go.mod b/go-runtime/ftl/testdata/go/echo/go.mod index 7ca935cbae..5329b7d56a 100644 --- a/go-runtime/ftl/testdata/go/echo/go.mod +++ b/go-runtime/ftl/testdata/go/echo/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/ftl/testdata/go/echo/go.sum b/go-runtime/ftl/testdata/go/echo/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/ftl/testdata/go/echo/go.sum +++ b/go-runtime/ftl/testdata/go/echo/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/ftl/testdata/go/mapper/go.mod b/go-runtime/ftl/testdata/go/mapper/go.mod index b89b858c62..1cf2d441be 100644 --- a/go-runtime/ftl/testdata/go/mapper/go.mod +++ b/go-runtime/ftl/testdata/go/mapper/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/testdata/go/mapper/go.sum b/go-runtime/ftl/testdata/go/mapper/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/testdata/go/mapper/go.sum +++ b/go-runtime/ftl/testdata/go/mapper/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/ftl/testdata/go/typeregistry/go.mod b/go-runtime/ftl/testdata/go/typeregistry/go.mod index 90f03d1ac2..e407e774ff 100644 --- a/go-runtime/ftl/testdata/go/typeregistry/go.mod +++ b/go-runtime/ftl/testdata/go/typeregistry/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect github.com/alecthomas/repr v0.4.0 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/aws/aws-sdk-go-v2 v1.32.4 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.23 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.23 // indirect diff --git a/go-runtime/ftl/testdata/go/typeregistry/go.sum b/go-runtime/ftl/testdata/go/typeregistry/go.sum index efdaa81b0b..2f570e84c7 100644 --- a/go-runtime/ftl/testdata/go/typeregistry/go.sum +++ b/go-runtime/ftl/testdata/go/typeregistry/go.sum @@ -22,8 +22,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go-v2 v1.32.4 h1:S13INUiTxgrPueTmrm5DZ+MiAo99zYzHEFh1UNkOxNE= diff --git a/go-runtime/goplugin/testdata/alpha/go.mod b/go-runtime/goplugin/testdata/alpha/go.mod index 017b382866..3cec0004c9 100644 --- a/go-runtime/goplugin/testdata/alpha/go.mod +++ b/go-runtime/goplugin/testdata/alpha/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/go-runtime/goplugin/testdata/alpha/go.sum b/go-runtime/goplugin/testdata/alpha/go.sum index ccb3e122ca..2e1820809b 100644 --- a/go-runtime/goplugin/testdata/alpha/go.sum +++ b/go-runtime/goplugin/testdata/alpha/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/goplugin/testdata/another/go.mod b/go-runtime/goplugin/testdata/another/go.mod index 6d50673b9f..ab95a38a86 100644 --- a/go-runtime/goplugin/testdata/another/go.mod +++ b/go-runtime/goplugin/testdata/another/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/goplugin/testdata/another/go.sum b/go-runtime/goplugin/testdata/another/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/goplugin/testdata/another/go.sum +++ b/go-runtime/goplugin/testdata/another/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/goplugin/testdata/other/go.mod b/go-runtime/goplugin/testdata/other/go.mod index 0a5d18d9bf..b8d85c9cd1 100644 --- a/go-runtime/goplugin/testdata/other/go.mod +++ b/go-runtime/goplugin/testdata/other/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/goplugin/testdata/other/go.sum b/go-runtime/goplugin/testdata/other/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/goplugin/testdata/other/go.sum +++ b/go-runtime/goplugin/testdata/other/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/internal/testdata/go/mapper/go.mod b/go-runtime/internal/testdata/go/mapper/go.mod index faebd62a82..0708ac09c2 100644 --- a/go-runtime/internal/testdata/go/mapper/go.mod +++ b/go-runtime/internal/testdata/go/mapper/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/internal/testdata/go/mapper/go.sum b/go-runtime/internal/testdata/go/mapper/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/internal/testdata/go/mapper/go.sum +++ b/go-runtime/internal/testdata/go/mapper/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/failing/go.mod b/go-runtime/schema/testdata/failing/go.mod index b8a32fd222..5a7807b9f1 100644 --- a/go-runtime/schema/testdata/failing/go.mod +++ b/go-runtime/schema/testdata/failing/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/schema/testdata/failing/go.sum b/go-runtime/schema/testdata/failing/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/schema/testdata/failing/go.sum +++ b/go-runtime/schema/testdata/failing/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/named/go.mod b/go-runtime/schema/testdata/named/go.mod index 5ce39c550f..6c93384833 100644 --- a/go-runtime/schema/testdata/named/go.mod +++ b/go-runtime/schema/testdata/named/go.mod @@ -8,7 +8,7 @@ require github.com/TBD54566975/ftl v0.0.0-00010101000000-000000000000 require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/swaggest/jsonschema-go v0.3.72 // indirect diff --git a/go-runtime/schema/testdata/named/go.sum b/go-runtime/schema/testdata/named/go.sum index 1c98a6eba7..b12117fb18 100644 --- a/go-runtime/schema/testdata/named/go.sum +++ b/go-runtime/schema/testdata/named/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/one/go.mod b/go-runtime/schema/testdata/one/go.mod index bc6e7408a5..2164222717 100644 --- a/go-runtime/schema/testdata/one/go.mod +++ b/go-runtime/schema/testdata/one/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/go-runtime/schema/testdata/one/go.sum b/go-runtime/schema/testdata/one/go.sum index ccb3e122ca..2e1820809b 100644 --- a/go-runtime/schema/testdata/one/go.sum +++ b/go-runtime/schema/testdata/one/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/parent/go.mod b/go-runtime/schema/testdata/parent/go.mod index da5c9e476a..44f1710661 100644 --- a/go-runtime/schema/testdata/parent/go.mod +++ b/go-runtime/schema/testdata/parent/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/schema/testdata/parent/go.sum b/go-runtime/schema/testdata/parent/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/schema/testdata/parent/go.sum +++ b/go-runtime/schema/testdata/parent/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/pubsub/go.mod b/go-runtime/schema/testdata/pubsub/go.mod index e18d29e69c..dc8fe485c8 100644 --- a/go-runtime/schema/testdata/pubsub/go.mod +++ b/go-runtime/schema/testdata/pubsub/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/schema/testdata/pubsub/go.sum b/go-runtime/schema/testdata/pubsub/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/schema/testdata/pubsub/go.sum +++ b/go-runtime/schema/testdata/pubsub/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/subscriber/go.mod b/go-runtime/schema/testdata/subscriber/go.mod index e105483fa4..269a59ab13 100644 --- a/go-runtime/schema/testdata/subscriber/go.mod +++ b/go-runtime/schema/testdata/subscriber/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/schema/testdata/subscriber/go.sum b/go-runtime/schema/testdata/subscriber/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/schema/testdata/subscriber/go.sum +++ b/go-runtime/schema/testdata/subscriber/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/two/go.mod b/go-runtime/schema/testdata/two/go.mod index 29e941b684..84757188ae 100644 --- a/go-runtime/schema/testdata/two/go.mod +++ b/go-runtime/schema/testdata/two/go.mod @@ -19,7 +19,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/go-runtime/schema/testdata/two/go.sum b/go-runtime/schema/testdata/two/go.sum index ccb3e122ca..2e1820809b 100644 --- a/go-runtime/schema/testdata/two/go.sum +++ b/go-runtime/schema/testdata/two/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go-runtime/schema/testdata/validation/go.mod b/go-runtime/schema/testdata/validation/go.mod index 760255ae0a..cfd38256f7 100644 --- a/go-runtime/schema/testdata/validation/go.mod +++ b/go-runtime/schema/testdata/validation/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/go-runtime/schema/testdata/validation/go.sum b/go-runtime/schema/testdata/validation/go.sum index 428b0e41d2..51229e8c30 100644 --- a/go-runtime/schema/testdata/validation/go.sum +++ b/go-runtime/schema/testdata/validation/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/go.mod b/go.mod index 467d88f33d..7939f75705 100644 --- a/go.mod +++ b/go.mod @@ -16,7 +16,7 @@ require ( github.com/alecthomas/kong v1.4.0 github.com/alecthomas/kong-toml v0.2.0 github.com/alecthomas/participle/v2 v2.1.1 - github.com/alecthomas/types v0.16.0 + github.com/alecthomas/types v0.17.0 github.com/amacneil/dbmate/v2 v2.23.0 github.com/aws/aws-sdk-go v1.55.5 github.com/aws/aws-sdk-go-v2 v1.32.4 diff --git a/go.sum b/go.sum index 93a934e2c5..aaa76e189e 100644 --- a/go.sum +++ b/go.sum @@ -40,8 +40,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/amacneil/dbmate/v2 v2.23.0 h1:KsolutitPR4yTKHj33tdZ6Vn/bGMxXSmpg7eulBwJSc= github.com/amacneil/dbmate/v2 v2.23.0/go.mod h1:1fPPjNwuUFqBsFjs+J8pwi9p9tpEs6ZV8kgKTSvDd90= github.com/aws/aws-sdk-go v1.55.5 h1:KKUZBfBoyqy5d3swXyiC7Q76ic40rYcbqH7qjh59kzU= diff --git a/internal/buildengine/deploy.go b/internal/buildengine/deploy.go index 7afc1bf274..835e2dc3cb 100644 --- a/internal/buildengine/deploy.go +++ b/internal/buildengine/deploy.go @@ -34,9 +34,12 @@ type DeployClient interface { ReplaceDeploy(ctx context.Context, req *connect.Request[ftlv1.ReplaceDeployRequest]) (*connect.Response[ftlv1.ReplaceDeployResponse], error) Status(ctx context.Context, req *connect.Request[ftlv1.StatusRequest]) (*connect.Response[ftlv1.StatusResponse], error) UpdateDeploy(ctx context.Context, req *connect.Request[ftlv1.UpdateDeployRequest]) (*connect.Response[ftlv1.UpdateDeployResponse], error) + Ping(ctx context.Context, req *connect.Request[ftlv1.PingRequest]) (*connect.Response[ftlv1.PingResponse], error) +} + +type SchemaClient interface { GetSchema(ctx context.Context, req *connect.Request[ftlv1.GetSchemaRequest]) (*connect.Response[ftlv1.GetSchemaResponse], error) PullSchema(ctx context.Context, req *connect.Request[ftlv1.PullSchemaRequest]) (*connect.ServerStreamForClient[ftlv1.PullSchemaResponse], error) - Ping(ctx context.Context, req *connect.Request[ftlv1.PingRequest]) (*connect.Response[ftlv1.PingResponse], error) } // Deploy a module to the FTL controller with the given number of replicas. Optionally wait for the deployment to become ready. diff --git a/internal/buildengine/engine.go b/internal/buildengine/engine.go index c821f9c5c0..2c71300f69 100644 --- a/internal/buildengine/engine.go +++ b/internal/buildengine/engine.go @@ -175,6 +175,7 @@ type rebuildRequest struct { // Engine for building a set of modules. type Engine struct { client DeployClient + schemaClient SchemaClient moduleMetas *xsync.MapOf[string, moduleMeta] projectConfig projectconfig.Config moduleDirs []string @@ -236,10 +237,18 @@ func WithStartTime(startTime time.Time) Option { // pull in missing schemas. // // "dirs" are directories to scan for local modules. -func New(ctx context.Context, client DeployClient, projectConfig projectconfig.Config, moduleDirs []string, options ...Option) (*Engine, error) { +func New( + ctx context.Context, + client DeployClient, + schemaClient SchemaClient, + projectConfig projectconfig.Config, + moduleDirs []string, + options ...Option, +) (*Engine, error) { ctx = rpc.ContextWithClient(ctx, client) e := &Engine{ client: client, + schemaClient: schemaClient, projectConfig: projectConfig, moduleDirs: moduleDirs, moduleMetas: xsync.NewMapOf[string, moduleMeta](), @@ -299,7 +308,7 @@ func New(ctx context.Context, client DeployClient, projectConfig projectconfig.C return e, nil } schemaSync := e.startSchemaSync(ctx) - go rpc.RetryStreamingServerStream(ctx, "build-engine", backoff.Backoff{Max: time.Second}, &ftlv1.PullSchemaRequest{}, client.PullSchema, schemaSync, rpc.AlwaysRetry()) + go rpc.RetryStreamingServerStream(ctx, "build-engine", backoff.Backoff{Max: time.Second}, &ftlv1.PullSchemaRequest{}, schemaClient.PullSchema, schemaSync, rpc.AlwaysRetry()) return e, nil } @@ -308,7 +317,7 @@ func New(ctx context.Context, client DeployClient, projectConfig projectconfig.C func (e *Engine) startSchemaSync(ctx context.Context) func(ctx context.Context, msg *ftlv1.PullSchemaResponse) error { logger := log.FromContext(ctx) // Blocking schema sync from the controller. - psch, err := e.client.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) + psch, err := e.schemaClient.GetSchema(ctx, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err == nil { sch, err := schema.FromProto(psch.Msg.Schema) if err == nil { diff --git a/internal/buildengine/engine_test.go b/internal/buildengine/engine_test.go index cc23202e04..5fedc63342 100644 --- a/internal/buildengine/engine_test.go +++ b/internal/buildengine/engine_test.go @@ -20,7 +20,7 @@ func TestGraph(t *testing.T) { Path: filepath.Join(t.TempDir(), "ftl-project.toml"), Name: "test", } - engine, err := buildengine.New(ctx, nil, projConfig, []string{"testdata/alpha", "testdata/other", "testdata/another"}) + engine, err := buildengine.New(ctx, nil, nil, projConfig, []string{"testdata/alpha", "testdata/other", "testdata/another"}) assert.NoError(t, err) defer engine.Close() diff --git a/internal/buildengine/languageplugin/testdata/go/plugintest/go.mod b/internal/buildengine/languageplugin/testdata/go/plugintest/go.mod index a249b6c83f..41d168306d 100644 --- a/internal/buildengine/languageplugin/testdata/go/plugintest/go.mod +++ b/internal/buildengine/languageplugin/testdata/go/plugintest/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/buildengine/languageplugin/testdata/go/plugintest/go.sum b/internal/buildengine/languageplugin/testdata/go/plugintest/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/buildengine/languageplugin/testdata/go/plugintest/go.sum +++ b/internal/buildengine/languageplugin/testdata/go/plugintest/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/buildengine/testdata/alpha/go.mod b/internal/buildengine/testdata/alpha/go.mod index 017b382866..3cec0004c9 100644 --- a/internal/buildengine/testdata/alpha/go.mod +++ b/internal/buildengine/testdata/alpha/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/internal/buildengine/testdata/alpha/go.sum b/internal/buildengine/testdata/alpha/go.sum index ccb3e122ca..2e1820809b 100644 --- a/internal/buildengine/testdata/alpha/go.sum +++ b/internal/buildengine/testdata/alpha/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/buildengine/testdata/another/go.mod b/internal/buildengine/testdata/another/go.mod index 6d50673b9f..ab95a38a86 100644 --- a/internal/buildengine/testdata/another/go.mod +++ b/internal/buildengine/testdata/another/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/buildengine/testdata/another/go.sum b/internal/buildengine/testdata/another/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/buildengine/testdata/another/go.sum +++ b/internal/buildengine/testdata/another/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/buildengine/testdata/other/go.mod b/internal/buildengine/testdata/other/go.mod index 0a5d18d9bf..b8d85c9cd1 100644 --- a/internal/buildengine/testdata/other/go.mod +++ b/internal/buildengine/testdata/other/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/buildengine/testdata/other/go.sum b/internal/buildengine/testdata/other/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/buildengine/testdata/other/go.sum +++ b/internal/buildengine/testdata/other/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/integration/actions.go b/internal/integration/actions.go index d8e2f191c8..cee0a49681 100644 --- a/internal/integration/actions.go +++ b/internal/integration/actions.go @@ -405,7 +405,7 @@ func VerifyKubeState(check func(ctx context.Context, t testing.TB, namespace str // VerifySchema lets you test the current schema func VerifySchema(check func(ctx context.Context, t testing.TB, sch *schemapb.Schema)) Action { return func(t testing.TB, ic TestContext) { - sch, err := ic.Controller.GetSchema(ic, connect.NewRequest(&ftlv1.GetSchemaRequest{})) + sch, err := ic.Schema.GetSchema(ic, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err != nil { t.Errorf("failed to get schema: %v", err) return @@ -417,7 +417,7 @@ func VerifySchema(check func(ctx context.Context, t testing.TB, sch *schemapb.Sc // VerifySchemaVerb lets you test the current schema for a specific verb func VerifySchemaVerb(module string, verb string, check func(ctx context.Context, t testing.TB, schema *schemapb.Schema, verb *schemapb.Verb)) Action { return func(t testing.TB, ic TestContext) { - sch, err := ic.Controller.GetSchema(ic, connect.NewRequest(&ftlv1.GetSchemaRequest{})) + sch, err := ic.Schema.GetSchema(ic, connect.NewRequest(&ftlv1.GetSchemaRequest{})) if err != nil { t.Errorf("failed to get schema: %v", err) return diff --git a/internal/integration/harness.go b/internal/integration/harness.go index 02e92b893d..8761954467 100644 --- a/internal/integration/harness.go +++ b/internal/integration/harness.go @@ -292,6 +292,7 @@ func run(t *testing.T, actionsOrOptions ...ActionOrOption) { var controller ftlv1connect.ControllerServiceClient var console pbconsoleconnect.ConsoleServiceClient var provisioner provisionerconnect.ProvisionerServiceClient + var schema ftlv1connect.SchemaServiceClient if opts.startController { Infof("Starting ftl cluster") @@ -313,6 +314,7 @@ func run(t *testing.T, actionsOrOptions ...ActionOrOption) { if opts.startController || opts.kube { controller = rpc.Dial(ftlv1connect.NewControllerServiceClient, "http://localhost:8892", log.Debug) console = rpc.Dial(pbconsoleconnect.NewConsoleServiceClient, "http://localhost:8892", log.Debug) + schema = rpc.Dial(ftlv1connect.NewSchemaServiceClient, "http://localhost:8892", log.Debug) } if opts.startProvisioner { provisioner = rpc.Dial(provisionerconnect.NewProvisionerServiceClient, "http://localhost:8893", log.Debug) @@ -339,6 +341,7 @@ func run(t *testing.T, actionsOrOptions ...ActionOrOption) { if opts.startController || opts.kube { ic.Controller = controller + ic.Schema = schema ic.Console = console Infof("Waiting for controller to be ready") @@ -415,6 +418,7 @@ type TestContext struct { Controller ftlv1connect.ControllerServiceClient Provisioner provisionerconnect.ProvisionerServiceClient + Schema ftlv1connect.SchemaServiceClient Console pbconsoleconnect.ConsoleServiceClient Verbs ftlv1connect.VerbServiceClient diff --git a/internal/projectconfig/testdata/go/echo/go.mod b/internal/projectconfig/testdata/go/echo/go.mod index 6b2785a430..96957e75c0 100644 --- a/internal/projectconfig/testdata/go/echo/go.mod +++ b/internal/projectconfig/testdata/go/echo/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/projectconfig/testdata/go/echo/go.sum b/internal/projectconfig/testdata/go/echo/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/projectconfig/testdata/go/echo/go.sum +++ b/internal/projectconfig/testdata/go/echo/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/projectconfig/testdata/go/findconfig/go.mod b/internal/projectconfig/testdata/go/findconfig/go.mod index 3f1a30d167..c0ffc549e2 100644 --- a/internal/projectconfig/testdata/go/findconfig/go.mod +++ b/internal/projectconfig/testdata/go/findconfig/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/projectconfig/testdata/go/findconfig/go.sum b/internal/projectconfig/testdata/go/findconfig/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/projectconfig/testdata/go/findconfig/go.sum +++ b/internal/projectconfig/testdata/go/findconfig/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/projectconfig/testdata/go/validateconfig/go.mod b/internal/projectconfig/testdata/go/validateconfig/go.mod index ef91221738..70a889ce09 100644 --- a/internal/projectconfig/testdata/go/validateconfig/go.mod +++ b/internal/projectconfig/testdata/go/validateconfig/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/projectconfig/testdata/go/validateconfig/go.sum b/internal/projectconfig/testdata/go/validateconfig/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/projectconfig/testdata/go/validateconfig/go.sum +++ b/internal/projectconfig/testdata/go/validateconfig/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/terminal/interactive.go b/internal/terminal/interactive.go index 5988062bfd..07bbe5b26a 100644 --- a/internal/terminal/interactive.go +++ b/internal/terminal/interactive.go @@ -26,7 +26,7 @@ type KongContextBinder func(ctx context.Context, kctx *kong.Context) context.Con type exitPanic struct{} -func RunInteractiveConsole(ctx context.Context, k *kong.Kong, binder KongContextBinder, client ftlv1connect.ControllerServiceClient) error { +func RunInteractiveConsole(ctx context.Context, k *kong.Kong, binder KongContextBinder, client ftlv1connect.SchemaServiceClient) error { if !readline.DefaultIsTerminal() { return nil @@ -142,7 +142,7 @@ func errorf(format string, args ...any) { type FTLCompletion struct { app *kong.Kong - client ftlv1connect.ControllerServiceClient + client ftlv1connect.SchemaServiceClient ctx context.Context } diff --git a/internal/terminal/predictors.go b/internal/terminal/predictors.go index ec6c4faffb..802dc4c2b8 100644 --- a/internal/terminal/predictors.go +++ b/internal/terminal/predictors.go @@ -10,7 +10,7 @@ import ( "github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1/ftlv1connect" ) -func Predictors(ctx context.Context, client ftlv1connect.ControllerServiceClient) map[string]complete.Predictor { +func Predictors(ctx context.Context, client ftlv1connect.SchemaServiceClient) map[string]complete.Predictor { return map[string]complete.Predictor{ "verbs": &verbPredictor{ Client: client, @@ -20,7 +20,7 @@ func Predictors(ctx context.Context, client ftlv1connect.ControllerServiceClient } type verbPredictor struct { - Client ftlv1connect.ControllerServiceClient + Client ftlv1connect.SchemaServiceClient Ctx context.Context } diff --git a/internal/terminal/status.go b/internal/terminal/status.go index a1a9c9507d..82fb1398de 100644 --- a/internal/terminal/status.go +++ b/internal/terminal/status.go @@ -491,7 +491,7 @@ func (r *terminalStatusLine) SetMessage(message string) { r.manager.recalculateLines() } -func LaunchEmbeddedConsole(ctx context.Context, k *kong.Kong, binder KongContextBinder, client ftlv1connect.ControllerServiceClient) { +func LaunchEmbeddedConsole(ctx context.Context, k *kong.Kong, binder KongContextBinder, client ftlv1connect.SchemaServiceClient) { sm := FromContext(ctx) if _, ok := sm.(*terminalStatusManager); ok { go func() { diff --git a/internal/watch/testdata/alpha/go.mod b/internal/watch/testdata/alpha/go.mod index 017b382866..3cec0004c9 100644 --- a/internal/watch/testdata/alpha/go.mod +++ b/internal/watch/testdata/alpha/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/internal/watch/testdata/alpha/go.sum b/internal/watch/testdata/alpha/go.sum index ccb3e122ca..2e1820809b 100644 --- a/internal/watch/testdata/alpha/go.sum +++ b/internal/watch/testdata/alpha/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/watch/testdata/another/go.mod b/internal/watch/testdata/another/go.mod index 6d50673b9f..ab95a38a86 100644 --- a/internal/watch/testdata/another/go.mod +++ b/internal/watch/testdata/another/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/watch/testdata/another/go.sum b/internal/watch/testdata/another/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/watch/testdata/another/go.sum +++ b/internal/watch/testdata/another/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/internal/watch/testdata/other/go.mod b/internal/watch/testdata/other/go.mod index 0a5d18d9bf..b8d85c9cd1 100644 --- a/internal/watch/testdata/other/go.mod +++ b/internal/watch/testdata/other/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/internal/watch/testdata/other/go.sum b/internal/watch/testdata/other/go.sum index 428b0e41d2..51229e8c30 100644 --- a/internal/watch/testdata/other/go.sum +++ b/internal/watch/testdata/other/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/jvm-runtime/testdata/go/gomodule/go.mod b/jvm-runtime/testdata/go/gomodule/go.mod index 11c6b91afa..45d51b5a9e 100644 --- a/jvm-runtime/testdata/go/gomodule/go.mod +++ b/jvm-runtime/testdata/go/gomodule/go.mod @@ -17,7 +17,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/jvm-runtime/testdata/go/gomodule/go.sum b/jvm-runtime/testdata/go/gomodule/go.sum index 5b9c37837e..a3d6b7a28a 100644 --- a/jvm-runtime/testdata/go/gomodule/go.sum +++ b/jvm-runtime/testdata/go/gomodule/go.sum @@ -17,8 +17,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.py b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.py index 9985be190d..afc0603377 100644 --- a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.py +++ b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.py @@ -28,7 +28,7 @@ from xyz.block.ftl.v1.schema import schema_pb2 as xyz_dot_block_dot_ftl_dot_v1_dot_schema_dot_schema__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!xyz/block/ftl/v1/controller.proto\x12\x10xyz.block.ftl.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1axyz/block/ftl/v1/ftl.proto\x1a$xyz/block/ftl/v1/schema/schema.proto\"w\n\x17GetCertificationRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.CertificateContentR\x07request\x12\x1c\n\tsignature\x18\x02 \x01(\x0cR\tsignature\"[\n\x18GetCertificationResponse\x12?\n\x0b\x63\x65rtificate\x18\x01 \x01(\x0b\x32\x1d.xyz.block.ftl.v1.CertificateR\x0b\x63\x65rtificate\"O\n\x12\x43\x65rtificateContent\x12\x1a\n\x08identity\x18\x01 \x01(\tR\x08identity\x12\x1d\n\npublic_key\x18\x02 \x01(\x0cR\tpublicKey\"\x80\x01\n\x0b\x43\x65rtificate\x12>\n\x07\x63ontent\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.CertificateContentR\x07\x63ontent\x12\x31\n\x14\x63ontroller_signature\x18\x03 \x01(\x0cR\x13\x63ontrollerSignature\"\x12\n\x10GetSchemaRequest\"L\n\x11GetSchemaResponse\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.SchemaR\x06schema\"\x13\n\x11PullSchemaRequest\"\x82\x02\n\x12PullSchemaResponse\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x1f\n\x0bmodule_name\x18\x02 \x01(\tR\nmoduleName\x12<\n\x06schema\x18\x04 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleH\x00R\x06schema\x88\x01\x01\x12\x12\n\x04more\x18\x03 \x01(\x08R\x04more\x12G\n\x0b\x63hange_type\x18\x05 \x01(\x0e\x32&.xyz.block.ftl.v1.DeploymentChangeTypeR\nchangeTypeB\t\n\x07_schema\"@\n\x17GetArtefactDiffsRequest\x12%\n\x0e\x63lient_digests\x18\x01 \x03(\tR\rclientDigests\"\x94\x01\n\x18GetArtefactDiffsResponse\x12\'\n\x0fmissing_digests\x18\x01 \x03(\tR\x0emissingDigests\x12O\n\x10\x63lient_artefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\x0f\x63lientArtefacts\"1\n\x15UploadArtefactRequest\x12\x18\n\x07\x63ontent\x18\x01 \x01(\x0cR\x07\x63ontent\"0\n\x16UploadArtefactResponse\x12\x16\n\x06\x64igest\x18\x02 \x01(\x0cR\x06\x64igest\"`\n\x12\x44\x65ploymentArtefact\x12\x16\n\x06\x64igest\x18\x01 \x01(\tR\x06\x64igest\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1e\n\nexecutable\x18\x03 \x01(\x08R\nexecutable\"\xd7\x01\n\x17\x43reateDeploymentRequest\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x12\x42\n\tartefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\tartefacts\x12\x34\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x06labels\x88\x01\x01\x42\t\n\x07_labels\"\x94\x01\n\x18\x43reateDeploymentResponse\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x37\n\x15\x61\x63tive_deployment_key\x18\x02 \x01(\tH\x00R\x13\x61\x63tiveDeploymentKey\x88\x01\x01\x42\x18\n\x16_active_deployment_key\"\x93\x01\n\x1dGetDeploymentArtefactsRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12K\n\x0ehave_artefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\rhaveArtefacts\"x\n\x1eGetDeploymentArtefactsResponse\x12@\n\x08\x61rtefact\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\x08\x61rtefact\x12\x14\n\x05\x63hunk\x18\x02 \x01(\x0cR\x05\x63hunk\"=\n\x14GetDeploymentRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\"\x94\x01\n\x15GetDeploymentResponse\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x12\x42\n\tartefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\tartefacts\"\x96\x01\n\x15RegisterRunnerRequest\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12\x1e\n\ndeployment\x18\x03 \x01(\tR\ndeployment\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\"\x18\n\x16RegisterRunnerResponse\"_\n\x13UpdateDeployRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\"\x16\n\x14UpdateDeployResponse\"`\n\x14ReplaceDeployRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\"\x17\n\x15ReplaceDeployResponse\"\xaf\x03\n\x1bStreamDeploymentLogsRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12$\n\x0brequest_key\x18\x02 \x01(\tH\x00R\nrequestKey\x88\x01\x01\x12\x39\n\ntime_stamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimeStamp\x12\x1b\n\tlog_level\x18\x04 \x01(\x05R\x08logLevel\x12]\n\nattributes\x18\x05 \x03(\x0b\x32=.xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntryR\nattributes\x12\x18\n\x07message\x18\x06 \x01(\tR\x07message\x12\x19\n\x05\x65rror\x18\x07 \x01(\tH\x01R\x05\x65rror\x88\x01\x01\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_request_keyB\x08\n\x06_error\"\x1e\n\x1cStreamDeploymentLogsResponse\"\x0f\n\rStatusRequest\"\xe8\x08\n\x0eStatusResponse\x12M\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32+.xyz.block.ftl.v1.StatusResponse.ControllerR\x0b\x63ontrollers\x12\x41\n\x07runners\x18\x02 \x03(\x0b\x32\'.xyz.block.ftl.v1.StatusResponse.RunnerR\x07runners\x12M\n\x0b\x64\x65ployments\x18\x03 \x03(\x0b\x32+.xyz.block.ftl.v1.StatusResponse.DeploymentR\x0b\x64\x65ployments\x12T\n\x0eingress_routes\x18\x04 \x03(\x0b\x32-.xyz.block.ftl.v1.StatusResponse.IngressRouteR\ringressRoutes\x12>\n\x06routes\x18\x05 \x03(\x0b\x32&.xyz.block.ftl.v1.StatusResponse.RouteR\x06routes\x1aT\n\nController\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x1a\x9b\x01\n\x06Runner\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12#\n\ndeployment\x18\x03 \x01(\tH\x00R\ndeployment\x88\x01\x01\x12/\n\x06labels\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labelsB\r\n\x0b_deployment\x1a\xf7\x01\n\nDeployment\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08language\x18\x02 \x01(\tR\x08language\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12!\n\x0cmin_replicas\x18\x04 \x01(\x05R\x0bminReplicas\x12\x1a\n\x08replicas\x18\x07 \x01(\x05R\x08replicas\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x12\x37\n\x06schema\x18\x06 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x1a\x93\x01\n\x0cIngressRoute\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x30\n\x04verb\x18\x02 \x01(\x0b\x32\x1c.xyz.block.ftl.v1.schema.RefR\x04verb\x12\x16\n\x06method\x18\x03 \x01(\tR\x06method\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x1a[\n\x05Route\x12\x16\n\x06module\x18\x01 \x01(\tR\x06module\x12\x1e\n\ndeployment\x18\x02 \x01(\tR\ndeployment\x12\x1a\n\x08\x65ndpoint\x18\x03 \x01(\tR\x08\x65ndpoint\"\x14\n\x12ProcessListRequest\"\xaf\x03\n\x13ProcessListResponse\x12K\n\tprocesses\x18\x01 \x03(\x0b\x32-.xyz.block.ftl.v1.ProcessListResponse.ProcessR\tprocesses\x1an\n\rProcessRunner\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12/\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x1a\xda\x01\n\x07Process\x12\x1e\n\ndeployment\x18\x01 \x01(\tR\ndeployment\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\x12/\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x12P\n\x06runner\x18\x04 \x01(\x0b\x32\x33.xyz.block.ftl.v1.ProcessListResponse.ProcessRunnerH\x00R\x06runner\x88\x01\x01\x42\t\n\x07_runner\"\\\n\x18ResetSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\x0b\x32\x1c.xyz.block.ftl.v1.schema.RefR\x0csubscription\"\x1b\n\x19ResetSubscriptionResponse*\\\n\x14\x44\x65ploymentChangeType\x12\x14\n\x10\x44\x45PLOYMENT_ADDED\x10\x00\x12\x16\n\x12\x44\x45PLOYMENT_REMOVED\x10\x01\x12\x16\n\x12\x44\x45PLOYMENT_CHANGED\x10\x02\x32\xcf\x0c\n\x11\x43ontrollerService\x12J\n\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12Z\n\x0bProcessList\x12$.xyz.block.ftl.v1.ProcessListRequest\x1a%.xyz.block.ftl.v1.ProcessListResponse\x12K\n\x06Status\x12\x1f.xyz.block.ftl.v1.StatusRequest\x1a .xyz.block.ftl.v1.StatusResponse\x12i\n\x10GetCertification\x12).xyz.block.ftl.v1.GetCertificationRequest\x1a*.xyz.block.ftl.v1.GetCertificationResponse\x12i\n\x10GetArtefactDiffs\x12).xyz.block.ftl.v1.GetArtefactDiffsRequest\x1a*.xyz.block.ftl.v1.GetArtefactDiffsResponse\x12\x63\n\x0eUploadArtefact\x12\'.xyz.block.ftl.v1.UploadArtefactRequest\x1a(.xyz.block.ftl.v1.UploadArtefactResponse\x12i\n\x10\x43reateDeployment\x12).xyz.block.ftl.v1.CreateDeploymentRequest\x1a*.xyz.block.ftl.v1.CreateDeploymentResponse\x12`\n\rGetDeployment\x12&.xyz.block.ftl.v1.GetDeploymentRequest\x1a\'.xyz.block.ftl.v1.GetDeploymentResponse\x12}\n\x16GetDeploymentArtefacts\x12/.xyz.block.ftl.v1.GetDeploymentArtefactsRequest\x1a\x30.xyz.block.ftl.v1.GetDeploymentArtefactsResponse0\x01\x12\x65\n\x0eRegisterRunner\x12\'.xyz.block.ftl.v1.RegisterRunnerRequest\x1a(.xyz.block.ftl.v1.RegisterRunnerResponse(\x01\x12]\n\x0cUpdateDeploy\x12%.xyz.block.ftl.v1.UpdateDeployRequest\x1a&.xyz.block.ftl.v1.UpdateDeployResponse\x12`\n\rReplaceDeploy\x12&.xyz.block.ftl.v1.ReplaceDeployRequest\x1a\'.xyz.block.ftl.v1.ReplaceDeployResponse\x12w\n\x14StreamDeploymentLogs\x12-.xyz.block.ftl.v1.StreamDeploymentLogsRequest\x1a..xyz.block.ftl.v1.StreamDeploymentLogsResponse(\x01\x12T\n\tGetSchema\x12\".xyz.block.ftl.v1.GetSchemaRequest\x1a#.xyz.block.ftl.v1.GetSchemaResponse\x12Y\n\nPullSchema\x12#.xyz.block.ftl.v1.PullSchemaRequest\x1a$.xyz.block.ftl.v1.PullSchemaResponse0\x01\x12l\n\x11ResetSubscription\x12*.xyz.block.ftl.v1.ResetSubscriptionRequest\x1a+.xyz.block.ftl.v1.ResetSubscriptionResponseBDP\x01Z@github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1;ftlv1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!xyz/block/ftl/v1/controller.proto\x12\x10xyz.block.ftl.v1\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1axyz/block/ftl/v1/ftl.proto\x1a$xyz/block/ftl/v1/schema/schema.proto\"w\n\x17GetCertificationRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.CertificateContentR\x07request\x12\x1c\n\tsignature\x18\x02 \x01(\x0cR\tsignature\"[\n\x18GetCertificationResponse\x12?\n\x0b\x63\x65rtificate\x18\x01 \x01(\x0b\x32\x1d.xyz.block.ftl.v1.CertificateR\x0b\x63\x65rtificate\"O\n\x12\x43\x65rtificateContent\x12\x1a\n\x08identity\x18\x01 \x01(\tR\x08identity\x12\x1d\n\npublic_key\x18\x02 \x01(\x0cR\tpublicKey\"\x80\x01\n\x0b\x43\x65rtificate\x12>\n\x07\x63ontent\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.CertificateContentR\x07\x63ontent\x12\x31\n\x14\x63ontroller_signature\x18\x03 \x01(\x0cR\x13\x63ontrollerSignature\"@\n\x17GetArtefactDiffsRequest\x12%\n\x0e\x63lient_digests\x18\x01 \x03(\tR\rclientDigests\"\x94\x01\n\x18GetArtefactDiffsResponse\x12\'\n\x0fmissing_digests\x18\x01 \x03(\tR\x0emissingDigests\x12O\n\x10\x63lient_artefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\x0f\x63lientArtefacts\"1\n\x15UploadArtefactRequest\x12\x18\n\x07\x63ontent\x18\x01 \x01(\x0cR\x07\x63ontent\"0\n\x16UploadArtefactResponse\x12\x16\n\x06\x64igest\x18\x02 \x01(\x0cR\x06\x64igest\"`\n\x12\x44\x65ploymentArtefact\x12\x16\n\x06\x64igest\x18\x01 \x01(\tR\x06\x64igest\x12\x12\n\x04path\x18\x02 \x01(\tR\x04path\x12\x1e\n\nexecutable\x18\x03 \x01(\x08R\nexecutable\"\xd7\x01\n\x17\x43reateDeploymentRequest\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x12\x42\n\tartefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\tartefacts\x12\x34\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructH\x00R\x06labels\x88\x01\x01\x42\t\n\x07_labels\"\x94\x01\n\x18\x43reateDeploymentResponse\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x37\n\x15\x61\x63tive_deployment_key\x18\x02 \x01(\tH\x00R\x13\x61\x63tiveDeploymentKey\x88\x01\x01\x42\x18\n\x16_active_deployment_key\"\x93\x01\n\x1dGetDeploymentArtefactsRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12K\n\x0ehave_artefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\rhaveArtefacts\"x\n\x1eGetDeploymentArtefactsResponse\x12@\n\x08\x61rtefact\x18\x01 \x01(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\x08\x61rtefact\x12\x14\n\x05\x63hunk\x18\x02 \x01(\x0cR\x05\x63hunk\"=\n\x14GetDeploymentRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\"\x94\x01\n\x15GetDeploymentResponse\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x12\x42\n\tartefacts\x18\x02 \x03(\x0b\x32$.xyz.block.ftl.v1.DeploymentArtefactR\tartefacts\"\x96\x01\n\x15RegisterRunnerRequest\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12\x1e\n\ndeployment\x18\x03 \x01(\tR\ndeployment\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\"\x18\n\x16RegisterRunnerResponse\"_\n\x13UpdateDeployRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\"\x16\n\x14UpdateDeployResponse\"`\n\x14ReplaceDeployRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\"\x17\n\x15ReplaceDeployResponse\"\xaf\x03\n\x1bStreamDeploymentLogsRequest\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12$\n\x0brequest_key\x18\x02 \x01(\tH\x00R\nrequestKey\x88\x01\x01\x12\x39\n\ntime_stamp\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\ttimeStamp\x12\x1b\n\tlog_level\x18\x04 \x01(\x05R\x08logLevel\x12]\n\nattributes\x18\x05 \x03(\x0b\x32=.xyz.block.ftl.v1.StreamDeploymentLogsRequest.AttributesEntryR\nattributes\x12\x18\n\x07message\x18\x06 \x01(\tR\x07message\x12\x19\n\x05\x65rror\x18\x07 \x01(\tH\x01R\x05\x65rror\x88\x01\x01\x1a=\n\x0f\x41ttributesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\x42\x0e\n\x0c_request_keyB\x08\n\x06_error\"\x1e\n\x1cStreamDeploymentLogsResponse\"\x0f\n\rStatusRequest\"\xe8\x08\n\x0eStatusResponse\x12M\n\x0b\x63ontrollers\x18\x01 \x03(\x0b\x32+.xyz.block.ftl.v1.StatusResponse.ControllerR\x0b\x63ontrollers\x12\x41\n\x07runners\x18\x02 \x03(\x0b\x32\'.xyz.block.ftl.v1.StatusResponse.RunnerR\x07runners\x12M\n\x0b\x64\x65ployments\x18\x03 \x03(\x0b\x32+.xyz.block.ftl.v1.StatusResponse.DeploymentR\x0b\x64\x65ployments\x12T\n\x0eingress_routes\x18\x04 \x03(\x0b\x32-.xyz.block.ftl.v1.StatusResponse.IngressRouteR\ringressRoutes\x12>\n\x06routes\x18\x05 \x03(\x0b\x32&.xyz.block.ftl.v1.StatusResponse.RouteR\x06routes\x1aT\n\nController\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12\x18\n\x07version\x18\x03 \x01(\tR\x07version\x1a\x9b\x01\n\x06Runner\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12#\n\ndeployment\x18\x03 \x01(\tH\x00R\ndeployment\x88\x01\x01\x12/\n\x06labels\x18\x04 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labelsB\r\n\x0b_deployment\x1a\xf7\x01\n\nDeployment\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08language\x18\x02 \x01(\tR\x08language\x12\x12\n\x04name\x18\x03 \x01(\tR\x04name\x12!\n\x0cmin_replicas\x18\x04 \x01(\x05R\x0bminReplicas\x12\x1a\n\x08replicas\x18\x07 \x01(\x05R\x08replicas\x12/\n\x06labels\x18\x05 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x12\x37\n\x06schema\x18\x06 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleR\x06schema\x1a\x93\x01\n\x0cIngressRoute\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x30\n\x04verb\x18\x02 \x01(\x0b\x32\x1c.xyz.block.ftl.v1.schema.RefR\x04verb\x12\x16\n\x06method\x18\x03 \x01(\tR\x06method\x12\x12\n\x04path\x18\x04 \x01(\tR\x04path\x1a[\n\x05Route\x12\x16\n\x06module\x18\x01 \x01(\tR\x06module\x12\x1e\n\ndeployment\x18\x02 \x01(\tR\ndeployment\x12\x1a\n\x08\x65ndpoint\x18\x03 \x01(\tR\x08\x65ndpoint\"\x14\n\x12ProcessListRequest\"\xaf\x03\n\x13ProcessListResponse\x12K\n\tprocesses\x18\x01 \x03(\x0b\x32-.xyz.block.ftl.v1.ProcessListResponse.ProcessR\tprocesses\x1an\n\rProcessRunner\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x1a\n\x08\x65ndpoint\x18\x02 \x01(\tR\x08\x65ndpoint\x12/\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x1a\xda\x01\n\x07Process\x12\x1e\n\ndeployment\x18\x01 \x01(\tR\ndeployment\x12!\n\x0cmin_replicas\x18\x02 \x01(\x05R\x0bminReplicas\x12/\n\x06labels\x18\x03 \x01(\x0b\x32\x17.google.protobuf.StructR\x06labels\x12P\n\x06runner\x18\x04 \x01(\x0b\x32\x33.xyz.block.ftl.v1.ProcessListResponse.ProcessRunnerH\x00R\x06runner\x88\x01\x01\x42\t\n\x07_runner\"\\\n\x18ResetSubscriptionRequest\x12@\n\x0csubscription\x18\x01 \x01(\x0b\x32\x1c.xyz.block.ftl.v1.schema.RefR\x0csubscription\"\x1b\n\x19ResetSubscriptionResponse2\x9e\x0b\n\x11\x43ontrollerService\x12J\n\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12Z\n\x0bProcessList\x12$.xyz.block.ftl.v1.ProcessListRequest\x1a%.xyz.block.ftl.v1.ProcessListResponse\x12K\n\x06Status\x12\x1f.xyz.block.ftl.v1.StatusRequest\x1a .xyz.block.ftl.v1.StatusResponse\x12i\n\x10GetCertification\x12).xyz.block.ftl.v1.GetCertificationRequest\x1a*.xyz.block.ftl.v1.GetCertificationResponse\x12i\n\x10GetArtefactDiffs\x12).xyz.block.ftl.v1.GetArtefactDiffsRequest\x1a*.xyz.block.ftl.v1.GetArtefactDiffsResponse\x12\x63\n\x0eUploadArtefact\x12\'.xyz.block.ftl.v1.UploadArtefactRequest\x1a(.xyz.block.ftl.v1.UploadArtefactResponse\x12i\n\x10\x43reateDeployment\x12).xyz.block.ftl.v1.CreateDeploymentRequest\x1a*.xyz.block.ftl.v1.CreateDeploymentResponse\x12`\n\rGetDeployment\x12&.xyz.block.ftl.v1.GetDeploymentRequest\x1a\'.xyz.block.ftl.v1.GetDeploymentResponse\x12}\n\x16GetDeploymentArtefacts\x12/.xyz.block.ftl.v1.GetDeploymentArtefactsRequest\x1a\x30.xyz.block.ftl.v1.GetDeploymentArtefactsResponse0\x01\x12\x65\n\x0eRegisterRunner\x12\'.xyz.block.ftl.v1.RegisterRunnerRequest\x1a(.xyz.block.ftl.v1.RegisterRunnerResponse(\x01\x12]\n\x0cUpdateDeploy\x12%.xyz.block.ftl.v1.UpdateDeployRequest\x1a&.xyz.block.ftl.v1.UpdateDeployResponse\x12`\n\rReplaceDeploy\x12&.xyz.block.ftl.v1.ReplaceDeployRequest\x1a\'.xyz.block.ftl.v1.ReplaceDeployResponse\x12w\n\x14StreamDeploymentLogs\x12-.xyz.block.ftl.v1.StreamDeploymentLogsRequest\x1a..xyz.block.ftl.v1.StreamDeploymentLogsResponse(\x01\x12l\n\x11ResetSubscription\x12*.xyz.block.ftl.v1.ResetSubscriptionRequest\x1a+.xyz.block.ftl.v1.ResetSubscriptionResponseBDP\x01Z@github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1;ftlv1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -40,8 +40,6 @@ _globals['_STREAMDEPLOYMENTLOGSREQUEST_ATTRIBUTESENTRY']._serialized_options = b'8\001' _globals['_CONTROLLERSERVICE'].methods_by_name['Ping']._loaded_options = None _globals['_CONTROLLERSERVICE'].methods_by_name['Ping']._serialized_options = b'\220\002\001' - _globals['_DEPLOYMENTCHANGETYPE']._serialized_start=4877 - _globals['_DEPLOYMENTCHANGETYPE']._serialized_end=4969 _globals['_GETCERTIFICATIONREQUEST']._serialized_start=184 _globals['_GETCERTIFICATIONREQUEST']._serialized_end=303 _globals['_GETCERTIFICATIONRESPONSE']._serialized_start=305 @@ -50,80 +48,72 @@ _globals['_CERTIFICATECONTENT']._serialized_end=477 _globals['_CERTIFICATE']._serialized_start=480 _globals['_CERTIFICATE']._serialized_end=608 - _globals['_GETSCHEMAREQUEST']._serialized_start=610 - _globals['_GETSCHEMAREQUEST']._serialized_end=628 - _globals['_GETSCHEMARESPONSE']._serialized_start=630 - _globals['_GETSCHEMARESPONSE']._serialized_end=706 - _globals['_PULLSCHEMAREQUEST']._serialized_start=708 - _globals['_PULLSCHEMAREQUEST']._serialized_end=727 - _globals['_PULLSCHEMARESPONSE']._serialized_start=730 - _globals['_PULLSCHEMARESPONSE']._serialized_end=988 - _globals['_GETARTEFACTDIFFSREQUEST']._serialized_start=990 - _globals['_GETARTEFACTDIFFSREQUEST']._serialized_end=1054 - _globals['_GETARTEFACTDIFFSRESPONSE']._serialized_start=1057 - _globals['_GETARTEFACTDIFFSRESPONSE']._serialized_end=1205 - _globals['_UPLOADARTEFACTREQUEST']._serialized_start=1207 - _globals['_UPLOADARTEFACTREQUEST']._serialized_end=1256 - _globals['_UPLOADARTEFACTRESPONSE']._serialized_start=1258 - _globals['_UPLOADARTEFACTRESPONSE']._serialized_end=1306 - _globals['_DEPLOYMENTARTEFACT']._serialized_start=1308 - _globals['_DEPLOYMENTARTEFACT']._serialized_end=1404 - _globals['_CREATEDEPLOYMENTREQUEST']._serialized_start=1407 - _globals['_CREATEDEPLOYMENTREQUEST']._serialized_end=1622 - _globals['_CREATEDEPLOYMENTRESPONSE']._serialized_start=1625 - _globals['_CREATEDEPLOYMENTRESPONSE']._serialized_end=1773 - _globals['_GETDEPLOYMENTARTEFACTSREQUEST']._serialized_start=1776 - _globals['_GETDEPLOYMENTARTEFACTSREQUEST']._serialized_end=1923 - _globals['_GETDEPLOYMENTARTEFACTSRESPONSE']._serialized_start=1925 - _globals['_GETDEPLOYMENTARTEFACTSRESPONSE']._serialized_end=2045 - _globals['_GETDEPLOYMENTREQUEST']._serialized_start=2047 - _globals['_GETDEPLOYMENTREQUEST']._serialized_end=2108 - _globals['_GETDEPLOYMENTRESPONSE']._serialized_start=2111 - _globals['_GETDEPLOYMENTRESPONSE']._serialized_end=2259 - _globals['_REGISTERRUNNERREQUEST']._serialized_start=2262 - _globals['_REGISTERRUNNERREQUEST']._serialized_end=2412 - _globals['_REGISTERRUNNERRESPONSE']._serialized_start=2414 - _globals['_REGISTERRUNNERRESPONSE']._serialized_end=2438 - _globals['_UPDATEDEPLOYREQUEST']._serialized_start=2440 - _globals['_UPDATEDEPLOYREQUEST']._serialized_end=2535 - _globals['_UPDATEDEPLOYRESPONSE']._serialized_start=2537 - _globals['_UPDATEDEPLOYRESPONSE']._serialized_end=2559 - _globals['_REPLACEDEPLOYREQUEST']._serialized_start=2561 - _globals['_REPLACEDEPLOYREQUEST']._serialized_end=2657 - _globals['_REPLACEDEPLOYRESPONSE']._serialized_start=2659 - _globals['_REPLACEDEPLOYRESPONSE']._serialized_end=2682 - _globals['_STREAMDEPLOYMENTLOGSREQUEST']._serialized_start=2685 - _globals['_STREAMDEPLOYMENTLOGSREQUEST']._serialized_end=3116 - _globals['_STREAMDEPLOYMENTLOGSREQUEST_ATTRIBUTESENTRY']._serialized_start=3029 - _globals['_STREAMDEPLOYMENTLOGSREQUEST_ATTRIBUTESENTRY']._serialized_end=3090 - _globals['_STREAMDEPLOYMENTLOGSRESPONSE']._serialized_start=3118 - _globals['_STREAMDEPLOYMENTLOGSRESPONSE']._serialized_end=3148 - _globals['_STATUSREQUEST']._serialized_start=3150 - _globals['_STATUSREQUEST']._serialized_end=3165 - _globals['_STATUSRESPONSE']._serialized_start=3168 - _globals['_STATUSRESPONSE']._serialized_end=4296 - _globals['_STATUSRESPONSE_CONTROLLER']._serialized_start=3561 - _globals['_STATUSRESPONSE_CONTROLLER']._serialized_end=3645 - _globals['_STATUSRESPONSE_RUNNER']._serialized_start=3648 - _globals['_STATUSRESPONSE_RUNNER']._serialized_end=3803 - _globals['_STATUSRESPONSE_DEPLOYMENT']._serialized_start=3806 - _globals['_STATUSRESPONSE_DEPLOYMENT']._serialized_end=4053 - _globals['_STATUSRESPONSE_INGRESSROUTE']._serialized_start=4056 - _globals['_STATUSRESPONSE_INGRESSROUTE']._serialized_end=4203 - _globals['_STATUSRESPONSE_ROUTE']._serialized_start=4205 - _globals['_STATUSRESPONSE_ROUTE']._serialized_end=4296 - _globals['_PROCESSLISTREQUEST']._serialized_start=4298 - _globals['_PROCESSLISTREQUEST']._serialized_end=4318 - _globals['_PROCESSLISTRESPONSE']._serialized_start=4321 - _globals['_PROCESSLISTRESPONSE']._serialized_end=4752 - _globals['_PROCESSLISTRESPONSE_PROCESSRUNNER']._serialized_start=4421 - _globals['_PROCESSLISTRESPONSE_PROCESSRUNNER']._serialized_end=4531 - _globals['_PROCESSLISTRESPONSE_PROCESS']._serialized_start=4534 - _globals['_PROCESSLISTRESPONSE_PROCESS']._serialized_end=4752 - _globals['_RESETSUBSCRIPTIONREQUEST']._serialized_start=4754 - _globals['_RESETSUBSCRIPTIONREQUEST']._serialized_end=4846 - _globals['_RESETSUBSCRIPTIONRESPONSE']._serialized_start=4848 - _globals['_RESETSUBSCRIPTIONRESPONSE']._serialized_end=4875 - _globals['_CONTROLLERSERVICE']._serialized_start=4972 - _globals['_CONTROLLERSERVICE']._serialized_end=6587 + _globals['_GETARTEFACTDIFFSREQUEST']._serialized_start=610 + _globals['_GETARTEFACTDIFFSREQUEST']._serialized_end=674 + _globals['_GETARTEFACTDIFFSRESPONSE']._serialized_start=677 + _globals['_GETARTEFACTDIFFSRESPONSE']._serialized_end=825 + _globals['_UPLOADARTEFACTREQUEST']._serialized_start=827 + _globals['_UPLOADARTEFACTREQUEST']._serialized_end=876 + _globals['_UPLOADARTEFACTRESPONSE']._serialized_start=878 + _globals['_UPLOADARTEFACTRESPONSE']._serialized_end=926 + _globals['_DEPLOYMENTARTEFACT']._serialized_start=928 + _globals['_DEPLOYMENTARTEFACT']._serialized_end=1024 + _globals['_CREATEDEPLOYMENTREQUEST']._serialized_start=1027 + _globals['_CREATEDEPLOYMENTREQUEST']._serialized_end=1242 + _globals['_CREATEDEPLOYMENTRESPONSE']._serialized_start=1245 + _globals['_CREATEDEPLOYMENTRESPONSE']._serialized_end=1393 + _globals['_GETDEPLOYMENTARTEFACTSREQUEST']._serialized_start=1396 + _globals['_GETDEPLOYMENTARTEFACTSREQUEST']._serialized_end=1543 + _globals['_GETDEPLOYMENTARTEFACTSRESPONSE']._serialized_start=1545 + _globals['_GETDEPLOYMENTARTEFACTSRESPONSE']._serialized_end=1665 + _globals['_GETDEPLOYMENTREQUEST']._serialized_start=1667 + _globals['_GETDEPLOYMENTREQUEST']._serialized_end=1728 + _globals['_GETDEPLOYMENTRESPONSE']._serialized_start=1731 + _globals['_GETDEPLOYMENTRESPONSE']._serialized_end=1879 + _globals['_REGISTERRUNNERREQUEST']._serialized_start=1882 + _globals['_REGISTERRUNNERREQUEST']._serialized_end=2032 + _globals['_REGISTERRUNNERRESPONSE']._serialized_start=2034 + _globals['_REGISTERRUNNERRESPONSE']._serialized_end=2058 + _globals['_UPDATEDEPLOYREQUEST']._serialized_start=2060 + _globals['_UPDATEDEPLOYREQUEST']._serialized_end=2155 + _globals['_UPDATEDEPLOYRESPONSE']._serialized_start=2157 + _globals['_UPDATEDEPLOYRESPONSE']._serialized_end=2179 + _globals['_REPLACEDEPLOYREQUEST']._serialized_start=2181 + _globals['_REPLACEDEPLOYREQUEST']._serialized_end=2277 + _globals['_REPLACEDEPLOYRESPONSE']._serialized_start=2279 + _globals['_REPLACEDEPLOYRESPONSE']._serialized_end=2302 + _globals['_STREAMDEPLOYMENTLOGSREQUEST']._serialized_start=2305 + _globals['_STREAMDEPLOYMENTLOGSREQUEST']._serialized_end=2736 + _globals['_STREAMDEPLOYMENTLOGSREQUEST_ATTRIBUTESENTRY']._serialized_start=2649 + _globals['_STREAMDEPLOYMENTLOGSREQUEST_ATTRIBUTESENTRY']._serialized_end=2710 + _globals['_STREAMDEPLOYMENTLOGSRESPONSE']._serialized_start=2738 + _globals['_STREAMDEPLOYMENTLOGSRESPONSE']._serialized_end=2768 + _globals['_STATUSREQUEST']._serialized_start=2770 + _globals['_STATUSREQUEST']._serialized_end=2785 + _globals['_STATUSRESPONSE']._serialized_start=2788 + _globals['_STATUSRESPONSE']._serialized_end=3916 + _globals['_STATUSRESPONSE_CONTROLLER']._serialized_start=3181 + _globals['_STATUSRESPONSE_CONTROLLER']._serialized_end=3265 + _globals['_STATUSRESPONSE_RUNNER']._serialized_start=3268 + _globals['_STATUSRESPONSE_RUNNER']._serialized_end=3423 + _globals['_STATUSRESPONSE_DEPLOYMENT']._serialized_start=3426 + _globals['_STATUSRESPONSE_DEPLOYMENT']._serialized_end=3673 + _globals['_STATUSRESPONSE_INGRESSROUTE']._serialized_start=3676 + _globals['_STATUSRESPONSE_INGRESSROUTE']._serialized_end=3823 + _globals['_STATUSRESPONSE_ROUTE']._serialized_start=3825 + _globals['_STATUSRESPONSE_ROUTE']._serialized_end=3916 + _globals['_PROCESSLISTREQUEST']._serialized_start=3918 + _globals['_PROCESSLISTREQUEST']._serialized_end=3938 + _globals['_PROCESSLISTRESPONSE']._serialized_start=3941 + _globals['_PROCESSLISTRESPONSE']._serialized_end=4372 + _globals['_PROCESSLISTRESPONSE_PROCESSRUNNER']._serialized_start=4041 + _globals['_PROCESSLISTRESPONSE_PROCESSRUNNER']._serialized_end=4151 + _globals['_PROCESSLISTRESPONSE_PROCESS']._serialized_start=4154 + _globals['_PROCESSLISTRESPONSE_PROCESS']._serialized_end=4372 + _globals['_RESETSUBSCRIPTIONREQUEST']._serialized_start=4374 + _globals['_RESETSUBSCRIPTIONREQUEST']._serialized_end=4466 + _globals['_RESETSUBSCRIPTIONRESPONSE']._serialized_start=4468 + _globals['_RESETSUBSCRIPTIONRESPONSE']._serialized_end=4495 + _globals['_CONTROLLERSERVICE']._serialized_start=4498 + _globals['_CONTROLLERSERVICE']._serialized_end=5936 # @@protoc_insertion_point(module_scope) diff --git a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.pyi b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.pyi index bb545163b0..0a385d4b7b 100644 --- a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.pyi +++ b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/controller_pb2.pyi @@ -3,22 +3,12 @@ from google.protobuf import timestamp_pb2 as _timestamp_pb2 from xyz.block.ftl.v1 import ftl_pb2 as _ftl_pb2 from xyz.block.ftl.v1.schema import schema_pb2 as _schema_pb2 from google.protobuf.internal import containers as _containers -from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper from google.protobuf import descriptor as _descriptor from google.protobuf import message as _message from typing import ClassVar as _ClassVar, Iterable as _Iterable, Mapping as _Mapping, Optional as _Optional, Union as _Union DESCRIPTOR: _descriptor.FileDescriptor -class DeploymentChangeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): - __slots__ = () - DEPLOYMENT_ADDED: _ClassVar[DeploymentChangeType] - DEPLOYMENT_REMOVED: _ClassVar[DeploymentChangeType] - DEPLOYMENT_CHANGED: _ClassVar[DeploymentChangeType] -DEPLOYMENT_ADDED: DeploymentChangeType -DEPLOYMENT_REMOVED: DeploymentChangeType -DEPLOYMENT_CHANGED: DeploymentChangeType - class GetCertificationRequest(_message.Message): __slots__ = ("request", "signature") REQUEST_FIELD_NUMBER: _ClassVar[int] @@ -49,34 +39,6 @@ class Certificate(_message.Message): controller_signature: bytes def __init__(self, content: _Optional[_Union[CertificateContent, _Mapping]] = ..., controller_signature: _Optional[bytes] = ...) -> None: ... -class GetSchemaRequest(_message.Message): - __slots__ = () - def __init__(self) -> None: ... - -class GetSchemaResponse(_message.Message): - __slots__ = ("schema",) - SCHEMA_FIELD_NUMBER: _ClassVar[int] - schema: _schema_pb2.Schema - def __init__(self, schema: _Optional[_Union[_schema_pb2.Schema, _Mapping]] = ...) -> None: ... - -class PullSchemaRequest(_message.Message): - __slots__ = () - def __init__(self) -> None: ... - -class PullSchemaResponse(_message.Message): - __slots__ = ("deployment_key", "module_name", "schema", "more", "change_type") - DEPLOYMENT_KEY_FIELD_NUMBER: _ClassVar[int] - MODULE_NAME_FIELD_NUMBER: _ClassVar[int] - SCHEMA_FIELD_NUMBER: _ClassVar[int] - MORE_FIELD_NUMBER: _ClassVar[int] - CHANGE_TYPE_FIELD_NUMBER: _ClassVar[int] - deployment_key: str - module_name: str - schema: _schema_pb2.Module - more: bool - change_type: DeploymentChangeType - def __init__(self, deployment_key: _Optional[str] = ..., module_name: _Optional[str] = ..., schema: _Optional[_Union[_schema_pb2.Module, _Mapping]] = ..., more: bool = ..., change_type: _Optional[_Union[DeploymentChangeType, str]] = ...) -> None: ... - class GetArtefactDiffsRequest(_message.Message): __slots__ = ("client_digests",) CLIENT_DIGESTS_FIELD_NUMBER: _ClassVar[int] diff --git a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.py b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.py new file mode 100644 index 0000000000..a3b29ada41 --- /dev/null +++ b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# NO CHECKED-IN PROTOBUF GENCODE +# source: xyz/block/ftl/v1/schemaservice.proto +# Protobuf Python Version: 5.28.3 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import runtime_version as _runtime_version +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +_runtime_version.ValidateProtobufRuntimeVersion( + _runtime_version.Domain.PUBLIC, + 5, + 28, + 3, + '', + 'xyz/block/ftl/v1/schemaservice.proto' +) +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from xyz.block.ftl.v1 import ftl_pb2 as xyz_dot_block_dot_ftl_dot_v1_dot_ftl__pb2 +from xyz.block.ftl.v1.schema import schema_pb2 as xyz_dot_block_dot_ftl_dot_v1_dot_schema_dot_schema__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n$xyz/block/ftl/v1/schemaservice.proto\x12\x10xyz.block.ftl.v1\x1a\x1axyz/block/ftl/v1/ftl.proto\x1a$xyz/block/ftl/v1/schema/schema.proto\"\x12\n\x10GetSchemaRequest\"L\n\x11GetSchemaResponse\x12\x37\n\x06schema\x18\x01 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.SchemaR\x06schema\"\x13\n\x11PullSchemaRequest\"\x82\x02\n\x12PullSchemaResponse\x12%\n\x0e\x64\x65ployment_key\x18\x01 \x01(\tR\rdeploymentKey\x12\x1f\n\x0bmodule_name\x18\x02 \x01(\tR\nmoduleName\x12<\n\x06schema\x18\x04 \x01(\x0b\x32\x1f.xyz.block.ftl.v1.schema.ModuleH\x00R\x06schema\x88\x01\x01\x12\x12\n\x04more\x18\x03 \x01(\x08R\x04more\x12G\n\x0b\x63hange_type\x18\x05 \x01(\x0e\x32&.xyz.block.ftl.v1.DeploymentChangeTypeR\nchangeTypeB\t\n\x07_schema*\\\n\x14\x44\x65ploymentChangeType\x12\x14\n\x10\x44\x45PLOYMENT_ADDED\x10\x00\x12\x16\n\x12\x44\x45PLOYMENT_REMOVED\x10\x01\x12\x16\n\x12\x44\x45PLOYMENT_CHANGED\x10\x02\x32\x96\x02\n\rSchemaService\x12J\n\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12Y\n\tGetSchema\x12\".xyz.block.ftl.v1.GetSchemaRequest\x1a#.xyz.block.ftl.v1.GetSchemaResponse\"\x03\x90\x02\x01\x12^\n\nPullSchema\x12#.xyz.block.ftl.v1.PullSchemaRequest\x1a$.xyz.block.ftl.v1.PullSchemaResponse\"\x03\x90\x02\x01\x30\x01\x42\x44P\x01Z@github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1;ftlv1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'xyz.block.ftl.v1.schemaservice_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'P\001Z@github.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1;ftlv1' + _globals['_SCHEMASERVICE'].methods_by_name['Ping']._loaded_options = None + _globals['_SCHEMASERVICE'].methods_by_name['Ping']._serialized_options = b'\220\002\001' + _globals['_SCHEMASERVICE'].methods_by_name['GetSchema']._loaded_options = None + _globals['_SCHEMASERVICE'].methods_by_name['GetSchema']._serialized_options = b'\220\002\001' + _globals['_SCHEMASERVICE'].methods_by_name['PullSchema']._loaded_options = None + _globals['_SCHEMASERVICE'].methods_by_name['PullSchema']._serialized_options = b'\220\002\001' + _globals['_DEPLOYMENTCHANGETYPE']._serialized_start=504 + _globals['_DEPLOYMENTCHANGETYPE']._serialized_end=596 + _globals['_GETSCHEMAREQUEST']._serialized_start=124 + _globals['_GETSCHEMAREQUEST']._serialized_end=142 + _globals['_GETSCHEMARESPONSE']._serialized_start=144 + _globals['_GETSCHEMARESPONSE']._serialized_end=220 + _globals['_PULLSCHEMAREQUEST']._serialized_start=222 + _globals['_PULLSCHEMAREQUEST']._serialized_end=241 + _globals['_PULLSCHEMARESPONSE']._serialized_start=244 + _globals['_PULLSCHEMARESPONSE']._serialized_end=502 + _globals['_SCHEMASERVICE']._serialized_start=599 + _globals['_SCHEMASERVICE']._serialized_end=877 +# @@protoc_insertion_point(module_scope) diff --git a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.pyi b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.pyi new file mode 100644 index 0000000000..65aa0d2dc0 --- /dev/null +++ b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1/schemaservice_pb2.pyi @@ -0,0 +1,45 @@ +from xyz.block.ftl.v1 import ftl_pb2 as _ftl_pb2 +from xyz.block.ftl.v1.schema import schema_pb2 as _schema_pb2 +from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper +from google.protobuf import descriptor as _descriptor +from google.protobuf import message as _message +from typing import ClassVar as _ClassVar, Mapping as _Mapping, Optional as _Optional, Union as _Union + +DESCRIPTOR: _descriptor.FileDescriptor + +class DeploymentChangeType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper): + __slots__ = () + DEPLOYMENT_ADDED: _ClassVar[DeploymentChangeType] + DEPLOYMENT_REMOVED: _ClassVar[DeploymentChangeType] + DEPLOYMENT_CHANGED: _ClassVar[DeploymentChangeType] +DEPLOYMENT_ADDED: DeploymentChangeType +DEPLOYMENT_REMOVED: DeploymentChangeType +DEPLOYMENT_CHANGED: DeploymentChangeType + +class GetSchemaRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class GetSchemaResponse(_message.Message): + __slots__ = ("schema",) + SCHEMA_FIELD_NUMBER: _ClassVar[int] + schema: _schema_pb2.Schema + def __init__(self, schema: _Optional[_Union[_schema_pb2.Schema, _Mapping]] = ...) -> None: ... + +class PullSchemaRequest(_message.Message): + __slots__ = () + def __init__(self) -> None: ... + +class PullSchemaResponse(_message.Message): + __slots__ = ("deployment_key", "module_name", "schema", "more", "change_type") + DEPLOYMENT_KEY_FIELD_NUMBER: _ClassVar[int] + MODULE_NAME_FIELD_NUMBER: _ClassVar[int] + SCHEMA_FIELD_NUMBER: _ClassVar[int] + MORE_FIELD_NUMBER: _ClassVar[int] + CHANGE_TYPE_FIELD_NUMBER: _ClassVar[int] + deployment_key: str + module_name: str + schema: _schema_pb2.Module + more: bool + change_type: DeploymentChangeType + def __init__(self, deployment_key: _Optional[str] = ..., module_name: _Optional[str] = ..., schema: _Optional[_Union[_schema_pb2.Module, _Mapping]] = ..., more: bool = ..., change_type: _Optional[_Union[DeploymentChangeType, str]] = ...) -> None: ... diff --git a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1beta1/provisioner/service_pb2.py b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1beta1/provisioner/service_pb2.py index e001607b67..70af1d5baa 100644 --- a/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1beta1/provisioner/service_pb2.py +++ b/python-runtime/ftl/src/ftl/protos/xyz/block/ftl/v1beta1/provisioner/service_pb2.py @@ -26,7 +26,7 @@ from xyz.block.ftl.v1 import ftl_pb2 as xyz_dot_block_dot_ftl_dot_v1_dot_ftl__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/xyz/block/ftl/v1beta1/provisioner/service.proto\x12!xyz.block.ftl.v1beta1.provisioner\x1a!xyz/block/ftl/v1/controller.proto\x1a\x1axyz/block/ftl/v1/ftl.proto2\xda\x06\n\x12ProvisionerService\x12J\n\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12K\n\x06Status\x12\x1f.xyz.block.ftl.v1.StatusRequest\x1a .xyz.block.ftl.v1.StatusResponse\x12i\n\x10GetArtefactDiffs\x12).xyz.block.ftl.v1.GetArtefactDiffsRequest\x1a*.xyz.block.ftl.v1.GetArtefactDiffsResponse\x12\x63\n\x0eUploadArtefact\x12\'.xyz.block.ftl.v1.UploadArtefactRequest\x1a(.xyz.block.ftl.v1.UploadArtefactResponse\x12i\n\x10\x43reateDeployment\x12).xyz.block.ftl.v1.CreateDeploymentRequest\x1a*.xyz.block.ftl.v1.CreateDeploymentResponse\x12]\n\x0cUpdateDeploy\x12%.xyz.block.ftl.v1.UpdateDeployRequest\x1a&.xyz.block.ftl.v1.UpdateDeployResponse\x12`\n\rReplaceDeploy\x12&.xyz.block.ftl.v1.ReplaceDeployRequest\x1a\'.xyz.block.ftl.v1.ReplaceDeployResponse\x12T\n\tGetSchema\x12\".xyz.block.ftl.v1.GetSchemaRequest\x1a#.xyz.block.ftl.v1.GetSchemaResponse\x12Y\n\nPullSchema\x12#.xyz.block.ftl.v1.PullSchemaRequest\x1a$.xyz.block.ftl.v1.PullSchemaResponse0\x01\x42[P\x01ZWgithub.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1beta1/provisioner;provisionerb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n/xyz/block/ftl/v1beta1/provisioner/service.proto\x12!xyz.block.ftl.v1beta1.provisioner\x1a!xyz/block/ftl/v1/controller.proto\x1a\x1axyz/block/ftl/v1/ftl.proto2\xa9\x05\n\x12ProvisionerService\x12J\n\x04Ping\x12\x1d.xyz.block.ftl.v1.PingRequest\x1a\x1e.xyz.block.ftl.v1.PingResponse\"\x03\x90\x02\x01\x12K\n\x06Status\x12\x1f.xyz.block.ftl.v1.StatusRequest\x1a .xyz.block.ftl.v1.StatusResponse\x12i\n\x10GetArtefactDiffs\x12).xyz.block.ftl.v1.GetArtefactDiffsRequest\x1a*.xyz.block.ftl.v1.GetArtefactDiffsResponse\x12\x63\n\x0eUploadArtefact\x12\'.xyz.block.ftl.v1.UploadArtefactRequest\x1a(.xyz.block.ftl.v1.UploadArtefactResponse\x12i\n\x10\x43reateDeployment\x12).xyz.block.ftl.v1.CreateDeploymentRequest\x1a*.xyz.block.ftl.v1.CreateDeploymentResponse\x12]\n\x0cUpdateDeploy\x12%.xyz.block.ftl.v1.UpdateDeployRequest\x1a&.xyz.block.ftl.v1.UpdateDeployResponse\x12`\n\rReplaceDeploy\x12&.xyz.block.ftl.v1.ReplaceDeployRequest\x1a\'.xyz.block.ftl.v1.ReplaceDeployResponseB[P\x01ZWgithub.com/TBD54566975/ftl/backend/protos/xyz/block/ftl/v1beta1/provisioner;provisionerb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -37,5 +37,5 @@ _globals['_PROVISIONERSERVICE'].methods_by_name['Ping']._loaded_options = None _globals['_PROVISIONERSERVICE'].methods_by_name['Ping']._serialized_options = b'\220\002\001' _globals['_PROVISIONERSERVICE']._serialized_start=150 - _globals['_PROVISIONERSERVICE']._serialized_end=1008 + _globals['_PROVISIONERSERVICE']._serialized_end=831 # @@protoc_insertion_point(module_scope) diff --git a/smoketest/echo/go.mod b/smoketest/echo/go.mod index d32e024608..38b39e561a 100644 --- a/smoketest/echo/go.mod +++ b/smoketest/echo/go.mod @@ -8,7 +8,7 @@ require github.com/TBD54566975/ftl v0.396.0 require ( github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect github.com/hashicorp/cronexpr v1.1.2 // indirect github.com/swaggest/jsonschema-go v0.3.72 // indirect diff --git a/smoketest/echo/go.sum b/smoketest/echo/go.sum index 1c98a6eba7..b12117fb18 100644 --- a/smoketest/echo/go.sum +++ b/smoketest/echo/go.sum @@ -14,8 +14,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/smoketest/origin/go.mod b/smoketest/origin/go.mod index 099bcd0936..e919770d46 100644 --- a/smoketest/origin/go.mod +++ b/smoketest/origin/go.mod @@ -12,7 +12,7 @@ require ( github.com/alecthomas/atomic v0.1.0-alpha2 // indirect github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/danieljoos/wincred v1.2.2 // indirect github.com/deckarep/golang-set/v2 v2.6.0 // indirect diff --git a/smoketest/origin/go.sum b/smoketest/origin/go.sum index 428b0e41d2..51229e8c30 100644 --- a/smoketest/origin/go.sum +++ b/smoketest/origin/go.sum @@ -16,8 +16,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw= diff --git a/smoketest/relay/go.mod b/smoketest/relay/go.mod index 1d63b723d6..ef750f417e 100644 --- a/smoketest/relay/go.mod +++ b/smoketest/relay/go.mod @@ -14,7 +14,7 @@ require ( github.com/alecthomas/concurrency v0.0.2 // indirect github.com/alecthomas/kong v1.4.0 // indirect github.com/alecthomas/participle/v2 v2.1.1 // indirect - github.com/alecthomas/types v0.16.0 // indirect + github.com/alecthomas/types v0.17.0 // indirect github.com/benbjohnson/clock v1.3.5 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/danieljoos/wincred v1.2.2 // indirect diff --git a/smoketest/relay/go.sum b/smoketest/relay/go.sum index ccb3e122ca..2e1820809b 100644 --- a/smoketest/relay/go.sum +++ b/smoketest/relay/go.sum @@ -20,8 +20,8 @@ github.com/alecthomas/participle/v2 v2.1.1 h1:hrjKESvSqGHzRb4yW1ciisFJ4p3MGYih6i github.com/alecthomas/participle/v2 v2.1.1/go.mod h1:Y1+hAs8DHPmc3YUFzqllV+eSQ9ljPTk0ZkPMtEdAx2c= github.com/alecthomas/repr v0.4.0 h1:GhI2A8MACjfegCPVq9f1FLvIBS+DrQ2KQBFZP1iFzXc= github.com/alecthomas/repr v0.4.0/go.mod h1:Fr0507jx4eOXV7AlPV6AVZLYrLIuIeSOWtW57eE/O/4= -github.com/alecthomas/types v0.16.0 h1:o9+JSwCRB6DDaWDeR/Mg7v/zh3R+MlknM6DrnDyY7U0= -github.com/alecthomas/types v0.16.0/go.mod h1:Tswm0qQpjpVq8rn70OquRsUtFxbQKub/8TMyYYGI0+k= +github.com/alecthomas/types v0.17.0 h1:7zMy/iEtxy5wyAD4UNTk60b4d6gad/3yldowx/DVQ0Y= +github.com/alecthomas/types v0.17.0/go.mod h1:h+rA5USDGGu2tgggxsQgm4MmAp5Jk9opoSGetaRJ9sE= github.com/benbjohnson/clock v1.3.5 h1:VvXlSJBzZpA/zum6Sj74hxwYI2DIxRWuNIoXAzHZz5o= github.com/benbjohnson/clock v1.3.5/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/block/scaffolder v1.3.0 h1:6oMegz48abf6CehW0NF9V0irKPTZoJNsSUTFslvuftw=