Commit Graph
100 Commits
Author SHA1 Message Date
Dan Cech 0c1d1c6b6e Storage: raise errors when timestamps cannot be parsed (#79405)
* raise errors when timestamps cannot be parsed

* return partial origin info if timestamp parsing fails
2023-12-12 15:55:10 -05:00
Dan Cech d146f4cbc7 Storage: rename uid to name and name to title (#79418)
rename uid to name and name to title
2023-12-12 15:14:55 -05:00
Dan Cech 3482658975 Storage: Add readme for storage server (#79366)
add readme for storage server
2023-12-12 09:24:14 -05:00
Dan CechandRyan McKinley 9f6144059a Storage: Switch from tenant to namespace & remove GRN (#79250)
* remove GRN and switch tenant to namespace

* clean up remaining references

* simplify and remove inconsistency in With* parameters

* parse listing keys so we can use db index

* bump the schema version

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-11 12:26:05 -05:00
Dan CechandRyan McKinley c4c9bfaf2e Storage: Unified Storage based on Entity API (#71977)
* first round of entityapi updates

- quote column names and clean up insert/update queries
- replace grn with guid
- streamline table structure

fixes

streamline entity history

move EntitySummary into proto

remove EntitySummary

add guid to json

fix tests

change DB_Uuid to DB_NVarchar

fix folder test

convert interface to any

more cleanup

start entity store under grafana-apiserver dskit target

CRUD working, kind of

rough cut of wiring entity api to kube-apiserver

fake grafana user in context

add key to entity

list working

revert unnecessary changes

move entity storage files to their own package, clean up

use accessor to read/write grafana annotations

implement separate Create and Update functions

* go mod tidy

* switch from Kind to resource

* basic grpc storage server

* basic support for grpc entity store

* don't connect to database unless it's needed, pass user identity over grpc

* support getting user from k8s context, fix some mysql issues

* assign owner to snowflake dependency

* switch from ulid to uuid for guids

* cleanup, rename Search to List

* remove entityListResult

* EntityAPI: remove extra user abstraction (#79033)

* remove extra user abstraction

* add test stub (but

* move grpc context setup into client wrapper, fix lint issue

* remove unused constants

* remove custom json stuff

* basic list filtering, add todo

* change target to storage-server, allow entityStore flag in prod mode

* fix issue with Update

* EntityAPI: make test work, need to resolve expected differences (#79123)

* make test work, need to resolve expected differences

* remove the fields not supported by legacy

* sanitize out the bits legacy does not support

* sanitize out the bits legacy does not support

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* update feature toggle generated files

* remove unused http headers

* update feature flag strategy

* devmode

* update readme

* spelling

* readme

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-12-06 15:21:21 -05:00
Dan Cech 647f576359 Server: Automatically generate a self-signed TLS cert if needed (#78243)
generate a self-signed cert when running in https or http2 mode without a provided cert
2023-12-05 10:04:39 -05:00
Dan Cech 318f51eaee Chore: Remove unused CacheService dependency from sqlstore (#78507)
remove unused CacheService dependency from sqlstore
2023-12-04 10:00:45 -05:00
Dan CechandMarcus Efraimsson 3c89e68fc1 Chore: Fix timeout issues when gathering prometheus datasource stats (#74618)
* fix timeout issues when gathering prometheus flavor stats

* workaround data race in sdk tracing middleware

* cap concurrency at 10

---------

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2023-11-29 16:01:54 -05:00
Dan Cech c330b7d18d Chore: Update settings to support k8s needs (#78235)
use util.SplitString, implement DynamicSection KeysHash
2023-11-15 15:26:28 -05:00
Dan Cech 67b2972052 Chore: add/update sqlstore-related helper functions (#77408)
* add/update sqlstore-related helper functions

* add documentation & tests for InsertQuery and UpdateQuery, make generated SQL deterministic by sorting columns

* remove old log line
2023-11-03 10:30:52 -04:00
Dan Cech e01d096ce2 add resource group to grn (#77396) 2023-10-30 17:08:46 -04:00
Dan Cech db6035a843 Chore: update kind annotation names to grafana.app/* (#77401)
* update kind annotation names to grafana.app/*
2023-10-30 17:08:31 -04:00
Dan Cech 91cf4f0c1c Revert "Plugins: Update PDC pattern from latest plugin SDK changes" (#76565)
Revert "Plugins: Update PDC pattern from latest plugin SDK changes (#76036)"

This reverts commit 151f6d6216.
2023-10-13 12:35:16 -04:00
Dan Cech d003ffe439 Update origin annotation names (#76301)
* Update origin annotation names

k8s does not support annotation names with multiple slashes in them, so this PR updates the origin annotations to match the format for updated and created annotations.

* fix tests
2023-10-11 18:28:26 -04:00
Dan Cech 85a207fceb Chore: Replace entity GRN with infra/grn GRN (#74198)
replace entity GRN with infra/grn GRN
2023-08-31 15:43:35 -04:00
Dan Cech dd97038b00 Slug: Combine various slugify fixes for special character handling (#73164)
* combine various slugify fixes for special character handling

* a couple more test cases

* update more tests

* goimports
2023-08-10 16:12:50 -04:00
Dan Cech a6279b2d62 Database: Make dialects independent of xorm Engine (#69955)
* make dialects independent of xorm Engine

* goimports
2023-06-14 16:13:36 -04:00
Dan CechandRyan McKinley 7572988305 add uid to team table (#66920)
* add uid to team table

* concat

* add prefix to transition uids

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2023-05-09 13:03:28 -04:00
Dan Cech 7e765c870a Utils: Reimplement util.GetRandomString to avoid modulo bias (#64481)
* reimplement GetRandomString, add tests that results are unbiased
2023-04-20 10:24:02 -04:00
Dan Cech d49b79fb24 add workaround for intercom iframe background being non-transparent in dark mode (#66329) 2023-04-12 11:46:13 -04:00
Dan Cech d072b62960 Packaging: Remove chkconfig dependency (#65887)
Remove chkconfig dependency

This dependency prevents installation on recent opensuse as they no longer provide chkconfig.

As far as I can tell we don't use it anywhere so it shouldn't be required under any modern linux using systemd,
2023-04-04 07:05:35 -04:00
Dan Cech cc5211119b switch from github.com/gofrs/uuid to github.com/google/uuid (#65016)
* switch from github.com/gofrs/uuid to github.com/google/uuid

* add golangci rule to prevent inadvertent reintroduction
2023-03-21 06:31:29 -04:00
Dan Cech 9276f11388 Chore: Add stat for remote cache config (#64276)
* add stat for remote cache config
2023-03-07 09:24:04 -05:00
Dan Cech 0c8a2bbfd5 copy .github folder into golang build container since we rely on codeowners (#62122)
* copy .github folder into golang build container since we rely on codeowners

* remove .github for .dockerignore
2023-01-25 10:31:16 -05:00
Dan Cech 9c4051bfa1 Switch grafana server command to use urfave/cli/v2 (#60684)
* switch grafana server to use urfave/cli/v2

* autocomplete support

* lint fix
2022-12-24 22:33:18 -05:00
Dan Cech fe3ae49cce Backend: Consistently use context RemoteAddr function to determine remote address. (#60201)
consistently use context RemoteAddr function to determine remote address
2022-12-13 09:33:05 -05:00
Dan Cech 440d8a3d88 Build: Drone starlark file cleanup (#59919)
* format drone starlark files with black

* clean up unused params

* more simplification

* more cleanup

* more cleanup
2022-12-07 09:13:57 +02:00
Dan Cech 1dbc22d18b Build: don't remove grafana-server and grafana-cli binaries from deb and rpm packages (#59890)
* don't remove grafana-server and grafana-cli binaries from /usr/share/grafana/bin in deb and rpm packages

* don't add config overrides in /usr/sbin/grafana-server
2022-12-06 10:36:43 -05:00
Dan CechandChristopher Moyer c4bb9d637e Build: Unify custom dockerfiles, fix missing semicolon (#59615)
* unify custom dockerfiles, fix missing semicolon

* tweak verbiage

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>

* update example description

Co-authored-by: Christopher Moyer <35463610+chri2547@users.noreply.github.com>
2022-12-01 11:08:31 -05:00
Dan Cech 7436872dab Build: Unified dockerfile for all builds (#59173)
* unified dockerfile for all builds

* update builder

* include docker commands and output in logs

* quiet docker build

* quiet gsutil
2022-11-28 16:18:53 -05:00
Dan Cech 3377575788 fix pr-commands.json by removing trailing comma (#59437) 2022-11-28 15:19:01 -05:00
Dan Cech 9fec54df2d Build: Streamline and sync dockerfiles (#58101)
* streamline and sync dockerfiles

* improve go dependency cacheability

* unify alpine and ubuntu Dockerfiles

* include glibc support in locally-built alpine images
2022-11-28 14:43:42 -05:00
Dan Cech ed72b02b27 Chore: update vscode "Run Server" config for single-binary (#59237)
update vscode "Run Server" config for single-binary
2022-11-23 11:32:42 -05:00
Dan Cech de99ce139c Server: Switch from separate server & cli to a unified grafana binary (#58286)
* avoid the need for a second bulky binary for grafana-cli

* look for grafana-server in $PATH as well as same directory

* implement unified "grafana" command

* update dockerfiles, fix grafana-cli -v

* update packaging to work with single binary

- add wrapper scripts for grafana and grafana-server
- update and sync package files
- implement --sign flag of build package command
- stop packaging scripts folder, they are not useful for end users
- add support for --configOverrides in server command
- remove unused nfpm.yaml config file

* windows support
2022-11-22 11:53:43 -05:00
Dan Cech d593aede3d properly format new .drone.yml in verify-drone (#58436) 2022-11-08 10:27:57 -05:00
Dan Cech da9c646f24 Build: add explicit build step for go codeql (#58195)
* add explicit build step for go codeql

* support workflow_dispatch for codeql checks

* syntax fix

* enable on push to codeql-go branch

* test

* use go version from go.mod

* explicitly set go version

* tidy up, add workflow_dispatch support to all codeql actions
2022-11-04 10:20:08 -04:00
Dan Cech 9ea6a43089 Build: clean up and document integration test convention (#58170)
* clean up and document integration test convention

* clarify integration test conventions

* clean up integration tests that don't follow convention

* mark testIntegration* functions as helpers to avoid confusion
2022-11-04 10:14:21 -04:00
Dan Cech 6a4a10fa92 remove unneeded package updates (#58005) 2022-11-02 09:30:20 -04:00
Dan Cech 9350ab781c clean up duplicated user creation code (#50178)
* clean up duplicated user creation code

* remove unused duplicate getOrCreateOrg function

* fix up tests
2022-06-07 09:49:18 -04:00
Dan Cech f40248a06d fix broken alias due to #48635 (#49623) 2022-05-25 11:36:56 -04:00
Dan Cech 5c3308c6f3 add ability to pass builds flags/tags to go via make, update bra config (#46787) 2022-04-01 19:01:05 -04:00
Dan Cech 51cd6f3cc5 Configuration: Add ability to customize okta login button name and icon (#44079)
* add ability to customize okta login button name and icon

* update configs, add basic frontend test

* add icon to oauth settings type

* trigger tests

* fix typecheck
2022-02-16 11:35:00 -05:00
Dan Cech 1e89fc157d update snapshots server url (#44563)
* update snapshots server url
* update all old references to snapshot.raintank.io
2022-01-27 16:11:20 -05:00
Dan Cech 34f757ba5a switch to using featureEnabled for enterprise features (#41559)
* switch to using featureEnabled for enterprise features
2022-01-07 15:11:23 -05:00
Dan Cech 993cb80fea streamline kbn.addSlashes and add a test, streamline escaping in angular tip() function (#41066)
* streamline kbn.addSlashes and add a test, streamline escaping in angular tip() function
* switch to double-html-encoding when building intermediate string
2021-11-05 09:18:42 -04:00
878b54c83c update links in README.md (#33195)
* update links in README.md

* Switch links to use HEAD url

Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>

Co-authored-by: Richard Hartmann <RichiH@users.noreply.github.com>
Co-authored-by: Torkel Ödegaard <torkel@grafana.com>
2021-09-21 10:21:27 -04:00
Dan Cech f8ae71af5b Usage Stats Updates (#39235)
* add randomly-generated anonymous id to usage reports
* include uptime in stats
* add last_sent tracking, remove metricsLogger
2021-09-15 11:47:44 -04:00
Dan Cech 9dfd469afc add daily active counts to stats (#38842)
* add daily active counts to stats

* standardize on int64, update tests
2021-09-13 10:29:35 -04:00
Dan CechandAlexander Emelin 681de1ea89 add key/value store service (#36868)
* add key/value store service

* don't export kvStoreSQL, consumers should interact with KVStore & NamespacedKVStore

* add del method, avoid ErrNotFound (#38627)

* switch value column to medium text

Co-authored-by: Alexander Emelin <frvzmb@gmail.com>
2021-08-31 11:05:45 -04:00
Dan Cech 5a56594f0c add instructions for managing redirects when moving docs pages around (#37113) 2021-07-22 13:46:40 -04:00
Dan Cech 50b7674b58 fix alerting docs aliases so we redirect instead of 404 old urls (#37037)
* fix alerting docs aliases so we redirect instead of 404 old urls

* add missing alias
2021-07-20 20:34:23 -04:00
Dan Cech 06061c8741 skip symlinks to directories when generating plugin manifest (#30721) 2021-01-29 08:51:37 -05:00
Dan Cech 4629c44d49 Toolkit: implement plugin signing in grafana-toolkit (#27907)
* implement plugin signing in grafana-toolkit
2020-10-05 11:27:43 -04:00
Dan Cech 53153c82fc add method to get usage report (#27555) 2020-09-15 09:01:15 -04:00
Dan Cech 66c6b20c4b Update cloud docs link (#25545) 2020-08-26 10:19:11 -04:00
Dan Cech 85f6addfd3 Update getting started link (#26374) 2020-07-16 11:27:08 -04:00
Dan Cech b5ca2381bc provide license token directly via plugin environment (#25987)
* provide license token directly via plugin environment
2020-07-01 13:02:53 -04:00
Dan Cech 66b7398fb6 expose metrics for the number of configured datasources (#24267) 2020-05-06 11:36:18 -04:00
Dan Cech 2ecc7f22b9 delete old dashboard versions in multiple batches (#23348) 2020-04-06 11:44:14 -04:00
Dan CechandDiana Payton 5addf9fafd docs: rename premium plugins to enterprise plugins (#21222)
* rename premium plugins to enterprise plugins

* Update docs/sources/enterprise/_index.md

Co-Authored-By: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2019-12-20 18:40:25 -05:00
Dan Cech 302a1f06bc Docker: switch docker image to alpine base with phantomjs support (#18468)
* switch docker image to alpine base

* Docker: switch packaging image to alpine

* use alpine image for build containers

* switch base images in build script

* only try to set up phantomjs on x86_64, reduce number of layers

* phantomjs binary is bundled with grafana
2019-08-16 17:46:35 +02:00
Dan Cech 5e7537878e Security: Prevent csv formula injection attack (#17363)
* mitigate https://www.owasp.org/index.php/CSV_Injection

- prepend csv cell values that begin with -, +, = or @ with '
- trim trailing whitespace from all csv values

* test for csv formula injection mitigation
2019-05-30 07:07:19 +02:00
Dan Cech 3f85901c4a only update session in mysql database when required 2018-12-18 11:19:32 -05:00
Dan Cech 8a74fe2b76 add auth.proxy headers to sample.ini 2018-11-07 18:21:25 -05:00
Dan Cech 502290817a add auth.proxy headers to default.ini 2018-11-07 17:36:44 -05:00
Dan Cech 19b69a82af fmt 2018-10-11 15:26:06 -04:00
Dan Cech a4f90fd10d add admin page to show enterprise license status 2018-10-10 13:04:54 -04:00
Dan Cech d20b15834f add gopkg.in/square/go-jose.v2 to dependencies, update github.com/hashicorp/yamux 2018-10-08 17:11:24 -04:00
Dan Cech 124b21a6aa use pluginName consistently when upgrading plugins 2018-09-13 17:19:51 -04:00
Dan Cech 8d0a100b94 remove duplicated /tmp entry in .dockerignore 2018-08-09 09:10:53 +02:00
Dan Cech c025490518 move run script, update README 2018-08-09 09:10:53 +02:00
Dan Cech 96d6657b00 produce an image compatible with grafana-docker 2018-08-09 09:10:53 +02:00
Dan Cech 9b29a19609 update google auth config docs 2018-06-04 12:32:35 -04:00
Dan Cech 3fedcb1e4b cleanup, make sure users are always synced with ldap 2018-04-17 17:48:56 -04:00
Dan Cech 33760b5c3b make sure user's default org is kept up to date 2018-04-17 16:51:05 -04:00
Dan Cech 00e74990ed remove old comment 2018-04-17 14:06:25 -04:00
Dan Cech 857830d981 org role sync tests 2018-04-17 14:06:25 -04:00
Dan Cech 52503d9cb5 refactor authproxy & ldap integration, address comments 2018-04-17 14:06:25 -04:00
Dan Cech c8a0c1e6b8 pass DN in ldap test 2018-04-17 14:06:25 -04:00
Dan Cech daeba40b3b tests for user auth module 2018-04-17 14:06:25 -04:00
Dan Cech 59f83ca5d8 fix ldap test 2018-04-17 14:06:25 -04:00
Dan Cech e53e039b1b restructure GetUserByAuthInfo 2018-04-17 14:06:25 -04:00
Dan Cech c4168c2396 error handling 2018-04-17 14:06:25 -04:00
Dan Cech 65847da1df use Result in GetAuthInfoQuery 2018-04-17 14:06:25 -04:00
Dan Cech d837be91ec switch to passing ReqContext as a property 2018-04-17 14:06:25 -04:00
Dan Cech e53315dce8 cleanup 2018-04-17 14:06:25 -04:00
Dan Cech a1b1d2fe80 switch to Result 2018-04-17 14:06:25 -04:00
Dan Cech d5dd1c9bca update auth proxy 2018-04-17 14:06:25 -04:00
Dan Cech 23f163e8cf fixes 2018-04-17 14:06:25 -04:00
Dan Cech d2eab2ff4c fix tests 2018-04-17 14:06:25 -04:00
Dan Cech 1c5afa731f shared library for managing external user accounts 2018-04-17 14:06:25 -04:00
Dan Cech bbd6adabbf move quota to dedicated service 2018-03-07 17:19:35 -05:00
Dan Cech c0ecdee375 rename Context to ReqContext 2018-03-07 11:54:50 -05:00
Dan Cech 338655dd37 move Context and session out of middleware 2018-03-06 18:16:49 -05:00
Dan Cech 9d005c50a2 only use jwt token if it contains an email address 2018-03-06 14:21:36 -05:00
Dan Cech abf498fc7f improve maintainability 2018-02-23 09:51:19 -05:00
Dan Cech dc6f977304 support [[variable:type]] syntax 2018-02-22 18:45:11 -05:00
Dan Cech 562aa58029 add docs for configuring OAuth with Auth0 and Azure AD 2018-01-19 14:00:17 -05:00
Dan Cech a09044a45a go fmt 2018-01-18 19:17:05 -05:00
Dan Cech 04e17c145f support for decoding JWT id tokens 2018-01-18 18:25:58 -05:00