Skip to content

Commit 859dd2f

Browse files
authored
feat: add dynamic parameters websocket endpoint (#17165)
1 parent c9682cb commit 859dd2f

File tree

19 files changed

+2291
-347
lines changed

19 files changed

+2291
-347
lines changed

archive/fs/tar.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,8 @@ import (
99
"github.com/spf13/afero/tarfs"
1010
)
1111

12+
// FromTarReader creates a read-only in-memory FS
1213
func FromTarReader(r io.Reader) fs.FS {
1314
tr := tar.NewReader(r)
14-
tfs := tarfs.New(tr)
15-
rofs := afero.NewReadOnlyFs(tfs)
16-
return afero.NewIOFS(rofs)
15+
return afero.NewIOFS(tarfs.New(tr))
1716
}

coderd/apidoc/docs.go

Lines changed: 30 additions & 67 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 28 additions & 57 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/coderd.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import (
4343

4444
"github.com/coder/coder/v2/coderd/cryptokeys"
4545
"github.com/coder/coder/v2/coderd/entitlements"
46+
"github.com/coder/coder/v2/coderd/files"
4647
"github.com/coder/coder/v2/coderd/idpsync"
4748
"github.com/coder/coder/v2/coderd/runtimeconfig"
4849
"github.com/coder/coder/v2/coderd/webpush"
@@ -557,6 +558,7 @@ func New(options *Options) *API {
557558
TemplateScheduleStore: options.TemplateScheduleStore,
558559
UserQuietHoursScheduleStore: options.UserQuietHoursScheduleStore,
559560
AccessControlStore: options.AccessControlStore,
561+
FileCache: files.NewFromStore(options.Database),
560562
Experiments: experiments,
561563
WebpushDispatcher: options.WebPushDispatcher,
562564
healthCheckGroup: &singleflight.Group[string, *healthsdk.HealthcheckReport]{},
@@ -1096,6 +1098,10 @@ func New(options *Options) *API {
10961098
// The idea is to return an empty [], so that the coder CLI won't get blocked accidentally.
10971099
r.Get("/schema", templateVersionSchemaDeprecated)
10981100
r.Get("/parameters", templateVersionParametersDeprecated)
1101+
r.Group(func(r chi.Router) {
1102+
r.Use(httpmw.RequireExperiment(api.Experiments, codersdk.ExperimentDynamicParameters))
1103+
r.Get("/dynamic-parameters", api.templateVersionDynamicParameters)
1104+
})
10991105
r.Get("/rich-parameters", api.templateVersionRichParameters)
11001106
r.Get("/external-auth", api.templateVersionExternalAuth)
11011107
r.Get("/variables", api.templateVersionVariables)
@@ -1545,6 +1551,7 @@ type API struct {
15451551
// passed to dbauthz.
15461552
AccessControlStore *atomic.Pointer[dbauthz.AccessControlStore]
15471553
PortSharer atomic.Pointer[portsharing.PortSharer]
1554+
FileCache files.Cache
15481555

15491556
UpdatesProvider tailnet.WorkspaceUpdatesProvider
15501557

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy