Merge remote-tracking branch 'origin/main' into ds-apiserver-with-configs
This commit is contained in:
@@ -21,7 +21,7 @@ func ProvideRepositorySecrets(
|
||||
decryptSvc secret.DecryptService,
|
||||
cfg *setting.Cfg,
|
||||
) RepositorySecrets {
|
||||
return NewRepositorySecrets(features, NewSecretsService(secretsSvc, decryptSvc, cfg), NewSingleTenant(legacySecretsSvc))
|
||||
return NewRepositorySecrets(features, NewSecretsService(secretsSvc, decryptSvc, cfg.SecretsManagement.GrpcGrafanaServiceName), NewSingleTenant(legacySecretsSvc))
|
||||
}
|
||||
|
||||
//go:generate mockery --name RepositorySecrets --structname MockRepositorySecrets --inpackage --filename repository_secrets_mock.go --with-expecter
|
||||
|
||||
@@ -11,7 +11,6 @@ import (
|
||||
provisioning "github.com/grafana/grafana/apps/provisioning/pkg/apis/provisioning/v0alpha1"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/secret"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/secret/contracts"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
const svcName = provisioning.GROUP
|
||||
@@ -30,16 +29,16 @@ var _ Service = (*secretsService)(nil)
|
||||
|
||||
//go:generate mockery --name DecryptService --structname MockDecryptService --srcpkg=github.com/grafana/grafana/pkg/registry/apis/secret --filename decrypt_service_mock.go --with-expecter
|
||||
type secretsService struct {
|
||||
secureValues SecureValueClient
|
||||
decryptSvc secret.DecryptService
|
||||
cfg *setting.Cfg
|
||||
secureValues SecureValueClient
|
||||
decryptSvc secret.DecryptService
|
||||
decrypterServiceName string
|
||||
}
|
||||
|
||||
func NewSecretsService(secretsSvc SecureValueClient, decryptSvc secret.DecryptService, cfg *setting.Cfg) Service {
|
||||
func NewSecretsService(secretsSvc SecureValueClient, decryptSvc secret.DecryptService, grpcGrafanaServiceName string) Service {
|
||||
return &secretsService{
|
||||
secureValues: secretsSvc,
|
||||
decryptSvc: decryptSvc,
|
||||
cfg: cfg,
|
||||
secureValues: secretsSvc,
|
||||
decryptSvc: decryptSvc,
|
||||
decrypterServiceName: grpcGrafanaServiceName,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -78,8 +77,8 @@ func (s *secretsService) Encrypt(ctx context.Context, namespace, name string, da
|
||||
}
|
||||
|
||||
decrypters := []string{svcName}
|
||||
if s.cfg.SecretsManagement.GrpcGrafanaServiceName != "" {
|
||||
decrypters = append(decrypters, s.cfg.SecretsManagement.GrpcGrafanaServiceName)
|
||||
if s.decrypterServiceName != "" {
|
||||
decrypters = append(decrypters, s.decrypterServiceName)
|
||||
}
|
||||
|
||||
// Create the secret directly as unstructured
|
||||
|
||||
@@ -16,7 +16,6 @@ import (
|
||||
secretv1beta1 "github.com/grafana/grafana/apps/secret/pkg/apis/secret/v1beta1"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/secret"
|
||||
"github.com/grafana/grafana/pkg/registry/apis/secret/contracts"
|
||||
"github.com/grafana/grafana/pkg/setting"
|
||||
)
|
||||
|
||||
// mockDynamicInterface implements a simplified version of the dynamic.ResourceInterface
|
||||
@@ -51,7 +50,7 @@ func TestNewSecretsService(t *testing.T) {
|
||||
mockSecretsSvc := NewMockSecureValueClient(t)
|
||||
mockDecryptSvc := &secret.MockDecryptService{}
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
|
||||
assert.NotNil(t, svc)
|
||||
assert.IsType(t, &secretsService{}, svc)
|
||||
@@ -209,7 +208,7 @@ func TestSecretsService_Encrypt(t *testing.T) {
|
||||
|
||||
tt.setupMocks(mockSecretsSvc, mockDecryptSvc, mockResourceInterface)
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
@@ -233,7 +232,7 @@ func TestSecretsService_Encrypt_ClientError(t *testing.T) {
|
||||
// Setup client to return error
|
||||
mockSecretsSvc.EXPECT().Client(mock.Anything, "test-namespace").Return(nil, errors.New("client error"))
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
@@ -336,7 +335,7 @@ func TestSecretsService_Decrypt(t *testing.T) {
|
||||
|
||||
tt.setupMocks(mockSecretsSvc, mockDecryptSvc)
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
@@ -374,7 +373,7 @@ func TestSecretsService_Decrypt_ServiceIdentityContext(t *testing.T) {
|
||||
"test-secret": mockResult,
|
||||
}, nil)
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
|
||||
ctx := context.Background()
|
||||
result, err := svc.Decrypt(ctx, "test-namespace", "test-secret")
|
||||
@@ -436,7 +435,7 @@ func TestSecretsService_Delete(t *testing.T) {
|
||||
|
||||
tt.setupMocks(mockSecretsSvc, mockDecryptSvc, mockResourceInterface)
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
ctx := context.Background()
|
||||
|
||||
err := svc.Delete(ctx, tt.namespace, tt.secretName)
|
||||
@@ -521,7 +520,7 @@ func TestSecretsService_Encrypt_WithK8sNotFoundError(t *testing.T) {
|
||||
}
|
||||
mockResourceInterface.createErr = nil
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
ctx := context.Background()
|
||||
|
||||
result, err := svc.Encrypt(ctx, "test-namespace", "test-secret", "secret-data")
|
||||
@@ -542,7 +541,7 @@ func TestSecretsService_Delete_WithK8sNotFoundError(t *testing.T) {
|
||||
k8sNotFoundErr := apierrors.NewNotFound(schema.GroupResource{Group: "secret.grafana.app", Resource: "securevalues"}, "test-secret")
|
||||
mockResourceInterface.deleteErr = k8sNotFoundErr
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
ctx := context.Background()
|
||||
|
||||
err := svc.Delete(ctx, "test-namespace", "test-secret")
|
||||
@@ -563,7 +562,7 @@ func TestSecretsService_Delete_WithGrafanaNotFoundError(t *testing.T) {
|
||||
// Mock Delete call to return Grafana not found error
|
||||
mockResourceInterface.deleteErr = contracts.ErrSecureValueNotFound
|
||||
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, &setting.Cfg{})
|
||||
svc := NewSecretsService(mockSecretsSvc, mockDecryptSvc, "")
|
||||
ctx := context.Background()
|
||||
|
||||
err := svc.Delete(ctx, "test-namespace", "test-secret")
|
||||
|
||||
@@ -501,6 +501,11 @@
|
||||
"title-muting-grouping-and-timings": "Ztlumení, seskupení a časování"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nebyly nalezeny žádné zdroje dat"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2487,6 +2492,7 @@
|
||||
},
|
||||
"empty-data-source": "Nebyla nalezena žádná pravidla",
|
||||
"error-button": "Chyba",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Zrušit vyhledávání",
|
||||
"no-more-results": "Žádné další výsledky – nalezená pravidla: {{numberOfRules}}",
|
||||
@@ -4207,7 +4213,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Zdroje dat",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Nebyly nalezeny žádné výsledky odpovídající vašemu dotazu",
|
||||
"request-data-source": "Požádat o nový zdroj dat",
|
||||
"roadmap": "Zobrazit plán"
|
||||
@@ -6587,9 +6594,11 @@
|
||||
"explore": "Prozkoumat"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Vytvořit nástěnku",
|
||||
"explore-data": "Prozkoumat data",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Další podrobnosti o chybě"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Stummschaltung, Gruppierung und Zeitsteuerung"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Keine Datenquellen gefunden"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Keine Regeln gefunden",
|
||||
"error-button": "Fehler",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Suche abbrechen",
|
||||
"no-more-results": "Keine weiteren Ergebnisse – {{numberOfRules}} Regeln gefunden",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Datenquellen",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Es wurden keine Ergebnisse gefunden, die Ihrer Abfrage entsprechen",
|
||||
"request-data-source": "Neue Datenquelle anfordern",
|
||||
"roadmap": "Roadmap anzeigen"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Entdecken"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Dashboard erstellen",
|
||||
"explore-data": "Daten untersuchen",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Weitere Details zum Fehler"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Silencio, agrupación y temporización"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "No se han encontrado fuentes de datos"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "No se han encontrado reglas",
|
||||
"error-button": "Error",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Cancelar búsqueda",
|
||||
"no-more-results": "No hay más resultados. Se han encontrado {{numberOfRules}} reglas",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Orígenes de datos",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "No se han encontrado resultados que coincidan con tu consulta",
|
||||
"request-data-source": "Solicitar una nueva fuente de datos",
|
||||
"roadmap": "Ver hoja de ruta"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Explorar"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Crear un dashboard",
|
||||
"explore-data": "Explorar datos",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Más detalles sobre el error"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Mise en sourdine, regroupement et horaires"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Aucune source de données trouvée"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Aucune règle trouvée",
|
||||
"error-button": "Erreur",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Annuler la recherche",
|
||||
"no-more-results": "Plus aucun résultat : {{numberOfRules}} règles trouvées",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Sources de données",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Aucun résultat correspondant à votre requête n'a été trouvé",
|
||||
"request-data-source": "Demander une nouvelle source de données",
|
||||
"roadmap": "Voir la feuille de route"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Explorer"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Créer un tableau de bord",
|
||||
"explore-data": "Explorer les données",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Plus de détails sur l’erreur"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Némítás, csoportosítás és időzítés"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nem található adatforrás"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Nem található szabály",
|
||||
"error-button": "Hiba",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Keresés visszavonása",
|
||||
"no-more-results": "Nincs több találat – {{numberOfRules}} szabályt sikerült találni",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Adatforrások",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Nincs találat a lekérdezésre",
|
||||
"request-data-source": "Új adatforrás kérése",
|
||||
"roadmap": "Ütemterv megtekintése"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Explore"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Irányítópult létrehozása",
|
||||
"explore-data": "Adatok felfedezése",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "További részletek a hibáról"
|
||||
|
||||
@@ -489,6 +489,11 @@
|
||||
"title-muting-grouping-and-timings": "Pembisuan, pengelompokan, dan pengaturan waktu"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Tidak ada sumber data yang ditemukan"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2457,6 +2462,7 @@
|
||||
},
|
||||
"empty-data-source": "Tidak ada aturan yang ditemukan",
|
||||
"error-button": "Kesalahan",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Batalkan pencarian",
|
||||
"no-more-results": "Tidak ada hasil lagi – {{numberOfRules}} aturan ditemukan",
|
||||
@@ -4153,7 +4159,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Sumber data",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Hasil yang cocok dengan kueri Anda tidak ditemukan",
|
||||
"request-data-source": "Minta sumber data baru",
|
||||
"roadmap": "Lihat peta jalan"
|
||||
@@ -6524,9 +6531,11 @@
|
||||
"explore": "Jelajahi"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Buat dasbor",
|
||||
"explore-data": "Jelajahi data",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Detail lebih lanjut tentang kesalahan"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Disattivazione audio, raggruppamento e orari"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nessuna fonte dati trovata"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Nessuna regola trovata",
|
||||
"error-button": "Errore",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Annulla ricerca",
|
||||
"no-more-results": "Nessun altro risultato: {{numberOfRules}} regole trovate",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Fonti dei dati",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Nessun risultato trovato corrisponde alla tua ricerca",
|
||||
"request-data-source": "Richiedi una nuova origine dati",
|
||||
"roadmap": "Visualizza roadmap"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Esplora"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Crea una dashboard",
|
||||
"explore-data": "Esplora i dati",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Maggiori dettagli sull'errore"
|
||||
|
||||
@@ -489,6 +489,11 @@
|
||||
"title-muting-grouping-and-timings": "ミュート、グループ化、タイミング"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "データソースが見つかりません"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2457,6 +2462,7 @@
|
||||
},
|
||||
"empty-data-source": "ルールが見つかりません",
|
||||
"error-button": "エラー",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "検索をキャンセル",
|
||||
"no-more-results": "これ以上の結果はありません – {{numberOfRules}}件のルールが見つかりました",
|
||||
@@ -4153,7 +4159,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "データソース",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "クエリに一致する結果が見つかりませんでした",
|
||||
"request-data-source": "新しいデータソースをリクエストする",
|
||||
"roadmap": "ロードマップを表示"
|
||||
@@ -6524,9 +6531,11 @@
|
||||
"explore": "探検"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "ダッシュボードを作成",
|
||||
"explore-data": "データを調査",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "エラーの詳細"
|
||||
|
||||
@@ -489,6 +489,11 @@
|
||||
"title-muting-grouping-and-timings": "알림 비활성화, 그룹화 및 타이밍"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "데이터 소스를 찾을 수 없습니다"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2457,6 +2462,7 @@
|
||||
},
|
||||
"empty-data-source": "규칙을 찾을 수 없습니다",
|
||||
"error-button": "오류",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "검색 취소",
|
||||
"no-more-results": "더 이상 결과 없음 – {{numberOfRules}}개의 규칙 찾음",
|
||||
@@ -4153,7 +4159,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "데이터 소스",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "쿼리와 일치하는 결과를 찾을 수 없음",
|
||||
"request-data-source": "새 데이터 소스 요청",
|
||||
"roadmap": "로드맵 보기"
|
||||
@@ -6524,9 +6531,11 @@
|
||||
"explore": "탐색"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "대시보드 구축",
|
||||
"explore-data": "데이터 탐색",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "오류에 대한 자세한 정보"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Dempen, groeperen en timings"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Geen gegevensbronnen gevonden"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Geen regels gevonden",
|
||||
"error-button": "Fout",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Zoekopdracht annuleren",
|
||||
"no-more-results": "Geen resultaten - {{numberOfRules}} regels gevonden",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Gegevensbronnen",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Er zijn geen resultaten gevonden die overeenkomen met je query",
|
||||
"request-data-source": "Een nieuwe gegevensbron aanvragen",
|
||||
"roadmap": "Routekaart weergeven"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Verkennen"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Maak een dashboard",
|
||||
"explore-data": "Gegevens verkennen",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Meer informatie over de fout"
|
||||
|
||||
@@ -501,6 +501,11 @@
|
||||
"title-muting-grouping-and-timings": "Wyciszanie, grupowanie i harmonogramy"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nie znaleziono źródeł danych"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2487,6 +2492,7 @@
|
||||
},
|
||||
"empty-data-source": "Nie znaleziono reguł",
|
||||
"error-button": "Błąd",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Anuluj wyszukiwanie",
|
||||
"no-more-results": "Nie ma więcej wyników – liczba znalezionych reguł: {{numberOfRules}}",
|
||||
@@ -4207,7 +4213,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Źródła danych",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Nie znaleziono wyników pasujących do Twojego zapytania",
|
||||
"request-data-source": "Poproś o nowe źródło danych",
|
||||
"roadmap": "Widok etapów"
|
||||
@@ -6587,9 +6594,11 @@
|
||||
"explore": "Eksploruj"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Utwórz pulpit",
|
||||
"explore-data": "Przeglądaj dane",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Więcej informacji o błędzie"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Silenciamento, agrupamento e cronogramas"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nenhuma fonte de dados encontrada"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Nenhuma regra encontrada",
|
||||
"error-button": "Erro",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Cancelar pesquisa",
|
||||
"no-more-results": "Não há mais resultados. Foram encontradas {{numberOfRules}} regras",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Fontes de dados",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Nenhum resultado foi encontrado para a sua consulta",
|
||||
"request-data-source": "Solicitar uma nova fonte de dados",
|
||||
"roadmap": "Ver roteiro"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Explorar"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Criar um painel",
|
||||
"explore-data": "Explorar dados",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Mais detalhes sobre o erro"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Silêncio, agrupamento e tempos"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Nenhuma fonte de dados encontrada"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Nenhuma regra encontrada",
|
||||
"error-button": "Erro",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Cancelar pesquisa",
|
||||
"no-more-results": "Não existem mais resultados – {{numberOfRules}} regras encontradas",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Origens de dados",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Não foram encontrados resultados que correspondam à sua consulta",
|
||||
"request-data-source": "Solicitar uma nova origem de dados",
|
||||
"roadmap": "Ver roteiro"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Explorar"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Criar um painel de controlo",
|
||||
"explore-data": "Explorar dados",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Mais detalhes sobre o erro"
|
||||
|
||||
@@ -501,6 +501,11 @@
|
||||
"title-muting-grouping-and-timings": "Отключение звука, группировка и определение времени"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Источники данных не найдены"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2487,6 +2492,7 @@
|
||||
},
|
||||
"empty-data-source": "Правила не найдены",
|
||||
"error-button": "Ошибка",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Отменить поиск",
|
||||
"no-more-results": "Больше нет результатов. Найдено правил: {{numberOfRules}}",
|
||||
@@ -4207,7 +4213,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Источники данных",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "По вашему запросу ничего не найдено",
|
||||
"request-data-source": "Запросить новый источник данных",
|
||||
"roadmap": "Просмотр дорожной карты"
|
||||
@@ -6587,9 +6594,11 @@
|
||||
"explore": "Explore"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Создать дашборд",
|
||||
"explore-data": "Просмотреть данные",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Подробнее об ошибке"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Tystnad, gruppering och tidsinställningar"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Inga datakällor hittades"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Inga regler hittades",
|
||||
"error-button": "Fel",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Avbryt sökning",
|
||||
"no-more-results": "Inga fler resultat – hittade {{numberOfRules}} regler",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Datakällor",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Inga resultat som matchar din fråga hittades",
|
||||
"request-data-source": "Begär en ny datakälla",
|
||||
"roadmap": "Visa planering"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Utforska"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Bygg en instrumentpanel",
|
||||
"explore-data": "Utforska data",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Mer information om felet"
|
||||
|
||||
@@ -493,6 +493,11 @@
|
||||
"title-muting-grouping-and-timings": "Sessize alma, gruplandırma ve zamanlamalar"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "Veri kaynağı bulunamadı"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2467,6 +2472,7 @@
|
||||
},
|
||||
"empty-data-source": "Kural bulunamadı",
|
||||
"error-button": "Hata",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "Aramayı iptal et",
|
||||
"no-more-results": "Başka sonuç yok - {{numberOfRules}} kural bulundu",
|
||||
@@ -4171,7 +4177,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "Veri kaynakları",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "Sorgunuzla eşleşen sonuç bulunamadı",
|
||||
"request-data-source": "Yeni veri kaynağı talep et",
|
||||
"roadmap": "Yol haritasını görüntüle"
|
||||
@@ -6545,9 +6552,11 @@
|
||||
"explore": "Keşfet"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "Pano oluştur",
|
||||
"explore-data": "Verileri keşfedin",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "Hata hakkında daha fazla bilgi"
|
||||
|
||||
@@ -489,6 +489,11 @@
|
||||
"title-muting-grouping-and-timings": "静音、分组和时间设定"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "未找到数据源"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2457,6 +2462,7 @@
|
||||
},
|
||||
"empty-data-source": "未找到规则",
|
||||
"error-button": "错误",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "取消搜索",
|
||||
"no-more-results": "没有更多结果 – 找到 {{numberOfRules}} 个规则",
|
||||
@@ -4153,7 +4159,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "数据源",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "未找到与您的查询匹配的结果",
|
||||
"request-data-source": "请求新的数据源",
|
||||
"roadmap": "查看路线图"
|
||||
@@ -6524,9 +6531,11 @@
|
||||
"explore": "探索"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "构建数据面板",
|
||||
"explore-data": "浏览数据",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "有关错误的更多详情"
|
||||
|
||||
@@ -489,6 +489,11 @@
|
||||
"title-muting-grouping-and-timings": "靜音、分組和時間"
|
||||
},
|
||||
"alert-manager-picker": {
|
||||
"external-alertmanagers-group": "",
|
||||
"extra-config-warning": {
|
||||
"content": "",
|
||||
"title": ""
|
||||
},
|
||||
"noOptionsMessage-no-datasources-found": "未找到資料來源"
|
||||
},
|
||||
"alert-menu": {
|
||||
@@ -2457,6 +2462,7 @@
|
||||
},
|
||||
"empty-data-source": "未找到規則",
|
||||
"error-button": "錯誤",
|
||||
"export-all-grafana-rules": "",
|
||||
"filter-view": {
|
||||
"cancel-search": "取消搜尋",
|
||||
"no-more-results": "沒有更多結果 – 找到 {{numberOfRules}} 個規則",
|
||||
@@ -4153,7 +4159,8 @@
|
||||
}
|
||||
},
|
||||
"connect-data": {
|
||||
"category-header-label": "資料來源",
|
||||
"apps-header": "",
|
||||
"datasources-header": "",
|
||||
"empty-message": "未找到符合您查詢的結果",
|
||||
"request-data-source": "請求新的資料來源",
|
||||
"roadmap": "檢視藍圖"
|
||||
@@ -6524,9 +6531,11 @@
|
||||
"explore": "探索"
|
||||
},
|
||||
"edit-data-source-actions": {
|
||||
"add-favorite": "",
|
||||
"build-a-dashboard": "建立儀表板",
|
||||
"explore-data": "探索資料",
|
||||
"open-in-explore": ""
|
||||
"open-in-explore": "",
|
||||
"remove-favorite": ""
|
||||
},
|
||||
"error-details-link": {
|
||||
"aria-label-more-details-about-the-error": "有關錯誤的更多詳細資料"
|
||||
|
||||
Reference in New Issue
Block a user