diff --git a/packages/api/actor/src/route/actors.rs b/packages/api/actor/src/route/actors.rs index b8a1721ee0..4bdde8dfd0 100644 --- a/packages/api/actor/src/route/actors.rs +++ b/packages/api/actor/src/route/actors.rs @@ -573,11 +573,11 @@ pub async fn upgrade_all( error = "tags[]: Tag label cannot be empty." ); ensure_with!( - k.len() <= 16, + k.len() <= 32, API_BAD_BODY, error = format!( - "tags[{:?}]: Tag label too large (max 256 bytes).", - util::safe_slice(k, 0, 16), + "tags[{:?}]: Tag label too large (max 32 bytes).", + util::safe_slice(k, 0, 32), ), ); ensure_with!( @@ -937,11 +937,11 @@ async fn resolve_build( error = "build_tags[]: Build tag label cannot be empty." ); ensure_with!( - k.len() < 16, + k.len() < 32, API_BAD_BODY, error = format!( - "build_tags[{:?}]: Build tag label too large (max 16 bytes).", - util::safe_slice(k, 0, 16), + "build_tags[{:?}]: Build tag label too large (max 32 bytes).", + util::safe_slice(k, 0, 32), ) ); ensure_with!( diff --git a/packages/api/actor/src/route/builds.rs b/packages/api/actor/src/route/builds.rs index 0e73f82e00..673bbaccc2 100644 --- a/packages/api/actor/src/route/builds.rs +++ b/packages/api/actor/src/route/builds.rs @@ -233,11 +233,11 @@ pub async fn patch_tags( error = "tags[]: Tag label cannot be empty." ); ensure_with!( - k.len() <= 16, + k.len() <= 32, ACTOR_BUILD_INVALID_PATCH_CONFIG, error = format!( - "tags[{:?}]: Tag label too large (max 16).", - util::safe_slice(k, 0, 16), + "tags[{:?}]: Tag label too large (max 32).", + util::safe_slice(k, 0, 32), ) ); if let Some(v) = v { diff --git a/packages/services/ds/src/workflows/server/mod.rs b/packages/services/ds/src/workflows/server/mod.rs index 58f96fda2e..aa90f505ff 100644 --- a/packages/services/ds/src/workflows/server/mod.rs +++ b/packages/services/ds/src/workflows/server/mod.rs @@ -299,10 +299,10 @@ async fn validate(ctx: &ActivityCtx, input: &ValidateInput) -> GlobalResult 16 { + if k.len() > 32 { return Ok(Some(format!( - "tags[{:?}]: Tag label too large (max 16 bytes).", - util::safe_slice(k, 0, 16), + "tags[{:?}]: Tag label too large (max 32 bytes).", + util::safe_slice(k, 0, 32), ))); } if v.is_empty() { diff --git a/site/src/content/docs/limitations.mdx b/site/src/content/docs/limitations.mdx index 480587b94a..ef98dea23a 100644 --- a/site/src/content/docs/limitations.mdx +++ b/site/src/content/docs/limitations.mdx @@ -34,7 +34,7 @@ | Feature | Limit | | ------------- | ---------- | | **Tags** | 8 tags | -| **Tag Key** | 16 bytes | +| **Tag Key** | 32 bytes | | **Tag Value** | 1024 bytes | {/* TODO: Rivet Guard: max in flight & request rate limit once this is finalized */}