Skip to content

Commit 0f9e9f0

Browse files
authored
disallow users from setting cloud agent resources (#593)
1 parent 2898638 commit 0f9e9f0

File tree

4 files changed

+95
-158
lines changed

4 files changed

+95
-158
lines changed

cmd/lk/agent.go

Lines changed: 5 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -270,7 +270,7 @@ func createAgentClient(ctx context.Context, cmd *cli.Command) (context.Context,
270270
if err != nil {
271271
return ctx, err
272272
}
273-
return ctx, updateConfig(ctx, agentsClient, workingDir, tomlFilename)
273+
return ctx, nil
274274
}
275275

276276
func createAgent(ctx context.Context, cmd *cli.Command) error {
@@ -339,10 +339,7 @@ func createAgent(ctx context.Context, cmd *cli.Command) error {
339339
}
340340

341341
req := &lkproto.CreateAgentRequest{
342-
Secrets: secrets,
343-
Replicas: int32(lkConfig.Agent.Replicas),
344-
MaxReplicas: int32(lkConfig.Agent.MaxReplicas),
345-
CpuReq: string(lkConfig.Agent.CPU),
342+
Secrets: secrets,
346343
}
347344

348345
resp, err := agentsClient.CreateAgent(ctx, req)
@@ -449,13 +446,9 @@ func createAgentConfig(ctx context.Context, cmd *cli.Command) error {
449446
}
450447

451448
agent := response.Agents[0]
452-
regionAgent := agent.AgentDeployments[0]
453449
lkConfig := config.NewLiveKitTOML(matches[1])
454450
lkConfig.Agent = &config.LiveKitTOMLAgentConfig{
455-
ID: agent.AgentId,
456-
CPU: config.CPUString(regionAgent.CpuReq),
457-
Replicas: int(regionAgent.Replicas),
458-
MaxReplicas: int(regionAgent.MaxReplicas),
451+
ID: agent.AgentId,
459452
}
460453

461454
if err := lkConfig.SaveTOMLFile("", tomlFilename); err != nil {
@@ -477,10 +470,7 @@ func deployAgent(ctx context.Context, cmd *cli.Command) error {
477470
}
478471

479472
req := &lkproto.DeployAgentRequest{
480-
AgentId: lkConfig.Agent.ID,
481-
Replicas: int32(lkConfig.Agent.Replicas),
482-
CpuReq: string(lkConfig.Agent.CPU),
483-
MaxReplicas: int32(lkConfig.Agent.MaxReplicas),
473+
AgentId: lkConfig.Agent.ID,
484474
}
485475

486476
secrets, err := requireSecrets(ctx, cmd, false, true)
@@ -593,10 +583,7 @@ func updateAgent(ctx context.Context, cmd *cli.Command) error {
593583
}
594584

595585
req := &lkproto.UpdateAgentRequest{
596-
AgentId: lkConfig.Agent.ID,
597-
Replicas: int32(lkConfig.Agent.Replicas),
598-
CpuReq: string(lkConfig.Agent.CPU),
599-
MaxReplicas: int32(lkConfig.Agent.MaxReplicas),
586+
AgentId: lkConfig.Agent.ID,
600587
}
601588

602589
secrets, err := requireSecrets(ctx, cmd, false, true)
@@ -1035,26 +1022,3 @@ func requireConfig(workingDir, tomlFilename string) (bool, error) {
10351022
lkConfig, exists, err = config.LoadTOMLFile(workingDir, tomlFilename)
10361023
return exists, err
10371024
}
1038-
1039-
func updateConfig(ctx context.Context, agentsClient *lksdk.AgentClient, workingDir, tomlFilename string) error {
1040-
cfg, exists, err := config.LoadTOMLFile(workingDir, tomlFilename)
1041-
if exists && err == nil && cfg.Agent.Name != "" {
1042-
fmt.Printf("WARNING: agent name is deprecated\n")
1043-
agents, err := agentsClient.ListAgents(ctx, &lkproto.ListAgentsRequest{
1044-
AgentName: cfg.Agent.Name,
1045-
})
1046-
if err != nil {
1047-
return err
1048-
}
1049-
if len(agents.Agents) == 0 {
1050-
return errors.New("agent not found")
1051-
}
1052-
cfg.Agent.ID = agents.Agents[0].AgentId
1053-
cfg.Agent.Name = ""
1054-
if cfg.Agent.ID == "" {
1055-
return errors.New("agent id not found")
1056-
}
1057-
return cfg.SaveTOMLFile(workingDir, tomlFilename)
1058-
}
1059-
return nil
1060-
}

go.mod

Lines changed: 27 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,28 @@ require (
1313
github.com/go-logr/logr v1.4.3
1414
github.com/go-task/task/v3 v3.43.3
1515
github.com/joho/godotenv v1.5.1
16-
github.com/livekit/protocol v1.38.1-0.20250523170657-fa4bb37c0caf
16+
github.com/livekit/protocol v1.39.1-0.20250606013705-7b3cb6db8d69
1717
github.com/livekit/server-sdk-go/v2 v2.8.2-0.20250515040018-ffbd52b92948
1818
github.com/moby/buildkit v0.22.0
1919
github.com/pion/rtcp v1.2.15
20-
github.com/pion/rtp v1.8.15
21-
github.com/pion/webrtc/v4 v4.1.0
20+
github.com/pion/rtp v1.8.18
21+
github.com/pion/webrtc/v4 v4.1.1
2222
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c
2323
github.com/pkg/errors v0.9.1
2424
github.com/schollz/progressbar/v3 v3.18.0
2525
github.com/stretchr/testify v1.10.0
2626
github.com/twitchtv/twirp v8.1.3+incompatible
2727
github.com/urfave/cli/v3 v3.3.3
2828
go.uber.org/atomic v1.11.0
29-
golang.org/x/sync v0.14.0
29+
golang.org/x/sync v0.15.0
3030
golang.org/x/time v0.11.0
3131
google.golang.org/protobuf v1.36.6
3232
gopkg.in/yaml.v3 v3.0.1
3333
k8s.io/apimachinery v0.33.1
3434
)
3535

3636
require (
37-
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250425153114-8976f5be98c1.1 // indirect
37+
buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250603165357-b52ab10f4468.1 // indirect
3838
buf.build/go/protovalidate v0.12.0 // indirect
3939
buf.build/go/protoyaml v0.6.0 // indirect
4040
cel.dev/expr v0.24.0 // indirect
@@ -49,6 +49,7 @@ require (
4949
github.com/atotto/clipboard v0.1.4 // indirect
5050
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
5151
github.com/benbjohnson/clock v1.3.5 // indirect
52+
github.com/beorn7/perks v1.0.1 // indirect
5253
github.com/bep/debounce v1.2.1 // indirect
5354
github.com/catppuccin/go v0.3.0 // indirect
5455
github.com/cespare/xxhash/v2 v2.3.0 // indirect
@@ -135,29 +136,34 @@ require (
135136
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
136137
github.com/muesli/cancelreader v0.2.2 // indirect
137138
github.com/muesli/termenv v0.16.0 // indirect
138-
github.com/nats-io/nats.go v1.42.0 // indirect
139+
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
140+
github.com/nats-io/nats.go v1.43.0 // indirect
139141
github.com/nats-io/nkeys v0.4.11 // indirect
140142
github.com/nats-io/nuid v1.0.1 // indirect
141143
github.com/opencontainers/go-digest v1.0.0 // indirect
142144
github.com/opencontainers/image-spec v1.1.1 // indirect
143145
github.com/pion/datachannel v1.5.10 // indirect
144146
github.com/pion/dtls/v3 v3.0.6 // indirect
145147
github.com/pion/ice/v4 v4.0.10 // indirect
146-
github.com/pion/interceptor v0.1.37 // indirect
148+
github.com/pion/interceptor v0.1.38 // indirect
147149
github.com/pion/logging v0.2.3 // indirect
148150
github.com/pion/mdns/v2 v2.0.7 // indirect
149151
github.com/pion/randutil v0.1.0 // indirect
150152
github.com/pion/sctp v1.8.39 // indirect
151-
github.com/pion/sdp/v3 v3.0.11 // indirect
152-
github.com/pion/srtp/v3 v3.0.4 // indirect
153+
github.com/pion/sdp/v3 v3.0.13 // indirect
154+
github.com/pion/srtp/v3 v3.0.5 // indirect
153155
github.com/pion/stun/v3 v3.0.0 // indirect
154156
github.com/pion/transport/v3 v3.0.7 // indirect
155157
github.com/pion/turn/v4 v4.0.2 // indirect
156158
github.com/pjbgf/sha1cd v0.3.2 // indirect
157159
github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect
158160
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
161+
github.com/prometheus/client_golang v1.22.0 // indirect
162+
github.com/prometheus/client_model v0.6.2 // indirect
163+
github.com/prometheus/common v0.64.0 // indirect
164+
github.com/prometheus/procfs v0.16.1 // indirect
159165
github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect
160-
github.com/redis/go-redis/v9 v9.8.0 // indirect
166+
github.com/redis/go-redis/v9 v9.10.0 // indirect
161167
github.com/rivo/uniseg v0.4.7 // indirect
162168
github.com/sajari/fuzzy v1.0.0 // indirect
163169
github.com/secure-systems-lab/go-securesystemslib v0.4.0 // indirect
@@ -180,24 +186,24 @@ require (
180186
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.56.0 // indirect
181187
go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.56.0 // indirect
182188
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.56.0 // indirect
183-
go.opentelemetry.io/otel v1.34.0 // indirect
189+
go.opentelemetry.io/otel v1.35.0 // indirect
184190
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.31.0 // indirect
185-
go.opentelemetry.io/otel/metric v1.34.0 // indirect
186-
go.opentelemetry.io/otel/sdk v1.34.0 // indirect
187-
go.opentelemetry.io/otel/trace v1.34.0 // indirect
191+
go.opentelemetry.io/otel/metric v1.35.0 // indirect
192+
go.opentelemetry.io/otel/sdk v1.35.0 // indirect
193+
go.opentelemetry.io/otel/trace v1.35.0 // indirect
188194
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
189195
go.uber.org/multierr v1.11.0 // indirect
190196
go.uber.org/zap v1.27.0 // indirect
191197
go.uber.org/zap/exp v0.3.0 // indirect
192-
golang.org/x/crypto v0.38.0 // indirect
193-
golang.org/x/exp v0.0.0-20250506013437-ce4c2cf36ca6 // indirect
194-
golang.org/x/net v0.40.0 // indirect
198+
golang.org/x/crypto v0.39.0 // indirect
199+
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
200+
golang.org/x/net v0.41.0 // indirect
195201
golang.org/x/sys v0.33.0 // indirect
196202
golang.org/x/term v0.32.0 // indirect
197-
golang.org/x/text v0.25.0 // indirect
198-
google.golang.org/genproto/googleapis/api v0.0.0-20250512202823-5a2f75b736a9 // indirect
199-
google.golang.org/genproto/googleapis/rpc v0.0.0-20250512202823-5a2f75b736a9 // indirect
200-
google.golang.org/grpc v1.72.1 // indirect
203+
golang.org/x/text v0.26.0 // indirect
204+
google.golang.org/genproto/googleapis/api v0.0.0-20250603155806-513f23925822 // indirect
205+
google.golang.org/genproto/googleapis/rpc v0.0.0-20250603155806-513f23925822 // indirect
206+
google.golang.org/grpc v1.73.0 // indirect
201207
gopkg.in/inf.v0 v0.9.1 // indirect
202208
gopkg.in/warnings.v0 v0.1.2 // indirect
203209
mvdan.cc/sh/v3 v3.11.0 // indirect

0 commit comments

Comments
 (0)