Skip to content

Commit 369494e

Browse files
authored
feat: add new TLS configuration options (#133)
1 parent 7f634ee commit 369494e

12 files changed

+267
-5
lines changed

GNUmakefile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ test-serve: fmtcheck
2727
@docker pull "grafana/grafana:$(GRAFANA_VERSION)"
2828
docker run -p 127.0.0.1:3000:3000 "grafana/grafana:$(GRAFANA_VERSION)"
2929

30+
test-serve-tls: fmtcheck
31+
GRAFANA_VERSION=$(GRAFANA_VERSION) \
32+
docker-compose -f ./docker-compose.tls.yml up --abort-on-container-exit --renew-anon-volumes
33+
3034
vet:
3135
@echo "go vet ."
3236
@go vet $$(go list ./... | grep -v vendor/) ; if [ $$? -eq 1 ]; then \

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,24 @@ Alternatively,
4141
# GRAFANA_VERSION=7.3.4 \
4242
make test-serve
4343

44+
# Alternatively, run Grafana with TLS:
45+
# GRAFANA_VERSION=7.3.4 \
46+
# make test-serve-tls
47+
4448
# In another...
4549
GRAFANA_URL=http://localhost:3000 \
4650
GRAFANA_AUTH=admin:admin \
4751
GRAFANA_ORG_ID=1 \
4852
make testacc
53+
54+
# Alternatively, run acceptance tests with TLS client certs:
55+
# GRAFANA_URL=https://localhost:3001 \
56+
# GRAFANA_ORG_ID=1 \
57+
# GRAFANA_AUTH=admin:admin \
58+
# GRAFANA_TLS_KEY=$PWD/testdata/client.key \
59+
# GRAFANA_TLS_CERT=$PWD/testdata/client.crt \
60+
# GRAFANA_CA_CERT=$PWD/testdata/ca.crt \
61+
# make testacc
4962
```
5063

5164
This codebase leverages

docker-compose.tls.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
version: "3.3"
2+
3+
services:
4+
mtls-proxy:
5+
image: squareup/ghostunnel:v1.5.2
6+
command: |
7+
server
8+
--listen 0.0.0.0:3001
9+
--target grafana:3000
10+
--unsafe-target
11+
--key /certs/grafana.key
12+
--cert /certs/grafana.crt
13+
--cacert /certs/ca.crt
14+
--allow-cn "client"
15+
volumes:
16+
- "./testdata:/certs"
17+
ports:
18+
- "3001:3001"
19+
20+
grafana:
21+
image: grafana/grafana:${GRAFANA_VERSION}
22+
ports:
23+
- 3000

grafana/provider.go

Lines changed: 56 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
package grafana
22

33
import (
4+
"crypto/tls"
5+
"crypto/x509"
6+
"io/ioutil"
47
"net/url"
58
"strings"
69

@@ -34,6 +37,30 @@ func Provider() terraform.ResourceProvider {
3437
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_ORG_ID", 1),
3538
Description: "Organization id for resources",
3639
},
40+
"tls_key": {
41+
Type: schema.TypeString,
42+
Optional: true,
43+
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_TLS_KEY", nil),
44+
Description: "Client TLS key for accessing the Grafana API.",
45+
},
46+
"tls_cert": {
47+
Type: schema.TypeString,
48+
Optional: true,
49+
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_TLS_CERT", nil),
50+
Description: "Client TLS cert for accessing the Grafana API.",
51+
},
52+
"ca_cert": {
53+
Type: schema.TypeString,
54+
Optional: true,
55+
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_CA_CERT", nil),
56+
Description: "CA cert bundle for validating the Grafana API's certificate.",
57+
},
58+
"insecure_skip_verify": {
59+
Type: schema.TypeBool,
60+
Optional: true,
61+
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_INSECURE_SKIP_VERIFY", nil),
62+
Description: "Skip TLS certificate verification",
63+
},
3764
},
3865

3966
ResourcesMap: map[string]*schema.Resource{
@@ -56,7 +83,35 @@ func Provider() terraform.ResourceProvider {
5683
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
5784
auth := strings.SplitN(d.Get("auth").(string), ":", 2)
5885
cli := cleanhttp.DefaultClient()
59-
cli.Transport = logging.NewTransport("Grafana", cli.Transport)
86+
transport := cleanhttp.DefaultTransport()
87+
transport.TLSClientConfig = &tls.Config{}
88+
89+
// TLS Config
90+
tlsKey := d.Get("tls_key").(string)
91+
tlsCert := d.Get("tls_cert").(string)
92+
caCert := d.Get("ca_cert").(string)
93+
insecure := d.Get("insecure_skip_verify").(bool)
94+
if caCert != "" {
95+
ca, err := ioutil.ReadFile(caCert)
96+
if err != nil {
97+
return nil, err
98+
}
99+
pool := x509.NewCertPool()
100+
pool.AppendCertsFromPEM(ca)
101+
transport.TLSClientConfig.RootCAs = pool
102+
}
103+
if tlsKey != "" && tlsCert != "" {
104+
cert, err := tls.LoadX509KeyPair(tlsCert, tlsKey)
105+
if err != nil {
106+
return nil, err
107+
}
108+
transport.TLSClientConfig.Certificates = []tls.Certificate{cert}
109+
}
110+
if insecure {
111+
transport.TLSClientConfig.InsecureSkipVerify = true
112+
}
113+
114+
cli.Transport = logging.NewTransport("Grafana", transport)
60115
cfg := gapi.Config{
61116
Client: cli,
62117
OrgID: int64(d.Get("org_id").(int)),

testdata/GNUmakefile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
deps:
2+
if ! command -v certin >/dev/null; then \
3+
go get -u github.com/joemiller/certin ;\
4+
fi
5+
6+
generate: deps
7+
@certin create ca.key ca.crt --is-ca --cn "CA"
8+
@certin create grafana.key grafana.crt --signer-key ca.key --signer-cert ca.crt --cn "grafana" --sans "localhost"
9+
@certin create client.key client.crt --signer-key ca.key --signer-cert ca.crt --cn "client"

testdata/ca.crt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIC6TCCAdGgAwIBAgIQBRYhTRaghURJC33OtfNjeDANBgkqhkiG9w0BAQsFADAN
3+
MQswCQYDVQQDEwJDQTAeFw0yMDExMDEwMDM4MjZaFw0yMTExMDEwMDM4NTZaMA0x
4+
CzAJBgNVBAMTAkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuPT/
5+
3yg9mYzObEd/eZ1Yr/V5FAWWxQAFihaa7s7wpOn5ZuIRiGCxxR5DfzSm4P4g4RB5
6+
Pf35jmAcllGmU8zaefeYBY4ytbTvgej4XGY5UDKHdwQrEKb6HwVPgmG5KvloB3nF
7+
GRG6XXfEbgUeCjo1F15W1EjkwwRAMILbrY1sfkjGYVBc0vWKLCL1Ohz8AIAxGpmO
8+
iP63+cpnjThXgfhkpnMxxZ+FJoWJURAWFkEuBYuxuj99NX2RzrahoEApgOl5XjL3
9+
y80ORQNCD5Q7QTkZ/uCIQ9T8RLcYT+FEoOpkNrHfq8pYKttNVNcjc/Y3kHFwNbqm
10+
Yo950+2QUR7cJNlDDQIDAQABo0UwQzAOBgNVHQ8BAf8EBAMCAgQwEgYDVR0TAQH/
11+
BAgwBgEB/wIBADAdBgNVHQ4EFgQUWp4wIKw8r0b0U4TSN4nphlIKiSgwDQYJKoZI
12+
hvcNAQELBQADggEBABXYOfASQuh3YHOXUortfKafOaXtRY3F2h7ouLcgl8aaz3SN
13+
4zIonJFA+Tsat1uoa75t8q+Omc5/zH3o0V+TsVZXJUL9LyiynGrrIF33oUE8Ucu/
14+
LjJ4XMXH9Qj+1kWlBh8PYNSuysMPGVuQO5Jj9WX844FqzFPRKZ6BxwVfSGtx6POK
15+
ZU/evktuNS/fNeZRmULtpMGiiHm9V20bF6Vaq/qbt9tBSrLExhdUZgIkjIcnswpz
16+
iVycXbBWgK+TQ8YYy0U9nhWP5i7dyBmmZ/11WKPZAha2VgOy+1q/IHypOX0vIulu
17+
cWrywdENR0l6/Aizx5DKLSgoFmcoeVTw72DQV80=
18+
-----END CERTIFICATE-----

testdata/ca.key

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC49P/fKD2ZjM5s
3+
R395nViv9XkUBZbFAAWKFpruzvCk6flm4hGIYLHFHkN/NKbg/iDhEHk9/fmOYByW
4+
UaZTzNp595gFjjK1tO+B6PhcZjlQMod3BCsQpvofBU+CYbkq+WgHecUZEbpdd8Ru
5+
BR4KOjUXXlbUSOTDBEAwgtutjWx+SMZhUFzS9YosIvU6HPwAgDEamY6I/rf5ymeN
6+
OFeB+GSmczHFn4UmhYlREBYWQS4Fi7G6P301fZHOtqGgQCmA6XleMvfLzQ5FA0IP
7+
lDtBORn+4IhD1PxEtxhP4USg6mQ2sd+rylgq201U1yNz9jeQcXA1uqZij3nT7ZBR
8+
Htwk2UMNAgMBAAECggEAZDrIqmsJLrviZUU9rG77T6eL7LC2qp0/Yzyqyz0zpXrx
9+
37Ik5C3aSEMFOtsSkBzHPpAJ0/FdGq208DThGMqLnsrxBBmyG0wo+tKAPLpc1rv7
10+
MyD8IXMLWmIrWzGQAdzUZjC0AcjcoKg1t5VoWQyAFuDV1waFibU0/9T6LQvVvnzP
11+
OHnckPE3nW6Iwg7IuevZta4lDpUxXB+DqTQaq7CQfavps3nI0gbUVk6hbX9TOrUG
12+
Ll6Q3C6X8Y4hIXWeXA1B4c/dStfScfgWG2EqtCTGis1adqKd3bMDUd2xy+8xZAkE
13+
XA5AHJsTg8OF6sVhtjf8Qj9ywjTnozks0G9qjeN1IQKBgQDLORePg6pfjXUQnyl7
14+
2iN+x8Vyn8VP76uefUqrflPUfM9xK2zCtSPOd1wPO6gHke8jg52gJ2rgbvtuqgii
15+
4zYOBZYKMSjrtaJEh+3zMSKk+ODNU3ZSf2hygYSKJBtqCbcp9Aj4WdqxYkGwI7EA
16+
6KmKR1Pt9XBbt67r8ieCBHvlOQKBgQDo/Ybo9GZFyG936lpgvRFD48ecoy4eZedI
17+
nR4XKKI7y8HB6ywEiVR6gkKxnaIErkyPOhgToVdHN6crcHo0BPYeEtFPPdWf5BQv
18+
qrrf8e6prOJrcIYwf1D2HSBY/eaPab+43CyS4WgtEI4odDy7r55NpDdiTDYTsYrw
19+
2l6Lh4WAdQKBgQCuVcrVbdERaYt8d92hhu+eSggjHdapjWQ/cSJGXffSOEPIxMTn
20+
f3c5HoHV+4pY/CMW50ioZEg2Ql7lf24rNhlgDAC7u5JsKoQKoEVLs+IRfgNzgN7n
21+
RK84U818qB7wZ2c+0T+Etah7NVw+m0+0BOO0YR4p67y4oamodTLZQbl7WQKBgQCF
22+
fYTHggf64X0kOoyvsoPq3t3mXAQ3fHFIRGUSJcDV+8c2wPRGYRya2Hk35LYIcokA
23+
4usajC1Ca5uHIvmRRmpxDp0IBsiXxIjgSrSpTKdOZfSQVDc+ICQV7tgyxL5N2uvz
24+
EYskWKtkboDUosyNSHCt0XG+CyZMoEOX/bV/whT2ZQKBgQCahijFjVvHcpjlZ/O7
25+
qkI28m8HSWaDtbUCwhUVUEwYXYqX3z6p5HLo/rbP+5tPl6yfC42rXuGJ/IPDyHbf
26+
kczat0xJbOg3dKqSPMCfoTh3WG4gJeBJgss99mUnf2kJa2RQRwdifWMmNmiWtBw2
27+
ImXd9sCmAVGS6aRG1bo+6TqBmA==
28+
-----END PRIVATE KEY-----

testdata/client.crt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDPTCCAiWgAwIBAgIRAPJrm3ttakYq6urX9YVwB0IwDQYJKoZIhvcNAQELBQAw
3+
DTELMAkGA1UEAxMCQ0EwHhcNMjAxMTAxMDAzODI2WhcNMjExMTAxMDAzODU2WjAR
4+
MQ8wDQYDVQQDEwZjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
5+
AQDQkeK4mYv/VSzA9Appg9NfG1kMZhUIDSFWUYYrC52RmJsX/2SFYz88ipHRb73O
6+
ouHG6UA8OW/50L3GtoKKPnV3Ul5We7Iflhg18aRPuV3vPrG1mFD11UYsiPC3KsSj
7+
ijzzlPpT60OPo2+2ymv0zD67291tJmnla53Fo0zvLOSRjyPEBQy98VZJp9HLuxX0
8+
cZ8B/M9ZTYiietyujjJPgDdm5S2ReL/UmfytwDWjV3Q0svfbhqQmyeW1uEYXp1Qh
9+
tUW/kcJBcZA97yDJUiPnUALMTRPlkDFTxZSf5mMH6eQc71H205taMQbg5GuZnSNq
10+
yw325dOJLvLwfAF+r2fWsWTlAgMBAAGjgZMwgZAwDgYDVR0PAQH/BAQDAgWgMB0G
11+
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1Ud
12+
DgQWBBRT2exTGcnXOqxjinhLdWdRd/494jAfBgNVHSMEGDAWgBRanjAgrDyvRvRT
13+
hNI3iemGUgqJKDARBgNVHREECjAIggZjbGllbnQwDQYJKoZIhvcNAQELBQADggEB
14+
AAbox5HSyKTysM4y7x0XhWJy4zQRjfG4/d+r5GNkEsxKxMPTw/VJ+yvMXuIo8lL+
15+
dMC8jsCftzB2PYBFz2UNUWtDk6aM/3J/lGkJ3zq2U/erYhLn/wqnANy4XRW0C9vh
16+
ZOpHnBvI7nriKhFRe6Mo16MyYsmSpQIK/IlXOMwfyqaKH/2WFjluC5YJwm6xx+H9
17+
9FLR1q8Ue0zlCoqlvpReRbToSNlU5hR0w2HQlwFYCjiIu1LQTJlMzS1SDOKSRJ/e
18+
SGpAcdrDIByJ8yAj1rwQFzwYdjEbC1WC2u2cVaW3dj5TsTJ7fN1IvWHJXt3N1Ksr
19+
ifon1OpApbhvUc5U8joX68w=
20+
-----END CERTIFICATE-----

testdata/client.key

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQkeK4mYv/VSzA
3+
9Appg9NfG1kMZhUIDSFWUYYrC52RmJsX/2SFYz88ipHRb73OouHG6UA8OW/50L3G
4+
toKKPnV3Ul5We7Iflhg18aRPuV3vPrG1mFD11UYsiPC3KsSjijzzlPpT60OPo2+2
5+
ymv0zD67291tJmnla53Fo0zvLOSRjyPEBQy98VZJp9HLuxX0cZ8B/M9ZTYiietyu
6+
jjJPgDdm5S2ReL/UmfytwDWjV3Q0svfbhqQmyeW1uEYXp1QhtUW/kcJBcZA97yDJ
7+
UiPnUALMTRPlkDFTxZSf5mMH6eQc71H205taMQbg5GuZnSNqyw325dOJLvLwfAF+
8+
r2fWsWTlAgMBAAECggEAcT7E23aDjR+yLRJUlPX+zqUKtLC4uqZmc3fQYY7s/yDd
9+
FSqWadZ5f2W9xvnlFU1bSaVcO1b0da/hWwO93VIMdb1De7GuBXh5rNCHZsI/PqfL
10+
1c3eJ5ylfYjdKpcOLb3hWmCJiwcyp8sV3SoLc99yMI4wrBMvbGICSE1ieHrnoCAd
11+
K9a3zlDvrOIZ8yd/J8iUhtX/bjRTyAuHi8v7Qb9I9tW6ixPkgJl5cYE3K1F1tQW1
12+
EtE3tKYnMl8Lbs26wX77S1lKJEqUKcHm5MFgk/d2ZRb9idkGUef1Rk32A1N7aRXO
13+
zdbdFs94C5BHkFAMD7Z2nrnftjvjHCXN8Y52qXnAAQKBgQDeKLnMVgdKxYNHZBpL
14+
YxcgVI3n0QDMoRj99Whu/XPW7q94DimeIjALb/x/1yTGT82KI3sji2WmCE83cKEm
15+
NCr8Fq4Z/gXbTTtjKVKp7KstmnWTPEL7/d67RCqZARwi9P061HDhz8eAa6vaop16
16+
ERp1IR9dji5OGbG7QUQcIhlA1QKBgQDwVzy4xceG7XQlatc4gEMKE821UKzzSIYh
17+
x0fIvzW9FmCiZjKz934+g8ndEwrYNQtXcRfbuvJSYO8PA2PO+CzX29lfiFYe7GZE
18+
trrVc5B/zzaQFGt7AybMIigEYIUD8X2o1a7Y+1ua+5tr5VUZAbquUqns4tyMQ2NL
19+
mNc1M8kb0QKBgQCfhLq0wGkIBX7YOkavLv2iF1S1yds7E8nwQNC2MYOGJ2kTWYgE
20+
piO9crHp0b/0LcU2lXeL9EIO0BShiFwOJJNg46ArxbzK1U/5SeizXt8jJa+bA0BN
21+
1OKjsLStnKBpcWSLY5OScTGdQrLpkK5mwfUveZMeCEOzjLuT669OTCW56QKBgAli
22+
bqWMW3kiRnm7jUHQiE2ZblvZFZe+SjaBcIUfKjsC560ProUmcdCBFt3CA5djoti8
23+
OsFCsHmU/WCpsjj/qciX9gnr6ej1NB0UwYDaLVdAQRIpKfU4r0gjQUrCdg8sW8q+
24+
5T/luLL5hh0VbFg4oBB0e9wbE5+KdhMambSjHAQxAoGAI5TJY9sAACFfyjKAnR4Y
25+
RS1SscbFGh2hC8lnwnv5r0RhFF5Rx1mBqXlWx7V4QisTXe9+OXWSB7PsesRsHOOP
26+
s2P5qV7P2fHpLzqvV+RqEP14v/nFxivMdgOotnI5HvBdMNhR6nUfeq8KWT1Yq1AN
27+
OSB3rEoS1HNYrzdecOCl0n0=
28+
-----END PRIVATE KEY-----

testdata/grafana.crt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIDQDCCAiigAwIBAgIQXjQ6V+iNON8xsM99tqNz1zANBgkqhkiG9w0BAQsFADAN
3+
MQswCQYDVQQDEwJDQTAeFw0yMDExMDEwMDM4MjZaFw0yMTExMDEwMDM4NTZaMBIx
4+
EDAOBgNVBAMTB2dyYWZhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
5+
AQDcKtLnD6cYi84QbioH8u8GtUFREadBYoA5kTknGn9AUH6Eg9oCd0/RQnwC27V7
6+
07/SK/C0e/Hk5h7UrEvf9F/Cx+gbAYITcsgmIIS843/AuOSy10Bf7giVkHCMTdS6
7+
7sLluzT707sAVDb98i9ospwimghHIUkzz2k3/GMjQj8K4R+v8LsMWPRxIv2BteiZ
8+
GXRG0xa5VpQ/BX8h7Vemw1M7qtt22d32mveyHvCl4I3nCg3FPf8a3zt4XT31svtq
9+
fCxx6vq23VeQ4pGaYUrOM2a6ucgGKz3ej/KsAJeEddiQ4wf4G48xOf317IGLP112
10+
+PUwnCGjMRPttVlAsfuTRGCFAgMBAAGjgZYwgZMwDgYDVR0PAQH/BAQDAgWgMB0G
11+
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1Ud
12+
DgQWBBQMsmp5WoGRqZIkkpVaNSAn33GxAjAfBgNVHSMEGDAWgBRanjAgrDyvRvRT
13+
hNI3iemGUgqJKDAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQAD
14+
ggEBAKUseEo9jTbSsx0h9BLEMuZJbNyn1r30WFYd68fua/wyXbVh/7OerzhCGP5Y
15+
HcN7aAVsozAED9hjisy6uD13aCTDhAnqjWoGYGg9kTUQA17BIxVZ0qK3qRWlQrNK
16+
84fClrQwFPkSP5D3LiPcuZalEl9okgCtY/aYw1znFCF7P9Om7xqqLo1jv5mx6B3f
17+
91VrKfZK6b3JkyUQmoSA/RojrNpUC9LV5PkdmRrOxvGkGUNjFsLtdYZer4zR1bPO
18+
otvwPz4e7opb3KyJsJAfORPJ5qRZpyRZgaQ2hfNDI9qiBA4mNzM2sPyf0hoHLc/m
19+
UZpsgruWVpCdM3B8sEh+2eTezdg=
20+
-----END CERTIFICATE-----

testdata/grafana.key

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
-----BEGIN PRIVATE KEY-----
2+
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcKtLnD6cYi84Q
3+
bioH8u8GtUFREadBYoA5kTknGn9AUH6Eg9oCd0/RQnwC27V707/SK/C0e/Hk5h7U
4+
rEvf9F/Cx+gbAYITcsgmIIS843/AuOSy10Bf7giVkHCMTdS67sLluzT707sAVDb9
5+
8i9ospwimghHIUkzz2k3/GMjQj8K4R+v8LsMWPRxIv2BteiZGXRG0xa5VpQ/BX8h
6+
7Vemw1M7qtt22d32mveyHvCl4I3nCg3FPf8a3zt4XT31svtqfCxx6vq23VeQ4pGa
7+
YUrOM2a6ucgGKz3ej/KsAJeEddiQ4wf4G48xOf317IGLP112+PUwnCGjMRPttVlA
8+
sfuTRGCFAgMBAAECggEBAIqX7pGDefVqtHoFTzIXzD3VxdspmLcBMaSLdYXXGTm8
9+
MhhrA8a/oqAhEP2fnvvnDP5ZqLmEuH4WGlxYZZ8CL3Hm84ZkiaSCgdn2aHibYWVJ
10+
PrYR6DU7G25DMYYwzHQsLsX89dp8q2AGo2NynEN1A/KIMiPMoU8bBqo2l5Wvcw3+
11+
BB66sjUoMKJ0+YV2jGsjfWU2utlfTrhhGzYzeLIZXJOIaCUCdyBnpZ4NUGux+fgH
12+
zkqg6AAk4xPg14CBE9BiubCvrjWzOLZ1mk8MY/KAe9jQAJiCFNDeGLoaFptNzBfT
13+
NqJsqt61BtmCRPSfrk3tvMz415JApFs1iNWjLbRgmxUCgYEA5Ja3DDCa5U+q35H/
14+
g9RcOcH9lMFKfO0fQaaWbYCR8B/yMVFz+Jda9VKmC7PWhzxdjLWx00iJ/DDSOk4e
15+
G9E3XKY+YtCg05QM8Rnj1VRQkPo4nqz7tcJsJr7e7ou4GuYIoPM4Yox776253Ncj
16+
wahtePw2cghrmbgaiw0Zsnnq5QsCgYEA9pGVqisGcgCKQVQoSV4o5+8scZSALe8b
17+
EYitOysZ2KGbcIu7cQeQcT0lGEtZhjqrX2503ciJF1ZcnvvW/scKwR4UEUkFsGnV
18+
wKQw6puyNT/00EMFtkvdiuflNbF1Uo2/kvLfG6twRmZGMxqHWhH4s0W7GUFtEQrx
19+
otZ4wq0aKq8CgYEAt9FO33mShcY71U8VVxCFHVkXLvEEklMoaGWq3+Gc+ajm3Kvw
20+
gz5LQa21owF6CQQNAmL13b6eX3NvCr3Yzmu+hj2VO2cjfSC4C4XTRbBonTzqHQdj
21+
3nS6/alNoiwu30qOM8eCVxU7cLCWHrXOpiNn7Pt8WNTWmiWHCrx9Jp2Nu6MCgYEA
22+
wR8oTV9jrfkUULTc1RJGEdt4QQHiH5gu6F3X6QcKOG3jtJQNXStii/8rRcsGtKbR
23+
QW7fZDLEhZ3j77YrH+TAXJ/1cdBy/0j13ev8UFVgkGqmklRcbfsf68NT+OkkjmNt
24+
0GggLajqyIkkpLQ7nWWEGM4eDFr9VSLwPe2kKj6wxwsCgYBcNo10l+YpLwGs9RKw
25+
4i+Qx+JnG1r5ThK2aQ56kdvELWs/SXsdXIhf+W/K2irlIk1bd50f9hxM7FGDrv7n
26+
o2YNAlHVkK6bneib370ZD6UA8Y9HYxqFGMt1OR9Y0A+SRZ0LXvoJM2RbkS5Xg3vC
27+
ofk8J363fzgabgjmemY0QMzZ0Q==
28+
-----END PRIVATE KEY-----

website/docs/index.html.markdown

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,27 @@ The provider configuration block accepts the following arguments:
2020
* `auth` - (Required) The API token or username/password to use to authenticate
2121
to the Grafana server. If username/password is used, they are provided in a
2222
single string and separated by a colon. May alternatively be set via the
23-
``GRAFANA_AUTH`` environment variable.
23+
`GRAFANA_AUTH` environment variable.
2424

25-
* org_id - (Required) The organization id to operate on within grafana.
26-
Default org_id is 1. May alternatively be set via the
27-
GRAFANA_ORG_ID environment variable.
25+
* `org_id` - (Required) The organization id to operate on within grafana.
26+
Default is 1. May alternatively be set via the `GRAFANA_ORG_ID` environment
27+
variable.
28+
29+
* `tls_key` - (Optional) Client TLS key file to use to authenticate to the
30+
Grafana server. May alternatively be set via the `GRAFANA_TLS_KEY`
31+
environment variable.
32+
33+
* `tls_cert` - (Optional) Client TLS certificate file to use to authenticate
34+
to the Grafana server. May alternatively be set via the `GRAFANA_TLS_CERT`
35+
environment variable.
36+
37+
* `ca_cert` - (Optional) Certificate CA bundle to use to verify the Grafana
38+
server's certifiate. May alternatively be set via the `GRAFANA_CA_CERT`
39+
environment variable.
40+
41+
* `insecure_skip_verify` - (Optional) Bool. Disable verification of the Grafana
42+
Server's certificate. May alternatively be set via the
43+
`GRAFANA_INSECURE_SKIP_VERIFY` environment variable.
2844

2945
Use the navigation to the left to read about the available resources.
3046

0 commit comments

Comments
 (0)