* 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
- state type of dashboard id as string in ui
- remove dangerous idNormalizer (converts numbers to strings and visa versa)
Thanks bucky (hoorayimhelping)
* 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
fixes an issue where version was not being fetched concurrently
and not timing out for each source.
Co-authored-by: Kelvin Wang <sherkrainwang@gmail.com>
fixes an issue where version was not being fetched concurrently
and not timing out for each source.
Co-authored-by: Kelvin Wang <sherkrainwang@gmail.com>
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.
* Add type property to CellQuery model
* Make an enum for QueryType
* Add type property to Query model on backend
* Add query type checking to CEO reducer and Layout
* Update swagger.json docs
Prevent dashboard cell axis overwriting if Bounds is empty
Add measurements field to protoboards meta
Correct comment on protoboardsStore
Add styling and copy polish to wizards
Update Protoboards to include meta.measurements
Refactor protoboard suggestion
Update Wizard tests to incorporate capitalizations
Add types to protoboardsSuggestion
Fix go tests
* feat: add Note string field to dashboard cells
* wip feat: html escape cell note to help prevent XSS attack
Requires further input to make sure this is effective at its
purpose.
* Add ability to view a cell's note from the cell header
* Make styles less brittle
* Add "chat" icon for use in notes
* Position note using cell X & Y
Avoid overlap with associated cell whenever possible
* New notes are empty strings by default
* Overflow note when contents are large
* Add react-markdown package for displaying markdown
* Display markdown in cell note
* Add a cell note text editor into the CEO
* Improve cell note editor
* Use codemirror placeholder addon
* Add placeholder to note field & foundation of markdown theme
* Add Markdown Cell
* Add initial styles for markdown cell contents
* Add graphic for Note type cell
* feat: add NoteVisibility to DashboardCell
* Add basic markdown syntax highlighting in editor
* Remove comment
* Show note in cell when queries return no data
* Make exception for rule graph
* Update fixtures and resources to fix tests
* Update changelog
* feat: sanitize xss-vulnerable note html
* Polish appearance of code samples in notes and note cells
* Replace ascii with plaintext before passing to markdown renderers
* Move "display when no results toggle" above text field
Less likely to go undiscovered
* Load services on manages sources page
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add Flux dropdown on manage sources page
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add flux connection dropdown with create, select, and update
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Prevent creation of Flux connection with duplicate name
Fixed bug where refreshing page allowed for Flux or connections
with duplicate names to be created
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add ability to delete a FluxService from the fluxservice dropdown
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Change FluxPage to use the active flux connection set by FluxConnectionPage
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Ensure that only flux services are loaded into redux services
* Polish styles for Flux Connection Page
Co-authored-by: Alex Paxton <thealexpaxton@gmail.com>
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add pingflux as a part of adding and updating a flux service
Co-authored-by: Chris Goller <goller@gmail.com>
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
* Add Swagger routes and definitions for Service endpoints
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Replace flux overlay with redirect to flux connections pages
* Add test for FluxConnectionPage
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Replace hard-coded string with enum
* Use active from metadata instead of service object in ServiceDropdown
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add generic for getDeep on service metadata property
* Capitalize enum constant values in FluxFormMode
* Show error notification when user reaches edit route for nonexistant flux
Co-authored-by: Iris Scholten <ischolten.is@gmail.com>
* Add tests for FluxDropdown
* Update types for async functions
Added ErrOrganizationConfigNotFound error
Refactored FindOrCreate to use helper get method
Ensure that FindOrCreate creates a new org config if config not found
and returns any other errors
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
Using serverContext created the scenario where a global org config
could be created and manipulated in certain cases. However, org
configs should always be in the context of an organization --
there is no global organization config, so removing these lines
removes the ability for such an undesired state.
Co-authored-by: Alirie Gray <alirie.gray@gmail.com>
Add definitions for Config and Organization Config
Replace /:section route with /auth and /org_config/logviewer
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>
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>
Rename LogViewerUI to LogViewer in Config struct.
Make all instances of endpoint 'logviewer' (lowercase).
Make all instances of config.links.logViewer (camelcase).
Replaced /:section with specific hard-coded endpoints /auth
& /logviewer, and refactored service handler methods to
handle each route separately.
Co-authored-by: Jared Scheib <jared.scheib@gmail.com>