InfluxDB Clustered

Version: 20240227-883344

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8" />
	<link rel="icon" href="https://www.influxdata.com/wp-content/uploads/cubo.svg" sizes="32x32" />
	<link rel="icon" href="https://www.influxdata.com/wp-content/uploads/cubo.svg" sizes="192x192" />
	<link rel="apple-touch-icon" href="https://www.influxdata.com/wp-content/uploads/cubo.svg" />
	<meta name="viewport" content="width=device-width" />
	<link rel="stylesheet" href="/github.css">
	
		<link href="../../_app/immutable/assets/0.3f276cde.css" rel="stylesheet">
</head>

<body data-sveltekit-preload-data="hover">
	<div style="display: contents">  <div class="flex h-screen items-start"><nav class="sidebar flex-shrink-0  overflow-y-auto svelte-87s1co"><ul><li class="pl-4 pb-2 pt-2 svelte-87s1co"><label><input type="radio" value="false" checked>
                Releases</label> <label><input type="radio" value="true">
                Pre-releases</label></li>  <li class="pl-8 pb-2 pt-2 svelte-87s1co"> <a href="/release/20241217-1494922">20241217-1494922</a> </li> <li class="pl-8 pb-2 pt-2 svelte-87s1co"><span title="This is checkpoint release. You must upgrade to this release before upgrading to a subsequent release"><svg xmlns="http://www.w3.org/2000/svg" class="shrink-0 h-5 w-5 text-red-600 inline-block -ml-6 pr-1 pb-1" role="img" width="24" height="24" fill="currentColor" aria-label="hand" viewBox="0 0 512 512"><path d="M256 0c-25.3 0-47.2 14.7-57.6 36c-7-2.6-14.5-4-22.4-4c-35.3 0-64 28.7-64 64V261.5l-2.7-2.7c-25-25-65.5-25-90.5 0s-25 65.5 0 90.5L106.5 437c48 48 113.1 75 181 75H296h8c1.5 0 3-.1 4.5-.4c91.7-6.2 165-79.4 171.1-171.1c.3-1.5 .4-3 .4-4.5V160c0-35.3-28.7-64-64-64c-5.5 0-10.9 .7-16 2V96c0-35.3-28.7-64-64-64c-7.9 0-15.4 1.4-22.4 4C303.2 14.7 281.3 0 256 0zM240 96.1c0 0 0-.1 0-.1V64c0-8.8 7.2-16 16-16s16 7.2 16 16V95.9c0 0 0 .1 0 .1V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96c0 0 0 0 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16v55.9c0 0 0 .1 0 .1v80c0 13.3 10.7 24 24 24s24-10.7 24-24V160.1c0 0 0-.1 0-.1c0-8.8 7.2-16 16-16s16 7.2 16 16V332.9c-.1 .6-.1 1.3-.2 1.9c-3.4 69.7-59.3 125.6-129 129c-.6 0-1.3 .1-1.9 .2H296h-8.5c-55.2 0-108.1-21.9-147.1-60.9L52.7 315.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L119 336.4c6.9 6.9 17.2 8.9 26.2 5.2s14.8-12.5 14.8-22.2V96c0-8.8 7.2-16 16-16c8.8 0 16 7.1 16 15.9V232c0 13.3 10.7 24 24 24s24-10.7 24-24V96.1z"></path></svg>  </span> <a href="/release/20241024-1354148">20241024-1354148</a> </li></ul></nav> <button class="pl-4 pt-6" data-svelte-h="svelte-148nqi9">☰ </button> <div class="content flex-1 p-4 max-w-full overflow-auto"><h1 class="main-title text-4xl pb-4 svelte-1ric4i8" data-svelte-h="svelte-3pqa7f">InfluxDB Clustered</h1> <h1>404</h1> <p>Not Found</p></div> </div> 
			<script type="application/json" data-sveltekit-fetched data-url="/api/releases">{"status":200,"statusText":"","headers":{},"body":"[\"20250113-1527927\",\"20250113-1527583\",\"20250113-1527315\",\"20250113-1527001\",\"20250113-1526883\",\"20250113-1526322\",\"20250110-1525604\",\"20250110-1525248\",\"20250110-1525169\",\"20250110-1524860\",\"20250110-1524746\",\"20250110-1524149\",\"20250110-1523689\",\"20250110-1523435\",\"20250110-1523107\",\"20250109-1522779\",\"20250109-1522517\",\"20250109-1522393\",\"20250109-1522052\",\"20250109-1521830\",\"20250109-1521354\",\"20250109-1520856\",\"20250109-1520445\",\"20250109-1520128\",\"20250109-1519794\",\"20250109-1519747\",\"20250108-1519293\",\"20250108-1518924\",\"20250108-1518865\",\"20250108-1518318\",\"20250108-1517832\",\"20250108-1517449\",\"20250108-1516983\",\"20250108-1516557\",\"20250108-1516445\",\"20250108-1516238\",\"20250108-1515706\",\"20250108-1515625\",\"20250107-1514929\",\"20250107-1514865\",\"20250107-1514578\",\"20250107-1514484\",\"20250107-1514400\",\"20250107-1513875\",\"20250106-1513593\",\"20250106-1513302\",\"20250106-1513249\",\"20250106-1512926\",\"20250106-1512703\",\"20250106-1512195\",\"20250106-1511290\",\"20250106-1510969\",\"20250106-1510659\",\"20250106-1510240\",\"20250106-1509825\",\"20250105-1509205\",\"20250103-1508721\",\"20250103-1508673\",\"20250103-1507902\",\"20250103-1507667\",\"20250103-1507348\",\"20250103-1506988\",\"20250103-1506867\",\"20250103-1506537\",\"20250103-1506448\",\"20250102-1505925\",\"20250102-1505736\",\"20250102-1505425\",\"20250102-1505087\",\"20250102-1504942\",\"20250102-1504792\",\"20250102-1504229\",\"20250102-1503771\",\"20250102-1503531\",\"20250102-1503259\",\"20250102-1503139\",\"20250102-1502947\",\"20250102-1502671\",\"20250102-1501923\",\"20250102-1501672\",\"20241230-1501141\",\"20241230-1501111\",\"20241223-1500778\",\"20241220-1500482\",\"20241220-1499781\",\"20241220-1499665\",\"20241219-1499241\",\"20241219-1499187\",\"20241219-1498916\",\"20241219-1498701\",\"20241219-1498443\",\"20241218-1498053\",\"20241218-1497710\",\"20241218-1497411\",\"20241218-1497380\",\"20241218-1496904\",\"20241218-1496811\",\"20241218-1496323\",\"20241218-1496290\",\"20241217-1496033\",\"20241217-1495891\",\"20241217-1495849\",\"20241217-1494922\",\"20241217-1494805\",\"20241216-1494314\",\"20241216-1493824\",\"20241216-1493707\",\"20241216-1493551\",\"20241216-1492863\",\"20241216-1492023\",\"20241216-1491780\",\"20241213-1491076\",\"20241213-1490383\",\"20241213-1489951\",\"20241213-1489834\",\"20241212-1489005\",\"20241212-1488612\",\"20241212-1488420\",\"20241212-1488071\",\"20241212-1487584\",\"20241212-1487200\",\"20241212-1486991\",\"20241211-1486593\",\"20241211-1486286\",\"20241211-1485892\",\"20241211-1485675\",\"20241211-1485450\",\"20241210-1485286\",\"20241210-1484934\",\"20241210-1484168\",\"20241210-1483998\",\"20241210-1483892\",\"20241210-1483414\",\"20241210-1483148\",\"20241210-1482842\",\"20241210-1482660\",\"20241210-1482452\",\"20241209-1481866\",\"20241209-1481459\",\"20241209-1481178\",\"20241209-1480602\",\"20241209-1480094\",\"20241209-1479585\",\"20241209-1479254\",\"20241209-1478822\",\"20241209-1478752\",\"20241209-1478124\",\"20241209-1477743\",\"20241207-1476383\",\"20241206-1475985\",\"20241206-1475551\",\"20241206-1475230\",\"20241206-1475066\",\"20241206-1474933\",\"20241206-1474350\",\"20241206-1473931\",\"20241206-1473547\",\"20241206-1473500\",\"20241205-1472774\",\"20241205-1472742\",\"20241205-1472409\",\"20241205-1472084\",\"20241205-1471972\",\"20241205-1471893\",\"20241205-1471547\",\"20241204-1471162\",\"20241204-1470517\",\"20241204-1470232\",\"20241204-1469807\",\"20241204-1469777\",\"20241204-1469462\",\"20241204-1469392\",\"20241204-1469329\",\"20241203-1468906\",\"20241203-1468644\",\"20241203-1468604\",\"20241203-1468189\",\"20241203-1467681\",\"20241203-1467203\",\"20241203-1466699\",\"20241203-1466345\",\"20241203-1466072\",\"20241203-1465703\",\"20241203-1465366\",\"20241203-1465335\",\"20241202-1464989\",\"20241202-1464875\",\"20241202-1464516\",\"20241202-1464363\",\"20241202-1464002\",\"20241202-1463825\",\"20241202-1463620\",\"20241129-1463385\",\"20241129-1462759\",\"20241129-1462688\",\"20241128-1462223\",\"20241128-1461883\",\"20241128-1461636\",\"20241128-1461368\",\"20241128-1461153\",\"20241127-1460848\",\"20241127-1460784\",\"20241127-1460476\",\"20241127-1460203\",\"20241127-1459849\",\"20241127-1459827\",\"20241126-1459252\",\"20241126-1459030\",\"20241126-1458738\",\"20241126-1458184\",\"20241126-1457931\",\"20241126-1457807\",\"20241126-1457536\",\"20241126-1457326\",\"20241126-1457195\",\"20241126-1457133\",\"20241125-1456800\",\"20241125-1456605\",\"20241125-1456557\",\"20241125-1456225\",\"20241125-1456017\",\"20241125-1455690\",\"20241125-1455242\",\"20241122-1454673\",\"20241122-1454650\",\"20241122-1454411\",\"20241122-1454242\",\"20241122-1453365\",\"20241122-1452878\",\"20241122-1452684\",\"20241122-1452480\",\"20241122-1452143\",\"20241122-1452122\",\"20241122-1451669\",\"20241122-1451646\",\"20241121-1451379\",\"20241121-1450792\",\"20241121-1450500\",\"20241121-1450301\",\"20241121-1449964\",\"20241121-1449698\",\"20241121-1449007\",\"20241121-1448637\",\"20241121-1448067\",\"20241121-1448037\",\"20241120-1447596\",\"20241120-1447277\",\"20241120-1447126\",\"20241120-1445961\",\"20241120-1442791\",\"20241120-1441064\",\"20241120-1441002\",\"20241120-1440806\",\"20241120-1440562\",\"20241120-1440221\",\"20241120-1439811\",\"20241120-1439756\",\"20241119-1439344\",\"20241119-1438924\",\"20241119-1438484\",\"20241119-1438349\",\"20241119-1437959\",\"20241119-1437776\",\"20241119-1437492\",\"20241119-1437403\",\"20241118-1436591\",\"20241118-1436251\",\"20241118-1436071\",\"20241118-1435694\",\"20241118-1435543\",\"20241118-1435172\",\"20241118-1435034\",\"20241118-1434626\",\"20241118-1434594\",\"20241115-1434195\",\"20241115-1433955\",\"20241115-1433874\",\"20241115-1433617\",\"20241115-1433548\",\"20241115-1433052\",\"20241115-1432857\",\"20241115-1432525\",\"20241115-1432372\",\"20241115-1432220\",\"20241115-1432034\",\"20241114-1431299\",\"20241114-1431107\",\"20241114-1430659\",\"20241114-1430627\",\"20241114-1430464\",\"20241114-1429972\",\"20241114-1429820\",\"20241114-1429569\",\"20241114-1429496\",\"20241114-1429262\",\"20241114-1429069\",\"20241113-1428789\",\"20241113-1428678\",\"20241113-1428405\",\"20241113-1428246\",\"20241113-1427893\",\"20241113-1427115\",\"20241113-1424940\",\"20241113-1419268\",\"20241113-1413816\",\"20241113-1402992\",\"20241113-1402026\",\"20241112-1397559\",\"20241112-1396715\",\"20241112-1396368\",\"20241112-1396010\",\"20241111-1394192\",\"20241111-1394142\",\"20241111-1392836\",\"20241111-1392767\",\"20241108-1389061\",\"20241108-1387425\",\"20241108-1387051\",\"20241108-1386508\",\"20241107-1385706\",\"20241107-1385239\",\"20241107-1384994\",\"20241107-1384511\",\"20241107-1383951\",\"20241107-1383894\",\"20241107-1383006\",\"20241106-1382456\",\"20241106-1382407\",\"20241106-1382286\",\"20241106-1382068\",\"20241106-1381837\",\"20241106-1381461\",\"20241106-1381106\",\"20241106-1380689\",\"20241106-1380626\",\"20241105-1379886\",\"20241105-1379564\",\"20241105-1379528\",\"20241105-1379148\",\"20241105-1379096\",\"20241104-1377600\",\"20241104-1377306\",\"20241104-1377153\",\"20241104-1377014\",\"20241101-1373322\",\"20241101-1373014\",\"20241101-1372660\",\"20241101-1372548\",\"20241101-1372416\",\"20241101-1372340\",\"20241101-1371959\",\"20241101-1371911\",\"20241031-1371621\",\"20241031-1371509\",\"20241031-1371333\",\"20241031-1371062\",\"20241031-1370997\",\"20241031-1370798\",\"20241031-1370777\",\"20241031-1370610\",\"20241031-1370573\",\"20241030-1368315\",\"20241030-1368263\",\"20241030-1367868\",\"20241030-1367587\",\"20241030-1367439\",\"20241029-1366832\",\"20241029-1366444\",\"20241029-1366364\",\"20241029-1366153\",\"20241029-1365936\",\"20241029-1365789\",\"20241029-1365632\",\"20241029-1364897\",\"20241029-1364758\",\"20241029-1364170\",\"20241029-1364030\",\"20241029-1363585\",\"20241029-1363437\",\"20241028-1361874\",\"20241028-1361590\",\"20241028-1361539\",\"20241028-1361047\",\"20241028-1360678\",\"20241028-1360502\",\"20241028-1360029\",\"20241025-1356871\",\"20241025-1356739\",\"20241025-1356650\",\"20241025-1356327\",\"20241025-1356282\",\"20241025-1355092\",\"20241025-1355012\",\"20241025-1354891\",\"20241024-1354361\",\"20241024-1354148\",\"20241024-1354040\",\"20241024-1353952\",\"20241024-1353552\",\"20241024-1353416\",\"20241024-1353269\",\"20241024-1353089\",\"20241024-1352505\",\"20241024-1352350\",\"20241023-1350967\",\"20241023-1350614\",\"20241023-1350562\",\"20241023-1350262\",\"20241023-1349760\",\"20241023-1349595\",\"20241023-1349291\",\"20241023-1349112\",\"20241023-1348976\",\"20241023-1348616\",\"20241023-1348371\",\"20241022-1347516\",\"20241022-1347165\",\"20241022-1346953\",\"20241022-1346534\",\"20241022-1346287\",\"20241022-1345927\",\"20241022-1345769\",\"20241022-1345633\",\"20241022-1345501\",\"20241022-1345203\",\"20241022-1344277\",\"20241022-1344138\",\"20241022-1344018\",\"20241022-1343877\",\"20241022-1343552\",\"20241021-1342398\",\"20241021-1342198\",\"20241021-1342153\",\"20241021-1341915\",\"20241021-1341465\",\"20241021-1341198\",\"20241021-1340873\",\"20241021-1340757\",\"20241021-1340693\",\"20241018-1336248\",\"20241018-1336085\",\"20241018-1335884\",\"20241018-1335544\",\"20241018-1335236\",\"20241018-1335180\",\"20241018-1335085\",\"20241018-1334773\",\"20241018-1334604\",\"20241017-1333909\",\"20241017-1333837\",\"20241017-1333710\",\"20241017-1333233\",\"20241017-1332623\",\"20241017-1332218\",\"20241017-1332139\",\"20241017-1331902\",\"20241017-1331722\",\"20241017-1331410\",\"20241016-1331055\",\"20241016-1330728\",\"20241016-1330620\",\"20241016-1330555\",\"20241016-1330299\",\"20241016-1329939\",\"20241016-1329545\",\"20241016-1329313\",\"20241016-1329025\",\"20241016-1328860\",\"20241015-1328145\",\"20241015-1328118\",\"20241015-1327862\",\"20241015-1327753\",\"20241015-1327565\",\"20241015-1327182\",\"20241015-1327146\",\"20241014-1326864\",\"20241014-1326091\",\"20241014-1325908\",\"20241014-1325605\",\"20241014-1325377\",\"20241014-1324716\",\"20241014-1324509\",\"20241014-1324413\",\"20241011-1324073\",\"20241011-1323765\",\"20241011-1323698\",\"20241011-1323354\",\"20241011-1323254\",\"20241011-1323049\",\"20241011-1322771\",\"20241011-1322375\",\"20241011-1322175\",\"20241011-1321967\",\"20241011-1321939\",\"20241010-1321812\",\"20241010-1321695\",\"20241010-1321236\",\"20241010-1321192\",\"20241010-1320889\",\"20241010-1320772\",\"20241010-1320452\",\"20241010-1320349\",\"20241010-1320264\",\"20241010-1320132\",\"20241010-1320056\",\"20241009-1319569\",\"20241009-1319478\",\"20241009-1319165\",\"20241009-1319129\",\"20241009-1318375\",\"20241009-1318218\",\"20241009-1318054\",\"20241009-1317633\",\"20241009-1317050\",\"20241009-1316886\",\"20241008-1316631\",\"20241008-1316434\",\"20241008-1316190\",\"20241008-1315935\",\"20241008-1315735\",\"20241008-1315375\",\"20241008-1315286\",\"20241008-1314383\",\"20241007-1312833\",\"20241007-1312601\",\"20241007-1312528\",\"20241007-1312177\",\"20241007-1311885\",\"20241007-1311789\",\"20241007-1311220\",\"20241007-1310625\",\"20241007-1310424\",\"20241007-1310345\",\"20241004-1306402\",\"20241004-1306286\",\"20241004-1305177\",\"20241003-1303516\",\"20241003-1303469\",\"20241003-1302916\",\"20241003-1302810\",\"20241003-1302474\",\"20241002-1300726\",\"20241002-1300687\",\"20241002-1300459\",\"20241002-1300145\",\"20241002-1300060\",\"20241002-1299680\",\"20241002-1299475\",\"20241002-1299256\",\"20241002-1299118\",\"20241002-1298503\",\"20241002-1298349\",\"20241002-1298227\",\"20241002-1298126\",\"20241002-1298011\",\"20241001-1297658\",\"20241001-1297466\",\"20241001-1296770\",\"20241001-1296087\",\"20241001-1295339\",\"20241001-1294741\",\"20241001-1293496\",\"20240930-1287183\",\"20240928-1283950\",\"20240927-1281537\",\"20240927-1279529\",\"20240927-1275893\",\"20240927-1274313\",\"20240927-1272981\",\"20240926-1271397\",\"20240926-1267378\",\"20240926-1267132\",\"20240926-1266372\",\"20240925-1264220\",\"20240925-1262835\",\"20240925-1257864\"]"}</script>
			<script type="application/json" data-sveltekit-fetched data-url="/releases/20250113-1527927/RELEASE_NOTES.md">{"status":200,"statusText":"OK","headers":{},"body":"# InfluxDB Clustered Release Notes\n\n\u003C!-- (The body of this comment is used by ./scripts/release ; DO NOT EDIT THIS LINE): CUT HERE\n\n# 20250113-1527927\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20250113-1527927\n```\n\n## Highlights\n\n### something\n\n### something else\n\n## Upgrade notes\n\n### something\n\n## Changes\n\n### Deployment\n\n### Database Engine\n\n-->\n\n\u003C!-- To cut a new release call the ./scripts/release script -->\n\u003C!-- The following heading will appear in the release notes of each pre-release with the current pre-release version replaced -->\n\n# 20241217-1494922\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241217-1494922\n```\n\n## Bug Fixes\n\nThis fixes a bug present in release 20241024-1354148, in which `core` pods used an invalid DSN (omitting the `?` in the query string) when attempting to connect to Postgres. `core` pods will now properly populate the DSN before connecting.\n\n## Deployment\n\n- Entitlements associated with a `License` Custom Resource (CR), including the license expiration date, are now exposed in the `entitlements` property of that CR's `spec`.\n- Reduced default log level from `debug` to `info` in auth sidecar.\n\n## Database Engine\n- influxql http interface: eliminated floating point rounding of query literals which caused inaccurate query results\n- Datafusion upgrades\n- Upgrade Rust to 1.83.0\n\n## Configuration\n- N/A\n\n# 20241024-1354148\n\n## Known Bugs\n\n### `core` service DSN parsing errors\n\nThis release has a known bug in the `core` pods with respect to handling of\noptions in Postgres DSNs. This bug can be seen in the `core-MMMMMMMMMM-NNNNN`\nlogs that look like the following:\n\n```\n2024-11-04T01:00:00.000Z | 3: error returned from database: database \"influxdb&options=-c%20search_path=\" does not exist\n2024-11-04T01:00:19.000Z | 4: database \"influxdb&options=-c%20search_path=\" does not exist\n```\n\nThe issue here is that entire `influxdb&options=-c%20search_path=` string is\nbeing interpreted as the database name, owing to incorrect parsing of the\n`POSTGRES_DSN` environment variable.\n\nThe workaround to deal with this before a fix makes its way into the next\nrelease is to use an image override in your AppInstance that looks like:\n\n```\napiVersion: kubecfg.dev/v1alpha1\nkind: AppInstance\nmetadata:\n  name: influxdb\n  namespace: influxdb\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241024-1354148\n    apiVersion: influxdata.com/v1alpha1\n    spec:\n      images:\n        overrides:\n          - name: 'influxdb2-artifacts/granite/granite'\n            newFQIN: 'us-docker.pkg.dev/influxdb2-artifacts/granite/granite:7acf9ca6e1ad15db80b22cd0bc071acdb561eb51'\n# ...additional configuration left out for brevity\n```\n\nYour AppInstance may have additional configuration, but the important part here\nis the `spec.package.spec.images.overrides` section where we override the\nbuilt-in image used by the `core` pods with one that has a bugfix for the DSN\nparsing error.\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20241022-1346953\n```\n\n## Highlights\n\n### This release is a checkpoint release\n\nRefer to the upgrade notes.\n\n### AppInstance Image Override Bug Fix\n\nIn `20240925-1257864`, the AppInstance image override was broken with the\nintroduction of strict always-on license enforcement. This release fixes that\nbug.\n\nThis bug is expected to have an outsize impact on customers running Clustered\nin air-gapped environments where the deployment model involves override the\ndefault image repository to point to images copied to an air-gapped registry.\n\nTo address this situation, the current release is meant as an alternative to\n`20240925-1257864` for customers who depend on this image override feature.\n\n### Upgrade Bug Fix\n\nIn `20240925-1257864`, a schema migration bug was introduced that caused an\ninit container in the `account` Pods to hang indefinitely. This would only\nhappen during an upgrade -- new Clustered installs on this version should be\nfine.\n\nFor customers who experience this bug when attempting to upgrade to\n`20240925-1257864`, it should be fine to use `20241024-1354148` instead.\n\n## Upgrade notes\n\n## Changes\n\n### Deployment\n\n- Bug fix: IOx Garbage Collector and IOx Catalog Service can now have their\n  default CPU/Memory resource requests and limits overridden.\n- Ingress: The Gateway service has been removed and superseded by the\n  newly-introduced Core service.\n- Bug fix: Fix logic dealing with application of default resource limits for\n  IOx components.\n- Support [`ResourceQuota`s](https://kubernetes.io/docs/concepts/policy/resource-quotas/)\n  with the `enableDefaultResourceLimits` feature flag. This causes resource\n  limits to be applied even to containers that don't normally have limits\n  applied.\n\n### Database Engine\n\n### Configuration\n\n# 20240925-1257864\n\n**NOTE** This release has a number of bugs in it which make it unsuitable for\ncustomer use. If you are currently running this verison, please upgrade to\n`20241024-1354148`.\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240925-1257864\n```\n\n## Highlights\n\n### Default to partial write semantics\n\nClustered now defaults to partial write semantics in the ingesters. If this\ncauses unexpected problems, the behavior may be disabled by setting\n`INFLUXDB_IOX_PARTIAL_WRITES_ENABLED=false`. See [the Clustered docs on how to\nset environment\nvariables](https://docs.influxdata.com/influxdb/clustered/admin/env-vars/).\n\n### Deploy and use the Catalog Service by default\n\nThe catalog Service is a new IOx component that centralizes access to the\nInfluxDB catalog among ingesters, queriers, compactors, and garbage collectors.\nThis is expected to improve catalog query performance overall with an expected\ndrop in p99 latencies.\n\n## Upgrade notes\n\n### License always required\n\nA valid license token is now required to start up. To avoid possible\ncomplications, customers who do not already have a license token should reach\nout to their sales representative to get a license token prior to upgrading to\nthis release.\n\n### Feature flag removal: `prometheusOperator`\n\n**If you have not used this feature flag, there is nothing to do.**\n\nThis flag has been hidden since its deprecation. From this release the\n`prometheusOperator` feature flag has been removed. This means that upgrading\nto this release with the flag enabled may cause errors.\n\nGoing forward the installation of the Prometheus operator is not a Clustered\nconcern and must be handled externally.\n\n## Changes\n\n### Deployment\n\n- Introduces the `nodeAffinity` and CPU/Memory requests setting for \"granite\"\n  components. Previously, these settings were only available for core IOx\n  components.\n- Prior to this release many of the IOx dashboards deployed with the `grafana`\n  feature flag were showing \"no data\" -- this has been fixed now and all\n  dashboards should display actual data.\n\n### Database Engine\n\n- Adjust compactor concurrency scaling heuristic to improve performance as\n  memory & CPU scale.\n- Adjust default `INFLUXDB_IOX_COMPACTION_PARTITION_MINUTE_THRESHOLD` from\n  `20m` to `100m` to help compactor more quickly rediscover cool partitions.\n\n### Configuration\n\n- Introduces the `podAntiAffinity` setting for components within InfluxDB\n  Clustered. Previously, the scheduling of pods was influenced by the Kubernetes\n  scheduler's default behavior. For further details, please consult the\n  [documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#types-of-inter-pod-affinity-and-anti-affinity).\n\n# 20240819-1176644\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240819-1176644\n```\n\n## Highlights\n\n### This release is a checkpoint release\n\nRefer to the upgrade notes.\n\n### `admin` section is no longer required\n\nPreviously, an identity provider setup has been required through the `admin` section\nof the `AppInstance`, for example:\n\n```yaml\napiVersion: kubecfg.dev/v1alpha1\nkind: AppInstance\nmetadata:\n  name: influxdb\n  namespace: influxdb\nspec:\n  package:\n    image: \u003CIMAGE>\n    apiVersion: influxdata.com/v1alpha1\n    spec:\n      # ...snip\n      admin:\n        users:\n          - ...\n        dsn:\n          valueFrom: ...\n        identityProvider: \u003CPROVIDER>\n        jwksEndpoint: \u003CJWKS_ENDPOINT>\n```\n\nThis section is no longer required and will no longer result in a schema validation error when omitted.\nWhen the `admin` section is omitted, the `admin-token` `Secret` can be used instead to get started quickly.\n\n**NOTE: We still highly recommend OAuth for production; however, this will enable quickstart behaviour.**\n\n## Upgrade notes\n\nThis release includes some prepatory work for changes being made to database schemas\nand tooling for internal services. It does not have an impact to customer workloads.\n\n## Changes\n\n### Deployment\n\n- Various Grafana dashboard updates\n- A best-effort, prepopulated `influxctl` config file is provided as a `ConfigMap` for your convenience\n- Enforce garbage collector replicas to 1, see the [documentation](https://docs.influxdata.com/influxdb/clustered/reference/internals/storage-engine/#garbage-collector-scaling-strategies) for further details.\n\n### Database Engine\n\n- Improved efficiency of system table queries\n- Fixes for InfluxQL handling of 0 divisor\n- Router performance improvements for retrieval of statistics\n- Support for InfluxQL queries over FlightSQL\n- Various dependency updates\n\n### Configuration\n\n- Added schema definitions for `admin.users`\n\n# 20240717-1117630\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240717-1117630\n```\n\n## Highlights\n\n### Experimental License Enforcement\n\nThis release introduces a new feature flag, `useLicensedBinaries`, that causes\nIOx components to be executed with a container image implementing a new license\nenforcement mechanism. License enforcement mechanisms include:\n\n- A proper `License` Custom Resource manifest must be installed in the\n  namespace to which Clustered is deployed. Only one `License` named\n  `iox-license` may be deployed per namespace.\n- Without a valid `License`, IOx pods will crashloop with error logs\n  indicating that no valid license was able to be loaded.\n  - A valid `License` is one that is properly signed by InfluxData and has not\n    exceeded its hard expiration date.\n- One month before the `License` expires, all components will begin logging\n  pending expiry warning messages. These will be visible with `kubectl log -n\n\u003Cnamespace> \u003Cpod>`.\n- If a valid `License` expires while the system is running, it enters a grace\n  period.\n- During the `License`'s grace period, the following happens:\n  - Throughout the grace period, all components will gradually increase the\n    frequency of license expiry warnings.\n  - One week into the grace period, the InfluxDB 3.0 Querier will begin\n    returning `FailedPrecondition` gRPC responses for the first 5 minutes of every\n    hour.\n  - One month into the grace period, the InfluxDB 3.0 Querier will begin\n    returning `FailedPrecondition` gRPC responses 100% of the time until the\n    grace period ends.\n- At the end of the `License` grace period, all IOx components will shutdown as\n  this is the \"hard expiration\" date when the binaries will no longer consider\n  the `License` valid.\n\nThis feature is being released on an experimental opt-in basis while we work\nwith a small group of customers to test it out in their environments before\nmaking licenses required to run InfluxDB 3.0 at all. Before enabling the\nfeature, please be sure you have a `License` manifest provided to you by your\nInfluxData sales representative.\n\n### Default querier count increased\n\nPrior to this release, the number of queriers which were spawned from the default configuration was 1.\n\nThis has now been increased to 3. If you have previously overwritten the default in the `AppInstance`, it is no longer required:\n\n```yaml\napiVersion: kubecfg.dev/v1alpha1\nkind: AppInstance\nmetadata:\n  name: influxdb\n  namespace: influxdb\nspec:\n   ...\n      resources:\n        querier:\n          requests:\n            replicas: 3 # No longer required!\n```\n\nIf you wish to keep the number of queriers to 1, you must override the `replicas` as shown above.\nRefer to the schema for further details.\n\nThis new configuration serves as a scalable default installation for the Clustered product.\n\n## Changes\n\n### Deployment\n\n- Ingesters now have a `terminationGracePeriodSeconds` value of `600` to provide enough time to persist all buffered data.\n\n### Database Engine\n\n- Changed default INFLUXDB*IOX_COMPACTION*\\*\\_CONCURRENCY to be set based on available memory rather than available cores.\n- Improved metadata cacheing and queries\n- Improved cache read efficiency\n- Improved cache cleaning\n- Fixed some I/O delays on query planning\n- Better handling for resizing worker pools\n- Faster recovery from ingester crashes\n- Faster graceful shutdown of terminating ingester pods\n- Fixed a rare issue where ingesters could become unresponsive after hitting memory limits\n- Added per-table column limit, to prevent unintended schema expansion\n- Reduced intermediate compactor writes to object storage\n- Increase compactor throughput\n- Numerous telemetry improvements\n- Reduced write thrashing in the catalog\n- Fixed errors with queries that use gap filling\n- Fixed errors with multiple rounds of bulk ingestion\n- Tuned garbage collector\n- Fixed some intermittent failures in bulk ingest\n- Reduced some network gossip between IOx pods\n- Fixed some inconsistent results on leading edge queries\n- Fixed WAL storage leak during ingester crash recovery\n- Improved garbage collection of data beyond the retention limit\n\n# 20240605-1035562\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240605-1035562\n```\n\n## Highlights\n\nMultiple improvements to compaction and pruning, and performance of concurrent queries.\n\n### This release is a checkpoint release\n\nSee Upgrade notes\n\n### Feature flag: `noPrometheus`\n\nThe introduction of the `noPrometheus` feature flag will remove the `StatefulSet` and other resources relating to a bare-bones installation of Prometheus,\nwhich could be used for basic monitoring of InfluxDB Clustered.\n\nThis feature flag is useful in cases where you already have an installation of Prometheus and you wish to use it to monitor InfluxDB.\n\nRefer to the `AppInstance` schema for further details regarding feature flags.\n\n## Upgrade notes\n\nAir-gapped installations will need to prefetch the new granite image.\n\n`us-docker.pkg.dev/influxdb2-artifacts/granite/granite@sha256:1683f97386f8af9ce60662ae4ff423770fee166b11378583e211ea30dc849633`\n\nFor further details, visit the [documentation](https://docs.influxdata.com/influxdb/clustered/install/configure-cluster/?t=Private+registry+%28air-gapped%29#public-registry-non-air-gapped).\n\n## Changes\n\n### Deployment\n\n- Updated Granite components to reference a single image, reducing the overall image size.\n- Added grafana licensing dashboard\n- `noPrometheus` feature flag\n\n### Database Engine\n\n- Ingesters now provide a soft, best-effort memory limit.\n  - Provided by `INFLUXDB_IOX_RAM_SOFT_LIMIT_BYTES`, which applies a ceiling from a percentage of the container memory to avoid `OOMKilled` scenarios.\n  - All buffered data is attempted to be persisted upon reaching this limit and a resource exhaustion error is returned for write requests until memory usage is below 50%.\n- Catalog cache write batching\n- Multiple compactor improvements\n- Improved performance of some metadata queries\n- Improved concurrent query performance\n  - Adjusted querier partitions assigned to large queries, to reduce latency of sub-second queries and prevent resource bottlenecks cause by long running queries\n  - This can be tuned with the `INFLUXDB_IOX_NUM_QUERY_PARTITIONS` environment variable\n- Improved reporting for InfluxQL syntax errors\n\n# 20240430-976585\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240430-976585\n```\n\n## Highlights\n\n- Configuration settings for an optional Prometheus `ServiceMonitor` have been added under `observability.serviceMonitor`\n  - **Note:** Using this setting will delete and recreate the existing serviceMonitor resource that was provided by the feature flag.\n  - The feature flag is now deprecated, and will be removed in a future release.\n\n## Upgrade notes\n\n## Changes\n\n### Deployment\n\n- Removal of Nginx server snippet annotations (`nginx.ingress.kubernetes.io/server-snippet`).\n- Additional `observability` key for an `AppInstance`, refer to the [`example-customer.yml`](./example-customer.yml) file to see this in action.\n\n### Database Engine\n\n- Improved `NULL` handling for InfluxQL.\n\n# 20240418-955990\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240418-955990\n```\n\n## Highlights\n\n### Minimum `influxctl` version\n\nIf a user observes an unimplemented gRPC error when running `influxctl database`\ncommands, then the user should upgrade to influxctl version v2.8.0 or later and\nensure they are running clustered `20240326-922145` or newer.\n\nIf upgrading clustered is not an option, then user can continue to use a version\nof `influxctl` prior to v2.8.0.\n\n## Changes\n\n### Deployment\n\n- Routers now calculate the value of write replication based on the number of running ingesters.\n  - This can be tuned through the `INFLUXDB_IOX_RPC_WRITE_REPLICAS` environment variable; however, high values can have an impact on the performance of the system.\n\n### Database Engine\n\n- Router cache entries for namespace and retention periods are updated immediately via gossip.\n  - Pod restarts are no longer required to immediately see updates.\n- Fixes to InfluxQL gap-filling mechanism, `FILL`.\n\n# 20240326-922145\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240325-920726\n```\n\n## Highlights\n\n### Lower defaults for garbage collection\n\nPrior to this release, the garbage collector was set at 100 days before objects, that were no longer returned by queries, were deleted from object store. This has been reduced to 30 days.\n\nWith a high value this leads to a situation whereby there are many dangling objects and therefore many unnecessary references in the catalog - which increases operational burden and cost.\n\n### Added support for nodeAffinity at the per-component level\n\nIntroduces the `nodeAffinity` setting for individual components within InfluxDB Clustered. Previously, the scheduling of pods was influenced by the Kubernetes scheduler's default behavior. For further details, please consult the [documentation](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity).\n\n## Changes\n\n### Deployment\n\n- Support for environment variable modifications to specific components.\n- Update optional grafana component to version 10.3.4.\n  - This upgrade from 9.x brings with it support for the SQL query type in the\n    InfluxDB data source.\n\n### Database Engine\n\n- Various additional metrics & performance improvements.\n- Improve compactor concurrency heuristics.\n- Fix gRPC reflection to only include services served by a particular listening\n  port.\n  - NOTE: `arrow.flight.protocol.FlightService` is known to be missing in the\n    `iox-shared-querier`'s reflection service even though `iox-shared-querier`\n    does run that grpc service.\n\n# 20240227-883344\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240227-883344\n```\n\n## Highlights\n\n### something\n\n### something else\n\n## Upgrade notes\n\n### something\n\n## Changes\n\n### Deployment\n\n- Gossip communication between the `global-router`, `iox-shared-compactor`, and `iox-shared-ingester` now works as expected.\n- Provide sane defaults to the `global-router` for maximum number of concurrent requests.\n- Lower the number of ndots for `dnsConfig` for IOx components.\n\n### Database Engine\n\n- `SHOW TAG VALUES` no longer causes a crash in the querier when the database has a large number of measurements.\n- Number of partitions scanned over in the querier is now limited for safety.\n\n# 20240214-863513\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240214-863513\n```\n\n## Highlights\n\n### This release is a checkpoint release\n\nPlease refer to the \"Upgrade Notes\" section\n\n### Grafana dashboards by default\n\nPreviously, the `grafana` feature flag had to be enabled in order to have these dashboards created. This now occurs by default and the feature flag is reserved entirely for\nthe creation of a Grafana `Deployment` and remains experimental.\n\nThe contents of these dashboards are placed within various `ConfigMap` resources, under common format `grafana-dashboard-\u003Cuid>`. They can either be imported or mounted into your existing Grafana instance in whichever way is more convenient.\n\n## Upgrade notes\n\n### Consolidated Authentication\n\nAn authentication component, previously known as `authz`, has been consolidated into the `token-management` service.\n\nThere is now a temporary `Job` in place, `delete-authz-schema`, that will automatically remove the `authz` schema from the configured PostgreSQL database.\n\n## Changes\n\n### Documentation\n\n- Fixed Google example in `example-customer.yml` file.\n\n### Deployment\n\n- Fixed a logical error in the configuration whereby using Google Workload Identity caused the `INFLUXDB_IOX_OBJECT_STORE` variable to be set to `memory` instead of `google`.\n- Compactor configuration concurrency is now derived from CPU limit of the pod.\n- Compactor now has a lower L1 compaction threshold.\n\n### Database Engine\n\n- Correctly validate string length for column sizes.\n- FlightSQL support for prepared statements.\n- Improve metrics exposed by the compactor.\n- Further optimisations to `LIMIT` queries.\n- Add `SPREAD`, `MODE`, and `ELAPSED` support for InfluxQL.\n- Add `EXPLAIN` to all supported statements in InfluxQL.\n- Tracing correctly exposes HTTP path metrics.\n- Dependency updates.\n\n# 20240111-824437\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20240111-824437\n```\n\n## Highlights\n\n### Ingress Improvements\n\n- Ingress no longer requires a host name to be specified.\n- When a TLS secret is not specified, the TLS annotations are not generated.\n\n#### Istio Support\n\nThis release includes first class support for Istio via the `Gateway` and `VirtualService` resources.\n\nThis can be enabled through the `ingress` key of the `AppInstance`, such as:\n\n```yaml\npackage:\n  spec:\n    ingress:\n      template:\n        kind: 'Gateway'\n        apiVersion: 'networking.istio.io/v1beta1'\n        # At present the 'selector' field is only used for Istio, this maps\n        # directly to the Gateway selector to decide which Istio ingress controller\n        # pods should serve the configured Gateway.\n        selector:\n          istio: 'ingressgateway'\n```\n\nNote that the use of `Gateway` implies the need for `VirtualService` resources, these are automatically created for you.\n\n## Upgrade notes\n\n- As part of a `partition_id` migration that will run, if you have more than 10 million rows in the `parquet_file` table, reach out to your Sales representative before proceeding. You can confirm this with the following query: `select count(*) from iox_catalog.parquet_file`.\n\n## Changes\n\n### Database Engine\n\n- `partition_id` is now used to consistently address a partition in the catalog, this requires a migration which may take some time to complete.\n- Bug fixes and dependency updates.\n\n# 20231213-791734\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231213-791734\n```\n\n## Highlights\n\n### Labels/Annotations\n\n- You can now add custom annotations and labels in pods by specifying them under `spec.package.spec.components.*.metadata`\n- Common settings for all components can be specified under `spec.package.spec.components.common`. This is useful when you need to configure common node selectors, taint tolerations and annotations in order to adapt the workload to requirements of your specific execution environment.\n- An example of this is shown within the [`example-customer.yml`](./example-customer.yml) file.\n\n### Contour Ingress Support\n\n- Services are now properly annotated to support the Contour Ingress controller.\n\n## Changes\n\n### Database Engine\n\n- Empty string values for `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` are ignored.\n- Dependency updates.\n- Query performance improvements.\n- Ingester active persist tasks are tracked as a metric.\n- WAL rotation logs moved from debug to info log level.\n- Fixed an issue where the compactor could get stuck until reboot.\n- Fixed an issue where the compactor might panic.\n- Added L2 -> L2 compactions when there are many small L2 files.\n\n# 20231117-750011\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231117-750011\n```\n\n## Highlights\n\n- **This release fixes a regression in the database engine that was introduced in `20231115-746129`.**\n\n## Changes\n\n### Deployment\n\n- Add support for tuning per-component log filters.\n- Add support for `tolerations` at the per-component level.\n\n# 20231115-746129\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231115-746129\n```\n\n## Highlights\n\n### Ingress Templating\n\nAn extension has been made to the `ingress` object that enables custom annotations to be placed upon `Ingress` resources.\nThis is useful when configuration ingress alongside third-party software, such as `cert-manager`.\n\nAn example of this is shown within the [`example-customer.yml`](./example-customer.yml) file.\n\n#### OpenShift `Route`\n\nFurther to the ingress templating feature we also include OpenShift `Route` support.\n\nThis is enabled by specifying the `apiVersion` and `kind` of the `ingress` configuration to align with `Route`'s.\nDoing so changes the typical `Ingress` objects to their `Route` equivalent.\n\n```yaml\nspec:\n  package:\n    spec:\n      ingress:\n        template:\n          apiVersion: 'route.openshift.io/v1'\n          kind: 'Route'\n```\n\nA full example is shown within the [`example-customer.yml`](./example-customer.yml) file.\n\n### Support for Google Cloud Storage (GCS)\n\nWe now expose a `google` object within the `objectStore` configuration, this enables support for using Google Cloud's GCS as a backing object\nstore for IOx components. This supports both [GKE workload identity](https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity) and\n[IAM Service Account](https://cloud.google.com/kubernetes-engine/docs/tutorials/authenticating-to-cloud-platform#step_3_create_service_account_credentials) authentication methods.\n\nAn example can be seen in the [`example-customer.yml`](./example-customer.yml) file.\n\n### Support for Bypassing Identity Provider Configuration for Database/Token Management\n\nWe now generate a valid access token for managing Databases and Tokens and store it as a secret within the namespace that InfluxDB is deployed. This token can be used in lieu of configuring\nan identity provider with `influxctl` for interacting with the cluster. **This access token is intended only for testing and is not recommended for use in production**.\n\nThis feature requires `influxctl` version 2.2.0 or later. To use the access token, you first need to copy it to a file, which you can do by running the following command.\n\n```sh\nkubectl get secrets/admin-token --template={{.data.token}} -n \u003Cyour_influxdb_namespace> | base64 -d > token.json\n```\n\nAfter that, you need to tell `influxctl` where to find the access token by adding the following lines to your profile.toml file.\n\n```toml\n[profile.auth.token]\ntoken_file = \"/path/to/token.json\"\n```\n\nThis is a long-lived access token. Currently, the only way to revoke the token is to perform the following actions in this order:\n\n1. Delete the `rsa-keys` secret from your Clustered context and namespace\n2. Rerun the `key-gen` job\n3. Restart the `authz` service\n\nIf you want to create a new admin token after revoking the existing one, you need to rerun the `create-admin-token` job.\n\n## Changes\n\n### Deployment\n\n- Increase HTTP write request limit to 50MB (previously 10MB)\n- Added support for [Telegraf Operator](https://github.com/influxdata/telegraf-operator). We have added the `telegraf.influxdata.com/port` annotation to all the pods. No configuration required. We don't yet provide a way to specify the `telegraf.influxdata.com/class` annotation, which means the pods will be using the default telegraf operator class (called `default`).\n- Implement `ingress.template` for `Ingress` and openshift `Route`\n- Add `nodeSelector` support (see [`example-customer.yml`](./example-customer.yml))\n- Add Google Cloud support\n- Fix JSONSchema for value/valueFrom configuration fields (e.g. secrets)\n- Fix: remove AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY env vars when EKS IRSA is enabled\n\n### Database Engine\n\n- ingester performance improvements\n- query pruning improvements: less data is fetched in many cases\n- new compactor metrics (partition compaction stats)\n- compactor tuning: autoscale L1 compaction threshold based on load\n- flightSQL query gRPC keep-alive fixes\n- log some querier configs during startup\n- bulk ingest gRPC API improvements\n- add `partition_template` column to `system.tables` table\n- add `last_new_file_created_at`, ` last_deleted_file_at`, `num_files` , `total_size_mb` columns to `system.partitions` table\n- enable gossip cache distribution for faster cache coherence between nodes\n\n# 20231024-711448\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231024-711448\n```\n\n## Highlights\n\n### Additional `AppInstance` parameters\n\nThis includes an addition to the `AppInstance` `package` specification with a new key, namely `hostingEnvironment`.\n\nGoing forward, this object will be updated with various environment-specific functionality, aimed at where you _host_ Clustered, such as `aws` or `openshift`.\n\n#### EKS IRSA\n\nFrom the addition of the `hostingEnvironment` configuration to the `AppInstance`, this now supports passing an `eksRoleArn`.\nThis role ARN will be placed onto the IOx `ServiceAccount`, please ensure that the role you provide has AWS S3 permissions.\n\nDocumentation for this and an example can be seen in the [`example-customer.yml`](./example-customer.yml) file.\n\n#### OpenShift\n\nWe now also support the `openshift` key under the `hostingEnvironment` object. This specifies OpenShift tailored configuration for your environment.\n\nAt the moment this simplifies the install process by removing `securityContext` from all pods, as it will be specified by your cluster's configuration instead.\n\n### Ingress Configuration\n\nA backwards compatible change has been made to the ingress configuration.\nThis updates the ingress to use more fine-grained rules to avoid overriding other ingress rules. You may want to review the details if you have customized the kubernetes manifests regarding the ingress resources.\n\n#### v1 write endpoint\n\nAn endpoint has been exposed for the v1 write path, under `/write`.\n\n## Changes\n\n### Database Engine\n\n- fix: honor `SSL_CERT_FILE` for postgres connections\n- fix: wait for gRPC when shutting down querier\n\n### Deployment\n\n- chore: add defined `resources` to `authzpuller`\n\n# 20231004-666907\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20231004-666907\n```\n\n## Highlights\n\n### This release is a checkpoint release\n\nSee Upgrade Notes section\n\n### Objectstore custom certificates\n\nSupport for custom certificates has been implemented since version [20230912-619813](#20230912-619813).\nUnfortunately due to a bug, our Object Store client didn't use the custom certificates.\nThis release fixes that and you can use the existing configuration for custom certificates to also specify the certificate / CA\nused by your object store.\n\n### Resource limits\n\nUntil now the configuration spec only exposed the kubernetes resource _requests_ and not the limits.\nSetting the limits is important for proper cluster capacity configuration. This release fixes this deficiency.\n\nThe documentation is in the JSON schema and in the [example-customer.yml](./example-customer.yml) file.\n\n### Object Store Configuration\n\nA backwards compatible change has been made to object store configuration.\nThis now enables the use of Azure blob storage.\n\nThe documentation is in the JSON schema and in the [example-customer.yml](./example-customer.yml) file.\n\n### Installation documentation moved to docs site\n\nThe [Install InfluxDB Clustered](https://test2.docs.influxdata.com/influxdb/clustered/install/) instructions (formerly known as `GETTING_STARTED`)\nare now available on the main InfluxDB [Documentation Website](https://test2.docs.influxdata.com/influxdb/clustered/install/).\n\nThe `example-customer.yml` (aka `myinfluxdb.yml`) example configuration file still lives in the release bundle alongside the RELEASE_NOTES (this file).\n\n## Upgrade notes\n\nYou **must** update to this release before updating to any subsequent release. This ensure as schema migration is sequenced properly otherwise\na k8s cluster running pods with different versions will cause in impact in write availability.\n\n## Changes\n\n### Deployment\n\n- Add support for setting resource limits.\n\n### Documentation\n\nPrior to this release, the example query for the sample data (`air-sensor-data.lp`) was incorrect.\n\n### Database Engine\n\n- Use system certificate store\n\n# 20230922-650371\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230922-650371\n```\n\n## Highlights\n\n### Configuration simplification\n\nThis release simplifies the configuration of the admin interface. The `internalSigningKey` configuration\nsection is now optional, and will be autogenerated\n\n## Upgrade notes\n\nWe simplified the ingress rules, which may require some changes **if** you have custom Ingress resources pointing to the underlying services.\nOtherwise no changes are necessary on your side.\n\n### Details\n\n- Ingress that previously pointed to the `account` service should now point to the `gateway` service (ex. `/account.v1.AccountService`)\n- Ingress that previously pointed to the `authz` service can be removed (ex. `/authz.public.v1.AuthzPublicService`)\n- Ingress that previously pointed to the `database-management` service should now point to the `gateway` service (ex. `/database_management.v1.DatabaseService`)\n- Ingress that previously pointed to the `token-management` service should now point to the `gateway` service (ex. `/token_management.public.v1.TokenManagementPublicService`)\n\n## Changes\n\n### Deployment\n\n- chore: Bumped reference version of kubit to 0.0.11\n- fix: Updates the default number of routers to match ingesters (3)\n- fix: Ensure custom certificates are available to all components\n\n### Database Engine\n\n- feat: Catalog cache convergence improvements\n- fix: Retries in case of OOMs\n\n# 20230915-630658\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230915-630658\n```\n\n## Highlights\n\n### Persistent volume fixes\n\nThis release fixes major issue involving volume permissions in some volume provisioners (e.g. EBS).\nNo action required for upgrades.\n\n## Changes\n\n- Removed `Generate internal signing key` section from Getting Started doc\n- Updated Volume permissions to fix issues in some environments.\n\n# 20230914-628600\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230914-628600\n```\n\n## Highlights\n\n### Updated Azure AD documentation\n\nThe `Appendix` / `Configuring Identity Provider` / `Azure` section of the documentation has been updated\n\nKey change:\n\n```diff\n- https://login.microsoftonline.com/{AZURE_TENANT_ID}/.well-known/openid-configuration\n+ https://login.microsoftonline.com/{AZURE_TENANT_ID}/v2.0/.well-known/openid-configuration\n```\n\n## Changes\n\n### Deployment\n\n- documentation fixes\n- generate JWT signing keys automatically\n\n### Database Engine\n\n- minor fixes\n\n# 20230912-619813\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230912-619813\n```\n\n## Highlights\n\n### Custom CA certificates (optional)\n\nInfluxDB processes inbound API requests (_ingress_) and issues outbound API request to external services (_egress_).\nThe _ingress_ transport security parameters (TLS) are configured in the `ingress` section. InfluxDB can work with any certificate signed with any Certificate Authority (accepting that CA is then a matter of InfluxDB client's configuration, outside of the scope of this document).\n\nOTOH, _egress_ connections to TLS secured endpoints (`https` or TLS secured postgres) are verified by a set of built-in certificate authorities (we use debian's [ca-certificates](https://packages.debian.org/stable/ca-certificates)).\n\nYou may need to override the list of accepted CAs if your InfluxDB instance is configured to access dependencies that use certificates issued by your private CA. In some cases your network setup may even involve an auditing MitM proxy that issues their own certificates.\n\nThis release includes an optional feature that allows you to specify your own CA list. The custom CA replaces the standard set of CA certificates. The custom certificate file can contain one or more PEM encoded CA certificates.\n\n```bash\nkubectl -n influxdb create  configmap custom-ca  --from-file=ca.pem\n```\n\n```yaml\n....\nkind: AppInstance\nspec:\n    ...\n    spec:\n      ...\n      egress:\n         customCertificates:\n            valueFrom:\n              configMapKeyRef:\n                key: ca.pem\n                name: custom-ca\n      ...\n```\n\nMore details in the bundled `example-customer.yaml` and JSONSchema files.\n\n## Changes\n\n### Deployment\n\n- Allow user to specify custom certificate authorities for egress calls.\n\n### Database Engine\n\n- fix: Health probe livelock fix\n- fix: Handle oversized files in compactor\n- feat: Minor optimizations\n\n# 20230911-604209\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230911-604209\n```\n\n## Highlights\n\nThis release contains a breaking change to the monitoring subsystem that requires manual intervention in order to unblock.\nMore details in the Upgrade notes section below.\n\n## Upgrade notes\n\n### Prometheus StatefulSet\n\nThis release contains a change to the prometheus StatefulSet resources that cannot be reconciled automatically by the operator.\nThe user must delete the stateful set manually. The operator will then automatically re-create the resources.\n\n```bash\nkubectl -n influxdb delete sts prometheus\n```\n\n## Changes\n\n### Documentation\n\n- Active directory documentation updates\n\n### Deployment\n\n- fix: Set `serviceName` in prometheus deployment.\n- fix: Ensure granite ingress has hostname declared\n\n### Database Engine\n\n- chore: Updates to dependencies (parquet, datafusion, ...)\n- fix: adjust compactor catalog query rate limiter for small clusters\n\n# 20230908-600131\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230908-600131\n```\n\n## Highlights\n\n### Default storage class\n\nThe `storageClassName` parameters are now no longer required.\n\nInfluxDB will use the cluster's default storage class unless you override it in your config.\n\n## Changes\n\n### Deployment\n\n- remove unnecessary grafana dashboards\n- make storage class optional\n\n### Database Engine\n\nNone\n\n# 20230907-597343\n\n## Quickstart\n\n```yaml\nspec:\n  package:\n    image: us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:20230907-597343\n```\n\n## Upgrade Notes\n\nThis release requires a new configuration block:\n\n```yaml\nmonitoringStorage:\n  storage: 1Gi\n  storageClassName: \u003Cyour_storage_class>\n```\n\n## Changes\n\n### Deployment\n\n- feat: Make gRPC ingress work with traefik ingress controller\n- fix: add `hosts` field to ingress specification, update schema\n- fix: Several fixes in ingress layer for the admin control plane (aka granite)\n\n### Database Engine\n\n- feat: FILL(linear) for selectors (influxql)\n- fix: prevent sort order mismatches from creating overlapping chains\n- feat: minor performance optimizations\n- chore: change loglevel to info on No compaction job found\n"}</script>
			<script>
				{
					__sveltekit_1xvhvui = {
						base: new URL("../..", location).pathname.slice(0, -1),
						env: {}
					};

					const element = document.currentScript.parentElement;

					const data = [null,null];

					Promise.all([
						import("../../_app/immutable/entry/start.67664d12.js"),
						import("../../_app/immutable/entry/app.310e5351.js")
					]).then(([kit, app]) => {
						kit.start(app, element, {
							node_ids: [0, 1],
							data,
							form: null,
							error: {message:"Not Found"},
							status: 404
						});
					});
				}
			</script>
		</div>
</body>

</html>