diff --git a/content/influxdb3/clustered/reference/release-notes/clustered.md b/content/influxdb3/clustered/reference/release-notes/clustered.md
index 53f6e063c..2be2415c0 100644
--- a/content/influxdb3/clustered/reference/release-notes/clustered.md
+++ b/content/influxdb3/clustered/reference/release-notes/clustered.md
@@ -21,6 +21,34 @@ weight: 201
> Checkpoint releases are only made when absolutely necessary and are clearly
> identified below with the icon.
+{{< expand-wrapper >}}
+{{% expand "Download release artifacts manually" %}}
+
+To download a bundle of release artifacts for a specific version of
+InfluxDB Clustered, [install `crane`](https://github.com/google/go-containerregistry/tree/main/cmd/crane#installation)
+and run the following shell script:
+
+{{% code-placeholders "RELEASE_VERSION" %}}
+
+```bash
+INFLUXDB_RELEASE="RELEASE_VERSION"
+IMAGE="us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:$INFLUXDB_RELEASE"
+DOCKER_CFG="/tmp/influxdbsecret"
+
+DIGEST=$(DOCKER_CONFIG="$DOCKER_CFG" crane manifest "$IMAGE" | jq -r '.layers[1].digest')
+
+DOCKER_CONFIG="$DOCKER_CFG" \
+crane blob "$IMAGE@$DIGEST" | tar -xvzf - -C ./
+```
+{{% /code-placeholders %}}
+
+Replace {{% code-placeholder-key %}}`RELEASE_VERSION`{{% /code-placeholder-key %}}
+with the InfluxDB Clustered release version you want to download artifacts for.
+Assets will be available in the created `influxdb-3.0-clustered` directory.
+
+{{% /expand %}}
+{{< /expand-wrapper >}}
+
{{< release-toc >}}
---
diff --git a/deploy/edge.js b/deploy/edge.js
index 44fba719a..668cffa72 100644
--- a/deploy/edge.js
+++ b/deploy/edge.js
@@ -3,31 +3,32 @@
const path = require('path');
const latestVersions = {
- 'influxdb': 'v2',
- 'influxdbv2': 'v2',
- 'telegraf': 'v1',
- 'chronograf': 'v1',
- 'kapacitor': 'v1',
- 'enterprise': 'v1',
- 'flux': 'v0',
+ influxdb: 'v2',
+ influxdbv2: 'v2',
+ telegraf: 'v1',
+ chronograf: 'v1',
+ kapacitor: 'v1',
+ enterprise: 'v1',
+ flux: 'v0',
};
const archiveDomain = 'https://archive.docs.influxdata.com';
const docsDomain = 'https://docs.influxdata.com';
exports.handler = (event, context, callback) => {
-
function temporaryRedirect(condition, newUri) {
if (condition) {
return callback(null, {
status: '302',
statusDescription: 'Found',
headers: {
- location: [{
- key: 'Location',
- value: newUri,
- }],
- }
+ location: [
+ {
+ key: 'Location',
+ value: newUri,
+ },
+ ],
+ },
});
}
}
@@ -38,14 +39,18 @@ exports.handler = (event, context, callback) => {
status: '301',
statusDescription: 'Moved Permanently',
headers: {
- 'location': [{
- key: 'Location',
- value: newUri,
- }],
- 'cache-control': [{
- key: 'Cache-Control',
- value: "max-age=3600"
- }],
+ location: [
+ {
+ key: 'Location',
+ value: newUri,
+ },
+ ],
+ 'cache-control': [
+ {
+ key: 'Cache-Control',
+ value: 'max-age=3600',
+ },
+ ],
},
});
}
@@ -85,7 +90,10 @@ exports.handler = (event, context, callback) => {
};
// Remove index.html from path
- permanentRedirect(request.uri.endsWith('index.html'), request.uri.substr(0, request.uri.length - indexPath.length));
+ permanentRedirect(
+ request.uri.endsWith('index.html'),
+ request.uri.substr(0, request.uri.length - indexPath.length)
+ );
// If file has a valid extension, return the request unchanged
if (validExtensions[parsedPath.ext]) {
@@ -95,117 +103,536 @@ exports.handler = (event, context, callback) => {
////////////////////// START PRODUCT-SPECIFIC REDIRECTS //////////////////////
//////////////////////// Distributed product redirects ///////////////////////
- permanentRedirect(/\/influxdb\/cloud-serverless/.test(request.uri), request.uri.replace(/\/influxdb\/cloud-serverless/, '/influxdb3/cloud-serverless'));
- permanentRedirect(/\/influxdb\/cloud-dedicated/.test(request.uri), request.uri.replace(/\/influxdb\/cloud-dedicated/, '/influxdb3/cloud-dedicated'));
- permanentRedirect(/\/influxdb\/clustered/.test(request.uri), request.uri.replace(/\/influxdb\/clustered/, '/influxdb3/clustered'));
+ permanentRedirect(
+ /\/influxdb\/cloud-serverless/.test(request.uri),
+ request.uri.replace(
+ /\/influxdb\/cloud-serverless/,
+ '/influxdb3/cloud-serverless'
+ )
+ );
+ permanentRedirect(
+ /\/influxdb\/cloud-dedicated/.test(request.uri),
+ request.uri.replace(
+ /\/influxdb\/cloud-dedicated/,
+ '/influxdb3/cloud-dedicated'
+ )
+ );
+ permanentRedirect(
+ /\/influxdb\/clustered/.test(request.uri),
+ request.uri.replace(/\/influxdb\/clustered/, '/influxdb3/clustered')
+ );
//////////////////////////// v2 subdomain redirect ///////////////////////////
- permanentRedirect(request.headers.host[0].value === 'v2.docs.influxdata.com', `https://docs.influxdata.com${request.uri}`);
+ permanentRedirect(
+ request.headers.host[0].value === 'v2.docs.influxdata.com',
+ `https://docs.influxdata.com${request.uri}`
+ );
///////////////////////// Force v in version numbers /////////////////////////
- permanentRedirect(/(^\/[\w]*\/)(\d\.)/.test(request.uri), request.uri.replace(/(^\/[\w]*\/)(\d\.)/, `$1v$2`));
+ permanentRedirect(
+ /(^\/[\w]*\/)(\d\.)/.test(request.uri),
+ request.uri.replace(/(^\/[\w]*\/)(\d\.)/, `$1v$2`)
+ );
/////////////////// cloud-iox to cloud-serverless redirect //////////////////
- permanentRedirect(/\/influxdb\/cloud-iox/.test(request.uri), request.uri.replace(/\/influxdb\/cloud-iox/, '/influxdb/cloud-serverless'));
-
+ permanentRedirect(
+ /\/influxdb\/cloud-iox/.test(request.uri),
+ request.uri.replace(/\/influxdb\/cloud-iox/, '/influxdb/cloud-serverless')
+ );
+
////////////// CLI InfluxQL link (catch before latest redirect) //////////////
- permanentRedirect(/\/influxdb\/latest\/query_language\/spec/.test(request.uri), request.uri.replace(/latest/, 'v1'));
+ permanentRedirect(
+ /\/influxdb\/latest\/query_language\/spec/.test(request.uri),
+ request.uri.replace(/latest/, 'v1')
+ );
////////////////////////// Latest version redirects //////////////////////////
- temporaryRedirect(/\/influxdb\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['influxdb']}`));
- temporaryRedirect(/\/telegraf\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['telegraf']}`));
- temporaryRedirect(/\/chronograf\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['chronograf']}`));
- temporaryRedirect(/\/kapacitor\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['kapacitor']}`));
- temporaryRedirect(/\/enterprise_influxdb\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['enterprise']}`));
- temporaryRedirect(/\/flux\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['flux']}`));
+ temporaryRedirect(
+ /\/influxdb\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['influxdb']}`)
+ );
+ temporaryRedirect(
+ /\/telegraf\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['telegraf']}`)
+ );
+ temporaryRedirect(
+ /\/chronograf\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['chronograf']}`)
+ );
+ temporaryRedirect(
+ /\/kapacitor\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['kapacitor']}`)
+ );
+ temporaryRedirect(
+ /\/enterprise_influxdb\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['enterprise']}`)
+ );
+ temporaryRedirect(
+ /\/flux\/latest/.test(request.uri),
+ request.uri.replace(/\/latest/, `/${latestVersions['flux']}`)
+ );
////////////////////////// Versionless URL redirects /////////////////////////
- temporaryRedirect(request.uri === '/influxdb/', `/influxdb/${latestVersions['influxdb']}/`);
- temporaryRedirect(request.uri === '/telegraf/', `/telegraf/${latestVersions['telegraf']}/`);
- temporaryRedirect(request.uri === '/chronograf/', `/chronograf/${latestVersions['chronograf']}/`);
- temporaryRedirect(request.uri === '/kapacitor/', `/kapacitor/${latestVersions['kapacitor']}/`);
- temporaryRedirect(request.uri === '/enterprise_influxdb/', `/enterprise_influxdb/${latestVersions['enterprise']}/`);
- temporaryRedirect(request.uri === '/flux/', `/flux/${latestVersions['flux']}/`);
+ temporaryRedirect(
+ request.uri === '/influxdb/',
+ `/influxdb/${latestVersions['influxdb']}/`
+ );
+ temporaryRedirect(
+ request.uri === '/telegraf/',
+ `/telegraf/${latestVersions['telegraf']}/`
+ );
+ temporaryRedirect(
+ request.uri === '/chronograf/',
+ `/chronograf/${latestVersions['chronograf']}/`
+ );
+ temporaryRedirect(
+ request.uri === '/kapacitor/',
+ `/kapacitor/${latestVersions['kapacitor']}/`
+ );
+ temporaryRedirect(
+ request.uri === '/enterprise_influxdb/',
+ `/enterprise_influxdb/${latestVersions['enterprise']}/`
+ );
+ temporaryRedirect(
+ request.uri === '/flux/',
+ `/flux/${latestVersions['flux']}/`
+ );
/////////////////////// VERSION RESTRUCTURE REDIRECTS ////////////////////////
- permanentRedirect(/^\/\w+\/(v\d{1})\.[\dx]+/.test(request.uri), request.uri.replace(/^\/(\w+)\/(v\d{1})\.[\dx]+(.*$)/, `/$1/$2$3`));
+ permanentRedirect(
+ /^\/\w+\/(v\d{1})\.[\dx]+/.test(request.uri),
+ request.uri.replace(/^\/(\w+)\/(v\d{1})\.[\dx]+(.*$)/, `/$1/$2$3`)
+ );
/////////////////////////////// Flux redirects ///////////////////////////////
- // Redirect old Flux guides and introduction
- permanentRedirect(/\/flux\/(?:v0\.[0-9]{1,2})\/guides\//.test(request.uri), request.uri.replace(/\/flux\/(?:v0\.[0-9]{1,2}|latest)\/guides\//, `/influxdb/${latestVersions['influxdb']}/query-data/flux/`));
- permanentRedirect(/\/flux\/(?:v0\.[0-9]{1,2})\/introduction\//.test(request.uri), `/flux/${latestVersions['flux']}/get-started/`);
+ // Redirect old Flux guides and introduction
+ permanentRedirect(
+ /\/flux\/(?:v0\.[0-9]{1,2})\/guides\//.test(request.uri),
+ request.uri.replace(
+ /\/flux\/(?:v0\.[0-9]{1,2}|latest)\/guides\//,
+ `/influxdb/${latestVersions['influxdb']}/query-data/flux/`
+ )
+ );
+ permanentRedirect(
+ /\/flux\/(?:v0\.[0-9]{1,2})\/introduction\//.test(request.uri),
+ `/flux/${latestVersions['flux']}/get-started/`
+ );
// Redirect Flux language (spec) sections to Flux docs
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/language\//.test(request.uri), request.uri.replace(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/language\//, `/flux/${latestVersions['flux']}/spec/`));
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/language\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/language\//,
+ `/flux/${latestVersions['flux']}/spec/`
+ )
+ );
// Redirect Flux stdlib/built-in sections to Flux stdlib/universe docs
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/$/.test(request.uri), `/flux/${latestVersions['flux']}/stdlib/universe/`);
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)$/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/$/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/$/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/stdlib/universe/`
+ );
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/$/.test(request.uri), `/flux/${latestVersions['flux']}/stdlib/universe/`);
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/universe\/(?:inputs\/|outputs\/|misc\/|tests\/|transformations\/|selectors\/|aggregates\/)$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`);
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)$/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/transformations\/$/.test(request.uri),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/built-in\/$/.test(request.uri),
+ `/flux/${latestVersions['flux']}/stdlib/universe/`
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/universe\/(?:inputs\/|outputs\/|misc\/|tests\/|transformations\/|selectors\/|aggregates\/)$/.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/function-types/`
+ );
// Redirect Flux stdlib/influxdb sections to Flux stdlib/influxdata docs
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/monitor\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/monitor\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/monitor/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-sample\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-sample\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/sample/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-schema\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-schema\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/schema/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/secrets\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/secrets\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/secrets/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-tasks\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-tasks\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/tasks/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-v1\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-v1\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/v1/`));
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/monitor\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/monitor\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/monitor/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-sample\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-sample\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/sample/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-schema\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-schema\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/schema/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/secrets\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/secrets\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/secrets/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-tasks\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-tasks\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/tasks/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-v1\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb-v1\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/v1/`
+ )
+ );
// Redirect Flux stdlib/contrib sections to Flux stdlib/contrib/user docs
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//, `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/alerta/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/bigpanda\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/bigpanda\//, `/flux/${latestVersions['flux']}/stdlib/contrib/rhajek/bigpanda/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/discord\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/discord\//, `/flux/${latestVersions['flux']}/stdlib/contrib/chobbs/discord/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/events\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/events\//, `/flux/${latestVersions['flux']}/stdlib/contrib/tomhollingworth/events/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/influxdb\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/influxdb\//, `/flux/${latestVersions['flux']}/stdlib/contrib/jsternberg/influxdb/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/teams\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/teams\//, `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/teams/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/opsgenie\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/opsgenie\//, `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/opsgenie/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/rows\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/rows\//, `/flux/${latestVersions['flux']}/stdlib/contrib/jsternberg/rows/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/sensu\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/sensu\//, `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/sensu/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/telegram\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/telegram\//, `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/telegram/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/tickscript\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/tickscript\//, `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/tickscript/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/victorops\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/victorops\//, `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/victorops/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/webexteams\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/webexteams\//, `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/webexteams/`));
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/zenoss\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/zenoss\//, `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/zenoss/`));
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/alerta/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/bigpanda\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/bigpanda\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/rhajek/bigpanda/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/discord\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/discord\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/chobbs/discord/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/events\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/events\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/tomhollingworth/events/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/influxdb\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/influxdb\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/jsternberg/influxdb/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/teams\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/teams\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/teams/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/opsgenie\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/opsgenie\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/opsgenie/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/rows\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/rows\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/jsternberg/rows/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/sensu\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/sensu\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/sensu/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/telegram\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/telegram\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/telegram/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/tickscript\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/tickscript\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/tickscript/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/victorops\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/victorops\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/victorops/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/webexteams\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/webexteams\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/sranka/webexteams/`
+ )
+ );
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/zenoss\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/zenoss\//,
+ `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/zenoss/`
+ )
+ );
// Generic Flux stdlib redirect
- temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\//.test(request.uri), request.uri.replace(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\//, `/flux/${latestVersions['flux']}/stdlib/`));
- temporaryRedirect(/\/flux\/v0\.x\/functions\//.test(request.uri), request.uri.replace(/(\/flux\/v0\.x\/)functions\/(.*)/, `$1stdlib/$2`));
- temporaryRedirect(/\/flux\/v0\.x\/stdlib\/experimental\/to\/.+/.test(request.uri), request.uri.replace(/(\/flux\/v0\.x\/stdlib\/experimental\/)to\/(.+)/, `$1$2`));
+ temporaryRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\//.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\//,
+ `/flux/${latestVersions['flux']}/stdlib/`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/functions\//.test(request.uri),
+ request.uri.replace(/(\/flux\/v0\.x\/)functions\/(.*)/, `$1stdlib/$2`)
+ );
+ temporaryRedirect(
+ /\/flux\/v0\.x\/stdlib\/experimental\/to\/.+/.test(request.uri),
+ request.uri.replace(
+ /(\/flux\/v0\.x\/stdlib\/experimental\/)to\/(.+)/,
+ `$1$2`
+ )
+ );
// Redirect outdated Chronograf links
- temporaryRedirect(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(request.uri), request.uri.replace(/\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/, `/flux/${latestVersions['flux']}/stdlib/universe/$1`));
- temporaryRedirect(/\/flux\/v[0,1]\.x\/stdlib\/secrets\//.test(request.uri), request.uri.replace(/\/flux\/v[0,1]\.x\/stdlib\/secrets\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/secrets/`));
- temporaryRedirect(/\/flux\/v[0,1]\.x\/stdlib\/influxdb-v1\//.test(request.uri), request.uri.replace(/\/flux\/v[0,1]\.x\/stdlib\/influxdb-v1\//, `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/v1/`));
+ temporaryRedirect(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(?:aggregates\/|selectors\/|stream-table\/|type-conversions\/)(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/.test(
+ request.uri
+ ),
+ request.uri.replace(
+ /\/flux\/v[0,1]\.x\/stdlib\/built-in\/transformations\/(\w+\/$)/,
+ `/flux/${latestVersions['flux']}/stdlib/universe/$1`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v[0,1]\.x\/stdlib\/secrets\//.test(request.uri),
+ request.uri.replace(
+ /\/flux\/v[0,1]\.x\/stdlib\/secrets\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/secrets/`
+ )
+ );
+ temporaryRedirect(
+ /\/flux\/v[0,1]\.x\/stdlib\/influxdb-v1\//.test(request.uri),
+ request.uri.replace(
+ /\/flux\/v[0,1]\.x\/stdlib\/influxdb-v1\//,
+ `/flux/${latestVersions['flux']}/stdlib/influxdata/influxdb/v1/`
+ )
+ );
// Redirect Flux release notes
- permanentRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/release-notes\/flux\//.test(request.uri), `/flux/${latestVersions['flux']}/release-notes/`);
+ permanentRedirect(
+ /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/release-notes\/flux\//.test(
+ request.uri
+ ),
+ `/flux/${latestVersions['flux']}/release-notes/`
+ );
////////////////////////////// v2 path redirect //////////////////////////////
- permanentRedirect(/^\/v2\.0\//.test(request.uri), request.uri.replace(/^\/v2\.0\//, `/influxdb/v2.0/`));
+ permanentRedirect(
+ /^\/v2\.0\//.test(request.uri),
+ request.uri.replace(/^\/v2\.0\//, `/influxdb/v2.0/`)
+ );
////////////////////////// Archive version redirects /////////////////////////
- permanentRedirect(/\/influxdb\/(?:v0\.[0-9]{1,2}|v1\.[0-2])\//.test(request.uri), `${archiveDomain}${request.uri}`);
- permanentRedirect(/\/telegraf\/(?:v0\.[0-9]{1,2}|v1\.[0-8])\//.test(request.uri), `${archiveDomain}${request.uri}`);
- permanentRedirect(/\/chronograf\/(?:v0\.[0-9]{1,2}|v1\.[0-5])\//.test(request.uri), `${archiveDomain}${request.uri}`);
- permanentRedirect(/\/kapacitor\/(?:v0\.[0-9]{1,2}|v1\.[0-3])\//.test(request.uri), `${archiveDomain}${request.uri}`);
- permanentRedirect(/\/enterprise_influxdb\/v1\.[0-3]\//.test(request.uri), `${archiveDomain}${request.uri}`);
- permanentRedirect(/\/enterprise_kapacitor\//.test(request.uri), `${archiveDomain}${request.uri}`);
+ permanentRedirect(
+ /\/influxdb\/(?:v0\.[0-9]{1,2}|v1\.[0-2])\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
+ permanentRedirect(
+ /\/telegraf\/(?:v0\.[0-9]{1,2}|v1\.[0-8])\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
+ permanentRedirect(
+ /\/chronograf\/(?:v0\.[0-9]{1,2}|v1\.[0-5])\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
+ permanentRedirect(
+ /\/kapacitor\/(?:v0\.[0-9]{1,2}|v1\.[0-3])\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
+ permanentRedirect(
+ /\/enterprise_influxdb\/v1\.[0-3]\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
+ permanentRedirect(
+ /\/enterprise_kapacitor\//.test(request.uri),
+ `${archiveDomain}${request.uri}`
+ );
/////////////////////// END PRODUCT-SPECIFIC REDIRECTS ///////////////////////
diff --git a/helper-scripts/README.md b/helper-scripts/README.md
index e161a4142..399e6be04 100644
--- a/helper-scripts/README.md
+++ b/helper-scripts/README.md
@@ -22,7 +22,9 @@ assets and store them in `static/downloads/clustered-release-artifacts/
1Password vault. Download the pull secret and store it in the
`/tmp/influxdbsecret` directory on your local machine.
-2. From the root of the docs project directory, run the following command to
+2. [Install `crane`](https://github.com/google/go-containerregistry/tree/main/cmd/crane#installation).
+
+3. From the root of the docs project directory, run the following command to
execute the script. Provide the release version as an argument to the
script--for example: