Commit Graph

160 Commits (9f1bf597f8d48cccc160e2c8a635f4f70852279c)

Author SHA1 Message Date
Pavel Zavora 05ea29202f feat(etcd): allow to configure ETCD with client certificate 2020-11-18 20:22:19 +01:00
Pavel Závora 2c5656c340
feat(server): allow to configure TLS ciphers and versions (#5591)
* feat(server): allow to configure TLS ciphers and versions
2020-10-06 21:23:28 +02:00
Gregory Eremin 60bc07ee71 feat(session): make session inactivity duration configurable 2020-09-28 18:50:50 +02:00
Pavel Zavora b8de7c2f73 feat(server): allow to configure basic authentication 2020-09-28 18:20:21 +02:00
Greg 00cce510f2
fix: remove common public-url config from oauth validation check (#5475) 2020-05-05 15:42:41 -06:00
Greg 3652328954
feat: add ability to ignore or verify self signed oauth certs (#5461) 2020-04-22 18:04:04 -06:00
Greg 6279df2969
fix: validate oauth settings prior to starting (#5458) 2020-04-21 13:49:18 -06:00
Greg 26458417c7
feat: add ability to authenticate single superadmin user (#5400)
* feat: add ability to authenticate single superadmin user

This short-circuits any configured authentication, allowing a user
with the correctly signed message to act against the api.

* Present an expiring message to be signed/verified

* Add chronoctl command to ouput token for use in auth header

* Add command to generate and store RSA keypair

* Test new superadmin token checks
2020-02-28 14:14:46 -07:00
Greg 80d18ee90d
feat: add flag to redirect login page to specified OAuth IdP (#5380)
Co-Authored-By: Bucky Schwarz <hoorayimhelping@users.noreply.github.com>
2020-02-13 11:37:41 -07:00
Russ Savage 1ce8806b8e feat: add flag to disable host list page 2020-02-10 13:50:28 -08:00
greg linton 67776112d1 fix: use influxdata url that happens to have the correct cors headers 2020-02-04 15:44:59 -07:00
greg linton 242ead451b fix: use matching env var for etcd-endpoints 2020-01-31 14:35:39 -07:00
greg linton 9bc3b8b5e2 chore: remove remaining layout cruft 2020-01-23 11:15:32 -07:00
greg linton a26b780036 chore: remove v2 related code 2020-01-21 13:57:09 -07:00
Greg 56353bee05
feat: add etcd as backend store (#5352)
* Add some comments about unused v2 stuff

* Add etcd as kv backend

* Add configuration options to utilize etcd backend
2020-01-21 11:05:00 -07:00
Greg f0d5e5abef
chore: add a KV layer prior to adding an etcd implementation (#5349)
* Bolt to kv/bolt

* Remove unused code

* Remove unused roles code

* Remove unused duplicate Makefile

* Clean up bolt implementation and start layering in an interface for another store

* Layer in kv interface

* Continue layering in kv interface

* Remove circuitbreaker things

* Move cell stuff out

* Convert cell logic to kv interface

* Start adding config logic to kv interface, likely will remain bolt only

* Get to compile with bolt kv before moving too far forward

* Start removing dead dashboard code

* Add generic kv implementation for dashboards

* Convert layouts to kv interface

* Migrate mappings to kv layer

* Migrate org_config to kv layer

* Migrate organizations to kv layer

* Migrate servers to kv layer

* Migrate sources to kv layer

* Migrate users to kv layer

* Start removing unused migration logic

Since there is a migration path for users via updating to 1.7.x line then to 1.8, there isn't any real reason to continue supporting migrating from a version ~2 years old.

* Cleaning up bolt dead codes

* Re-add disabled code

* Migrate tests over to kv layer

* Migrate config to kv layer

* Create default organization

* Remove etcd for now

* Improve new client and new service implementations

* Uncomment bolt build tests

* Add layouts test

* Add more dashboard tests to kv
2020-01-21 09:26:23 -07:00
Greg 1806d6c298
chore: tidy prior to kv refactor (#5342)
* Start cleaning up/reviewing for kv refactor

* Remove dependency on graceful http layer

* Remove deprecated cli option --new-sources

* Run gofmt and remove dep related files

* Update non-influx deps

* Update kapacitor dep

* Compile regexp's once

* Remove un-needed struct members

* Remove unused integrations code
2020-01-09 08:49:42 -07:00
Christopher Henn 95201e9268 Add LOGIN_HINT OAuth config option 2019-07-09 15:02:44 -07:00
Deniz Kusefoglu 9924d577a5 Get protoboards from multistore if not able to find from ProtoboardsPath 2018-11-08 17:27:27 -08:00
Edd Robinson a7c1800143 Improve asset loading performance
This commit improves the loading performance of static assets on devices
with low CPU, such as Pies or other embedded devices.

One characteristic of these devices is that they don't often have the
intrinsics available used in gzip compression.

This commit does two things:

  (1) Adds an option to explicitly disable gzip compression of requested
assets.
  (2) Avoids the very expensive URL prefix Handler wrapper if no base
path has been set.
2018-09-19 08:48:06 -07:00
Jared Scheib bdf4036042 fix: go vet server/server.go 2018-09-12 18:32:06 -04:00
Michael Desa 8201a0d55c fix(server): pass pprof enabled option down to NewMux properly 2018-09-05 13:04:31 -04:00
Jared Scheib f57daa8bc5 feat: protoboard api
Co-authored-by: Deniz Kusefoglu <deniz@influxdata.com>
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
2018-08-14 14:29:10 -07:00
Michael Desa 4ba1dba579 feat(server): add cells api 2018-07-16 11:25:15 -04:00
Jared Scheib ae475c7ae8 Add OrganizationConfigStore & refactor org config to be per org
As previously implemented, OrganizationConfig was a global
object. This refactor adds the organization id to context for
every request, even when auth is disabled, so that org id
can be used to get/update an organization config.

Along those lines, this also removes OrganizationConfigStore
.Initialize and replaces .Get with .FindOrCreate, handling
the creation of organization configs upon first attempted
access.

Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
2018-07-09 17:36:19 -07:00
Michael Desa a9df1583ae feat(server): add profiling routes to chronograf server
In order to diagnose why the dashbords page we'll need to profile
chronograf. This commit adds the debug routes to chronograf.
2018-07-02 15:19:34 -07:00
Jared Scheib edccd447c5 Allow hyphens and underscores in basepath 2018-06-15 17:05:01 -07:00
Brandon Farmer 2ce7d8e3ee Test & refactor basepath validation into dedicated fn 2018-04-23 17:02:00 -07:00
Jared Scheib 58559f3b71 Clean up regexp guard logic for valid basepath 2018-04-20 19:01:23 -07:00
Jared Scheib ece8bad9f0 Remove prefix-routes & clean up basepath var and flag use
Now, if basepath is set, it will be prefixed to all routes.
There is no more additional option of prefix-routes.
2018-04-20 18:40:09 -07:00
Jared Scheib b9f2029bb2 Match basepath against regexp to ensure proper format 2018-04-20 18:40:09 -07:00
Jared Scheib eaefe0da63 Fail server if basepath contains trailing or starting '/' 2018-04-20 18:39:49 -07:00
Jared Scheib d1735ce433 Change useidtoken to use-id-token for consistency 2018-03-28 13:31:24 -07:00
Benjamin Schweizer 2aeb0f7c8a added USE_ID_TOKEN option, defaulting off 2018-03-28 15:51:10 +02:00
Benjamin Schweizer 0a98d1c7b7 Merge branch 'master' of https://github.com/influxdata/chronograf 2018-03-28 13:30:05 +02:00
Jared Scheib 4227ce17dc Fix Auth0SuperAdminOrg server option description to indicate only one org is acceptable 2018-03-23 14:53:43 -07:00
Michael Desa 2345723d03 Add mapPrincipalToSuperAdmin function
The function grants a super superadmin status if the user belongs to a
particular auth0 organization and adds them to the default organization.
2018-03-23 15:48:34 -04:00
Jared Scheib 07f313f8b5 WIP 2018-03-23 12:17:22 -07:00
Benjamin Schweizer 47dac13cae merged upstream, updated comments, added GroupFromClaims() 2018-02-20 09:47:42 +01:00
Michael Desa 8b60388d81 Add correct implementation of mappings 2018-02-05 14:54:39 -05:00
Benjamin Schweizer 9ca43f43aa Merge branch 'master' of https://github.com/influxdata/chronograf 2018-01-10 21:44:07 +01:00
Michael Desa acf3de93cd Allow for different canned resource paths
Previously, users had to place all canned resources (layouts,
dashboards, sources, kapacitors, and organizations) in a single
directory. This work introduces a way to specify two directories.
One for application layouts and one for the other resources.

Users may still place all resources in a single directory if they'd
like.
2018-01-09 17:34:36 -05:00
Michael Desa 2151413ece Add /chronograf/v1/env endpoint to expose env vars
Some environment variables are needed by the front end. This PR
introduces a route so that those environment variables can be exposed.
Additionally, a new environment variable TELEGRAF_SYSTEM_INTERVAL was
added. This env var controls the rate at which the host list page will
update its red/green status.
2018-01-03 11:52:40 -08:00
Michael Desa 9f0476c459 Add filestore impl of kapacitor and source stores
Remove random `fmt.Println`'s
2017-12-19 13:14:00 -08:00
Chris Goller 3035cad82a Add organization multistore over bolt and filesystem
Signed-off-by: Michael de Sa <mjdesa@gmail.com>
2017-12-19 10:13:46 -08:00
Chris Goller 9d1165a335 Update CLI option to reflect dashboards directory 2017-12-19 10:07:09 -08:00
Chris Goller ac41c384f2 Add multiple dashboard stores to server 2017-12-19 10:07:07 -08:00
Luke Morris fcdc4efb2c Backup/Migrate/Initialize moved into Open
Signed-off-by: Chris Goller <goller@gmail.com>
2017-12-18 12:06:17 -08:00
Benjamin Schweizer 39416832f4
Merge branch 'master' into master 2017-12-18 15:22:48 +01:00
Luke Morris 2184aecf86 Refactor; simplify function responsibilities 2017-12-17 14:11:27 -08:00