Go to file
Alirie Gray 758af5eaaf Create/update telegraf plugin at verify step of onboarding 2018-12-18 12:06:45 -08:00
.circleci fix(ci): add required jobs 2018-12-16 18:21:33 +08:00
.github
bolt fix more error responses 2018-12-18 09:22:48 -08:00
chronograf feat(ui): add name to dashboard query (#1794) 2018-12-10 13:16:27 -05:00
cmd Merge pull request #1886 from influxdata/bj-refactor-test-cancellation 2018-12-14 10:43:15 -07:00
context
docker
etc
flux
gather
http Merge pull request #2007 from influxdata/fix/authorizations-response 2018-12-18 10:06:28 -08:00
inmem fix more error responses 2018-12-18 09:22:48 -08:00
internal chore(Makefile): remove yq dependency to generate ts client 2018-12-18 11:19:56 -07:00
kit feat(api/health): Add a standardized health and ready check system (#1961) 2018-12-14 23:20:53 -07:00
logger
mock feat(http): add ability to update labels 2018-12-17 23:00:57 -08:00
models Address PR feedback 2018-11-30 10:54:24 +00:00
nats Ensure error don't end in punctuation: ST1005 2018-11-30 10:54:24 +00:00
pkg chore(gen): Add ingen generator data structures to platform for reuse 2018-12-11 17:45:57 -07:00
prometheus
query fix(query): restore error messages in repl (#1936) 2018-12-13 14:11:17 -08:00
rand
scripts
snowflake
source Update Flux query URL for v1 sources 2018-11-09 09:48:04 -08:00
storage fix(storage): Extend lock during stats fetch to prevent race 2018-12-13 11:13:20 -07:00
task feat(api/task): Add validation for both tasks and buckets on task create (#1900) 2018-12-12 16:07:40 -07:00
telegraf/plugins
testing fix more error responses 2018-12-18 09:22:48 -08:00
toml
tools/tmpl
tsdb tsm1: speed up deleterange for large keys 2018-12-14 10:06:24 -07:00
ui Create/update telegraf plugin at verify step of onboarding 2018-12-18 12:06:45 -08:00
uuid Remove influxdb dependency. 2018-11-29 11:44:22 -07:00
vault feat(vault): add vault implementation of secret service 2018-11-30 13:07:32 -08:00
write
zap Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
.gitignore Remove yarn in favor of just npm 2018-11-30 17:02:31 -08:00
.goreleaser.yml
Jenkinsfile
LICENSE
Makefile chore(Makefile): remove yq dependency to generate ts client 2018-12-18 11:19:56 -07:00
README.md Merge pull request #1393 from influxdata/chore/add-bazaar-to-readme 2018-12-15 10:50:08 -06:00
auth.go feat(auth): add description string to Authorization 2018-12-07 14:22:23 -08:00
authz.go fix(platform): keep authorization struct on proxy query request 2018-11-20 15:20:51 -08:00
bucket.go add /buckets endpoint paging links 2018-12-09 23:27:18 +08:00
dashboard.go fix(http): convert dashboard errors 2018-12-13 14:36:46 -05:00
dbrp_mapping.go Ensure error strings not capitalised ST1005 2018-11-30 10:54:24 +00:00
dbrp_mapping_internal_test.go
dbrp_mapping_test.go
error.go
errors.go fix(platform): use json struct instead of string for embed error 2018-12-17 11:18:04 -05:00
errors.md
errors_test.go fix(platform): use json struct instead of string for embed error 2018-12-17 11:18:04 -05:00
example_test.go
go.mod chore(Makefile): remove yq dependency to generate ts client 2018-12-18 11:19:56 -07:00
go.sum Merge pull request #1899 from influxdata/swagger-telegraf-config-schema 2018-12-12 15:23:55 -08:00
id.go
id_test.go
keyvalue_log.go
label.go use new errors library in label http handlers 2018-12-18 09:14:59 -08:00
label_test.go feat(http): add ability to update labels 2018-12-17 23:00:57 -08:00
macro.go fix(http): convert macro errors 2018-12-13 23:11:52 +08:00
macro_test.go
measurement.go
onboarding.go
operation_log.go
organization.go fix(http): convert org errors endpoint 2018-12-06 11:05:13 -05:00
paging.go make prev/next links omitempty 2018-12-13 00:16:24 +08:00
query.go
scraper.go fix(http): convert scraper target error 2018-12-17 09:08:19 -05:00
secret.go feat(vault): add vault implementation of secret service 2018-11-30 13:07:32 -08:00
session.go
source.go Update Flux query URL for v1 sources 2018-11-09 09:48:04 -08:00
status.go
task.go feat(task): Allow the most recent run time to be shown in the api. (#1765) 2018-12-06 16:46:16 -07:00
telegraf.go
telegraf_test.go
token.go
tools.go
usage.go
user.go fix(http): convert user errors 2018-12-11 20:11:26 -05:00
user_resource_mapping.go Labels (#1668) 2018-12-03 08:07:08 -08:00
user_resource_mapping_test.go Labels (#1668) 2018-12-03 08:07:08 -08:00
view.go feat(ui): add name to dashboard query (#1794) 2018-12-10 13:16:27 -05:00
view_test.go Add ability to create notes on a dashboard 2018-11-29 16:41:40 -08:00
write.go

README.md

InfluxData Platform CircleCI

This is the monorepo for InfluxData Platform, a.k.a. Influx 2.0 OSS.

Installation

This project requires Go 1.11 and Go module support.

Set GO111MODULE=on or build the project outside of your GOPATH for it to succeed.

If you are getting an error loading module requirements error with bzr executable file not found in $PATH” on make, brew install bazaar (on macOSX) before continuing.

For information about modules, please refer to the wiki.

Introducing Flux

We recently announced Flux, the MIT-licensed data scripting language (and rename for IFQL). The source for Flux is in this repository under query. Learn more about Flux from CTO Paul Dix's presentation.

CI and Static Analysis

CI

All pull requests will run through CI, which is currently hosted by Circle. Community contributors should be able to see the outcome of this process by looking at the checks on their PR. Please fix any issues to ensure a prompt review from members of the team.

The Platform project is used internally in a number of proprietary InfluxData products, and as such, PRs and changes need to be tested internally. This can take some time, and is not really visible to community contributors.

Static Analysis

This project uses the following static analysis tools. Failure during the running of any of these tools results in a failed build. Generally, code must be adjusted to satisfy these tools, though there are exceptions.

  • go vet checks for Go code that should be considered incorrect.
  • go fmt checks that Go code is correctly formatted.
  • go mod tidy ensures that the source code and go.mod agree.
  • staticcheck checks for things like: unused code, code that can be simplified, code that is incorrect and code that will have performance issues.

staticcheck

If your PR fails staticcheck it is easy to dig into why it failed, and also to fix the problem. First, take a look at the error message in Circle under the staticcheck build section, e.g.,

tsdb/tsm1/encoding.gen.go:1445:24: func BooleanValues.assertOrdered is unused (U1000)
tsdb/tsm1/encoding.go:172:7: receiver name should not be an underscore, omit the name if it is unused (ST1006)

Next, go and take a look here for some clarification on the error code that you have received, e.g., U1000. The docs will tell you what's wrong, and often what you need to do to fix the issue.

Generated Code

Sometimes generated code will contain unused code or occasionally that will fail a different check. staticcheck allows for entire files to be ignored, though it's not ideal. A linter directive, in the form of a comment, must be placed within the generated file. This is problematic because it will be erased if the file is re-generated. Until a better solution comes about, below is the list of generated files that need an ignores comment. If you re-generate a file and find that staticcheck has failed, please see this list below for what you need to put back:

File Comment
query/promql/promql.go //lint:file-ignore SA6001 Ignore all unused code, it's generated