Skip to content

Commit 8714744

Browse files
Make IngressInfo.enabled optional (#937)
To provide backward compatibility with already existing Ingresses --------- Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
1 parent e58b0bf commit 8714744

30 files changed

+323
-283
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@livekit/protocol": patch
3+
---
4+
5+
Add "Enabled" flag to ingresses to allow preventing an ingress to become active without deleting it.

infra/link.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ingress/validation.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ func ValidateForSerialization(info *livekit.IngressInfo) error {
5656
if info.Url == "" {
5757
return ErrInvalidIngress("no source URL")
5858
}
59-
if !info.Enabled {
59+
if info.Enabled != nil && !*info.Enabled {
6060
return ErrInvalidIngress("disabled non reusable ingress")
6161
}
6262
}

ingress/validation_test.go

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,41 @@ func TestValidateEnableTranscoding(t *testing.T) {
143143
require.NoError(t, err)
144144
}
145145

146+
func TestValidateEnabled(t *testing.T) {
147+
info := &livekit.IngressInfo{
148+
StreamKey: "sk",
149+
RoomName: "room_name",
150+
ParticipantIdentity: "id",
151+
}
152+
T := true
153+
F := false
154+
155+
err := Validate(info)
156+
require.NoError(t, err)
157+
158+
info.Enabled = &T
159+
err = Validate(info)
160+
require.NoError(t, err)
161+
162+
info.Enabled = &F
163+
err = Validate(info)
164+
require.NoError(t, err)
165+
166+
info.InputType = livekit.IngressInput_URL_INPUT
167+
info.Url = "url"
168+
info.Enabled = nil
169+
err = Validate(info)
170+
require.NoError(t, err)
171+
172+
info.Enabled = &T
173+
err = Validate(info)
174+
require.NoError(t, err)
175+
176+
info.Enabled = &F
177+
err = Validate(info)
178+
require.Error(t, err)
179+
}
180+
146181
func TestValidateVideoOptionsConsistency(t *testing.T) {
147182
video := &livekit.IngressVideoOptions{}
148183
err := ValidateVideoOptionsConsistency(video)

livekit/livekit_agent.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

livekit/livekit_agent_dispatch.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

livekit/livekit_analytics.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

livekit/livekit_egress.pb.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

livekit/livekit_ingress.pb.go

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

livekit/livekit_ingress.twirp.go

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

0 commit comments

Comments
 (0)