Add InfluxDB 2.0.9 release notes and new influxd flux-log-enabled option (#3170)
parent
76200fb9f8
commit
5f84fb79f8
|
@ -0,0 +1,11 @@
|
||||||
|
lint:
|
||||||
|
extends:
|
||||||
|
- recommended
|
||||||
|
plugins:
|
||||||
|
- './plugins/servers-plugin.js'
|
||||||
|
rules:
|
||||||
|
no-server-trailing-slash: off
|
||||||
|
servers/validate-servers-url: error
|
||||||
|
decorators:
|
||||||
|
servers/replace-servers-url: error
|
||||||
|
servers/set-servers-url: error
|
|
@ -1,6 +1,7 @@
|
||||||
## Generate InfluxDB API docs
|
## Generate InfluxDB API docs
|
||||||
InfluxDB uses [Redoc](https://github.com/Redocly/redoc/) and
|
InfluxDB uses [Redoc](https://github.com/Redocly/redoc/),
|
||||||
[redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md) to generate
|
[redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md),
|
||||||
|
and Redocly's [OpenApi CLI](https://redoc.ly/docs/cli/) to generate
|
||||||
API documentation from the InfluxDB `swagger.yml`.
|
API documentation from the InfluxDB `swagger.yml`.
|
||||||
|
|
||||||
To minimize repo size, the generated API documentation HTML is gitignored, therefore
|
To minimize repo size, the generated API documentation HTML is gitignored, therefore
|
||||||
|
@ -12,15 +13,20 @@ to generate version-specific API documentation.
|
||||||
The structure versions swagger files using the following pattern:
|
The structure versions swagger files using the following pattern:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
│ └── swagger.yml
|
||||||
|
└── etc...
|
||||||
|
```
|
||||||
|
|
||||||
|
### OpenAPI CLI configuration
|
||||||
|
`.redoc.yaml` sets linting and bundling options for `openapi` CLI.
|
||||||
|
`./plugins` contains custom OpenAPI CLI plugins composed of *rules* (for linting) and *decorators* (for bundle customization).
|
||||||
api-docs/
|
api-docs/
|
||||||
├── v2.0/
|
├── v2.0/
|
||||||
│ └── swagger.yml
|
│ └── swagger.yml
|
||||||
├── v2.1/
|
├── v2.1/
|
||||||
│ └── swagger.yml
|
│ └── swagger.yml
|
||||||
├── v2.2/
|
├── v2.2/
|
||||||
│ └── swagger.yml
|
`openapi` CLI requires that modules use CommonJS `require` syntax for imports.
|
||||||
└── etc...
|
|
||||||
```
|
|
||||||
|
|
||||||
### Generate API docs locally
|
### Generate API docs locally
|
||||||
Because the API documentation HTML is gitignored, you must manually generate it
|
Because the API documentation HTML is gitignored, you must manually generate it
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,4 @@
|
||||||
# this is a manually maintained file for these old routes until oats#15 is resolved
|
openapi: 3.0.0
|
||||||
openapi: "3.0.0"
|
|
||||||
info:
|
info:
|
||||||
title: Influx API Service (V1 compatible endpoints)
|
title: Influx API Service (V1 compatible endpoints)
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
|
@ -8,7 +7,7 @@ servers:
|
||||||
description: V1 compatible api endpoints.
|
description: V1 compatible api endpoints.
|
||||||
paths:
|
paths:
|
||||||
/write:
|
/write:
|
||||||
post: # technically this functions with other methods as well
|
post:
|
||||||
operationId: PostWriteV1
|
operationId: PostWriteV1
|
||||||
tags:
|
tags:
|
||||||
- Write
|
- Write
|
||||||
|
@ -21,15 +20,17 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: "#/components/parameters/TraceSpan"
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
- $ref: "#/components/parameters/AuthUserV1"
|
- $ref: '#/components/parameters/AuthUserV1'
|
||||||
- $ref: "#/components/parameters/AuthPassV1"
|
- $ref: '#/components/parameters/AuthPassV1'
|
||||||
- in: query
|
- in: query
|
||||||
name: db
|
name: db
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
description: The bucket to write to. If none exist a bucket will be created with a default 3 day retention policy.
|
description: >-
|
||||||
|
The bucket to write to. If none exist a bucket will be created with
|
||||||
|
a default 3 day retention policy.
|
||||||
- in: query
|
- in: query
|
||||||
name: rp
|
name: rp
|
||||||
schema:
|
schema:
|
||||||
|
@ -42,54 +43,76 @@ paths:
|
||||||
description: Write precision.
|
description: Write precision.
|
||||||
- in: header
|
- in: header
|
||||||
name: Content-Encoding
|
name: Content-Encoding
|
||||||
description: When present, its value indicates to the database that compression is applied to the line-protocol body.
|
description: >-
|
||||||
|
When present, its value indicates to the database that compression
|
||||||
|
is applied to the line-protocol body.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the line protocol in the body is encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the line protocol in the body is encoded with gzip
|
||||||
|
or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
- identity
|
- identity
|
||||||
responses:
|
responses:
|
||||||
"204":
|
'204':
|
||||||
description: Write data is correctly formatted and accepted for writing to the bucket.
|
description: >-
|
||||||
"400":
|
Write data is correctly formatted and accepted for writing to the
|
||||||
description: Line protocol poorly formed and no points were written. Response can be used to determine the first malformed line in the body line-protocol. All data in body was rejected and not written.
|
bucket.
|
||||||
|
'400':
|
||||||
|
description: >-
|
||||||
|
Line protocol poorly formed and no points were written. Response
|
||||||
|
can be used to determine the first malformed line in the body
|
||||||
|
line-protocol. All data in body was rejected and not written.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/LineProtocolError"
|
$ref: '#/components/schemas/LineProtocolError'
|
||||||
"401":
|
'401':
|
||||||
description: Token does not have sufficient permissions to write to this organization and bucket or the organization and bucket do not exist.
|
description: >-
|
||||||
|
Token does not have sufficient permissions to write to this
|
||||||
|
organization and bucket or the organization and bucket do not exist.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
"403":
|
'403':
|
||||||
description: No token was sent and they are required.
|
description: No token was sent and they are required.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
"413":
|
'413':
|
||||||
description: Write has been rejected because the payload is too large. Error message returns max size supported. All data in body was rejected and not written.
|
description: >-
|
||||||
|
Write has been rejected because the payload is too large. Error
|
||||||
|
message returns max size supported. All data in body was rejected
|
||||||
|
and not written.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/LineProtocolLengthError"
|
$ref: '#/components/schemas/LineProtocolLengthError'
|
||||||
"429":
|
'429':
|
||||||
description: Token is temporarily over quota. The Retry-After header describes when to try the write again.
|
description: >-
|
||||||
|
Token is temporarily over quota. The Retry-After header describes
|
||||||
|
when to try the write again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
"503":
|
'503':
|
||||||
description: Server is temporarily unavailable to accept writes. The Retry-After header describes when to try the write again.
|
description: >-
|
||||||
|
Server is temporarily unavailable to accept writes. The Retry-After
|
||||||
|
header describes when to try the write again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
|
@ -98,9 +121,9 @@ paths:
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
/query:
|
/query:
|
||||||
post: # technically this functions with other methods as well
|
post:
|
||||||
operationId: PostQueryV1
|
operationId: PostQueryV1
|
||||||
tags:
|
tags:
|
||||||
- Query
|
- Query
|
||||||
|
@ -108,18 +131,21 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: InfluxQL query to execute.
|
description: InfluxQL query to execute.
|
||||||
content:
|
content:
|
||||||
text/plain: # although this should be `application/vnd.influxql`, oats breaks so we define the content-type header parameter
|
text/plain:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: "#/components/parameters/TraceSpan"
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
- $ref: "#/components/parameters/AuthUserV1"
|
- $ref: '#/components/parameters/AuthUserV1'
|
||||||
- $ref: "#/components/parameters/AuthPassV1"
|
- $ref: '#/components/parameters/AuthPassV1'
|
||||||
- in: header
|
- in: header
|
||||||
name: Accept
|
name: Accept
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies how query results should be encoded in the response. **Note:** With `application/csv`, query results include epoch timestamps instead of RFC3339 timestamps.
|
description: >-
|
||||||
|
Specifies how query results should be encoded in the response.
|
||||||
|
**Note:** With `application/csv`, query results include epoch
|
||||||
|
timestamps instead of RFC3339 timestamps.
|
||||||
default: application/json
|
default: application/json
|
||||||
enum:
|
enum:
|
||||||
- application/json
|
- application/json
|
||||||
|
@ -128,10 +154,15 @@ paths:
|
||||||
- application/x-msgpack
|
- application/x-msgpack
|
||||||
- in: header
|
- in: header
|
||||||
name: Accept-Encoding
|
name: Accept-Encoding
|
||||||
description: The Accept-Encoding request HTTP header advertises which content encoding, usually a compression algorithm, the client is able to understand.
|
description: >-
|
||||||
|
The Accept-Encoding request HTTP header advertises which content
|
||||||
|
encoding, usually a compression algorithm, the client is able to
|
||||||
|
understand.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the query response in the body should be encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the query response in the body should be encoded
|
||||||
|
with gzip or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
|
@ -148,42 +179,53 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
responses:
|
responses:
|
||||||
"200":
|
'200':
|
||||||
description: Query results
|
description: Query results
|
||||||
headers:
|
headers:
|
||||||
Content-Encoding:
|
Content-Encoding:
|
||||||
description: The Content-Encoding entity header is used to compress the media-type. When present, its value indicates which encodings were applied to the entity-body
|
description: >-
|
||||||
|
The Content-Encoding entity header is used to compress the
|
||||||
|
media-type. When present, its value indicates which encodings
|
||||||
|
were applied to the entity-body
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the response in the body is encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the response in the body is encoded with gzip
|
||||||
|
or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
- identity
|
- identity
|
||||||
Trace-Id:
|
Trace-Id:
|
||||||
description: The Trace-Id header reports the request's trace ID, if one was generated.
|
description: >-
|
||||||
|
The Trace-Id header reports the request's trace ID, if one was
|
||||||
|
generated.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies the request's trace ID.
|
description: Specifies the request's trace ID.
|
||||||
content:
|
content:
|
||||||
application/csv:
|
application/csv:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLCSVResponse"
|
$ref: '#/components/schemas/InfluxQLCSVResponse'
|
||||||
text/csv:
|
text/csv:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLCSVResponse"
|
$ref: '#/components/schemas/InfluxQLCSVResponse'
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLResponse"
|
$ref: '#/components/schemas/InfluxQLResponse'
|
||||||
application/x-msgpack:
|
application/x-msgpack:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
"429":
|
'429':
|
||||||
description: Token is temporarily over quota. The Retry-After header describes when to try the read again.
|
description: >-
|
||||||
|
Token is temporarily over quota. The Retry-After header describes
|
||||||
|
when to try the read again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
|
@ -192,7 +234,7 @@ paths:
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
components:
|
components:
|
||||||
parameters:
|
parameters:
|
||||||
TraceSpan:
|
TraceSpan:
|
||||||
|
@ -200,8 +242,8 @@ components:
|
||||||
name: Zap-Trace-Span
|
name: Zap-Trace-Span
|
||||||
description: OpenTracing span context
|
description: OpenTracing span context
|
||||||
example:
|
example:
|
||||||
trace_id: "1"
|
trace_id: '1'
|
||||||
span_id: "1"
|
span_id: '1'
|
||||||
baggage:
|
baggage:
|
||||||
key: value
|
key: value
|
||||||
required: false
|
required: false
|
||||||
|
@ -260,7 +302,6 @@ components:
|
||||||
description: Code is the machine-readable error code.
|
description: Code is the machine-readable error code.
|
||||||
readOnly: true
|
readOnly: true
|
||||||
type: string
|
type: string
|
||||||
# This set of enumerations must remain in sync with the constants defined in errors.go
|
|
||||||
enum:
|
enum:
|
||||||
- internal error
|
- internal error
|
||||||
- not found
|
- not found
|
||||||
|
@ -277,7 +318,9 @@ components:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Message is a human-readable message.
|
description: Message is a human-readable message.
|
||||||
type: string
|
type: string
|
||||||
required: [code, message]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
LineProtocolError:
|
LineProtocolError:
|
||||||
properties:
|
properties:
|
||||||
code:
|
code:
|
||||||
|
@ -297,18 +340,26 @@ components:
|
||||||
type: string
|
type: string
|
||||||
op:
|
op:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Op describes the logical code operation during error. Useful for debugging.
|
description: >-
|
||||||
|
Op describes the logical code operation during error. Useful for
|
||||||
|
debugging.
|
||||||
type: string
|
type: string
|
||||||
err:
|
err:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Err is a stack of errors that occurred during processing of the request. Useful for debugging.
|
description: >-
|
||||||
|
Err is a stack of errors that occurred during processing of the
|
||||||
|
request. Useful for debugging.
|
||||||
type: string
|
type: string
|
||||||
line:
|
line:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: First line within sent body containing malformed data
|
description: First line within sent body containing malformed data
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
required: [code, message, op, err]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
|
- op
|
||||||
|
- err
|
||||||
LineProtocolLengthError:
|
LineProtocolLengthError:
|
||||||
properties:
|
properties:
|
||||||
code:
|
code:
|
||||||
|
@ -326,4 +377,7 @@ components:
|
||||||
description: Max length in bytes for a body of line-protocol.
|
description: Max length in bytes for a body of line-protocol.
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
required: [code, message, maxLength]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
|
- maxLength
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
#!/bin/bash -e
|
#!/bin/bash
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Get list of versions from directory names
|
# Get list of versions from directory names
|
||||||
versions="$(ls -d -- */ | grep -v 'node_modules')"
|
versions="$(ls -d -- */ | grep -v 'node_modules' | grep -v 'plugins')"
|
||||||
|
|
||||||
for version in $versions
|
for version in $versions
|
||||||
do
|
do
|
||||||
|
@ -57,10 +57,10 @@ weight: 304
|
||||||
--options.sortPropsAlphabetically \
|
--options.sortPropsAlphabetically \
|
||||||
--options.menuToggle \
|
--options.menuToggle \
|
||||||
--options.hideHostname \
|
--options.hideHostname \
|
||||||
|
--options.noAutoAuth \
|
||||||
--templateOptions.version="$version" \
|
--templateOptions.version="$version" \
|
||||||
--templateOptions.titleVersion="$titleVersion" \
|
--templateOptions.titleVersion="$titleVersion" \
|
||||||
|
|
||||||
|
|
||||||
# Use Redoc to generate the v1 compatibility API html
|
# Use Redoc to generate the v1 compatibility API html
|
||||||
npm_config_yes=true npx $redocCLI bundle $version/swaggerV1Compat.yml \
|
npm_config_yes=true npx $redocCLI bundle $version/swaggerV1Compat.yml \
|
||||||
-t template.hbs \
|
-t template.hbs \
|
||||||
|
@ -72,7 +72,6 @@ weight: 304
|
||||||
--templateOptions.titleVersion="$titleVersion" \
|
--templateOptions.titleVersion="$titleVersion" \
|
||||||
--output=redoc-static-v1-compat.html \
|
--output=redoc-static-v1-compat.html \
|
||||||
|
|
||||||
|
|
||||||
# Create temp file with frontmatter and Redoc html
|
# Create temp file with frontmatter and Redoc html
|
||||||
echo "$v2frontmatter" >> $version.tmp
|
echo "$v2frontmatter" >> $version.tmp
|
||||||
echo "$v1frontmatter" >> $version-v1-compat.tmp
|
echo "$v1frontmatter" >> $version-v1-compat.tmp
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
module.exports = ReplaceRootURL;
|
||||||
|
|
||||||
|
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an object with keys in [node type, any, ref].
|
||||||
|
* The key instructs openapi when to invoke the key's Visitor object.
|
||||||
|
* Object key "Server" is an OAS 3.0 node type.
|
||||||
|
*/
|
||||||
|
function ReplaceRootURL() {
|
||||||
|
return {
|
||||||
|
Operation: {
|
||||||
|
leave(operation, ctx) {
|
||||||
|
if(Array.isArray(operation.servers)) {
|
||||||
|
operation.servers.forEach(server => server.url = server.url === '' ? '/' : server.url);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,21 @@
|
||||||
|
module.exports = SetServersURL;
|
||||||
|
|
||||||
|
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns an object with keys in [node type, any, ref].
|
||||||
|
* The key instructs openapi when to invoke the key's Visitor object.
|
||||||
|
* Object key "Server" is an OAS 3.0 node type.
|
||||||
|
*/
|
||||||
|
function SetServersURL() {
|
||||||
|
return {
|
||||||
|
Operation: {
|
||||||
|
leave(operation, ctx) {
|
||||||
|
const operations = ['GetRoutes']
|
||||||
|
if(operations.includes(operation.operationId)) {
|
||||||
|
operation.servers = [{url: '/'}];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -0,0 +1,19 @@
|
||||||
|
module.exports = ValidateServersUrl
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Detects Operations that have servers.url: ''.
|
||||||
|
*/
|
||||||
|
/** @type {import('@redocly/openapi-cli').OasRule} */
|
||||||
|
function ValidateServersUrl() {
|
||||||
|
return {
|
||||||
|
Operation(operation, ctx) {
|
||||||
|
if(Array.isArray(operation.servers)) {
|
||||||
|
operation.servers.forEach(server => server.url === '' &&
|
||||||
|
ctx.report({
|
||||||
|
message: `operation server has empty url`,
|
||||||
|
location: ctx.location.child('operationId')
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
const ReplaceServersUrl = require('./decorators/replace-servers-url');
|
||||||
|
const SetServersUrl = require('./decorators/set-servers-url');
|
||||||
|
const ValidateServersUrl = require('./rules/validate-servers-url');
|
||||||
|
const id = 'servers';
|
||||||
|
|
||||||
|
/** @type {import('@redocly/openapi-cli').CustomRulesConfig} */
|
||||||
|
const rules = {
|
||||||
|
oas3: {
|
||||||
|
'validate-servers-url': ValidateServersUrl
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/** @type {import('@redocly/openapi-cli').CustomRulesConfig} */
|
||||||
|
const decorators = {
|
||||||
|
oas3: {
|
||||||
|
'replace-servers-url': ReplaceServersUrl,
|
||||||
|
'set-servers-url': SetServersUrl
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
id,
|
||||||
|
configs: {
|
||||||
|
all: {rules, decorators},
|
||||||
|
},
|
||||||
|
rules,
|
||||||
|
decorators
|
||||||
|
};
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,5 +1,4 @@
|
||||||
# this is a manually maintained file for these old routes until oats#15 is resolved
|
openapi: 3.0.0
|
||||||
openapi: "3.0.0"
|
|
||||||
info:
|
info:
|
||||||
title: Influx API Service (V1 compatible endpoints)
|
title: Influx API Service (V1 compatible endpoints)
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
|
@ -8,7 +7,7 @@ servers:
|
||||||
description: V1 compatible api endpoints.
|
description: V1 compatible api endpoints.
|
||||||
paths:
|
paths:
|
||||||
/write:
|
/write:
|
||||||
post: # technically this functions with other methods as well
|
post:
|
||||||
operationId: PostWriteV1
|
operationId: PostWriteV1
|
||||||
tags:
|
tags:
|
||||||
- Write
|
- Write
|
||||||
|
@ -21,15 +20,17 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: "#/components/parameters/TraceSpan"
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
- $ref: "#/components/parameters/AuthUserV1"
|
- $ref: '#/components/parameters/AuthUserV1'
|
||||||
- $ref: "#/components/parameters/AuthPassV1"
|
- $ref: '#/components/parameters/AuthPassV1'
|
||||||
- in: query
|
- in: query
|
||||||
name: db
|
name: db
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
required: true
|
required: true
|
||||||
description: The bucket to write to. If none exist a bucket will be created with a default 3 day retention policy.
|
description: >-
|
||||||
|
The bucket to write to. If none exist a bucket will be created with
|
||||||
|
a default 3 day retention policy.
|
||||||
- in: query
|
- in: query
|
||||||
name: rp
|
name: rp
|
||||||
schema:
|
schema:
|
||||||
|
@ -42,54 +43,76 @@ paths:
|
||||||
description: Write precision.
|
description: Write precision.
|
||||||
- in: header
|
- in: header
|
||||||
name: Content-Encoding
|
name: Content-Encoding
|
||||||
description: When present, its value indicates to the database that compression is applied to the line-protocol body.
|
description: >-
|
||||||
|
When present, its value indicates to the database that compression
|
||||||
|
is applied to the line-protocol body.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the line protocol in the body is encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the line protocol in the body is encoded with gzip
|
||||||
|
or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
- identity
|
- identity
|
||||||
responses:
|
responses:
|
||||||
"204":
|
'204':
|
||||||
description: Write data is correctly formatted and accepted for writing to the bucket.
|
description: >-
|
||||||
"400":
|
Write data is correctly formatted and accepted for writing to the
|
||||||
description: Line protocol poorly formed and no points were written. Response can be used to determine the first malformed line in the body line-protocol. All data in body was rejected and not written.
|
bucket.
|
||||||
|
'400':
|
||||||
|
description: >-
|
||||||
|
Line protocol poorly formed and no points were written. Response
|
||||||
|
can be used to determine the first malformed line in the body
|
||||||
|
line-protocol. All data in body was rejected and not written.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/LineProtocolError"
|
$ref: '#/components/schemas/LineProtocolError'
|
||||||
"401":
|
'401':
|
||||||
description: Token does not have sufficient permissions to write to this organization and bucket or the organization and bucket do not exist.
|
description: >-
|
||||||
|
Token does not have sufficient permissions to write to this
|
||||||
|
organization and bucket or the organization and bucket do not exist.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
"403":
|
'403':
|
||||||
description: No token was sent and they are required.
|
description: No token was sent and they are required.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
"413":
|
'413':
|
||||||
description: Write has been rejected because the payload is too large. Error message returns max size supported. All data in body was rejected and not written.
|
description: >-
|
||||||
|
Write has been rejected because the payload is too large. Error
|
||||||
|
message returns max size supported. All data in body was rejected
|
||||||
|
and not written.
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/LineProtocolLengthError"
|
$ref: '#/components/schemas/LineProtocolLengthError'
|
||||||
"429":
|
'429':
|
||||||
description: Token is temporarily over quota. The Retry-After header describes when to try the write again.
|
description: >-
|
||||||
|
Token is temporarily over quota. The Retry-After header describes
|
||||||
|
when to try the write again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
"503":
|
'503':
|
||||||
description: Server is temporarily unavailable to accept writes. The Retry-After header describes when to try the write again.
|
description: >-
|
||||||
|
Server is temporarily unavailable to accept writes. The Retry-After
|
||||||
|
header describes when to try the write again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
|
@ -98,9 +121,9 @@ paths:
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
/query:
|
/query:
|
||||||
post: # technically this functions with other methods as well
|
post:
|
||||||
operationId: PostQueryV1
|
operationId: PostQueryV1
|
||||||
tags:
|
tags:
|
||||||
- Query
|
- Query
|
||||||
|
@ -108,18 +131,21 @@ paths:
|
||||||
requestBody:
|
requestBody:
|
||||||
description: InfluxQL query to execute.
|
description: InfluxQL query to execute.
|
||||||
content:
|
content:
|
||||||
text/plain: # although this should be `application/vnd.influxql`, oats breaks so we define the content-type header parameter
|
text/plain:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
parameters:
|
parameters:
|
||||||
- $ref: "#/components/parameters/TraceSpan"
|
- $ref: '#/components/parameters/TraceSpan'
|
||||||
- $ref: "#/components/parameters/AuthUserV1"
|
- $ref: '#/components/parameters/AuthUserV1'
|
||||||
- $ref: "#/components/parameters/AuthPassV1"
|
- $ref: '#/components/parameters/AuthPassV1'
|
||||||
- in: header
|
- in: header
|
||||||
name: Accept
|
name: Accept
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies how query results should be encoded in the response. **Note:** With `application/csv`, query results include epoch timestamps instead of RFC3339 timestamps.
|
description: >-
|
||||||
|
Specifies how query results should be encoded in the response.
|
||||||
|
**Note:** With `application/csv`, query results include epoch
|
||||||
|
timestamps instead of RFC3339 timestamps.
|
||||||
default: application/json
|
default: application/json
|
||||||
enum:
|
enum:
|
||||||
- application/json
|
- application/json
|
||||||
|
@ -128,10 +154,15 @@ paths:
|
||||||
- application/x-msgpack
|
- application/x-msgpack
|
||||||
- in: header
|
- in: header
|
||||||
name: Accept-Encoding
|
name: Accept-Encoding
|
||||||
description: The Accept-Encoding request HTTP header advertises which content encoding, usually a compression algorithm, the client is able to understand.
|
description: >-
|
||||||
|
The Accept-Encoding request HTTP header advertises which content
|
||||||
|
encoding, usually a compression algorithm, the client is able to
|
||||||
|
understand.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the query response in the body should be encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the query response in the body should be encoded
|
||||||
|
with gzip or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
|
@ -148,42 +179,53 @@ paths:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
responses:
|
responses:
|
||||||
"200":
|
'200':
|
||||||
description: Query results
|
description: Query results
|
||||||
headers:
|
headers:
|
||||||
Content-Encoding:
|
Content-Encoding:
|
||||||
description: The Content-Encoding entity header is used to compress the media-type. When present, its value indicates which encodings were applied to the entity-body
|
description: >-
|
||||||
|
The Content-Encoding entity header is used to compress the
|
||||||
|
media-type. When present, its value indicates which encodings
|
||||||
|
were applied to the entity-body
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies that the response in the body is encoded with gzip or not encoded with identity.
|
description: >-
|
||||||
|
Specifies that the response in the body is encoded with gzip
|
||||||
|
or not encoded with identity.
|
||||||
default: identity
|
default: identity
|
||||||
enum:
|
enum:
|
||||||
- gzip
|
- gzip
|
||||||
- identity
|
- identity
|
||||||
Trace-Id:
|
Trace-Id:
|
||||||
description: The Trace-Id header reports the request's trace ID, if one was generated.
|
description: >-
|
||||||
|
The Trace-Id header reports the request's trace ID, if one was
|
||||||
|
generated.
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
description: Specifies the request's trace ID.
|
description: Specifies the request's trace ID.
|
||||||
content:
|
content:
|
||||||
application/csv:
|
application/csv:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLCSVResponse"
|
$ref: '#/components/schemas/InfluxQLCSVResponse'
|
||||||
text/csv:
|
text/csv:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLCSVResponse"
|
$ref: '#/components/schemas/InfluxQLCSVResponse'
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/InfluxQLResponse"
|
$ref: '#/components/schemas/InfluxQLResponse'
|
||||||
application/x-msgpack:
|
application/x-msgpack:
|
||||||
schema:
|
schema:
|
||||||
type: string
|
type: string
|
||||||
format: binary
|
format: binary
|
||||||
"429":
|
'429':
|
||||||
description: Token is temporarily over quota. The Retry-After header describes when to try the read again.
|
description: >-
|
||||||
|
Token is temporarily over quota. The Retry-After header describes
|
||||||
|
when to try the read again.
|
||||||
headers:
|
headers:
|
||||||
Retry-After:
|
Retry-After:
|
||||||
description: A non-negative decimal integer indicating the seconds to delay after the response is received.
|
description: >-
|
||||||
|
A non-negative decimal integer indicating the seconds to delay
|
||||||
|
after the response is received.
|
||||||
schema:
|
schema:
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
|
@ -192,7 +234,7 @@ paths:
|
||||||
content:
|
content:
|
||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: "#/components/schemas/Error"
|
$ref: '#/components/schemas/Error'
|
||||||
components:
|
components:
|
||||||
parameters:
|
parameters:
|
||||||
TraceSpan:
|
TraceSpan:
|
||||||
|
@ -200,8 +242,8 @@ components:
|
||||||
name: Zap-Trace-Span
|
name: Zap-Trace-Span
|
||||||
description: OpenTracing span context
|
description: OpenTracing span context
|
||||||
example:
|
example:
|
||||||
trace_id: "1"
|
trace_id: '1'
|
||||||
span_id: "1"
|
span_id: '1'
|
||||||
baggage:
|
baggage:
|
||||||
key: value
|
key: value
|
||||||
required: false
|
required: false
|
||||||
|
@ -260,7 +302,6 @@ components:
|
||||||
description: Code is the machine-readable error code.
|
description: Code is the machine-readable error code.
|
||||||
readOnly: true
|
readOnly: true
|
||||||
type: string
|
type: string
|
||||||
# This set of enumerations must remain in sync with the constants defined in errors.go
|
|
||||||
enum:
|
enum:
|
||||||
- internal error
|
- internal error
|
||||||
- not found
|
- not found
|
||||||
|
@ -277,7 +318,9 @@ components:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Message is a human-readable message.
|
description: Message is a human-readable message.
|
||||||
type: string
|
type: string
|
||||||
required: [code, message]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
LineProtocolError:
|
LineProtocolError:
|
||||||
properties:
|
properties:
|
||||||
code:
|
code:
|
||||||
|
@ -297,18 +340,26 @@ components:
|
||||||
type: string
|
type: string
|
||||||
op:
|
op:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Op describes the logical code operation during error. Useful for debugging.
|
description: >-
|
||||||
|
Op describes the logical code operation during error. Useful for
|
||||||
|
debugging.
|
||||||
type: string
|
type: string
|
||||||
err:
|
err:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: Err is a stack of errors that occurred during processing of the request. Useful for debugging.
|
description: >-
|
||||||
|
Err is a stack of errors that occurred during processing of the
|
||||||
|
request. Useful for debugging.
|
||||||
type: string
|
type: string
|
||||||
line:
|
line:
|
||||||
readOnly: true
|
readOnly: true
|
||||||
description: First line within sent body containing malformed data
|
description: First line within sent body containing malformed data
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
required: [code, message, op, err]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
|
- op
|
||||||
|
- err
|
||||||
LineProtocolLengthError:
|
LineProtocolLengthError:
|
||||||
properties:
|
properties:
|
||||||
code:
|
code:
|
||||||
|
@ -326,4 +377,7 @@ components:
|
||||||
description: Max length in bytes for a body of line-protocol.
|
description: Max length in bytes for a body of line-protocol.
|
||||||
type: integer
|
type: integer
|
||||||
format: int32
|
format: int32
|
||||||
required: [code, message, maxLength]
|
required:
|
||||||
|
- code
|
||||||
|
- message
|
||||||
|
- maxLength
|
||||||
|
|
|
@ -2,3 +2,4 @@
|
||||||
# yarn lockfile v1
|
# yarn lockfile v1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,7 @@ related:
|
||||||
introduced: 0.92.0
|
introduced: 0.92.0
|
||||||
---
|
---
|
||||||
|
|
||||||
The `influxdb.cardinality()` function returns the [series cardinality](/{{< latest "influxdb" "v2" >}}/reference/glossary#series-cardinality) of data stored in InfluxDB Cloud.
|
The `influxdb.cardinality()` function returns the [series cardinality](/{{< latest "influxdb" "v2" >}}/reference/glossary#series-cardinality) of a specified dataset.
|
||||||
|
|
||||||
{{% cloud %}}
|
|
||||||
**InfluxDB Cloud** supports the `influxdb.cardinality()` function, but **InfluxDB OSS does not**.
|
|
||||||
{{% /cloud %}}
|
|
||||||
|
|
||||||
```js
|
```js
|
||||||
import "influxdata/influxdb"
|
import "influxdata/influxdb"
|
||||||
|
|
|
@ -87,7 +87,6 @@ tls-key = "/path/to/influxdb.key"
|
||||||
Only non-default settings need to be defined in the configuration file.
|
Only non-default settings need to be defined in the configuration file.
|
||||||
{{% /note %}}
|
{{% /note %}}
|
||||||
|
|
||||||
|
|
||||||
## Configuration options
|
## Configuration options
|
||||||
|
|
||||||
To configure InfluxDB, use the following configuration options when starting the
|
To configure InfluxDB, use the following configuration options when starting the
|
||||||
|
@ -97,6 +96,7 @@ To configure InfluxDB, use the following configuration options when starting the
|
||||||
- [bolt-path](#bolt-path)
|
- [bolt-path](#bolt-path)
|
||||||
- [e2e-testing](#e2e-testing)
|
- [e2e-testing](#e2e-testing)
|
||||||
- [engine-path](#engine-path)
|
- [engine-path](#engine-path)
|
||||||
|
- [flux-log-enabled](#flux-log-enabled)
|
||||||
- [http-bind-address](#http-bind-address)
|
- [http-bind-address](#http-bind-address)
|
||||||
- [http-idle-timeout](#http-idle-timeout)
|
- [http-idle-timeout](#http-idle-timeout)
|
||||||
- [http-read-header-timeout](#http-read-header-timeout)
|
- [http-read-header-timeout](#http-read-header-timeout)
|
||||||
|
@ -345,6 +345,64 @@ engine-path = "/users/user/.influxdbv2/engine"
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### flux-log-enabled
|
||||||
|
|
||||||
|
Include option to show detailed logs for Flux queries, including the following log fields:
|
||||||
|
|
||||||
|
- `compiler_type`: Compiler used for processing the query (will always be Flux).
|
||||||
|
- `response_size`: Size of the response, in bytes.
|
||||||
|
- `query`: The textual representation of the query.
|
||||||
|
- `err`: Errors encountered while processing the query.
|
||||||
|
- `stat_total_duration`: Total duration to process the query.
|
||||||
|
- `stat_compile_duration`: Duration to compile the query.
|
||||||
|
- `stat_execute_duration`: Duration to execute the query.
|
||||||
|
- `stat_max_allocated`: Maximum amount of memory allocated while processing the query, in - bytes.
|
||||||
|
- `stat_total_allocated`: Total amount of memory allocated while processing the query, in bytes. This includes memory that was freed and then used again.
|
||||||
|
|
||||||
|
**Default:** `false`
|
||||||
|
|
||||||
|
| influxd flag | Environment variable | Configuration key |
|
||||||
|
|:------------ |:-------------------- |:----------------- |
|
||||||
|
| `--flux-log-enabled` | `INFLUXD_FLUX_LOG_ENABLED` | `flux-log-enabled`|
|
||||||
|
|
||||||
|
###### influxd flag
|
||||||
|
```sh
|
||||||
|
influxd --flux-log-enabled=true
|
||||||
|
```
|
||||||
|
|
||||||
|
###### Environment variable
|
||||||
|
```sh
|
||||||
|
export INFLUXD_FLUX_LOG_ENABLED=true
|
||||||
|
```
|
||||||
|
|
||||||
|
###### Configuration file
|
||||||
|
{{< code-tabs-wrapper >}}
|
||||||
|
{{% code-tabs %}}
|
||||||
|
[YAML](#)
|
||||||
|
[TOML](#)
|
||||||
|
[JSON](#)
|
||||||
|
{{% /code-tabs %}}
|
||||||
|
{{% code-tab-content %}}
|
||||||
|
```yml
|
||||||
|
flux-log-enabled: true
|
||||||
|
```
|
||||||
|
{{% /code-tab-content %}}
|
||||||
|
{{% code-tab-content %}}
|
||||||
|
```toml
|
||||||
|
flux-log-enabled = "true"
|
||||||
|
```
|
||||||
|
{{% /code-tab-content %}}
|
||||||
|
{{% code-tab-content %}}
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"flux-log-enabled": "true"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
{{% /code-tab-content %}}
|
||||||
|
{{< /code-tabs-wrapper >}}
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
### http-bind-address
|
### http-bind-address
|
||||||
Bind address for the InfluxDB HTTP API.
|
Bind address for the InfluxDB HTTP API.
|
||||||
Customize the URL and port for the InfluxDB API and UI.
|
Customize the URL and port for the InfluxDB API and UI.
|
||||||
|
|
|
@ -8,6 +8,105 @@ menu:
|
||||||
weight: 101
|
weight: 101
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## v2.0.9 [2021-09-27]
|
||||||
|
|
||||||
|
This release includes several new [features](#features) and [bug fixes](#bug-fixes).
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
New features include:
|
||||||
|
|
||||||
|
- [API updates](#api-updates)
|
||||||
|
- [Flux updates](#flux-updates)
|
||||||
|
- [Performance enhancements](#performance-enhancements)
|
||||||
|
|
||||||
|
#### API updates
|
||||||
|
|
||||||
|
- Add a new route `/api/v2/resources` that returns a list of known resources to the platform, including the following resource types. Makes it easier to update all-access tokens with current resources:
|
||||||
|
|
||||||
|
- `AuthorizationsResourceType`
|
||||||
|
- `BucketsResourceType`
|
||||||
|
- `ChecksResourceType`
|
||||||
|
- `DashboardsResourceType`
|
||||||
|
- `DBRPResourceType`
|
||||||
|
- `DocumentsResourceType`
|
||||||
|
- `LabelsResourceType`
|
||||||
|
- `NotificationEndpointResourceType`
|
||||||
|
- `NotificationRuleResourceType`
|
||||||
|
- `OrgsResourceType`
|
||||||
|
- `ScraperResourceType`
|
||||||
|
- `SecretsResourceType`
|
||||||
|
- `SourcesResourceType`
|
||||||
|
- `TasksResourceType`
|
||||||
|
- `TelegrafsResourceType`
|
||||||
|
- `UsersResourceType`
|
||||||
|
- `VariablesResourceType`
|
||||||
|
- `ViewsResourceType`
|
||||||
|
|
||||||
|
|
||||||
|
#### Flux updates
|
||||||
|
|
||||||
|
- Update to [Flux v0.130.0](/flux/v0.x/release-notes/#v01300-2021-09-15).
|
||||||
|
- Add support for [`influxdb.cardinality()`](/flux/v0.x/stdlib/influxdata/influxdb/cardinality/) function.
|
||||||
|
- Operational improvements:
|
||||||
|
- Add logging to Flux end-to-end tests (`TestFluxEndToEnd`) to help diagnose test failures.
|
||||||
|
- Add `--flux-log-enabled` option to [`influxd`](/influxdb/v2.0/reference/config-options/) to show detailed logs for Flux queries.
|
||||||
|
|
||||||
|
#### Performance enhancements
|
||||||
|
|
||||||
|
- Optimize series iteration for queries that can be answered without inspecting TSM data.
|
||||||
|
- Optimize queries with predicates that contain multiple measurements.
|
||||||
|
|
||||||
|
### Bug fixes
|
||||||
|
|
||||||
|
This release includes the following bug fixes and updates:
|
||||||
|
|
||||||
|
- [API fix](#api-fix)
|
||||||
|
- [Dependency update](#dependency-update)
|
||||||
|
- [Error updates](#error-updates)
|
||||||
|
- [Limit update](#limit-update)
|
||||||
|
- [Miscellaneous operational fixes](#miscellaneous-operational-fixes)
|
||||||
|
- [Task updates](#task-updates)
|
||||||
|
- [Version maintenance](#version-maintenance)
|
||||||
|
|
||||||
|
#### API fix
|
||||||
|
|
||||||
|
- Correctly filter requests to `/api/v2/authorizations` by `org` and `user` parameters.
|
||||||
|
|
||||||
|
#### Dependency update
|
||||||
|
|
||||||
|
- Include `curl` as a dependency in `influxdb2` packages.
|
||||||
|
|
||||||
|
#### Errors updates
|
||||||
|
|
||||||
|
- Add message to set the Flux `content-type` when a query fails to parse as JSON.
|
||||||
|
- Discard excessive errors over `DefaultMaxSavedErrors (100)` to prevent out-of-memory crashes.
|
||||||
|
- Upgrade `golang.org/x/sys` to avoid panics on macs.
|
||||||
|
|
||||||
|
#### Limit update
|
||||||
|
|
||||||
|
- Implement hard limit on field size (`MaxFieldValueLength = 1048576`) while parsing line protocol.
|
||||||
|
|
||||||
|
#### Miscellaneous operational fixes
|
||||||
|
|
||||||
|
- Resolve the compaction queue stats flutter.
|
||||||
|
- Ensure the TSI index compacts log files that meet one of the following criteria:
|
||||||
|
- Log file hasn't been updated (no new series have been added to the shard) for 4 (or more) hours (to change this duration, specify a new [`storage-compact-full-write-cold-duration`](/influxdb/v2.0/reference/config-options/#storage-compact-full-write-cold-duration))
|
||||||
|
- Log file is one (or more) megabytes (to update this size, specify a new [`storage-max-index-log-file-size`](/influxdb/v2.0/reference/config-options/#storage-max-index-log-file-size))
|
||||||
|
- Repair bad port dropping return value names.
|
||||||
|
- Use consistent path separator in permission string representation.
|
||||||
|
- (Windows only) Copy snapshot files being backed up.
|
||||||
|
|
||||||
|
#### Task updates
|
||||||
|
|
||||||
|
- Updating an inactive task no longer schedules it. Thanks @raffs!
|
||||||
|
- Preserve comments in Flux queries when saving task definitions.
|
||||||
|
|
||||||
|
#### Version maintenance
|
||||||
|
|
||||||
|
- Fix `X-Influxdb-Build` and `X-Influxdb-Version` response header at `/ping`.
|
||||||
|
- Upgrade `influxql` to latest version and fix predicate handling for `SHOW TAG VALUES` meta queries.
|
||||||
|
|
||||||
## v2.0.8 [2021-08-13]
|
## v2.0.8 [2021-08-13]
|
||||||
|
|
||||||
{{% warn %}} #### Upcoming changes to influx CLI packaging
|
{{% warn %}} #### Upcoming changes to influx CLI packaging
|
||||||
|
@ -134,9 +233,8 @@ The prefix used for Prometheus metrics from the query controller has changed fro
|
||||||
- [http-write-timeout](/influxdb/v2.0/reference/config-options/#http-write-timeout)
|
- [http-write-timeout](/influxdb/v2.0/reference/config-options/#http-write-timeout)
|
||||||
- [http-idle-timeout](/influxdb/v2.0/reference/config-options/#http-idle-timeout)
|
- [http-idle-timeout](/influxdb/v2.0/reference/config-options/#http-idle-timeout)
|
||||||
- Add `/debug/pprof/all` HTTP endpoint to gather all profiles at once.
|
- Add `/debug/pprof/all` HTTP endpoint to gather all profiles at once.
|
||||||
- Include the InfluxDB 1.x `http.pprof-enabled` configuration option in the 2.0
|
- Include the InfluxDB 1.x `http.pprof-enabled` configuration option in the 2.0 configuration file generated by the [InfluxDB upgrade process](/influxdb/v2.0/upgrade/v1-to-v2/automatic-upgrade/).
|
||||||
configuration file generated by the [InfluxDB upgrade process](/influxdb/v2.0/upgrade/v1-to-v2/automatic-upgrade/).
|
- Add support for [custom shard group durations](/influxdb/v2.0/reference/cli/influx/bucket/create#create-a-bucket-with-a-custom-shard-group-duration) on buckets.
|
||||||
- Add support for [custom shard group durations](/influxdb/v2.0/reference/cli/influx/bucket/create/#create-a-bucket-with-a-custom-shard-group-duration) on buckets.
|
|
||||||
- Optimize regular expression conditions in InfluxQL subqueries.
|
- Optimize regular expression conditions in InfluxQL subqueries.
|
||||||
- Update Telegraf plugins in the InfluxDB UI to include additions and changes from
|
- Update Telegraf plugins in the InfluxDB UI to include additions and changes from
|
||||||
[Telegraf 1.18](/telegraf/v1.18/about_the_project/release-notes-changelog/#v118-2021-3-17).
|
[Telegraf 1.18](/telegraf/v1.18/about_the_project/release-notes-changelog/#v118-2021-3-17).
|
||||||
|
@ -260,7 +358,6 @@ The startup process automatically generates replacement `tsi1` indexes for shard
|
||||||
- Support creating users without initial passwords in `influx user create`.
|
- Support creating users without initial passwords in `influx user create`.
|
||||||
- Fix incorrect errors when passing `--bucket-id` to `influx write`.
|
- Fix incorrect errors when passing `--bucket-id` to `influx write`.
|
||||||
|
|
||||||
|
|
||||||
## v2.0.3 General Availability [2020-12-14]
|
## v2.0.3 General Availability [2020-12-14]
|
||||||
|
|
||||||
### Breaking Changes
|
### Breaking Changes
|
||||||
|
|
|
@ -3,7 +3,7 @@ title: Supported releases
|
||||||
description: >
|
description: >
|
||||||
Supported releases made to InfluxData.
|
Supported releases made to InfluxData.
|
||||||
menu:
|
menu:
|
||||||
influxdb_2_0:
|
influxdb_2_0_ref:
|
||||||
name: Supported releases
|
name: Supported releases
|
||||||
parent: Release notes
|
parent: Release notes
|
||||||
weight: 204
|
weight: 204
|
||||||
|
|
Loading…
Reference in New Issue