Influx
Description
This plugin enables you to send data to an InfluxDB in a pipeline.
Source Code: https://github.com/go-vela/vela-influx
Registry: https://hub.docker.com/r/target/vela-influx
Usage
NOTE:
Users should refrain from using latest as the tag for the Docker image.
It is recommended to use a semantically versioned tag instead.
Sample of emitting a pass/fail build metric:
steps:
  - name: write
    image: target/vela-influx:latest
    pull: always
    parameters:
      addr: https://influx.example.com
      database: vela
      name: build_report
      fields:
        build_status: ${VELA_BUILD_STATUS}
Sample of emitting a pass/fail build metric with custom tags:
steps:
  - name: write
    image: target/vela-influx:latest
    pull: always
    parameters:
      addr: https://influx.example.com
      database: vela
      name: build_report
      fields:
        build_status: ${BUILD_STATUS}
+     tags:
+       repo_name: ${VELA_REPO_FULL_NAME}
+       build_number: "${VELA_BUILD_NUMBER}"
Secrets
NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.
Internal
The plugin accepts the following parameters for authentication:
| Parameter | Environment Variable Configuration | 
|---|---|
password | PARAMETER_PASSWORD, INFLUX_PASSWORD | 
username | PARAMETER_USERNAME, INFLUX_USERNAME | 
Users can use Vela internal secrets to substitute these sensitive values at runtime:
steps:
  - name: write
    image: target/vela-influx:latest
    pull: always
+   secrets: [ influx_username, influx_password ]
    parameters:
-     username: superSecretUsername
-     password: superSecretPassword
      addr: https://influx.example.com
      database: vela
      name: build_report
      fields:
        build_status: ${VELA_BUILD_STATUS}
This example will add the secret to the
trigger_hello-worldstep as environment variables:
DOWNSTREAM_TOKEN=<value>
External
The plugin accepts the following files for authentication:
| Parameter | Volume Configuration | 
|---|---|
password | /vela/parameters/influx/password, /vela/secrets/influx/password | 
username | /vela/parameters/influx/username, /vela/secrets/influx/username | 
Users can use Vela external secrets to substitute these sensitive values at runtime:
steps:
  - name: write
    image: target/vela-influx:latest
    pull: always
    parameters:
-     username: superSecretUsername
-     password: superSecretPassword
      addr: https://influx.example.com
      database: vela
      name: build_report
      fields:
        build_status: ${VELA_BUILD_STATUS}
This example will read the secret value in the volume stored at
/vela/secrets/
Parameters
NOTE:
The plugin supports reading all parameters via environment variables or files.
Any values set from a file take precedence over values set from the environment.
The following parameters are used to configure the image:
| Name | Description | Required | Default | Environment Variables | 
|---|---|---|---|---|
addr | Influx instance to communicate with | true | N/A | PARAMETER_ADDRINFLUX_ADDR | 
database | database name on Influx instance to communicate with | true | N/A | PARAMETER_DATABASEINFLUX_DATABASE | 
fields | data fields to send along with the metric | true | N/A | PARAMETER_FIELDSINFLUX_FIELDS | 
log_level | set the log level for the plugin | true | info | PARAMETER_LOG_LEVELINFLUX_LOG_LEVEL | 
name | name of metric sent to database on Influx instance | true | build_metrics | PARAMETER_NAMEINFLUX_NAME | 
password | password for communication with Influx | false | N/A | PARAMETER_PASSWORDINFLUX_PASSWORD | 
tags | extra metadata to send along with the metric | false | N/A | PARAMETER_TAGSINFLUX_TAGS | 
username | user name for communication with Influx | false | N/A | PARAMETER_USERNAMEINFLUX_USERNAME | 
Template
COMING SOON!
Troubleshooting
You can start troubleshooting this plugin by tuning the level of logs being displayed:
steps:
  - name: write
    image: target/vela-influx:latest
    pull: always
    parameters:
+     log_level: trace
      addr: https://influx.example.com
      database: vela
      name: build_report
      fields:
        build_status: ${VELA_BUILD_STATUS}
Below are a list of common problems and how to solve them: