add instructions for downloading release artifacts manually

pull/6132/head
Scott Anderson 2025-06-10 14:15:48 -06:00
parent 1631c291dc
commit ed6865652a
3 changed files with 557 additions and 100 deletions

View File

@ -21,6 +21,34 @@ weight: 201
> Checkpoint releases are only made when absolutely necessary and are clearly > Checkpoint releases are only made when absolutely necessary and are clearly
> identified below with the <span class="cf-icon Shield pink"></span> icon. > identified below with the <span class="cf-icon Shield pink"></span> 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" %}}
<!-- pytest.mark.skip -->
```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 >}} {{< release-toc >}}
--- ---

View File

@ -3,31 +3,32 @@
const path = require('path'); const path = require('path');
const latestVersions = { const latestVersions = {
'influxdb': 'v2', influxdb: 'v2',
'influxdbv2': 'v2', influxdbv2: 'v2',
'telegraf': 'v1', telegraf: 'v1',
'chronograf': 'v1', chronograf: 'v1',
'kapacitor': 'v1', kapacitor: 'v1',
'enterprise': 'v1', enterprise: 'v1',
'flux': 'v0', flux: 'v0',
}; };
const archiveDomain = 'https://archive.docs.influxdata.com'; const archiveDomain = 'https://archive.docs.influxdata.com';
const docsDomain = 'https://docs.influxdata.com'; const docsDomain = 'https://docs.influxdata.com';
exports.handler = (event, context, callback) => { exports.handler = (event, context, callback) => {
function temporaryRedirect(condition, newUri) { function temporaryRedirect(condition, newUri) {
if (condition) { if (condition) {
return callback(null, { return callback(null, {
status: '302', status: '302',
statusDescription: 'Found', statusDescription: 'Found',
headers: { headers: {
location: [{ location: [
key: 'Location', {
value: newUri, key: 'Location',
}], value: newUri,
} },
],
},
}); });
} }
} }
@ -38,14 +39,18 @@ exports.handler = (event, context, callback) => {
status: '301', status: '301',
statusDescription: 'Moved Permanently', statusDescription: 'Moved Permanently',
headers: { headers: {
'location': [{ location: [
key: 'Location', {
value: newUri, key: 'Location',
}], value: newUri,
'cache-control': [{ },
key: 'Cache-Control', ],
value: "max-age=3600" 'cache-control': [
}], {
key: 'Cache-Control',
value: 'max-age=3600',
},
],
}, },
}); });
} }
@ -85,7 +90,10 @@ exports.handler = (event, context, callback) => {
}; };
// Remove index.html from path // 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 file has a valid extension, return the request unchanged
if (validExtensions[parsedPath.ext]) { if (validExtensions[parsedPath.ext]) {
@ -95,117 +103,536 @@ exports.handler = (event, context, callback) => {
////////////////////// START PRODUCT-SPECIFIC REDIRECTS ////////////////////// ////////////////////// START PRODUCT-SPECIFIC REDIRECTS //////////////////////
//////////////////////// Distributed product redirects /////////////////////// //////////////////////// Distributed product redirects ///////////////////////
permanentRedirect(/\/influxdb\/cloud-serverless/.test(request.uri), request.uri.replace(/\/influxdb\/cloud-serverless/, '/influxdb3/cloud-serverless')); permanentRedirect(
permanentRedirect(/\/influxdb\/cloud-dedicated/.test(request.uri), request.uri.replace(/\/influxdb\/cloud-dedicated/, '/influxdb3/cloud-dedicated')); /\/influxdb\/cloud-serverless/.test(request.uri),
permanentRedirect(/\/influxdb\/clustered/.test(request.uri), request.uri.replace(/\/influxdb\/clustered/, '/influxdb3/clustered')); 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 /////////////////////////// //////////////////////////// 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 ///////////////////////// ///////////////////////// 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 ////////////////// /////////////////// 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) ////////////// ////////////// 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 ////////////////////////// ////////////////////////// Latest version redirects //////////////////////////
temporaryRedirect(/\/influxdb\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['influxdb']}`)); temporaryRedirect(
temporaryRedirect(/\/telegraf\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['telegraf']}`)); /\/influxdb\/latest/.test(request.uri),
temporaryRedirect(/\/chronograf\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['chronograf']}`)); request.uri.replace(/\/latest/, `/${latestVersions['influxdb']}`)
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(
temporaryRedirect(/\/flux\/latest/.test(request.uri), request.uri.replace(/\/latest/, `/${latestVersions['flux']}`)); /\/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 ///////////////////////// ////////////////////////// Versionless URL redirects /////////////////////////
temporaryRedirect(request.uri === '/influxdb/', `/influxdb/${latestVersions['influxdb']}/`); temporaryRedirect(
temporaryRedirect(request.uri === '/telegraf/', `/telegraf/${latestVersions['telegraf']}/`); request.uri === '/influxdb/',
temporaryRedirect(request.uri === '/chronograf/', `/chronograf/${latestVersions['chronograf']}/`); `/influxdb/${latestVersions['influxdb']}/`
temporaryRedirect(request.uri === '/kapacitor/', `/kapacitor/${latestVersions['kapacitor']}/`); );
temporaryRedirect(request.uri === '/enterprise_influxdb/', `/enterprise_influxdb/${latestVersions['enterprise']}/`); temporaryRedirect(
temporaryRedirect(request.uri === '/flux/', `/flux/${latestVersions['flux']}/`); 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 //////////////////////// /////////////////////// 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 /////////////////////////////// /////////////////////////////// Flux redirects ///////////////////////////////
// Redirect old Flux guides and introduction // 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(
permanentRedirect(/\/flux\/(?:v0\.[0-9]{1,2})\/introduction\//.test(request.uri), `/flux/${latestVersions['flux']}/get-started/`); /\/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 // 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 // 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(
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/`); /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
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`)); request.uri
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`)); request.uri.replace(
temporaryRedirect(/\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/transformations\/$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`); /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/,
temporaryRedirect(/\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/built-in\/$/.test(request.uri), `/flux/${latestVersions['flux']}/stdlib/universe/`); `/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(
temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`); /\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
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`)); request.uri
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`)); request.uri.replace(
temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/transformations\/$/.test(request.uri), `/flux/${latestVersions['flux']}/function-types/`); /\/flux\/v0\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/,
temporaryRedirect(/\/flux\/v0\.x\/stdlib\/built-in\/$/.test(request.uri), `/flux/${latestVersions['flux']}/stdlib/universe/`); `/flux/${latestVersions['flux']}/stdlib/universe/$1`
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\/)$/.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 // 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(
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/`)); /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//.test(
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/`)); request.uri
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/`)); request.uri.replace(
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/`)); /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/influxdb\//,
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/`)); `/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 // 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(
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/`)); /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//.test(
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/`)); request.uri
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/`)); request.uri.replace(
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/`)); /\/influxdb\/(?:v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/alerta\//,
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/`)); `/flux/${latestVersions['flux']}/stdlib/contrib/bonitoo-io/alerta/`
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(
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/`)); /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\/contrib\/bigpanda\//.test(
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/`)); request.uri
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/`)); 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 // 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(
temporaryRedirect(/\/flux\/v0\.x\/functions\//.test(request.uri), request.uri.replace(/(\/flux\/v0\.x\/)functions\/(.*)/, `$1stdlib/$2`)); /\/influxdb\/(v2\.[0-9]{1,2}|cloud)\/reference\/flux\/stdlib\//.test(
temporaryRedirect(/\/flux\/v0\.x\/stdlib\/experimental\/to\/.+/.test(request.uri), request.uri.replace(/(\/flux\/v0\.x\/stdlib\/experimental\/)to\/(.+)/, `$1$2`)); 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 // 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(
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`)); /\/flux\/v[0,1]\.x\/stdlib\/built-in\/(?:inputs\/|outputs\/|misc\/|tests\/)(\w+\/$)/.test(
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`)); request.uri
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/`)); 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 // 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 ////////////////////////////// ////////////////////////////// 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 ///////////////////////// ////////////////////////// Archive version redirects /////////////////////////
permanentRedirect(/\/influxdb\/(?:v0\.[0-9]{1,2}|v1\.[0-2])\//.test(request.uri), `${archiveDomain}${request.uri}`); permanentRedirect(
permanentRedirect(/\/telegraf\/(?:v0\.[0-9]{1,2}|v1\.[0-8])\//.test(request.uri), `${archiveDomain}${request.uri}`); /\/influxdb\/(?:v0\.[0-9]{1,2}|v1\.[0-2])\//.test(request.uri),
permanentRedirect(/\/chronograf\/(?:v0\.[0-9]{1,2}|v1\.[0-5])\//.test(request.uri), `${archiveDomain}${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(
permanentRedirect(/\/enterprise_kapacitor\//.test(request.uri), `${archiveDomain}${request.uri}`); /\/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 /////////////////////// /////////////////////// END PRODUCT-SPECIFIC REDIRECTS ///////////////////////

View File

@ -22,7 +22,9 @@ assets and store them in `static/downloads/clustered-release-artifacts/<RELEASE>
1Password vault. Download the pull secret and store it in the 1Password vault. Download the pull secret and store it in the
`/tmp/influxdbsecret` directory on your local machine. `/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 execute the script. Provide the release version as an argument to the
script--for example: script--for example: