Skip to content

Commit 8327f58

Browse files
Baarsgaardweisdd
andcommitted
Chore: Simplify Grafana container readiness and prep
Co-authored-by: Igor Beliakov <46579601+weisdd@users.noreply.github.com>
1 parent 856cb94 commit 8327f58

File tree

2 files changed

+18
-42
lines changed

2 files changed

+18
-42
lines changed

controllers/config/operator_constants.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ const (
1818

1919
// Grafana env vars and admin user
2020
DefaultAdminUser = "admin"
21+
DefaultAdminPassword = "admin"
2122
GrafanaAdminUserEnvVar = "GF_SECURITY_ADMIN_USER"
2223
GrafanaAdminPasswordEnvVar = "GF_SECURITY_ADMIN_PASSWORD" // #nosec G101
2324
GrafanaPluginsEnvVar = "GF_INSTALL_PLUGINS"

controllers/suite_test.go

Lines changed: 17 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@ import (
2121
"fmt"
2222
"path/filepath"
2323
"testing"
24-
"time"
2524

26-
corev1 "k8s.io/api/core/v1"
2725
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2826
"k8s.io/apimachinery/pkg/types"
2927
"k8s.io/client-go/kubernetes/scheme"
@@ -59,11 +57,7 @@ var (
5957
grafanaContainer testcontainers.Container
6058
externalGrafanaCr *v1beta1.Grafana
6159

62-
grafanaPort = nat.Port(fmt.Sprint(config.GrafanaHTTPPort)) //nolint
63-
grafanaCredentials = map[string]string{
64-
"GF_SECURITY_ADMIN_USER": grafanaUser,
65-
"GF_SECURITY_ADMIN_PASSWORD": grafanaPass,
66-
}
60+
grafanaPort = nat.Port(fmt.Sprint(config.GrafanaHTTPPort)) //nolint
6761
)
6862

6963
func TestAPIs(t *testing.T) {
@@ -110,22 +104,12 @@ var _ = BeforeSuite(func() {
110104
Name: fmt.Sprintf("%s-%d", grafanaName, GinkgoRandomSeed()),
111105
Image: fmt.Sprintf("%s:%s", config.GrafanaImage, config.GrafanaVersion),
112106
ExposedPorts: []string{grafanaPort.Port()},
113-
WaitingFor: wait.ForAll(
114-
wait.ForListeningPort(grafanaPort),
115-
wait.ForHTTP("/api/frontend/settings").
116-
WithPort(grafanaPort).
117-
WithBasicAuth(grafanaUser, grafanaPass).
118-
WithStartupTimeout(8*time.Second),
119-
),
120-
Env: grafanaCredentials,
107+
WaitingFor: wait.ForHTTP("/").WithPort(grafanaPort),
121108
},
122109
})
123110
Expect(err).NotTo(HaveOccurred())
124111

125-
port, err := grafanaContainer.MappedPort(testCtx, grafanaPort)
126-
Expect(err).NotTo(HaveOccurred())
127-
128-
createSharedTestCRs(port.Port())
112+
createSharedTestCRs()
129113
})
130114

131115
var _ = AfterSuite(func() {
@@ -134,18 +118,10 @@ var _ = AfterSuite(func() {
134118
Expect(testEnv.Stop()).To(Succeed())
135119
})
136120

137-
func createSharedTestCRs(port string) {
121+
func createSharedTestCRs() {
138122
GinkgoHelper()
139123

140-
By("Creating Configmaps and GrafanaFolder for testing")
141-
secretCR := &corev1.Secret{
142-
ObjectMeta: metav1.ObjectMeta{
143-
Namespace: "default",
144-
Name: "external-credentials",
145-
},
146-
StringData: grafanaCredentials,
147-
}
148-
Expect(k8sClient.Create(testCtx, secretCR)).ToNot(HaveOccurred())
124+
By("Creating GrafanaFolder for testing")
149125
folderCR := &v1beta1.GrafanaFolder{
150126
ObjectMeta: metav1.ObjectMeta{
151127
Namespace: "default",
@@ -173,6 +149,11 @@ func createSharedTestCRs(port string) {
173149
Client: &v1beta1.GrafanaClient{TimeoutSeconds: &intP},
174150
},
175151
}
152+
153+
// External Endpoint
154+
endpoint, err := grafanaContainer.PortEndpoint(testCtx, grafanaPort, "http")
155+
Expect(err).NotTo(HaveOccurred())
156+
176157
external := &v1beta1.Grafana{
177158
ObjectMeta: metav1.ObjectMeta{
178159
Namespace: "default",
@@ -185,18 +166,12 @@ func createSharedTestCRs(port string) {
185166
},
186167
Spec: v1beta1.GrafanaSpec{
187168
External: &v1beta1.External{
188-
URL: fmt.Sprintf("http://localhost:%s", port),
189-
AdminUser: &corev1.SecretKeySelector{
190-
Key: "GF_SECURITY_ADMIN_USER",
191-
LocalObjectReference: corev1.LocalObjectReference{
192-
Name: secretCR.Name,
193-
},
194-
},
195-
AdminPassword: &corev1.SecretKeySelector{
196-
Key: "GF_SECURITY_ADMIN_PASSWORD",
197-
LocalObjectReference: corev1.LocalObjectReference{
198-
Name: secretCR.Name,
199-
},
169+
URL: endpoint,
170+
},
171+
Config: map[string]map[string]string{
172+
"security": {
173+
"admin_user": config.DefaultAdminUser,
174+
"admin_password": config.DefaultAdminPassword,
200175
},
201176
},
202177
Client: &v1beta1.GrafanaClient{TimeoutSeconds: &intP},
@@ -220,7 +195,7 @@ func createSharedTestCRs(port string) {
220195
IsOpenShift: false,
221196
}
222197
reg := requestFromMeta(external.ObjectMeta)
223-
_, err := r.Reconcile(testCtx, reg)
198+
_, err = r.Reconcile(testCtx, reg)
224199
Expect(err).ToNot(HaveOccurred())
225200

226201
By("Get External Grafana")

0 commit comments

Comments
 (0)