mirror of
https://github.com/grafana/grafana.git
synced 2025-02-20 11:48:34 -06:00
* 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>
61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
package grafanaapiserver
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
"path/filepath"
|
|
"strconv"
|
|
|
|
"github.com/grafana/grafana/pkg/services/featuremgmt"
|
|
"github.com/grafana/grafana/pkg/setting"
|
|
)
|
|
|
|
type config struct {
|
|
enabled bool
|
|
devMode bool
|
|
|
|
ip net.IP
|
|
port int
|
|
host string
|
|
apiURL string
|
|
|
|
storageType StorageType
|
|
|
|
etcdServers []string
|
|
dataPath string
|
|
|
|
logLevel int
|
|
}
|
|
|
|
func newConfig(cfg *setting.Cfg, features featuremgmt.FeatureToggles) *config {
|
|
defaultLogLevel := 0
|
|
ip := net.ParseIP(cfg.HTTPAddr)
|
|
apiURL := cfg.AppURL
|
|
port, err := strconv.Atoi(cfg.HTTPPort)
|
|
if err != nil {
|
|
port = 3000
|
|
}
|
|
|
|
if cfg.Env == setting.Dev {
|
|
defaultLogLevel = 10
|
|
port = 6443
|
|
ip = net.ParseIP("127.0.0.1")
|
|
apiURL = fmt.Sprintf("https://%s:%d", ip, port)
|
|
}
|
|
|
|
host := fmt.Sprintf("%s:%d", ip, port)
|
|
|
|
return &config{
|
|
enabled: features.IsEnabledGlobally(featuremgmt.FlagGrafanaAPIServer),
|
|
devMode: features.IsEnabledGlobally(featuremgmt.FlagGrafanaAPIServerEnsureKubectlAccess),
|
|
dataPath: filepath.Join(cfg.DataPath, "grafana-apiserver"),
|
|
ip: ip,
|
|
port: port,
|
|
host: host,
|
|
logLevel: cfg.SectionWithEnvOverrides("grafana-apiserver").Key("log_level").MustInt(defaultLogLevel),
|
|
etcdServers: cfg.SectionWithEnvOverrides("grafana-apiserver").Key("etcd_servers").Strings(","),
|
|
storageType: StorageType(cfg.SectionWithEnvOverrides("grafana-apiserver").Key("storage_type").MustString(string(StorageTypeLegacy))),
|
|
apiURL: apiURL,
|
|
}
|
|
}
|