From e0f3d95826dc24eaa4a7be70a2a507bad4f2a8e6 Mon Sep 17 00:00:00 2001 From: mianhk Date: Thu, 21 Jan 2021 11:17:54 +0800 Subject: [PATCH] fix: tiup supports define root_url and enable anonymous in grafana.ini to run a reverse proxy --- pkg/cluster/embed/autogen_pkger.go | 2 +- pkg/cluster/spec/grafana.go | 4 ++++ pkg/cluster/template/config/grafana.go | 24 +++++++++++++++++++----- templates/config/grafana.ini.tpl | 10 +++++++--- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/pkg/cluster/embed/autogen_pkger.go b/pkg/cluster/embed/autogen_pkger.go index 19601e0d9d..7bceedce8a 100644 --- a/pkg/cluster/embed/autogen_pkger.go +++ b/pkg/cluster/embed/autogen_pkger.go @@ -21,7 +21,7 @@ func init() { autogenFiles["/templates/config/dashboard.yml.tpl"] = "YXBpVmVyc2lvbjogMQpwcm92aWRlcnM6CiAgLSBuYW1lOiB7ey5DbHVzdGVyTmFtZX19CiAgICBmb2xkZXI6IHt7LkNsdXN0ZXJOYW1lfX0KICAgIHR5cGU6IGZpbGUKICAgIGRpc2FibGVEZWxldGlvbjogZmFsc2UKICAgIGVkaXRhYmxlOiB0cnVlCiAgICB1cGRhdGVJbnRlcnZhbFNlY29uZHM6IDMwCiAgICBvcHRpb25zOgogICAgICBwYXRoOiB7ey5EZXBsb3lEaXJ9fS9kYXNoYm9hcmRz" autogenFiles["/templates/config/datasource.yml.tpl"] = "YXBpVmVyc2lvbjogMQpkZWxldGVEYXRhc291cmNlczoKICAtIG5hbWU6IHt7LkNsdXN0ZXJOYW1lfX0KZGF0YXNvdXJjZXM6CiAgLSBuYW1lOiB7ey5DbHVzdGVyTmFtZX19CiAgICB0eXBlOiBwcm9tZXRoZXVzCiAgICBhY2Nlc3M6IHByb3h5CiAgICB1cmw6IGh0dHA6Ly97ey5JUH19Ont7LlBvcnR9fQogICAgd2l0aENyZWRlbnRpYWxzOiBmYWxzZQogICAgaXNEZWZhdWx0OiBmYWxzZQogICAgdGxzQXV0aDogZmFsc2UKICAgIHRsc0F1dGhXaXRoQ0FDZXJ0OiBmYWxzZQogICAgdmVyc2lvbjogMQogICAgZWRpdGFibGU6IHRydWU=" autogenFiles["/templates/config/dm/prometheus.yml.tpl"] = "LS0tCmdsb2JhbDoKICBzY3JhcGVfaW50ZXJ2YWw6ICAgICAxNXMgIyBCeSBkZWZhdWx0LCBzY3JhcGUgdGFyZ2V0cyBldmVyeSAxNSBzZWNvbmRzLgogIGV2YWx1YXRpb25faW50ZXJ2YWw6IDE1cyAjIEJ5IGRlZmF1bHQsIHNjcmFwZSB0YXJnZXRzIGV2ZXJ5IDE1IHNlY29uZHMuCiAgIyBzY3JhcGVfdGltZW91dCBpcyBzZXQgdG8gdGhlIGdsb2JhbCBkZWZhdWx0ICgxMHMpLgogIGV4dGVybmFsX2xhYmVsczoKICAgIGNsdXN0ZXI6ICd7ey5DbHVzdGVyTmFtZX19JwogICAgbW9uaXRvcjogInByb21ldGhldXMiCgojIExvYWQgYW5kIGV2YWx1YXRlIHJ1bGVzIGluIHRoaXMgZmlsZSBldmVyeSAnZXZhbHVhdGlvbl9pbnRlcnZhbCcgc2Vjb25kcy4KcnVsZV9maWxlczoKICAtICdkbV93b3JrZXIucnVsZXMueW1sJwogIC0gJ2RtX21hc3Rlci5ydWxlcy55bWwnCgp7ey0gaWYgLkFsZXJ0bWFuYWdlckFkZHJzfX0KYWxlcnRpbmc6CiAgYWxlcnRtYW5hZ2VyczoKICAtIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgp7ey0gcmFuZ2UgLkFsZXJ0bWFuYWdlckFkZHJzfX0KICAgIC0gJ3t7Ln19Jwp7ey0gZW5kfX0Ke3stIGVuZH19CgpzY3JhcGVfY29uZmlnczoKe3stIGlmIC5NYXN0ZXJBZGRyc319CiAgLSBqb2JfbmFtZTogImRtX21hc3RlciIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5NYXN0ZXJBZGRyc319CiAgICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQp7ey0gZW5kfX0KCnt7LSBpZiAuV29ya2VyQWRkcnN9fQogIC0gam9iX25hbWU6ICJkbV93b3JrZXIiCiAgICBob25vcl9sYWJlbHM6IHRydWUgIyBkb24ndCBvdmVyd3JpdGUgam9iICYgaW5zdGFuY2UgbGFiZWxzCiAgICBzdGF0aWNfY29uZmlnczoKICAgIC0gdGFyZ2V0czoKICAgIHt7LSByYW5nZSAuV29ya2VyQWRkcnN9fQogICAgICAgLSAne3sufX0nCiAgICB7ey0gZW5kfX0Ke3stIGVuZH19Cg==" - autogenFiles["/templates/config/grafana.ini.tpl"] = "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIEdyYWZhbmEgQ29uZmlndXJhdGlvbiBFeGFtcGxlICMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgRXZlcnl0aGluZyBoYXMgZGVmYXVsdHMgc28geW91IG9ubHkgbmVlZCB0byB1bmNvbW1lbnQgdGhpbmdzIHlvdSB3YW50IHRvCiMgY2hhbmdlCgojIHBvc3NpYmxlIHZhbHVlcyA6IHByb2R1Y3Rpb24sIGRldmVsb3BtZW50CjsgYXBwX21vZGUgPSBwcm9kdWN0aW9uCgojIGluc3RhbmNlIG5hbWUsIGRlZmF1bHRzIHRvIEhPU1ROQU1FIGVudmlyb25tZW50IHZhcmlhYmxlIHZhbHVlIG9yIGhvc3RuYW1lIGlmIEhPU1ROQU1FIHZhciBpcyBlbXB0eQo7IGluc3RhbmNlX25hbWUgPSAke0hPU1ROQU1FfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFBhdGhzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbcGF0aHNdCiMgUGF0aCB0byB3aGVyZSBncmFmYW5hIGNhbiBzdG9yZSB0ZW1wIGZpbGVzLCBzZXNzaW9ucywgYW5kIHRoZSBzcWxpdGUzIGRiIChpZiB0aGF0IGlzIHVzZWQpCiMKZGF0YSA9IHt7LkRlcGxveURpcn19L2RhdGEKIwojIERpcmVjdG9yeSB3aGVyZSBncmFmYW5hIGNhbiBzdG9yZSBsb2dzCiMKbG9ncyA9IHt7LkRlcGxveURpcn19L2xvZ3MKIwojIERpcmVjdG9yeSB3aGVyZSBncmFmYW5hIHdpbGwgYXV0b21hdGljYWxseSBzY2FuIGFuZCBsb29rIGZvciBwbHVnaW5zCiMKcGx1Z2lucyA9IHt7LkRlcGxveURpcn19L3BsdWdpbnMKIwojIGZvbGRlciB0aGF0IGNvbnRhaW5zIHByb3Zpc2lvbmluZyBjb25maWcgZmlsZXMgdGhhdCBncmFmYW5hIHdpbGwgYXBwbHkgb24gc3RhcnR1cCBhbmQgd2hpbGUgcnVubmluZy4KcHJvdmlzaW9uaW5nID0ge3suRGVwbG95RGlyfX0vcHJvdmlzaW9uaW5nCgojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTZXJ2ZXIgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltzZXJ2ZXJdCiMgUHJvdG9jb2wgKGh0dHAgb3IgaHR0cHMpCjtwcm90b2NvbCA9IGh0dHAKCiMgVGhlIGlwIGFkZHJlc3MgdG8gYmluZCB0bywgZW1wdHkgd2lsbCBiaW5kIHRvIGFsbCBpbnRlcmZhY2VzCjtodHRwX2FkZHIgPQoKIyBUaGUgaHR0cCBwb3J0ICB0byB1c2UKaHR0cF9wb3J0ID0ge3suUG9ydH19CgojIFRoZSBwdWJsaWMgZmFjaW5nIGRvbWFpbiBuYW1lIHVzZWQgdG8gYWNjZXNzIGdyYWZhbmEgZnJvbSBhIGJyb3dzZXIKZG9tYWluID0ge3suSVB9fQoKIyBSZWRpcmVjdCB0byBjb3JyZWN0IGRvbWFpbiBpZiBob3N0IGhlYWRlciBkb2VzIG5vdCBtYXRjaCBkb21haW4KIyBQcmV2ZW50cyBETlMgcmViaW5kaW5nIGF0dGFja3MKO2VuZm9yY2VfZG9tYWluID0gZmFsc2UKCiMgVGhlIGZ1bGwgcHVibGljIGZhY2luZyB1cmwKO3Jvb3RfdXJsID0gJShwcm90b2NvbClzOi8vJShkb21haW4pczolKGh0dHBfcG9ydClzLwoKIyBMb2cgd2ViIHJlcXVlc3RzCjtyb3V0ZXJfbG9nZ2luZyA9IGZhbHNlCgojIHRoZSBwYXRoIHJlbGF0aXZlIHdvcmtpbmcgcGF0aAo7c3RhdGljX3Jvb3RfcGF0aCA9IHB1YmxpYwoKIyBlbmFibGUgZ3ppcAo7ZW5hYmxlX2d6aXAgPSBmYWxzZQoKIyBodHRwcyBjZXJ0cyAmIGtleSBmaWxlCjtjZXJ0X2ZpbGUgPQo7Y2VydF9rZXkgPQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERhdGFiYXNlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbZGF0YWJhc2VdCiMgRWl0aGVyICJteXNxbCIsICJwb3N0Z3JlcyIgb3IgInNxbGl0ZTMiLCBpdCdzIHlvdXIgY2hvaWNlCjt0eXBlID0gc3FsaXRlMwo7aG9zdCA9IDEyNy4wLjAuMTozMzA2CjtuYW1lID0gZ3JhZmFuYQo7dXNlciA9IHJvb3QKO3Bhc3N3b3JkID0KCiMgRm9yICJwb3N0Z3JlcyIgb25seSwgZWl0aGVyICJkaXNhYmxlIiwgInJlcXVpcmUiIG9yICJ2ZXJpZnktZnVsbCIKO3NzbF9tb2RlID0gZGlzYWJsZQoKIyBGb3IgInNxbGl0ZTMiIG9ubHksIHBhdGggcmVsYXRpdmUgdG8gZGF0YV9wYXRoIHNldHRpbmcKO3BhdGggPSBncmFmYW5hLmRiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU2Vzc2lvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW3Nlc3Npb25dCiMgRWl0aGVyICJtZW1vcnkiLCAiZmlsZSIsICJyZWRpcyIsICJteXNxbCIsICJwb3N0Z3JlcyIsIGRlZmF1bHQgaXMgImZpbGUiCjtwcm92aWRlciA9IGZpbGUKCiMgUHJvdmlkZXIgY29uZmlnIG9wdGlvbnMKIyBtZW1vcnk6IG5vdCBoYXZlIGFueSBjb25maWcgeWV0CiMgZmlsZTogc2Vzc2lvbiBkaXIgcGF0aCwgaXMgcmVsYXRpdmUgdG8gZ3JhZmFuYSBkYXRhX3BhdGgKIyByZWRpczogY29uZmlnIGxpa2UgcmVkaXMgc2VydmVyIGUuZy4gYGFkZHI9MTI3LjAuMC4xOjYzNzkscG9vbF9zaXplPTEwMCxkYj1ncmFmYW5hYAojIG15c3FsOiBnby1zcWwtZHJpdmVyL215c3FsIGRzbiBjb25maWcgc3RyaW5nLCBlLmcuIGB1c2VyOnBhc3N3b3JkQHRjcCgxMjcuMC4wLjE6MzMwNikvZGF0YWJhc2VfbmFtZWAKIyBwb3N0Z3JlczogdXNlcj1hIHBhc3N3b3JkPWIgaG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIGRibmFtZT1jIHNzbG1vZGU9ZGlzYWJsZQo7cHJvdmlkZXJfY29uZmlnID0gc2Vzc2lvbnMKCiMgU2Vzc2lvbiBjb29raWUgbmFtZQo7Y29va2llX25hbWUgPSBncmFmYW5hX3Nlc3MKCiMgSWYgeW91IHVzZSBzZXNzaW9uIGluIGh0dHBzIG9ubHksIGRlZmF1bHQgaXMgZmFsc2UKO2Nvb2tpZV9zZWN1cmUgPSBmYWxzZQoKIyBTZXNzaW9uIGxpZmUgdGltZSwgZGVmYXVsdCBpcyA4NjQwMAo7c2Vzc2lvbl9saWZlX3RpbWUgPSA4NjQwMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFuYWx5dGljcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2FuYWx5dGljc10KIyBTZXJ2ZXIgcmVwb3J0aW5nLCBzZW5kcyB1c2FnZSBjb3VudGVycyB0byBzdGF0cy5ncmFmYW5hLm9yZyBldmVyeSAyNCBob3Vycy4KIyBObyBpcCBhZGRyZXNzZXMgYXJlIGJlaW5nIHRyYWNrZWQsIG9ubHkgc2ltcGxlIGNvdW50ZXJzIHRvIHRyYWNrCiMgcnVubmluZyBpbnN0YW5jZXMsIGRhc2hib2FyZCBhbmQgZXJyb3IgY291bnRzLiBJdCBpcyB2ZXJ5IGhlbHBmdWwgdG8gdXMuCiMgQ2hhbmdlIHRoaXMgb3B0aW9uIHRvIGZhbHNlIHRvIGRpc2FibGUgcmVwb3J0aW5nLgo7cmVwb3J0aW5nX2VuYWJsZWQgPSB0cnVlCgojIFNldCB0byBmYWxzZSB0byBkaXNhYmxlIGFsbCBjaGVja3MgdG8gaHR0cHM6Ly9ncmFmYW5hLm5ldAojIGZvciBuZXcgdmVzaW9ucyAoZ3JhZmFuYSBpdHNlbGYgYW5kIHBsdWdpbnMpLCBjaGVjayBpcyB1c2VkCiMgaW4gc29tZSBVSSB2aWV3cyB0byBub3RpZnkgdGhhdCBncmFmYW5hIG9yIHBsdWdpbiB1cGRhdGUgZXhpc3RzCiMgVGhpcyBvcHRpb24gZG9lcyBub3QgY2F1c2UgYW55IGF1dG8gdXBkYXRlcywgbm9yIHNlbmQgYW55IGluZm9ybWF0aW9uCiMgb25seSBhIEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9ncmFmYW5hLm5ldCB0byBnZXQgbGF0ZXN0IHZlcnNpb25zCmNoZWNrX2Zvcl91cGRhdGVzID0gdHJ1ZQoKIyBHb29nbGUgQW5hbHl0aWNzIHVuaXZlcnNhbCB0cmFja2luZyBjb2RlLCBvbmx5IGVuYWJsZWQgaWYgeW91IHNwZWNpZnkgYW4gaWQgaGVyZQo7Z29vZ2xlX2FuYWx5dGljc191YV9pZCA9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU2VjdXJpdHkgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltzZWN1cml0eV0KIyBkZWZhdWx0IGFkbWluIHVzZXIsIGNyZWF0ZWQgb24gc3RhcnR1cAphZG1pbl91c2VyID0ge3suVXNlcm5hbWV9fQoKIyBkZWZhdWx0IGFkbWluIHBhc3N3b3JkLCBjYW4gYmUgY2hhbmdlZCBiZWZvcmUgZmlyc3Qgc3RhcnQgb2YgZ3JhZmFuYSwgIG9yIGluIHByb2ZpbGUgc2V0dGluZ3MKYWRtaW5fcGFzc3dvcmQgPSB7ey5QYXNzd29yZH19CgojIHVzZWQgZm9yIHNpZ25pbmcKO3NlY3JldF9rZXkgPSBTVzJZY3dUSWI5enBPT2hvUHNNbQoKIyBBdXRvLWxvZ2luIHJlbWVtYmVyIGRheXMKO2xvZ2luX3JlbWVtYmVyX2RheXMgPSA3Cjtjb29raWVfdXNlcm5hbWUgPSBncmFmYW5hX3VzZXIKO2Nvb2tpZV9yZW1lbWJlcl9uYW1lID0gZ3JhZmFuYV9yZW1lbWJlcgoKIyBkaXNhYmxlIGdyYXZhdGFyIHByb2ZpbGUgaW1hZ2VzCjtkaXNhYmxlX2dyYXZhdGFyID0gZmFsc2UKCiMgZGF0YSBzb3VyY2UgcHJveHkgd2hpdGVsaXN0IChpcF9vcl9kb21haW46cG9ydCBzZXBhcmF0ZWQgYnkgc3BhY2VzKQo7ZGF0YV9zb3VyY2VfcHJveHlfd2hpdGVsaXN0ID0KCltzbmFwc2hvdHNdCiMgc25hcHNob3Qgc2hhcmluZyBvcHRpb25zCjtleHRlcm5hbF9lbmFibGVkID0gdHJ1ZQo7ZXh0ZXJuYWxfc25hcHNob3RfdXJsID0gaHR0cHM6Ly9zbmFwc2hvdHMtb3JpZ2luLnJhaW50YW5rLmlvCjtleHRlcm5hbF9zbmFwc2hvdF9uYW1lID0gUHVibGlzaCB0byBzbmFwc2hvdC5yYWludGFuay5pbwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFVzZXJzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbdXNlcnNdCiMgZGlzYWJsZSB1c2VyIHNpZ251cCAvIHJlZ2lzdHJhdGlvbgo7YWxsb3dfc2lnbl91cCA9IHRydWUKCiMgQWxsb3cgbm9uIGFkbWluIHVzZXJzIHRvIGNyZWF0ZSBvcmdhbml6YXRpb25zCjthbGxvd19vcmdfY3JlYXRlID0gdHJ1ZQoKIyBTZXQgdG8gdHJ1ZSB0byBhdXRvbWF0aWNhbGx5IGFzc2lnbiBuZXcgdXNlcnMgdG8gdGhlIGRlZmF1bHQgb3JnYW5pemF0aW9uIChpZCAxKQo7YXV0b19hc3NpZ25fb3JnID0gdHJ1ZQoKIyBEZWZhdWx0IHJvbGUgbmV3IHVzZXJzIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCAoaWYgZGlzYWJsZWQgYWJvdmUgaXMgc2V0IHRvIHRydWUpCjthdXRvX2Fzc2lnbl9vcmdfcm9sZSA9IFZpZXdlcgoKIyBCYWNrZ3JvdW5kIHRleHQgZm9yIHRoZSB1c2VyIGZpZWxkIG9uIHRoZSBsb2dpbiBwYWdlCjtsb2dpbl9oaW50ID0gZW1haWwgb3IgdXNlcm5hbWUKCiMgRGVmYXVsdCBVSSB0aGVtZSAoImRhcmsiIG9yICJsaWdodCIpCjtkZWZhdWx0X3RoZW1lID0gZGFyawoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFub255bW91cyBBdXRoICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClthdXRoLmFub255bW91c10KIyBlbmFibGUgYW5vbnltb3VzIGFjY2Vzcwo7ZW5hYmxlZCA9IGZhbHNlCgojIHNwZWNpZnkgb3JnYW5pemF0aW9uIG5hbWUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdW5hdXRoZW50aWNhdGVkIHVzZXJzCjtvcmdfbmFtZSA9IE1haW4gT3JnLgoKIyBzcGVjaWZ5IHJvbGUgZm9yIHVuYXV0aGVudGljYXRlZCB1c2Vycwo7b3JnX3JvbGUgPSBWaWV3ZXIKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBCYXNpYyBBdXRoICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClthdXRoLmJhc2ljXQo7ZW5hYmxlZCA9IHRydWUKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBBdXRoIExEQVAgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2F1dGgubGRhcF0KO2VuYWJsZWQgPSBmYWxzZQo7Y29uZmlnX2ZpbGUgPSAvZXRjL2dyYWZhbmEvbGRhcC50b21sCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU01UUCAvIEVtYWlsaW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltzbXRwXQo7ZW5hYmxlZCA9IGZhbHNlCjtob3N0ID0gbG9jYWxob3N0OjI1Cjt1c2VyID0KO3Bhc3N3b3JkID0KO2NlcnRfZmlsZSA9CjtrZXlfZmlsZSA9Cjtza2lwX3ZlcmlmeSA9IGZhbHNlCjtmcm9tX2FkZHJlc3MgPSBhZG1pbkBncmFmYW5hLmxvY2FsaG9zdAoKW2VtYWlsc10KO3dlbGNvbWVfZW1haWxfb25fc2lnbl91cCA9IGZhbHNlCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgTG9nZ2luZyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbbG9nXQojIEVpdGhlciAiY29uc29sZSIsICJmaWxlIiwgInN5c2xvZyIuIERlZmF1bHQgaXMgY29uc29sZSBhbmQgIGZpbGUKIyBVc2Ugc3BhY2UgdG8gc2VwYXJhdGUgbXVsdGlwbGUgbW9kZXMsIGUuZy4gImNvbnNvbGUgZmlsZSIKbW9kZSA9IGZpbGUKCiMgRWl0aGVyICJ0cmFjZSIsICJkZWJ1ZyIsICJpbmZvIiwgIndhcm4iLCAiZXJyb3IiLCAiY3JpdGljYWwiLCBkZWZhdWx0IGlzICJpbmZvIgo7bGV2ZWwgPSBpbmZvCgojIEZvciAiY29uc29sZSIgbW9kZSBvbmx5Cltsb2cuY29uc29sZV0KO2xldmVsID0KCiMgbG9nIGxpbmUgZm9ybWF0LCB2YWxpZCBvcHRpb25zIGFyZSB0ZXh0LCBjb25zb2xlIGFuZCBqc29uCjtmb3JtYXQgPSBjb25zb2xlCgojIEZvciAiZmlsZSIgbW9kZSBvbmx5Cltsb2cuZmlsZV0KbGV2ZWwgPSBpbmZvCgojIGxvZyBsaW5lIGZvcm1hdCwgdmFsaWQgb3B0aW9ucyBhcmUgdGV4dCwgY29uc29sZSBhbmQganNvbgpmb3JtYXQgPSB0ZXh0CgojIFRoaXMgZW5hYmxlcyBhdXRvbWF0ZWQgbG9nIHJvdGF0ZShzd2l0Y2ggb2YgZm9sbG93aW5nIG9wdGlvbnMpLCBkZWZhdWx0IGlzIHRydWUKO2xvZ19yb3RhdGUgPSB0cnVlCgojIE1heCBsaW5lIG51bWJlciBvZiBzaW5nbGUgZmlsZSwgZGVmYXVsdCBpcyAxMDAwMDAwCjttYXhfbGluZXMgPSAxMDAwMDAwCgojIE1heCBzaXplIHNoaWZ0IG9mIHNpbmdsZSBmaWxlLCBkZWZhdWx0IGlzIDI4IG1lYW5zIDEgPDwgMjgsIDI1Nk1CCjttYXhfc2l6ZV9zaGlmdCA9IDI4CgojIFNlZ21lbnQgbG9nIGRhaWx5LCBkZWZhdWx0IGlzIHRydWUKO2RhaWx5X3JvdGF0ZSA9IHRydWUKCiMgRXhwaXJlZCBkYXlzIG9mIGxvZyBmaWxlKGRlbGV0ZSBhZnRlciBtYXggZGF5cyksIGRlZmF1bHQgaXMgNwo7bWF4X2RheXMgPSA3CgpbbG9nLnN5c2xvZ10KO2xldmVsID0KCiMgbG9nIGxpbmUgZm9ybWF0LCB2YWxpZCBvcHRpb25zIGFyZSB0ZXh0LCBjb25zb2xlIGFuZCBqc29uCjtmb3JtYXQgPSB0ZXh0CgojIFN5c2xvZyBuZXR3b3JrIHR5cGUgYW5kIGFkZHJlc3MuIFRoaXMgY2FuIGJlIHVkcCwgdGNwLCBvciB1bml4LiBJZiBsZWZ0IGJsYW5rLCB0aGUgZGVmYXVsdCB1bml4IGVuZHBvaW50cyB3aWxsIGJlIHVzZWQuCjtuZXR3b3JrID0KO2FkZHJlc3MgPQoKIyBTeXNsb2cgZmFjaWxpdHkuIHVzZXIsIGRhZW1vbiBhbmQgbG9jYWwwIHRocm91Z2ggbG9jYWw3IGFyZSB2YWxpZC4KO2ZhY2lsaXR5ID0KCiMgU3lzbG9nIHRhZy4gQnkgZGVmYXVsdCwgdGhlIHByb2Nlc3MnIGFyZ3ZbMF0gaXMgdXNlZC4KO3RhZyA9CgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFNUVAgRXZlbnQgUHVibGlzaGVyICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltldmVudF9wdWJsaXNoZXJdCjtlbmFibGVkID0gZmFsc2UKO3JhYmJpdG1xX3VybCA9IGFtcXA6Ly9sb2NhbGhvc3QvCjtleGNoYW5nZSA9IGdyYWZhbmFfZXZlbnRzCgo7IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERhc2hib2FyZCBKU09OIGZpbGVzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltkYXNoYm9hcmRzLmpzb25dCmVuYWJsZWQgPSBmYWxzZQpwYXRoID0ge3suRGVwbG95RGlyfX0vZGFzaGJvYXJkcwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEludGVybmFsIEdyYWZhbmEgTWV0cmljcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1ldHJpY3MgYXZhaWxhYmxlIGF0IEhUVFAgQVBJIFVybCAvYXBpL21ldHJpY3MKW21ldHJpY3NdCiMgRGlzYWJsZSAvIEVuYWJsZSBpbnRlcm5hbCBtZXRyaWNzCjtlbmFibGVkICAgICAgICAgICA9IHRydWUKCiMgUHVibGlzaCBpbnRlcnZhbAo7aW50ZXJ2YWxfc2Vjb25kcyAgPSAxMAoKIyBTZW5kIGludGVybmFsIG1ldHJpY3MgdG8gR3JhcGhpdGUKOyBbbWV0cmljcy5ncmFwaGl0ZV0KOyBhZGRyZXNzID0gbG9jYWxob3N0OjIwMDMKOyBwcmVmaXggPSBwcm9kLmdyYWZhbmEuJShpbnN0YW5jZV9uYW1lKXMuCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgSW50ZXJuYWwgR3JhZmFuYSBNZXRyaWNzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgVXJsIHVzZWQgdG8gdG8gaW1wb3J0IGRhc2hib2FyZHMgZGlyZWN0bHkgZnJvbSBHcmFmYW5hLm5ldApbZ3JhZmFuYV9uZXRdCnVybCA9IGh0dHBzOi8vZ3JhZmFuYS5uZXQ=" + autogenFiles["/templates/config/grafana.ini.tpl"] = "IyMjIyMjIyMjIyMjIyMjIyMjIyMjIEdyYWZhbmEgQ29uZmlndXJhdGlvbiBFeGFtcGxlICMjIyMjIyMjIyMjIyMjIyMjIyMjIwojCiMgRXZlcnl0aGluZyBoYXMgZGVmYXVsdHMgc28geW91IG9ubHkgbmVlZCB0byB1bmNvbW1lbnQgdGhpbmdzIHlvdSB3YW50IHRvCiMgY2hhbmdlCgojIHBvc3NpYmxlIHZhbHVlcyA6IHByb2R1Y3Rpb24sIGRldmVsb3BtZW50CjsgYXBwX21vZGUgPSBwcm9kdWN0aW9uCgojIGluc3RhbmNlIG5hbWUsIGRlZmF1bHRzIHRvIEhPU1ROQU1FIGVudmlyb25tZW50IHZhcmlhYmxlIHZhbHVlIG9yIGhvc3RuYW1lIGlmIEhPU1ROQU1FIHZhciBpcyBlbXB0eQo7IGluc3RhbmNlX25hbWUgPSAke0hPU1ROQU1FfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFBhdGhzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbcGF0aHNdCiMgUGF0aCB0byB3aGVyZSBncmFmYW5hIGNhbiBzdG9yZSB0ZW1wIGZpbGVzLCBzZXNzaW9ucywgYW5kIHRoZSBzcWxpdGUzIGRiIChpZiB0aGF0IGlzIHVzZWQpCiMKZGF0YSA9IHt7LkRlcGxveURpcn19L2RhdGEKIwojIERpcmVjdG9yeSB3aGVyZSBncmFmYW5hIGNhbiBzdG9yZSBsb2dzCiMKbG9ncyA9IHt7LkRlcGxveURpcn19L2xvZ3MKIwojIERpcmVjdG9yeSB3aGVyZSBncmFmYW5hIHdpbGwgYXV0b21hdGljYWxseSBzY2FuIGFuZCBsb29rIGZvciBwbHVnaW5zCiMKcGx1Z2lucyA9IHt7LkRlcGxveURpcn19L3BsdWdpbnMKIwojIGZvbGRlciB0aGF0IGNvbnRhaW5zIHByb3Zpc2lvbmluZyBjb25maWcgZmlsZXMgdGhhdCBncmFmYW5hIHdpbGwgYXBwbHkgb24gc3RhcnR1cCBhbmQgd2hpbGUgcnVubmluZy4KcHJvdmlzaW9uaW5nID0ge3suRGVwbG95RGlyfX0vcHJvdmlzaW9uaW5nCgojCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTZXJ2ZXIgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltzZXJ2ZXJdCiMgUHJvdG9jb2wgKGh0dHAgb3IgaHR0cHMpCjtwcm90b2NvbCA9IGh0dHAKCiMgVGhlIGlwIGFkZHJlc3MgdG8gYmluZCB0bywgZW1wdHkgd2lsbCBiaW5kIHRvIGFsbCBpbnRlcmZhY2VzCjtodHRwX2FkZHIgPQoKIyBUaGUgaHR0cCBwb3J0ICB0byB1c2UKaHR0cF9wb3J0ID0ge3suUG9ydH19CgojIFRoZSBwdWJsaWMgZmFjaW5nIGRvbWFpbiBuYW1lIHVzZWQgdG8gYWNjZXNzIGdyYWZhbmEgZnJvbSBhIGJyb3dzZXIKZG9tYWluID0ge3suSVB9fQoKIyBSZWRpcmVjdCB0byBjb3JyZWN0IGRvbWFpbiBpZiBob3N0IGhlYWRlciBkb2VzIG5vdCBtYXRjaCBkb21haW4KIyBQcmV2ZW50cyBETlMgcmViaW5kaW5nIGF0dGFja3MKO2VuZm9yY2VfZG9tYWluID0gZmFsc2UKCiMgVGhlIGZ1bGwgcHVibGljIGZhY2luZyB1cmwKe3stIGlmIC5Sb290VVJMfX0Kcm9vdF91cmwgPSB7ey5Sb290VVJMfX0Kc2VydmVyX2Zyb21fc3ViX3BhdGggPSB0cnVlCnt7LSBlbmR9fQoKIyBMb2cgd2ViIHJlcXVlc3RzCjtyb3V0ZXJfbG9nZ2luZyA9IGZhbHNlCgojIHRoZSBwYXRoIHJlbGF0aXZlIHdvcmtpbmcgcGF0aAo7c3RhdGljX3Jvb3RfcGF0aCA9IHB1YmxpYwoKIyBlbmFibGUgZ3ppcAo7ZW5hYmxlX2d6aXAgPSBmYWxzZQoKIyBodHRwcyBjZXJ0cyAmIGtleSBmaWxlCjtjZXJ0X2ZpbGUgPQo7Y2VydF9rZXkgPQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIERhdGFiYXNlICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbZGF0YWJhc2VdCiMgRWl0aGVyICJteXNxbCIsICJwb3N0Z3JlcyIgb3IgInNxbGl0ZTMiLCBpdCdzIHlvdXIgY2hvaWNlCjt0eXBlID0gc3FsaXRlMwo7aG9zdCA9IDEyNy4wLjAuMTozMzA2CjtuYW1lID0gZ3JhZmFuYQo7dXNlciA9IHJvb3QKO3Bhc3N3b3JkID0KCiMgRm9yICJwb3N0Z3JlcyIgb25seSwgZWl0aGVyICJkaXNhYmxlIiwgInJlcXVpcmUiIG9yICJ2ZXJpZnktZnVsbCIKO3NzbF9tb2RlID0gZGlzYWJsZQoKIyBGb3IgInNxbGl0ZTMiIG9ubHksIHBhdGggcmVsYXRpdmUgdG8gZGF0YV9wYXRoIHNldHRpbmcKO3BhdGggPSBncmFmYW5hLmRiCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU2Vzc2lvbiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW3Nlc3Npb25dCiMgRWl0aGVyICJtZW1vcnkiLCAiZmlsZSIsICJyZWRpcyIsICJteXNxbCIsICJwb3N0Z3JlcyIsIGRlZmF1bHQgaXMgImZpbGUiCjtwcm92aWRlciA9IGZpbGUKCiMgUHJvdmlkZXIgY29uZmlnIG9wdGlvbnMKIyBtZW1vcnk6IG5vdCBoYXZlIGFueSBjb25maWcgeWV0CiMgZmlsZTogc2Vzc2lvbiBkaXIgcGF0aCwgaXMgcmVsYXRpdmUgdG8gZ3JhZmFuYSBkYXRhX3BhdGgKIyByZWRpczogY29uZmlnIGxpa2UgcmVkaXMgc2VydmVyIGUuZy4gYGFkZHI9MTI3LjAuMC4xOjYzNzkscG9vbF9zaXplPTEwMCxkYj1ncmFmYW5hYAojIG15c3FsOiBnby1zcWwtZHJpdmVyL215c3FsIGRzbiBjb25maWcgc3RyaW5nLCBlLmcuIGB1c2VyOnBhc3N3b3JkQHRjcCgxMjcuMC4wLjE6MzMwNikvZGF0YWJhc2VfbmFtZWAKIyBwb3N0Z3JlczogdXNlcj1hIHBhc3N3b3JkPWIgaG9zdD1sb2NhbGhvc3QgcG9ydD01NDMyIGRibmFtZT1jIHNzbG1vZGU9ZGlzYWJsZQo7cHJvdmlkZXJfY29uZmlnID0gc2Vzc2lvbnMKCiMgU2Vzc2lvbiBjb29raWUgbmFtZQo7Y29va2llX25hbWUgPSBncmFmYW5hX3Nlc3MKCiMgSWYgeW91IHVzZSBzZXNzaW9uIGluIGh0dHBzIG9ubHksIGRlZmF1bHQgaXMgZmFsc2UKO2Nvb2tpZV9zZWN1cmUgPSBmYWxzZQoKIyBTZXNzaW9uIGxpZmUgdGltZSwgZGVmYXVsdCBpcyA4NjQwMAo7c2Vzc2lvbl9saWZlX3RpbWUgPSA4NjQwMAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFuYWx5dGljcyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2FuYWx5dGljc10KIyBTZXJ2ZXIgcmVwb3J0aW5nLCBzZW5kcyB1c2FnZSBjb3VudGVycyB0byBzdGF0cy5ncmFmYW5hLm9yZyBldmVyeSAyNCBob3Vycy4KIyBObyBpcCBhZGRyZXNzZXMgYXJlIGJlaW5nIHRyYWNrZWQsIG9ubHkgc2ltcGxlIGNvdW50ZXJzIHRvIHRyYWNrCiMgcnVubmluZyBpbnN0YW5jZXMsIGRhc2hib2FyZCBhbmQgZXJyb3IgY291bnRzLiBJdCBpcyB2ZXJ5IGhlbHBmdWwgdG8gdXMuCiMgQ2hhbmdlIHRoaXMgb3B0aW9uIHRvIGZhbHNlIHRvIGRpc2FibGUgcmVwb3J0aW5nLgo7cmVwb3J0aW5nX2VuYWJsZWQgPSB0cnVlCgojIFNldCB0byBmYWxzZSB0byBkaXNhYmxlIGFsbCBjaGVja3MgdG8gaHR0cHM6Ly9ncmFmYW5hLm5ldAojIGZvciBuZXcgdmVzaW9ucyAoZ3JhZmFuYSBpdHNlbGYgYW5kIHBsdWdpbnMpLCBjaGVjayBpcyB1c2VkCiMgaW4gc29tZSBVSSB2aWV3cyB0byBub3RpZnkgdGhhdCBncmFmYW5hIG9yIHBsdWdpbiB1cGRhdGUgZXhpc3RzCiMgVGhpcyBvcHRpb24gZG9lcyBub3QgY2F1c2UgYW55IGF1dG8gdXBkYXRlcywgbm9yIHNlbmQgYW55IGluZm9ybWF0aW9uCiMgb25seSBhIEdFVCByZXF1ZXN0IHRvIGh0dHA6Ly9ncmFmYW5hLm5ldCB0byBnZXQgbGF0ZXN0IHZlcnNpb25zCmNoZWNrX2Zvcl91cGRhdGVzID0gdHJ1ZQoKIyBHb29nbGUgQW5hbHl0aWNzIHVuaXZlcnNhbCB0cmFja2luZyBjb2RlLCBvbmx5IGVuYWJsZWQgaWYgeW91IHNwZWNpZnkgYW4gaWQgaGVyZQo7Z29vZ2xlX2FuYWx5dGljc191YV9pZCA9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgU2VjdXJpdHkgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltzZWN1cml0eV0KIyBkZWZhdWx0IGFkbWluIHVzZXIsIGNyZWF0ZWQgb24gc3RhcnR1cAphZG1pbl91c2VyID0ge3suVXNlcm5hbWV9fQoKIyBkZWZhdWx0IGFkbWluIHBhc3N3b3JkLCBjYW4gYmUgY2hhbmdlZCBiZWZvcmUgZmlyc3Qgc3RhcnQgb2YgZ3JhZmFuYSwgIG9yIGluIHByb2ZpbGUgc2V0dGluZ3MKYWRtaW5fcGFzc3dvcmQgPSB7ey5QYXNzd29yZH19CgojIHVzZWQgZm9yIHNpZ25pbmcKO3NlY3JldF9rZXkgPSBTVzJZY3dUSWI5enBPT2hvUHNNbQoKIyBBdXRvLWxvZ2luIHJlbWVtYmVyIGRheXMKO2xvZ2luX3JlbWVtYmVyX2RheXMgPSA3Cjtjb29raWVfdXNlcm5hbWUgPSBncmFmYW5hX3VzZXIKO2Nvb2tpZV9yZW1lbWJlcl9uYW1lID0gZ3JhZmFuYV9yZW1lbWJlcgoKIyBkaXNhYmxlIGdyYXZhdGFyIHByb2ZpbGUgaW1hZ2VzCjtkaXNhYmxlX2dyYXZhdGFyID0gZmFsc2UKCiMgZGF0YSBzb3VyY2UgcHJveHkgd2hpdGVsaXN0IChpcF9vcl9kb21haW46cG9ydCBzZXBhcmF0ZWQgYnkgc3BhY2VzKQo7ZGF0YV9zb3VyY2VfcHJveHlfd2hpdGVsaXN0ID0KCltzbmFwc2hvdHNdCiMgc25hcHNob3Qgc2hhcmluZyBvcHRpb25zCjtleHRlcm5hbF9lbmFibGVkID0gdHJ1ZQo7ZXh0ZXJuYWxfc25hcHNob3RfdXJsID0gaHR0cHM6Ly9zbmFwc2hvdHMtb3JpZ2luLnJhaW50YW5rLmlvCjtleHRlcm5hbF9zbmFwc2hvdF9uYW1lID0gUHVibGlzaCB0byBzbmFwc2hvdC5yYWludGFuay5pbwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIFVzZXJzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbdXNlcnNdCiMgZGlzYWJsZSB1c2VyIHNpZ251cCAvIHJlZ2lzdHJhdGlvbgo7YWxsb3dfc2lnbl91cCA9IHRydWUKCiMgQWxsb3cgbm9uIGFkbWluIHVzZXJzIHRvIGNyZWF0ZSBvcmdhbml6YXRpb25zCjthbGxvd19vcmdfY3JlYXRlID0gdHJ1ZQoKIyBTZXQgdG8gdHJ1ZSB0byBhdXRvbWF0aWNhbGx5IGFzc2lnbiBuZXcgdXNlcnMgdG8gdGhlIGRlZmF1bHQgb3JnYW5pemF0aW9uIChpZCAxKQo7YXV0b19hc3NpZ25fb3JnID0gdHJ1ZQoKIyBEZWZhdWx0IHJvbGUgbmV3IHVzZXJzIHdpbGwgYmUgYXV0b21hdGljYWxseSBhc3NpZ25lZCAoaWYgZGlzYWJsZWQgYWJvdmUgaXMgc2V0IHRvIHRydWUpCjthdXRvX2Fzc2lnbl9vcmdfcm9sZSA9IFZpZXdlcgoKIyBCYWNrZ3JvdW5kIHRleHQgZm9yIHRoZSB1c2VyIGZpZWxkIG9uIHRoZSBsb2dpbiBwYWdlCjtsb2dpbl9oaW50ID0gZW1haWwgb3IgdXNlcm5hbWUKCiMgRGVmYXVsdCBVSSB0aGVtZSAoImRhcmsiIG9yICJsaWdodCIpCjtkZWZhdWx0X3RoZW1lID0gZGFyawoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEFub255bW91cyBBdXRoICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClthdXRoLmFub255bW91c10Ke3stIGlmIC5Bbm9ueW1vdXNFbmFibGV9fQplbmFibGVkID0gdHJ1ZQp7ey0gZW5kfX0KCiMgc3BlY2lmeSBvcmdhbml6YXRpb24gbmFtZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB1bmF1dGhlbnRpY2F0ZWQgdXNlcnMKO29yZ19uYW1lID0gTWFpbiBPcmcuCgojIHNwZWNpZnkgcm9sZSBmb3IgdW5hdXRoZW50aWNhdGVkIHVzZXJzCjtvcmdfcm9sZSA9IFZpZXdlcgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEJhc2ljIEF1dGggIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2F1dGguYmFzaWNdCjtlbmFibGVkID0gdHJ1ZQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIEF1dGggTERBUCAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpbYXV0aC5sZGFwXQo7ZW5hYmxlZCA9IGZhbHNlCjtjb25maWdfZmlsZSA9IC9ldGMvZ3JhZmFuYS9sZGFwLnRvbWwKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBTTVRQIC8gRW1haWxpbmcgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW3NtdHBdCjtlbmFibGVkID0gZmFsc2UKO2hvc3QgPSBsb2NhbGhvc3Q6MjUKO3VzZXIgPQo7cGFzc3dvcmQgPQo7Y2VydF9maWxlID0KO2tleV9maWxlID0KO3NraXBfdmVyaWZ5ID0gZmFsc2UKO2Zyb21fYWRkcmVzcyA9IGFkbWluQGdyYWZhbmEubG9jYWxob3N0CgpbZW1haWxzXQo7d2VsY29tZV9lbWFpbF9vbl9zaWduX3VwID0gZmFsc2UKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBMb2dnaW5nICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCltsb2ddCiMgRWl0aGVyICJjb25zb2xlIiwgImZpbGUiLCAic3lzbG9nIi4gRGVmYXVsdCBpcyBjb25zb2xlIGFuZCAgZmlsZQojIFVzZSBzcGFjZSB0byBzZXBhcmF0ZSBtdWx0aXBsZSBtb2RlcywgZS5nLiAiY29uc29sZSBmaWxlIgptb2RlID0gZmlsZQoKIyBFaXRoZXIgInRyYWNlIiwgImRlYnVnIiwgImluZm8iLCAid2FybiIsICJlcnJvciIsICJjcml0aWNhbCIsIGRlZmF1bHQgaXMgImluZm8iCjtsZXZlbCA9IGluZm8KCiMgRm9yICJjb25zb2xlIiBtb2RlIG9ubHkKW2xvZy5jb25zb2xlXQo7bGV2ZWwgPQoKIyBsb2cgbGluZSBmb3JtYXQsIHZhbGlkIG9wdGlvbnMgYXJlIHRleHQsIGNvbnNvbGUgYW5kIGpzb24KO2Zvcm1hdCA9IGNvbnNvbGUKCiMgRm9yICJmaWxlIiBtb2RlIG9ubHkKW2xvZy5maWxlXQpsZXZlbCA9IGluZm8KCiMgbG9nIGxpbmUgZm9ybWF0LCB2YWxpZCBvcHRpb25zIGFyZSB0ZXh0LCBjb25zb2xlIGFuZCBqc29uCmZvcm1hdCA9IHRleHQKCiMgVGhpcyBlbmFibGVzIGF1dG9tYXRlZCBsb2cgcm90YXRlKHN3aXRjaCBvZiBmb2xsb3dpbmcgb3B0aW9ucyksIGRlZmF1bHQgaXMgdHJ1ZQo7bG9nX3JvdGF0ZSA9IHRydWUKCiMgTWF4IGxpbmUgbnVtYmVyIG9mIHNpbmdsZSBmaWxlLCBkZWZhdWx0IGlzIDEwMDAwMDAKO21heF9saW5lcyA9IDEwMDAwMDAKCiMgTWF4IHNpemUgc2hpZnQgb2Ygc2luZ2xlIGZpbGUsIGRlZmF1bHQgaXMgMjggbWVhbnMgMSA8PCAyOCwgMjU2TUIKO21heF9zaXplX3NoaWZ0ID0gMjgKCiMgU2VnbWVudCBsb2cgZGFpbHksIGRlZmF1bHQgaXMgdHJ1ZQo7ZGFpbHlfcm90YXRlID0gdHJ1ZQoKIyBFeHBpcmVkIGRheXMgb2YgbG9nIGZpbGUoZGVsZXRlIGFmdGVyIG1heCBkYXlzKSwgZGVmYXVsdCBpcyA3CjttYXhfZGF5cyA9IDcKCltsb2cuc3lzbG9nXQo7bGV2ZWwgPQoKIyBsb2cgbGluZSBmb3JtYXQsIHZhbGlkIG9wdGlvbnMgYXJlIHRleHQsIGNvbnNvbGUgYW5kIGpzb24KO2Zvcm1hdCA9IHRleHQKCiMgU3lzbG9nIG5ldHdvcmsgdHlwZSBhbmQgYWRkcmVzcy4gVGhpcyBjYW4gYmUgdWRwLCB0Y3AsIG9yIHVuaXguIElmIGxlZnQgYmxhbmssIHRoZSBkZWZhdWx0IHVuaXggZW5kcG9pbnRzIHdpbGwgYmUgdXNlZC4KO25ldHdvcmsgPQo7YWRkcmVzcyA9CgojIFN5c2xvZyBmYWNpbGl0eS4gdXNlciwgZGFlbW9uIGFuZCBsb2NhbDAgdGhyb3VnaCBsb2NhbDcgYXJlIHZhbGlkLgo7ZmFjaWxpdHkgPQoKIyBTeXNsb2cgdGFnLiBCeSBkZWZhdWx0LCB0aGUgcHJvY2VzcycgYXJndlswXSBpcyB1c2VkLgo7dGFnID0KCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgQU1RUCBFdmVudCBQdWJsaXNoZXIgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2V2ZW50X3B1Ymxpc2hlcl0KO2VuYWJsZWQgPSBmYWxzZQo7cmFiYml0bXFfdXJsID0gYW1xcDovL2xvY2FsaG9zdC8KO2V4Y2hhbmdlID0gZ3JhZmFuYV9ldmVudHMKCjsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgRGFzaGJvYXJkIEpTT04gZmlsZXMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKW2Rhc2hib2FyZHMuanNvbl0KZW5hYmxlZCA9IGZhbHNlCnBhdGggPSB7ey5EZXBsb3lEaXJ9fS9kYXNoYm9hcmRzCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMgSW50ZXJuYWwgR3JhZmFuYSBNZXRyaWNzICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWV0cmljcyBhdmFpbGFibGUgYXQgSFRUUCBBUEkgVXJsIC9hcGkvbWV0cmljcwpbbWV0cmljc10KIyBEaXNhYmxlIC8gRW5hYmxlIGludGVybmFsIG1ldHJpY3MKO2VuYWJsZWQgICAgICAgICAgID0gdHJ1ZQoKIyBQdWJsaXNoIGludGVydmFsCjtpbnRlcnZhbF9zZWNvbmRzICA9IDEwCgojIFNlbmQgaW50ZXJuYWwgbWV0cmljcyB0byBHcmFwaGl0ZQo7IFttZXRyaWNzLmdyYXBoaXRlXQo7IGFkZHJlc3MgPSBsb2NhbGhvc3Q6MjAwMwo7IHByZWZpeCA9IHByb2QuZ3JhZmFuYS4lKGluc3RhbmNlX25hbWUpcy4KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyBJbnRlcm5hbCBHcmFmYW5hIE1ldHJpY3MgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBVcmwgdXNlZCB0byB0byBpbXBvcnQgZGFzaGJvYXJkcyBkaXJlY3RseSBmcm9tIEdyYWZhbmEubmV0CltncmFmYW5hX25ldF0KdXJsID0gaHR0cHM6Ly9ncmFmYW5hLm5ldA==" autogenFiles["/templates/config/prometheus.yml.tpl"] = "LS0tCmdsb2JhbDoKICBzY3JhcGVfaW50ZXJ2YWw6ICAgICAxNXMgIyBCeSBkZWZhdWx0LCBzY3JhcGUgdGFyZ2V0cyBldmVyeSAxNSBzZWNvbmRzLgogIGV2YWx1YXRpb25faW50ZXJ2YWw6IDE1cyAjIEJ5IGRlZmF1bHQsIHNjcmFwZSB0YXJnZXRzIGV2ZXJ5IDE1IHNlY29uZHMuCiAgIyBzY3JhcGVfdGltZW91dCBpcyBzZXQgdG8gdGhlIGdsb2JhbCBkZWZhdWx0ICgxMHMpLgogIGV4dGVybmFsX2xhYmVsczoKICAgIGNsdXN0ZXI6ICd7ey5DbHVzdGVyTmFtZX19JwogICAgbW9uaXRvcjogInByb21ldGhldXMiCgojIExvYWQgYW5kIGV2YWx1YXRlIHJ1bGVzIGluIHRoaXMgZmlsZSBldmVyeSAnZXZhbHVhdGlvbl9pbnRlcnZhbCcgc2Vjb25kcy4KcnVsZV9maWxlczoKe3stIGlmIC5Nb25pdG9yZWRTZXJ2ZXJzfX0KICAtICdub2RlLnJ1bGVzLnltbCcKICAtICdibGFja2VyLnJ1bGVzLnltbCcKICAtICdieXBhc3MucnVsZXMueW1sJwp7ey0gZW5kfX0Ke3stIGlmIC5QREFkZHJzfX0KICAtICdwZC5ydWxlcy55bWwnCnt7LSBlbmR9fQp7ey0gaWYgLlRpREJTdGF0dXNBZGRyc319CiAgLSAndGlkYi5ydWxlcy55bWwnCnt7LSBlbmR9fQp7ey0gaWYgLlRpS1ZTdGF0dXNBZGRyc319CiAgLSAndGlrdi5ydWxlcy55bWwnCiAgLSAndGlrdi5hY2NlbGVyYXRlLnJ1bGVzLnltbCcKe3stIGVuZH19Cnt7LSBpZiAuVGlGbGFzaFN0YXR1c0FkZHJzfX0KICAtICd0aWZsYXNoLnJ1bGVzLnltbCcKe3stIGVuZH19Cnt7LSBpZiAuUHVtcEFkZHJzfX0KICAtICdiaW5sb2cucnVsZXMueW1sJwp7ey0gZW5kfX0Ke3stIGlmIC5DRENBZGRyc319CiAgLSAndGljZGMucnVsZXMueW1sJwp7ey0gZW5kfX0Ke3stIGlmIC5LYWZrYUFkZHJzfX0KICAtICdrYWZrYS5ydWxlcy55bWwnCnt7LSBlbmR9fQp7ey0gaWYgLkxpZ2h0bmluZ0FkZHJzfX0KICAtICdsaWdodG5pbmcucnVsZXMueW1sJwp7ey0gZW5kfX0Ke3stIGlmIC5ETVdvcmtlckFkZHJzfX0KICAtICdkbV93b3JrZXIucnVsZXMueW1sJwp7ey0gZW5kfX0Ke3stIGlmIC5ETU1hc3RlckFkZHJzfX0KICAtICdkbV9tYXN0ZXIucnVsZXMueW1sJwp7ey0gZW5kfX0KCnt7LSBpZiAuQWxlcnRtYW5hZ2VyQWRkcnN9fQphbGVydGluZzoKIGFsZXJ0bWFuYWdlcnM6CiAtIHN0YXRpY19jb25maWdzOgogICAtIHRhcmdldHM6Cnt7LSByYW5nZSAuQWxlcnRtYW5hZ2VyQWRkcnN9fQogICAgIC0gJ3t7Ln19Jwp7ey0gZW5kfX0Ke3stIGVuZH19CgpzY3JhcGVfY29uZmlnczoKe3stIGlmIC5QdXNoZ2F0ZXdheUFkZHJ9fQogIC0gam9iX25hbWU6ICdvdmVyd3JpdHRlbi1jbHVzdGVyJwogICAgc2NyYXBlX2ludGVydmFsOiAxNXMKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKICAgIHN0YXRpY19jb25maWdzOgogICAgICAtIHRhcmdldHM6IFsne3suUHVzaGdhdGV3YXlBZGRyfX0nXQoKICAtIGpvYl9uYW1lOiAiYmxhY2tib3hfZXhwb3J0ZXJfaHR0cCIKICAgIHNjcmFwZV9pbnRlcnZhbDogMzBzCiAgICBtZXRyaWNzX3BhdGg6IC9wcm9iZQogICAgcGFyYW1zOgogICAgICBtb2R1bGU6IFtodHRwXzJ4eF0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAgICAtICdodHRwOi8ve3suUHVzaGdhdGV3YXlBZGRyfX0vbWV0cmljcycKICAgIHJlbGFiZWxfY29uZmlnczoKICAgICAgLSBzb3VyY2VfbGFiZWxzOiBbX19hZGRyZXNzX19dCiAgICAgICAgdGFyZ2V0X2xhYmVsOiBfX3BhcmFtX3RhcmdldAogICAgICAtIHNvdXJjZV9sYWJlbHM6IFtfX3BhcmFtX3RhcmdldF0KICAgICAgICB0YXJnZXRfbGFiZWw6IGluc3RhbmNlCiAgICAgIC0gdGFyZ2V0X2xhYmVsOiBfX2FkZHJlc3NfXwogICAgICAgIHJlcGxhY2VtZW50OiB7ey5CbGFja2JveEFkZHJ9fQp7ey0gZW5kfX0Ke3stIGlmIC5MaWdodG5pbmdBZGRyc319CiAgLSBqb2JfbmFtZTogImxpZ2h0bmluZyIKe3stIGlmIC5UTFNFbmFibGVkfX0KICAgIHNjaGVtZTogaHR0cHMKICAgIHRsc19jb25maWc6CiAgICAgIGluc2VjdXJlX3NraXBfdmVyaWZ5OiBmYWxzZQogICAgICBjYV9maWxlOiAuLi90bHMvY2EuY3J0CiAgICAgIGNlcnRfZmlsZTogLi4vdGxzL3Byb21ldGhldXMuY3J0CiAgICAgIGtleV9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5wZW0Ke3stIGVuZH19CiAgICBzdGF0aWNfY29uZmlnczoKICAgICAgLSB0YXJnZXRzOiBbJ3t7aW5kZXggLkxpZ2h0bmluZ0FkZHJzIDB9fSddCnt7LSBlbmR9fQogIC0gam9iX25hbWU6ICJvdmVyd3JpdHRlbi1ub2RlcyIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgp7ey0gcmFuZ2UgLk5vZGVFeHBvcnRlckFkZHJzfX0KICAgICAgLSAne3sufX0nCnt7LSBlbmR9fQogIC0gam9iX25hbWU6ICJ0aWRiIgogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwp7ey0gaWYgLlRMU0VuYWJsZWR9fQogICAgc2NoZW1lOiBodHRwcwogICAgdGxzX2NvbmZpZzoKICAgICAgaW5zZWN1cmVfc2tpcF92ZXJpZnk6IGZhbHNlCiAgICAgIGNhX2ZpbGU6IC4uL3Rscy9jYS5jcnQKICAgICAgY2VydF9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5jcnQKICAgICAga2V5X2ZpbGU6IC4uL3Rscy9wcm9tZXRoZXVzLnBlbQp7ey0gZW5kfX0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgp7ey0gcmFuZ2UgLlRpREJTdGF0dXNBZGRyc319CiAgICAgIC0gJ3t7Ln19Jwp7ey0gZW5kfX0KICAtIGpvYl9uYW1lOiAidGlrdiIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKe3stIGlmIC5UTFNFbmFibGVkfX0KICAgIHNjaGVtZTogaHR0cHMKICAgIHRsc19jb25maWc6CiAgICAgIGluc2VjdXJlX3NraXBfdmVyaWZ5OiBmYWxzZQogICAgICBjYV9maWxlOiAuLi90bHMvY2EuY3J0CiAgICAgIGNlcnRfZmlsZTogLi4vdGxzL3Byb21ldGhldXMuY3J0CiAgICAgIGtleV9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5wZW0Ke3stIGVuZH19CiAgICBzdGF0aWNfY29uZmlnczoKICAgIC0gdGFyZ2V0czoKe3stIHJhbmdlIC5UaUtWU3RhdHVzQWRkcnN9fQogICAgICAtICd7ey59fScKe3stIGVuZH19CiAgLSBqb2JfbmFtZTogInBkIgogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwp7ey0gaWYgLlRMU0VuYWJsZWR9fQogICAgc2NoZW1lOiBodHRwcwogICAgdGxzX2NvbmZpZzoKICAgICAgaW5zZWN1cmVfc2tpcF92ZXJpZnk6IGZhbHNlCiAgICAgIGNhX2ZpbGU6IC4uL3Rscy9jYS5jcnQKICAgICAgY2VydF9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5jcnQKICAgICAga2V5X2ZpbGU6IC4uL3Rscy9wcm9tZXRoZXVzLnBlbQp7ey0gZW5kfX0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgp7ey0gcmFuZ2UgLlBEQWRkcnN9fQogICAgICAtICd7ey59fScKe3stIGVuZH19Cnt7LSBpZiAuVGlGbGFzaFN0YXR1c0FkZHJzfX0KICAtIGpvYl9uYW1lOiAidGlmbGFzaCIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKe3stIGlmIC5UTFNFbmFibGVkfX0KICAgIHNjaGVtZTogaHR0cHMKICAgIHRsc19jb25maWc6CiAgICAgIGluc2VjdXJlX3NraXBfdmVyaWZ5OiBmYWxzZQogICAgICBjYV9maWxlOiAuLi90bHMvY2EuY3J0CiAgICAgIGNlcnRfZmlsZTogLi4vdGxzL3Byb21ldGhldXMuY3J0CiAgICAgIGtleV9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5wZW0Ke3stIGVuZH19CiAgICBzdGF0aWNfY29uZmlnczoKICAgIC0gdGFyZ2V0czoKICAgIHt7LSByYW5nZSAuVGlGbGFzaFN0YXR1c0FkZHJzfX0KICAgICAgIC0gJ3t7Ln19JwogICAge3stIGVuZH19CiAgICB7ey0gcmFuZ2UgLlRpRmxhc2hMZWFybmVyU3RhdHVzQWRkcnN9fQogICAgICAgLSAne3sufX0nCiAgICB7ey0gZW5kfX0Ke3stIGVuZH19Cnt7LSBpZiAuUHVtcEFkZHJzfX0Ke3stIGlmIC5LYWZrYUV4cG9ydGVyQWRkcn19CiAgLSBqb2JfbmFtZTogJ2thZmthX2V4cG9ydGVyJwogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwogICAgc3RhdGljX2NvbmZpZ3M6CiAgICAtIHRhcmdldHM6CiAgICAgIC0gJ3t7LkthZmthRXhwb3J0ZXJBZGRyfX0nCnt7LSBlbmR9fQogIC0gam9iX25hbWU6ICdwdW1wJwogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwp7ey0gaWYgLlRMU0VuYWJsZWR9fQogICAgc2NoZW1lOiBodHRwcwogICAgdGxzX2NvbmZpZzoKICAgICAgaW5zZWN1cmVfc2tpcF92ZXJpZnk6IGZhbHNlCiAgICAgIGNhX2ZpbGU6IC4uL3Rscy9jYS5jcnQKICAgICAgY2VydF9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5jcnQKICAgICAga2V5X2ZpbGU6IC4uL3Rscy9wcm9tZXRoZXVzLnBlbQp7ey0gZW5kfX0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5QdW1wQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogIC0gam9iX25hbWU6ICdkcmFpbmVyJwogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwp7ey0gaWYgLlRMU0VuYWJsZWR9fQogICAgc2NoZW1lOiBodHRwcwogICAgdGxzX2NvbmZpZzoKICAgICAgaW5zZWN1cmVfc2tpcF92ZXJpZnk6IGZhbHNlCiAgICAgIGNhX2ZpbGU6IC4uL3Rscy9jYS5jcnQKICAgICAgY2VydF9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5jcnQKICAgICAga2V5X2ZpbGU6IC4uL3Rscy9wcm9tZXRoZXVzLnBlbQp7ey0gZW5kfX0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5EcmFpbmVyQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogIC0gam9iX25hbWU6ICJwb3J0X3Byb2JlIgogICAgc2NyYXBlX2ludGVydmFsOiAzMHMKICAgIG1ldHJpY3NfcGF0aDogL3Byb2JlCiAgICBwYXJhbXM6CiAgICAgIG1vZHVsZTogW3RjcF9jb25uZWN0XQogICAgc3RhdGljX2NvbmZpZ3M6Cnt7LSBpZiAuS2Fma2FBZGRyc319CiAgICAtIHRhcmdldHM6CiAgICB7ey0gcmFuZ2UgLkthZmthQWRkcnN9fQogICAgICAgIC0gJ3t7Ln19JwogICAge3stIGVuZH19CiAgICAgIGxhYmVsczoKICAgICAgICBncm91cDogJ2thZmthJwp7ey0gZW5kfX0Ke3stIGlmIC5ab29rZWVwZXJBZGRyc319CiAgICAtIHRhcmdldHM6CiAgICB7ey0gcmFuZ2UgLlpvb2tlZXBlckFkZHJzfX0KICAgICAgLSAne3sufX0nCiAgICB7ey0gZW5kfX0KICAgICAgbGFiZWxzOgogICAgICAgIGdyb3VwOiAnem9va2VlcGVyJwp7ey0gZW5kfX0KICAgIC0gdGFyZ2V0czoKe3stIHJhbmdlIC5QdW1wQWRkcnN9fQogICAgICAtICd7ey59fScKe3stIGVuZH19CiAgICAgIGxhYmVsczoKICAgICAgICBncm91cDogJ3B1bXAnCiAgICAtIHRhcmdldHM6CiAgICB7ey0gcmFuZ2UgLkRyYWluZXJBZGRyc319CiAgICAgIC0gJ3t7Ln19JwogICAge3stIGVuZH19CiAgICAgIGxhYmVsczoKICAgICAgICBncm91cDogJ2RyYWluZXInCnt7LSBpZiAuS2Fma2FFeHBvcnRlckFkZHJ9fQogICAgLSB0YXJnZXRzOgogICAgICAtICd7ey5LYWZrYUV4cG9ydGVyQWRkcn19JwogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICdrYWZrYV9leHBvcnRlcicKe3stIGVuZH19CiAgICByZWxhYmVsX2NvbmZpZ3M6CiAgICAgIC0gc291cmNlX2xhYmVsczogW19fYWRkcmVzc19fXQogICAgICAgIHRhcmdldF9sYWJlbDogX19wYXJhbV90YXJnZXQKICAgICAgLSBzb3VyY2VfbGFiZWxzOiBbX19wYXJhbV90YXJnZXRdCiAgICAgICAgdGFyZ2V0X2xhYmVsOiBpbnN0YW5jZQogICAgICAtIHRhcmdldF9sYWJlbDogX19hZGRyZXNzX18KICAgICAgICByZXBsYWNlbWVudDoge3suQmxhY2tib3hBZGRyfX0Ke3stIGVuZH19Cnt7LSBpZiAuQ0RDQWRkcnN9fQogIC0gam9iX25hbWU6ICJ0aWNkYyIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKe3stIGlmIC5UTFNFbmFibGVkfX0KICAgIHNjaGVtZTogaHR0cHMKICAgIHRsc19jb25maWc6CiAgICAgIGluc2VjdXJlX3NraXBfdmVyaWZ5OiBmYWxzZQogICAgICBjYV9maWxlOiAuLi90bHMvY2EuY3J0CiAgICAgIGNlcnRfZmlsZTogLi4vdGxzL3Byb21ldGhldXMuY3J0CiAgICAgIGtleV9maWxlOiAuLi90bHMvcHJvbWV0aGV1cy5wZW0Ke3stIGVuZH19CiAgICBzdGF0aWNfY29uZmlnczoKICAgIC0gdGFyZ2V0czoKe3stIHJhbmdlIC5DRENBZGRyc319CiAgICAgIC0gJ3t7Ln19Jwp7ey0gZW5kfX0Ke3stIGVuZH19CiAgLSBqb2JfbmFtZTogInRpZGJfcG9ydF9wcm9iZSIKICAgIHNjcmFwZV9pbnRlcnZhbDogMzBzCiAgICBtZXRyaWNzX3BhdGg6IC9wcm9iZQogICAgcGFyYW1zOgogICAgICBtb2R1bGU6IFt0Y3BfY29ubmVjdF0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5UaURCU3RhdHVzQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICd0aWRiJwogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5UaUtWU3RhdHVzQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICd0aWt2JwogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5QREFkZHJzfX0KICAgICAgLSAne3sufX0nCiAgICB7ey0gZW5kfX0KICAgICAgbGFiZWxzOgogICAgICAgIGdyb3VwOiAncGQnCnt7LSBpZiAuVGlGbGFzaFN0YXR1c0FkZHJzfX0KICAgIC0gdGFyZ2V0czoKICAgIHt7LSByYW5nZSAuVGlGbGFzaFN0YXR1c0FkZHJzfX0KICAgICAgIC0gJ3t7Ln19JwogICAge3stIGVuZH19CiAgICAgIGxhYmVsczoKICAgICAgICBncm91cDogJ3RpZmxhc2gnCnt7LSBlbmR9fQp7ey0gaWYgLlB1c2hnYXRld2F5QWRkcn19CiAgICAtIHRhcmdldHM6CiAgICAgIC0gJ3t7LlB1c2hnYXRld2F5QWRkcn19JwogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICdwdXNoZ2F0ZXdheScKe3stIGVuZH19Cnt7LSBpZiAuR3JhZmFuYUFkZHJ9fQogICAgLSB0YXJnZXRzOgogICAgICAtICd7ey5HcmFmYW5hQWRkcn19JwogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICdncmFmYW5hJwp7ey0gZW5kfX0KICAgIC0gdGFyZ2V0czoKICAgIHt7LSByYW5nZSAuTm9kZUV4cG9ydGVyQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICdub2RlX2V4cG9ydGVyJwogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5CbGFja2JveEV4cG9ydGVyQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQogICAgICBsYWJlbHM6CiAgICAgICAgZ3JvdXA6ICdibGFja2JveF9leHBvcnRlcicKICAgIHJlbGFiZWxfY29uZmlnczoKICAgICAgLSBzb3VyY2VfbGFiZWxzOiBbX19hZGRyZXNzX19dCiAgICAgICAgdGFyZ2V0X2xhYmVsOiBfX3BhcmFtX3RhcmdldAogICAgICAtIHNvdXJjZV9sYWJlbHM6IFtfX3BhcmFtX3RhcmdldF0KICAgICAgICB0YXJnZXRfbGFiZWw6IGluc3RhbmNlCiAgICAgIC0gdGFyZ2V0X2xhYmVsOiBfX2FkZHJlc3NfXwogICAgICAgIHJlcGxhY2VtZW50OiB7ey5CbGFja2JveEFkZHJ9fQp7ey0gcmFuZ2UgJGFkZHIgOj0gLkJsYWNrYm94RXhwb3J0ZXJBZGRyc319CiAgLSBqb2JfbmFtZTogImJsYWNrYm94X2V4cG9ydGVyX3t7JGFkZHJ9fV9pY21wIgogICAgc2NyYXBlX2ludGVydmFsOiA2cwogICAgbWV0cmljc19wYXRoOiAvcHJvYmUKICAgIHBhcmFtczoKICAgICAgbW9kdWxlOiBbaWNtcF0KICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlICQuTW9uaXRvcmVkU2VydmVyc319CiAgICAgIC0gJ3t7Ln19JwogICAge3stIGVuZH19CiAgICByZWxhYmVsX2NvbmZpZ3M6CiAgICAgIC0gc291cmNlX2xhYmVsczogW19fYWRkcmVzc19fXQogICAgICAgIHJlZ2V4OiAoLiopKDo4MCk/CiAgICAgICAgdGFyZ2V0X2xhYmVsOiBfX3BhcmFtX3RhcmdldAogICAgICAgIHJlcGxhY2VtZW50OiAkezF9CiAgICAgIC0gc291cmNlX2xhYmVsczogW19fcGFyYW1fdGFyZ2V0XQogICAgICAgIHJlZ2V4OiAoLiopCiAgICAgICAgdGFyZ2V0X2xhYmVsOiBwaW5nCiAgICAgICAgcmVwbGFjZW1lbnQ6ICR7MX0KICAgICAgLSBzb3VyY2VfbGFiZWxzOiBbXQogICAgICAgIHJlZ2V4OiAuKgogICAgICAgIHRhcmdldF9sYWJlbDogX19hZGRyZXNzX18KICAgICAgICByZXBsYWNlbWVudDoge3skYWRkcn19Cnt7LSBlbmR9fQoKe3stIGlmIC5ETU1hc3RlckFkZHJzfX0KICAtIGpvYl9uYW1lOiAiZG1fbWFzdGVyIgogICAgaG9ub3JfbGFiZWxzOiB0cnVlICMgZG9uJ3Qgb3ZlcndyaXRlIGpvYiAmIGluc3RhbmNlIGxhYmVscwogICAgc3RhdGljX2NvbmZpZ3M6CiAgICAtIHRhcmdldHM6CiAgICB7ey0gcmFuZ2UgLkRNTWFzdGVyQWRkcnN9fQogICAgICAtICd7ey59fScKICAgIHt7LSBlbmR9fQp7ey0gZW5kfX0KCnt7LSBpZiAuRE1Xb3JrZXJBZGRyc319CiAgLSBqb2JfbmFtZTogImRtX3dvcmtlciIKICAgIGhvbm9yX2xhYmVsczogdHJ1ZSAjIGRvbid0IG92ZXJ3cml0ZSBqb2IgJiBpbnN0YW5jZSBsYWJlbHMKICAgIHN0YXRpY19jb25maWdzOgogICAgLSB0YXJnZXRzOgogICAge3stIHJhbmdlIC5ETVdvcmtlckFkZHJzfX0KICAgICAgLSAne3sufX0nCiAgICB7ey0gZW5kfX0Ke3stIGVuZH19Cg==" autogenFiles["/templates/config/spark-defaults.conf.tpl"] = "IwojIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQojIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAojIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KIyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAojICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCiMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKIwojICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAojCiMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQojIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAojIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgojCgojIERlZmF1bHQgc3lzdGVtIHByb3BlcnRpZXMgaW5jbHVkZWQgd2hlbiBydW5uaW5nIHNwYXJrLXN1Ym1pdC4KIyBUaGlzIGlzIHVzZWZ1bCBmb3Igc2V0dGluZyBkZWZhdWx0IGVudmlyb25tZW50YWwgc2V0dGluZ3MuCgojIEV4YW1wbGU6CiNzcGFyay5ldmVudExvZy5kaXI6ICJoZGZzOi8vbmFtZW5vZGU6ODAyMS9kaXJlY3RvcnkiCiMgc3BhcmsuZXhlY3V0b3IuZXh0cmFKYXZhT3B0aW9ucyAgLVhYOitQcmludEdDRGV0YWlscyAtRGtleT12YWx1ZSAtRG51bWJlcnM9Im9uZSB0d28gdGhyZWUiCgp7ey0gZGVmaW5lICJQRExpc3QifX0KICB7ey0gcmFuZ2UgJGlkeCwgJHBkIDo9IC59fQogICAge3stIGlmIGVxICRpZHggMH19CiAgICAgIHt7LSAkcGR9fQogICAge3stIGVsc2UgLX19CiAgICAgICx7eyRwZH19CiAgICB7ey0gZW5kfX0KICB7ey0gZW5kfX0Ke3stIGVuZH19Cgp7eyByYW5nZSAkaywgJHYgOj0gLkN1c3RvbUZpZWxkc319Cnt7ICRrIH19ICAge3sgJHYgfX0Ke3stIGVuZCB9fQpzcGFyay5zcWwuZXh0ZW5zaW9ucyAgIG9yZy5hcGFjaGUuc3Bhcmsuc3FsLlRpRXh0ZW5zaW9ucwoKe3stIGlmIC5UaVNwYXJrTWFzdGVyc319CnNwYXJrLm1hc3RlciAgIHNwYXJrOi8ve3suVGlTcGFya01hc3RlcnN9fQp7ey0gZW5kfX0KCnNwYXJrLnRpc3BhcmsucGQuYWRkcmVzc2VzIHt7dGVtcGxhdGUgIlBETGlzdCIgLkVuZHBvaW50c319Cg==" autogenFiles["/templates/config/spark-log4j.properties.tpl"] = "IwojIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUgb3IgbW9yZQojIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUgZGlzdHJpYnV0ZWQgd2l0aAojIHRoaXMgd29yayBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiByZWdhcmRpbmcgY29weXJpZ2h0IG93bmVyc2hpcC4KIyBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZSB0byBZb3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMAojICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoCiMgdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKIwojICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAojCiMgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQojIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiMgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCiMgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAojIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgojCgojIFNldCBldmVyeXRoaW5nIHRvIGJlIGxvZ2dlZCB0byB0aGUgY29uc29sZQpsb2c0ai5yb290Q2F0ZWdvcnk9SU5GTywgY29uc29sZQpsb2c0ai5hcHBlbmRlci5jb25zb2xlPW9yZy5hcGFjaGUubG9nNGouQ29uc29sZUFwcGVuZGVyCmxvZzRqLmFwcGVuZGVyLmNvbnNvbGUudGFyZ2V0PVN5c3RlbS5lcnIKbG9nNGouYXBwZW5kZXIuY29uc29sZS5sYXlvdXQ9b3JnLmFwYWNoZS5sb2c0ai5QYXR0ZXJuTGF5b3V0CmxvZzRqLmFwcGVuZGVyLmNvbnNvbGUubGF5b3V0LkNvbnZlcnNpb25QYXR0ZXJuPSVke3l5L01NL2RkIEhIOm1tOnNzfSAlcCAlY3sxfTogJW0lbgoKIyBTZXQgdGhlIGRlZmF1bHQgc3Bhcmstc2hlbGwgbG9nIGxldmVsIHRvIFdBUk4uIFdoZW4gcnVubmluZyB0aGUgc3Bhcmstc2hlbGwsIHRoZQojIGxvZyBsZXZlbCBmb3IgdGhpcyBjbGFzcyBpcyB1c2VkIHRvIG92ZXJ3cml0ZSB0aGUgcm9vdCBsb2dnZXIncyBsb2cgbGV2ZWwsIHNvIHRoYXQKIyB0aGUgdXNlciBjYW4gaGF2ZSBkaWZmZXJlbnQgZGVmYXVsdHMgZm9yIHRoZSBzaGVsbCBhbmQgcmVndWxhciBTcGFyayBhcHBzLgpsb2c0ai5sb2dnZXIub3JnLmFwYWNoZS5zcGFyay5yZXBsLk1haW49V0FSTgoKIyBTZXR0aW5ncyB0byBxdWlldCB0aGlyZCBwYXJ0eSBsb2dzIHRoYXQgYXJlIHRvbyB2ZXJib3NlCmxvZzRqLmxvZ2dlci5vcmcuc3BhcmtfcHJvamVjdC5qZXR0eT1XQVJOCmxvZzRqLmxvZ2dlci5vcmcuc3BhcmtfcHJvamVjdC5qZXR0eS51dGlsLmNvbXBvbmVudC5BYnN0cmFjdExpZmVDeWNsZT1FUlJPUgpsb2c0ai5sb2dnZXIub3JnLmFwYWNoZS5zcGFyay5yZXBsLlNwYXJrSU1haW4kZXhwclR5cGVyPUlORk8KbG9nNGoubG9nZ2VyLm9yZy5hcGFjaGUuc3BhcmsucmVwbC5TcGFya0lMb29wJFNwYXJrSUxvb3BJbnRlcnByZXRlcj1JTkZPCmxvZzRqLmxvZ2dlci5vcmcuYXBhY2hlLnBhcnF1ZXQ9RVJST1IKbG9nNGoubG9nZ2VyLnBhcnF1ZXQ9RVJST1IKCiMgU1BBUkstOTE4MzogU2V0dGluZ3MgdG8gYXZvaWQgYW5ub3lpbmcgbWVzc2FnZXMgd2hlbiBsb29raW5nIHVwIG5vbmV4aXN0ZW50IFVERnMgaW4gU3BhcmtTUUwgd2l0aCBIaXZlIHN1cHBvcnQKbG9nNGoubG9nZ2VyLm9yZy5hcGFjaGUuaGFkb29wLmhpdmUubWV0YXN0b3JlLlJldHJ5aW5nSE1TSGFuZGxlcj1GQVRBTApsb2c0ai5sb2dnZXIub3JnLmFwYWNoZS5oYWRvb3AuaGl2ZS5xbC5leGVjLkZ1bmN0aW9uUmVnaXN0cnk9RVJST1IKCiMgdGlzcGFyayBkaXNhYmxlICJXQVJOIE9iamVjdFN0b3JlOjU2OCAtIEZhaWxlZCB0byBnZXQgZGF0YWJhc2UiCmxvZzRqLmxvZ2dlci5vcmcuYXBhY2hlLmhhZG9vcC5oaXZlLm1ldGFzdG9yZS5PYmplY3RTdG9yZT1FUlJPUgo=" diff --git a/pkg/cluster/spec/grafana.go b/pkg/cluster/spec/grafana.go index ac403bd472..e755b7e94d 100644 --- a/pkg/cluster/spec/grafana.go +++ b/pkg/cluster/spec/grafana.go @@ -41,6 +41,8 @@ type GrafanaSpec struct { DashboardDir string `yaml:"dashboard_dir,omitempty" validate:"dashboard_dir:editable"` Username string `yaml:"username,omitempty" default:"admin" validate:"username:editable"` Password string `yaml:"password,omitempty" default:"admin" validate:"password:editable"` + AnonymousEnable bool `yaml:"anonymous_enable" default:"false" validate:"anonymous_enable:editable"` + RootURL string `yaml:"root_url" validate:"root_url:editable"` } // Role returns the component role of the instance @@ -148,6 +150,8 @@ func (i *GrafanaInstance) InitConfig( WithPort(uint64(i.GetPort())). WithUsername(spec.Username). WithPassword(spec.Password). + WithAnonymousenable(spec.AnonymousEnable). + WithRootURL(spec.RootURL). ConfigToFile(fp); err != nil { return err } diff --git a/pkg/cluster/template/config/grafana.go b/pkg/cluster/template/config/grafana.go index 06b40aac95..b4440db261 100644 --- a/pkg/cluster/template/config/grafana.go +++ b/pkg/cluster/template/config/grafana.go @@ -24,11 +24,13 @@ import ( // GrafanaConfig represent the data to generate Grafana config type GrafanaConfig struct { - DeployDir string - IP string - Port uint64 - Username string // admin_user - Password string // admin_password + DeployDir string + IP string + Port uint64 + Username string // admin_user + Password string // admin_password + AnonymousEnable bool // anonymous enable + RootURL string //root_url } // NewGrafanaConfig returns a GrafanaConfig @@ -58,6 +60,18 @@ func (c *GrafanaConfig) WithPassword(passwd string) *GrafanaConfig { return c } +// WithAnonymousenable sets anonymousEnable of anonymousEnable +func (c *GrafanaConfig) WithAnonymousenable(anonymousEnable bool) *GrafanaConfig { + c.AnonymousEnable = anonymousEnable + return c +} + +// WithRootURL sets rootURL of root url +func (c *GrafanaConfig) WithRootURL(rootURL string) *GrafanaConfig { + c.RootURL = rootURL + return c +} + // Config generate the config file data. func (c *GrafanaConfig) Config() ([]byte, error) { fp := path.Join("/templates", "config", "grafana.ini.tpl") diff --git a/templates/config/grafana.ini.tpl b/templates/config/grafana.ini.tpl index 26c58be573..cac6f8d552 100644 --- a/templates/config/grafana.ini.tpl +++ b/templates/config/grafana.ini.tpl @@ -46,7 +46,10 @@ domain = {{.IP}} ;enforce_domain = false # The full public facing url -;root_url = %(protocol)s://%(domain)s:%(http_port)s/ +{{- if .RootURL}} +root_url = {{.RootURL}} +server_from_sub_path = true +{{- end}} # Log web requests ;router_logging = false @@ -166,8 +169,9 @@ admin_password = {{.Password}} #################################### Anonymous Auth ########################## [auth.anonymous] -# enable anonymous access -;enabled = false +{{- if .AnonymousEnable}} +enabled = true +{{- end}} # specify organization name that should be used for unauthenticated users ;org_name = Main Org.