Skip to content

feat: add new TLS configuration options #133

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 5 commits into from
Feb 18, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,10 @@ test-serve: fmtcheck
@docker pull "grafana/grafana:$(GRAFANA_VERSION)"
docker run -p 127.0.0.1:3000:3000 "grafana/grafana:$(GRAFANA_VERSION)"

test-serve-tls: fmtcheck
GRAFANA_VERSION=$(GRAFANA_VERSION) \
docker-compose -f ./docker-compose.tls.yml up --abort-on-container-exit --renew-anon-volumes

vet:
@echo "go vet ."
@go vet $$(go list ./... | grep -v vendor/) ; if [ $$? -eq 1 ]; then \
Expand Down
13 changes: 13 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,24 @@ Alternatively,
# GRAFANA_VERSION=7.3.4 \
make test-serve

# Alternatively, run Grafana with TLS:
# GRAFANA_VERSION=7.3.4 \
# make test-serve-tls

# In another...
GRAFANA_URL=http://localhost:3000 \
GRAFANA_AUTH=admin:admin \
GRAFANA_ORG_ID=1 \
make testacc

# Alternatively, run acceptance tests with TLS client certs:
# GRAFANA_URL=https://localhost:3001 \
# GRAFANA_ORG_ID=1 \
# GRAFANA_AUTH=admin:admin \
# GRAFANA_TLS_KEY=$PWD/testdata/client.key \
# GRAFANA_TLS_CERT=$PWD/testdata/client.crt \
# GRAFANA_CA_CERT=$PWD/testdata/ca.crt \
# make testacc
```

This codebase leverages
Expand Down
23 changes: 23 additions & 0 deletions docker-compose.tls.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
version: "3.3"

services:
mtls-proxy:
image: squareup/ghostunnel:v1.5.2
command: |
server
--listen 0.0.0.0:3001
--target grafana:3000
--unsafe-target
--key /certs/grafana.key
--cert /certs/grafana.crt
--cacert /certs/ca.crt
--allow-cn "client"
volumes:
- "./testdata:/certs"
ports:
- "3001:3001"

grafana:
image: grafana/grafana:${GRAFANA_VERSION}
ports:
- 3000
57 changes: 56 additions & 1 deletion grafana/provider.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package grafana

import (
"crypto/tls"
"crypto/x509"
"io/ioutil"
"net/url"
"strings"

Expand Down Expand Up @@ -34,6 +37,30 @@ func Provider() terraform.ResourceProvider {
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_ORG_ID", 1),
Description: "Organization id for resources",
},
"tls_key": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_TLS_KEY", nil),
Description: "Client TLS key for accessing the Grafana API.",
},
"tls_cert": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_TLS_CERT", nil),
Description: "Client TLS cert for accessing the Grafana API.",
},
"ca_cert": {
Type: schema.TypeString,
Optional: true,
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_CA_CERT", nil),
Description: "CA cert bundle for validating the Grafana API's certificate.",
},
"insecure_skip_verify": {
Type: schema.TypeBool,
Optional: true,
DefaultFunc: schema.EnvDefaultFunc("GRAFANA_INSECURE_SKIP_VERIFY", nil),
Description: "Skip TLS certificate verification",
},
},

ResourcesMap: map[string]*schema.Resource{
Expand All @@ -56,7 +83,35 @@ func Provider() terraform.ResourceProvider {
func providerConfigure(d *schema.ResourceData) (interface{}, error) {
auth := strings.SplitN(d.Get("auth").(string), ":", 2)
cli := cleanhttp.DefaultClient()
cli.Transport = logging.NewTransport("Grafana", cli.Transport)
transport := cleanhttp.DefaultTransport()
transport.TLSClientConfig = &tls.Config{}

// TLS Config
tlsKey := d.Get("tls_key").(string)
tlsCert := d.Get("tls_cert").(string)
caCert := d.Get("ca_cert").(string)
insecure := d.Get("insecure_skip_verify").(bool)
if caCert != "" {
ca, err := ioutil.ReadFile(caCert)
if err != nil {
return nil, err
}
pool := x509.NewCertPool()
pool.AppendCertsFromPEM(ca)
transport.TLSClientConfig.RootCAs = pool
}
if tlsKey != "" && tlsCert != "" {
cert, err := tls.LoadX509KeyPair(tlsCert, tlsKey)
if err != nil {
return nil, err
}
transport.TLSClientConfig.Certificates = []tls.Certificate{cert}
}
if insecure {
transport.TLSClientConfig.InsecureSkipVerify = true
}

cli.Transport = logging.NewTransport("Grafana", transport)
cfg := gapi.Config{
Client: cli,
OrgID: int64(d.Get("org_id").(int)),
Expand Down
9 changes: 9 additions & 0 deletions testdata/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
deps:
if ! command -v certin >/dev/null; then \
go get -u github.com/joemiller/certin ;\
fi

generate: deps
@certin create ca.key ca.crt --is-ca --cn "CA"
@certin create grafana.key grafana.crt --signer-key ca.key --signer-cert ca.crt --cn "grafana" --sans "localhost"
@certin create client.key client.crt --signer-key ca.key --signer-cert ca.crt --cn "client"
18 changes: 18 additions & 0 deletions testdata/ca.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6TCCAdGgAwIBAgIQBRYhTRaghURJC33OtfNjeDANBgkqhkiG9w0BAQsFADAN
MQswCQYDVQQDEwJDQTAeFw0yMDExMDEwMDM4MjZaFw0yMTExMDEwMDM4NTZaMA0x
CzAJBgNVBAMTAkNBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuPT/
3yg9mYzObEd/eZ1Yr/V5FAWWxQAFihaa7s7wpOn5ZuIRiGCxxR5DfzSm4P4g4RB5
Pf35jmAcllGmU8zaefeYBY4ytbTvgej4XGY5UDKHdwQrEKb6HwVPgmG5KvloB3nF
GRG6XXfEbgUeCjo1F15W1EjkwwRAMILbrY1sfkjGYVBc0vWKLCL1Ohz8AIAxGpmO
iP63+cpnjThXgfhkpnMxxZ+FJoWJURAWFkEuBYuxuj99NX2RzrahoEApgOl5XjL3
y80ORQNCD5Q7QTkZ/uCIQ9T8RLcYT+FEoOpkNrHfq8pYKttNVNcjc/Y3kHFwNbqm
Yo950+2QUR7cJNlDDQIDAQABo0UwQzAOBgNVHQ8BAf8EBAMCAgQwEgYDVR0TAQH/
BAgwBgEB/wIBADAdBgNVHQ4EFgQUWp4wIKw8r0b0U4TSN4nphlIKiSgwDQYJKoZI
hvcNAQELBQADggEBABXYOfASQuh3YHOXUortfKafOaXtRY3F2h7ouLcgl8aaz3SN
4zIonJFA+Tsat1uoa75t8q+Omc5/zH3o0V+TsVZXJUL9LyiynGrrIF33oUE8Ucu/
LjJ4XMXH9Qj+1kWlBh8PYNSuysMPGVuQO5Jj9WX844FqzFPRKZ6BxwVfSGtx6POK
ZU/evktuNS/fNeZRmULtpMGiiHm9V20bF6Vaq/qbt9tBSrLExhdUZgIkjIcnswpz
iVycXbBWgK+TQ8YYy0U9nhWP5i7dyBmmZ/11WKPZAha2VgOy+1q/IHypOX0vIulu
cWrywdENR0l6/Aizx5DKLSgoFmcoeVTw72DQV80=
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions testdata/ca.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC49P/fKD2ZjM5s
R395nViv9XkUBZbFAAWKFpruzvCk6flm4hGIYLHFHkN/NKbg/iDhEHk9/fmOYByW
UaZTzNp595gFjjK1tO+B6PhcZjlQMod3BCsQpvofBU+CYbkq+WgHecUZEbpdd8Ru
BR4KOjUXXlbUSOTDBEAwgtutjWx+SMZhUFzS9YosIvU6HPwAgDEamY6I/rf5ymeN
OFeB+GSmczHFn4UmhYlREBYWQS4Fi7G6P301fZHOtqGgQCmA6XleMvfLzQ5FA0IP
lDtBORn+4IhD1PxEtxhP4USg6mQ2sd+rylgq201U1yNz9jeQcXA1uqZij3nT7ZBR
Htwk2UMNAgMBAAECggEAZDrIqmsJLrviZUU9rG77T6eL7LC2qp0/Yzyqyz0zpXrx
37Ik5C3aSEMFOtsSkBzHPpAJ0/FdGq208DThGMqLnsrxBBmyG0wo+tKAPLpc1rv7
MyD8IXMLWmIrWzGQAdzUZjC0AcjcoKg1t5VoWQyAFuDV1waFibU0/9T6LQvVvnzP
OHnckPE3nW6Iwg7IuevZta4lDpUxXB+DqTQaq7CQfavps3nI0gbUVk6hbX9TOrUG
Ll6Q3C6X8Y4hIXWeXA1B4c/dStfScfgWG2EqtCTGis1adqKd3bMDUd2xy+8xZAkE
XA5AHJsTg8OF6sVhtjf8Qj9ywjTnozks0G9qjeN1IQKBgQDLORePg6pfjXUQnyl7
2iN+x8Vyn8VP76uefUqrflPUfM9xK2zCtSPOd1wPO6gHke8jg52gJ2rgbvtuqgii
4zYOBZYKMSjrtaJEh+3zMSKk+ODNU3ZSf2hygYSKJBtqCbcp9Aj4WdqxYkGwI7EA
6KmKR1Pt9XBbt67r8ieCBHvlOQKBgQDo/Ybo9GZFyG936lpgvRFD48ecoy4eZedI
nR4XKKI7y8HB6ywEiVR6gkKxnaIErkyPOhgToVdHN6crcHo0BPYeEtFPPdWf5BQv
qrrf8e6prOJrcIYwf1D2HSBY/eaPab+43CyS4WgtEI4odDy7r55NpDdiTDYTsYrw
2l6Lh4WAdQKBgQCuVcrVbdERaYt8d92hhu+eSggjHdapjWQ/cSJGXffSOEPIxMTn
f3c5HoHV+4pY/CMW50ioZEg2Ql7lf24rNhlgDAC7u5JsKoQKoEVLs+IRfgNzgN7n
RK84U818qB7wZ2c+0T+Etah7NVw+m0+0BOO0YR4p67y4oamodTLZQbl7WQKBgQCF
fYTHggf64X0kOoyvsoPq3t3mXAQ3fHFIRGUSJcDV+8c2wPRGYRya2Hk35LYIcokA
4usajC1Ca5uHIvmRRmpxDp0IBsiXxIjgSrSpTKdOZfSQVDc+ICQV7tgyxL5N2uvz
EYskWKtkboDUosyNSHCt0XG+CyZMoEOX/bV/whT2ZQKBgQCahijFjVvHcpjlZ/O7
qkI28m8HSWaDtbUCwhUVUEwYXYqX3z6p5HLo/rbP+5tPl6yfC42rXuGJ/IPDyHbf
kczat0xJbOg3dKqSPMCfoTh3WG4gJeBJgss99mUnf2kJa2RQRwdifWMmNmiWtBw2
ImXd9sCmAVGS6aRG1bo+6TqBmA==
-----END PRIVATE KEY-----
20 changes: 20 additions & 0 deletions testdata/client.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDPTCCAiWgAwIBAgIRAPJrm3ttakYq6urX9YVwB0IwDQYJKoZIhvcNAQELBQAw
DTELMAkGA1UEAxMCQ0EwHhcNMjAxMTAxMDAzODI2WhcNMjExMTAxMDAzODU2WjAR
MQ8wDQYDVQQDEwZjbGllbnQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDQkeK4mYv/VSzA9Appg9NfG1kMZhUIDSFWUYYrC52RmJsX/2SFYz88ipHRb73O
ouHG6UA8OW/50L3GtoKKPnV3Ul5We7Iflhg18aRPuV3vPrG1mFD11UYsiPC3KsSj
ijzzlPpT60OPo2+2ymv0zD67291tJmnla53Fo0zvLOSRjyPEBQy98VZJp9HLuxX0
cZ8B/M9ZTYiietyujjJPgDdm5S2ReL/UmfytwDWjV3Q0svfbhqQmyeW1uEYXp1Qh
tUW/kcJBcZA97yDJUiPnUALMTRPlkDFTxZSf5mMH6eQc71H205taMQbg5GuZnSNq
yw325dOJLvLwfAF+r2fWsWTlAgMBAAGjgZMwgZAwDgYDVR0PAQH/BAQDAgWgMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1Ud
DgQWBBRT2exTGcnXOqxjinhLdWdRd/494jAfBgNVHSMEGDAWgBRanjAgrDyvRvRT
hNI3iemGUgqJKDARBgNVHREECjAIggZjbGllbnQwDQYJKoZIhvcNAQELBQADggEB
AAbox5HSyKTysM4y7x0XhWJy4zQRjfG4/d+r5GNkEsxKxMPTw/VJ+yvMXuIo8lL+
dMC8jsCftzB2PYBFz2UNUWtDk6aM/3J/lGkJ3zq2U/erYhLn/wqnANy4XRW0C9vh
ZOpHnBvI7nriKhFRe6Mo16MyYsmSpQIK/IlXOMwfyqaKH/2WFjluC5YJwm6xx+H9
9FLR1q8Ue0zlCoqlvpReRbToSNlU5hR0w2HQlwFYCjiIu1LQTJlMzS1SDOKSRJ/e
SGpAcdrDIByJ8yAj1rwQFzwYdjEbC1WC2u2cVaW3dj5TsTJ7fN1IvWHJXt3N1Ksr
ifon1OpApbhvUc5U8joX68w=
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions testdata/client.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDQkeK4mYv/VSzA
9Appg9NfG1kMZhUIDSFWUYYrC52RmJsX/2SFYz88ipHRb73OouHG6UA8OW/50L3G
toKKPnV3Ul5We7Iflhg18aRPuV3vPrG1mFD11UYsiPC3KsSjijzzlPpT60OPo2+2
ymv0zD67291tJmnla53Fo0zvLOSRjyPEBQy98VZJp9HLuxX0cZ8B/M9ZTYiietyu
jjJPgDdm5S2ReL/UmfytwDWjV3Q0svfbhqQmyeW1uEYXp1QhtUW/kcJBcZA97yDJ
UiPnUALMTRPlkDFTxZSf5mMH6eQc71H205taMQbg5GuZnSNqyw325dOJLvLwfAF+
r2fWsWTlAgMBAAECggEAcT7E23aDjR+yLRJUlPX+zqUKtLC4uqZmc3fQYY7s/yDd
FSqWadZ5f2W9xvnlFU1bSaVcO1b0da/hWwO93VIMdb1De7GuBXh5rNCHZsI/PqfL
1c3eJ5ylfYjdKpcOLb3hWmCJiwcyp8sV3SoLc99yMI4wrBMvbGICSE1ieHrnoCAd
K9a3zlDvrOIZ8yd/J8iUhtX/bjRTyAuHi8v7Qb9I9tW6ixPkgJl5cYE3K1F1tQW1
EtE3tKYnMl8Lbs26wX77S1lKJEqUKcHm5MFgk/d2ZRb9idkGUef1Rk32A1N7aRXO
zdbdFs94C5BHkFAMD7Z2nrnftjvjHCXN8Y52qXnAAQKBgQDeKLnMVgdKxYNHZBpL
YxcgVI3n0QDMoRj99Whu/XPW7q94DimeIjALb/x/1yTGT82KI3sji2WmCE83cKEm
NCr8Fq4Z/gXbTTtjKVKp7KstmnWTPEL7/d67RCqZARwi9P061HDhz8eAa6vaop16
ERp1IR9dji5OGbG7QUQcIhlA1QKBgQDwVzy4xceG7XQlatc4gEMKE821UKzzSIYh
x0fIvzW9FmCiZjKz934+g8ndEwrYNQtXcRfbuvJSYO8PA2PO+CzX29lfiFYe7GZE
trrVc5B/zzaQFGt7AybMIigEYIUD8X2o1a7Y+1ua+5tr5VUZAbquUqns4tyMQ2NL
mNc1M8kb0QKBgQCfhLq0wGkIBX7YOkavLv2iF1S1yds7E8nwQNC2MYOGJ2kTWYgE
piO9crHp0b/0LcU2lXeL9EIO0BShiFwOJJNg46ArxbzK1U/5SeizXt8jJa+bA0BN
1OKjsLStnKBpcWSLY5OScTGdQrLpkK5mwfUveZMeCEOzjLuT669OTCW56QKBgAli
bqWMW3kiRnm7jUHQiE2ZblvZFZe+SjaBcIUfKjsC560ProUmcdCBFt3CA5djoti8
OsFCsHmU/WCpsjj/qciX9gnr6ej1NB0UwYDaLVdAQRIpKfU4r0gjQUrCdg8sW8q+
5T/luLL5hh0VbFg4oBB0e9wbE5+KdhMambSjHAQxAoGAI5TJY9sAACFfyjKAnR4Y
RS1SscbFGh2hC8lnwnv5r0RhFF5Rx1mBqXlWx7V4QisTXe9+OXWSB7PsesRsHOOP
s2P5qV7P2fHpLzqvV+RqEP14v/nFxivMdgOotnI5HvBdMNhR6nUfeq8KWT1Yq1AN
OSB3rEoS1HNYrzdecOCl0n0=
-----END PRIVATE KEY-----
20 changes: 20 additions & 0 deletions testdata/grafana.crt
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
-----BEGIN CERTIFICATE-----
MIIDQDCCAiigAwIBAgIQXjQ6V+iNON8xsM99tqNz1zANBgkqhkiG9w0BAQsFADAN
MQswCQYDVQQDEwJDQTAeFw0yMDExMDEwMDM4MjZaFw0yMTExMDEwMDM4NTZaMBIx
EDAOBgNVBAMTB2dyYWZhbmEwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIB
AQDcKtLnD6cYi84QbioH8u8GtUFREadBYoA5kTknGn9AUH6Eg9oCd0/RQnwC27V7
07/SK/C0e/Hk5h7UrEvf9F/Cx+gbAYITcsgmIIS843/AuOSy10Bf7giVkHCMTdS6
7sLluzT707sAVDb98i9ospwimghHIUkzz2k3/GMjQj8K4R+v8LsMWPRxIv2BteiZ
GXRG0xa5VpQ/BX8h7Vemw1M7qtt22d32mveyHvCl4I3nCg3FPf8a3zt4XT31svtq
fCxx6vq23VeQ4pGaYUrOM2a6ucgGKz3ej/KsAJeEddiQ4wf4G48xOf317IGLP112
+PUwnCGjMRPttVlAsfuTRGCFAgMBAAGjgZYwgZMwDgYDVR0PAQH/BAQDAgWgMB0G
A1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMB0GA1Ud
DgQWBBQMsmp5WoGRqZIkkpVaNSAn33GxAjAfBgNVHSMEGDAWgBRanjAgrDyvRvRT
hNI3iemGUgqJKDAUBgNVHREEDTALgglsb2NhbGhvc3QwDQYJKoZIhvcNAQELBQAD
ggEBAKUseEo9jTbSsx0h9BLEMuZJbNyn1r30WFYd68fua/wyXbVh/7OerzhCGP5Y
HcN7aAVsozAED9hjisy6uD13aCTDhAnqjWoGYGg9kTUQA17BIxVZ0qK3qRWlQrNK
84fClrQwFPkSP5D3LiPcuZalEl9okgCtY/aYw1znFCF7P9Om7xqqLo1jv5mx6B3f
91VrKfZK6b3JkyUQmoSA/RojrNpUC9LV5PkdmRrOxvGkGUNjFsLtdYZer4zR1bPO
otvwPz4e7opb3KyJsJAfORPJ5qRZpyRZgaQ2hfNDI9qiBA4mNzM2sPyf0hoHLc/m
UZpsgruWVpCdM3B8sEh+2eTezdg=
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions testdata/grafana.key
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcKtLnD6cYi84Q
bioH8u8GtUFREadBYoA5kTknGn9AUH6Eg9oCd0/RQnwC27V707/SK/C0e/Hk5h7U
rEvf9F/Cx+gbAYITcsgmIIS843/AuOSy10Bf7giVkHCMTdS67sLluzT707sAVDb9
8i9ospwimghHIUkzz2k3/GMjQj8K4R+v8LsMWPRxIv2BteiZGXRG0xa5VpQ/BX8h
7Vemw1M7qtt22d32mveyHvCl4I3nCg3FPf8a3zt4XT31svtqfCxx6vq23VeQ4pGa
YUrOM2a6ucgGKz3ej/KsAJeEddiQ4wf4G48xOf317IGLP112+PUwnCGjMRPttVlA
sfuTRGCFAgMBAAECggEBAIqX7pGDefVqtHoFTzIXzD3VxdspmLcBMaSLdYXXGTm8
MhhrA8a/oqAhEP2fnvvnDP5ZqLmEuH4WGlxYZZ8CL3Hm84ZkiaSCgdn2aHibYWVJ
PrYR6DU7G25DMYYwzHQsLsX89dp8q2AGo2NynEN1A/KIMiPMoU8bBqo2l5Wvcw3+
BB66sjUoMKJ0+YV2jGsjfWU2utlfTrhhGzYzeLIZXJOIaCUCdyBnpZ4NUGux+fgH
zkqg6AAk4xPg14CBE9BiubCvrjWzOLZ1mk8MY/KAe9jQAJiCFNDeGLoaFptNzBfT
NqJsqt61BtmCRPSfrk3tvMz415JApFs1iNWjLbRgmxUCgYEA5Ja3DDCa5U+q35H/
g9RcOcH9lMFKfO0fQaaWbYCR8B/yMVFz+Jda9VKmC7PWhzxdjLWx00iJ/DDSOk4e
G9E3XKY+YtCg05QM8Rnj1VRQkPo4nqz7tcJsJr7e7ou4GuYIoPM4Yox776253Ncj
wahtePw2cghrmbgaiw0Zsnnq5QsCgYEA9pGVqisGcgCKQVQoSV4o5+8scZSALe8b
EYitOysZ2KGbcIu7cQeQcT0lGEtZhjqrX2503ciJF1ZcnvvW/scKwR4UEUkFsGnV
wKQw6puyNT/00EMFtkvdiuflNbF1Uo2/kvLfG6twRmZGMxqHWhH4s0W7GUFtEQrx
otZ4wq0aKq8CgYEAt9FO33mShcY71U8VVxCFHVkXLvEEklMoaGWq3+Gc+ajm3Kvw
gz5LQa21owF6CQQNAmL13b6eX3NvCr3Yzmu+hj2VO2cjfSC4C4XTRbBonTzqHQdj
3nS6/alNoiwu30qOM8eCVxU7cLCWHrXOpiNn7Pt8WNTWmiWHCrx9Jp2Nu6MCgYEA
wR8oTV9jrfkUULTc1RJGEdt4QQHiH5gu6F3X6QcKOG3jtJQNXStii/8rRcsGtKbR
QW7fZDLEhZ3j77YrH+TAXJ/1cdBy/0j13ev8UFVgkGqmklRcbfsf68NT+OkkjmNt
0GggLajqyIkkpLQ7nWWEGM4eDFr9VSLwPe2kKj6wxwsCgYBcNo10l+YpLwGs9RKw
4i+Qx+JnG1r5ThK2aQ56kdvELWs/SXsdXIhf+W/K2irlIk1bd50f9hxM7FGDrv7n
o2YNAlHVkK6bneib370ZD6UA8Y9HYxqFGMt1OR9Y0A+SRZ0LXvoJM2RbkS5Xg3vC
ofk8J363fzgabgjmemY0QMzZ0Q==
-----END PRIVATE KEY-----
24 changes: 20 additions & 4 deletions website/docs/index.html.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,27 @@ The provider configuration block accepts the following arguments:
* `auth` - (Required) The API token or username/password to use to authenticate
to the Grafana server. If username/password is used, they are provided in a
single string and separated by a colon. May alternatively be set via the
``GRAFANA_AUTH`` environment variable.
`GRAFANA_AUTH` environment variable.

* org_id - (Required) The organization id to operate on within grafana.
Default org_id is 1. May alternatively be set via the
GRAFANA_ORG_ID environment variable.
* `org_id` - (Required) The organization id to operate on within grafana.
Default is 1. May alternatively be set via the `GRAFANA_ORG_ID` environment
variable.

* `tls_key` - (Optional) Client TLS key file to use to authenticate to the
Grafana server. May alternatively be set via the `GRAFANA_TLS_KEY`
environment variable.

* `tls_cert` - (Optional) Client TLS certificate file to use to authenticate
to the Grafana server. May alternatively be set via the `GRAFANA_TLS_CERT`
environment variable.

* `ca_cert` - (Optional) Certificate CA bundle to use to verify the Grafana
server's certifiate. May alternatively be set via the `GRAFANA_CA_CERT`
environment variable.

* `insecure_skip_verify` - (Optional) Bool. Disable verification of the Grafana
Server's certificate. May alternatively be set via the
`GRAFANA_INSECURE_SKIP_VERIFY` environment variable.

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

Expand Down