local retentionStream = tenantCfg.retention_stream;
local lookback = tenantCfg.max_query_lookback;
if std.objectHas(tenantCfg, 'max_query_lookback') &&
std.objectHas(tenantCfg, 'retention_stream') then
checkRetentionStreams(retentionStream, lookback)
else
true,
checkTenantRetention(tenant)::
local tenantCfg = $._config.overrides[tenant];
if $.isLookbackLongerThanRetention(tenantCfg) &&
$.isLookbackLongerThanStreamRetention(tenantCfg) then
true
else
false,
local tenants = std.objectFields($._config.overrides),
local validRetentionsCheck = std.foldl(
function(acc, tenant) if !$.checkTenantRetention(tenant) then { valid: false, failedTenant: [tenant] + acc.failedTenant } else acc,
tenants,
{ valid: true, failedTenant: [] }
),
assert validRetentionsCheck.valid : 'retention period longer than max_query_lookback for tenants %s' % std.join(', ', validRetentionsCheck.failedTenant),