loki-canary: respect `useTLS` flag when `push` mode is enabled. (#7701)

**What this PR does / why we need it**:
Currently `useTLS` flag is ignored on the push writer. This PR consider
that flag and adjust the schema (http -> https) when that flag is
enabled.

**Which issue(s) this PR fixes**:
Fixes #7692 

**Special notes for your reviewer**:

**Checklist**
pull/5455/head^2
Kaviraj Kanagaraj 3 years ago committed by GitHub
parent 6e217c6aa1
commit 30ddd77150
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 1
      cmd/loki-canary/main.go
  2. 5
      pkg/canary/writer/push.go
  3. 7
      pkg/canary/writer/push_test.go

@ -157,6 +157,7 @@ func main() {
config.DefaultHTTPClientConfig,
*lName, *lVal,
*sName, *sValue,
*useTLS,
tlsConfig,
*caFile,
*user, *pass,

@ -63,6 +63,7 @@ func NewPush(
cfg config.HTTPClientConfig,
labelName, labelValue string,
streamName, streamValue string,
useTLS bool,
tlsCfg *tls.Config,
caFile string,
username, password string,
@ -90,6 +91,10 @@ func NewPush(
scheme = "https"
}
if useTLS {
scheme = "https"
}
u := url.URL{
Scheme: scheme,
Host: lokiAddr,

@ -42,7 +42,7 @@ func Test_Push(t *testing.T) {
defer mock.Close()
// without TLS
push, err := NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "stream", "stdout", nil, "", "", "", &backoff, log.NewNopLogger())
push, err := NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "stream", "stdout", false, nil, "", "", "", &backoff, log.NewNopLogger())
require.NoError(t, err)
ts, payload := testPayload()
n, err := push.Write([]byte(payload))
@ -52,7 +52,7 @@ func Test_Push(t *testing.T) {
assertResponse(t, resp, false, labelSet("name", "loki-canary", "stream", "stdout"), ts, payload)
// with basic Auth
push, err = NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "stream", "stdout", nil, "", testUsername, testPassword, &backoff, log.NewNopLogger())
push, err = NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "stream", "stdout", false, nil, "", testUsername, testPassword, &backoff, log.NewNopLogger())
require.NoError(t, err)
ts, payload = testPayload()
n, err = push.Write([]byte(payload))
@ -62,7 +62,7 @@ func Test_Push(t *testing.T) {
assertResponse(t, resp, true, labelSet("name", "loki-canary", "stream", "stdout"), ts, payload)
// with custom labels
push, err = NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "pod", "abc", nil, "", testUsername, testPassword, &backoff, log.NewNopLogger())
push, err = NewPush(mock.Listener.Addr().String(), "test1", 2*time.Second, config.DefaultHTTPClientConfig, "name", "loki-canary", "pod", "abc", false, nil, "", testUsername, testPassword, &backoff, log.NewNopLogger())
require.NoError(t, err)
ts, payload = testPayload()
n, err = push.Write([]byte(payload))
@ -133,7 +133,6 @@ func createServerHandler(responses chan response) http.HandlerFunc {
rw.WriteHeader(500)
return
}
fmt.Println("decoded", decoded)
toks := strings.FieldsFunc(string(decoded), func(r rune) bool {
return r == ':'
})

Loading…
Cancel
Save