From deadfc95fd030523dacd68fe38fee8632cd2e7f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Garc=C3=ADa=20Montoro?= Date: Tue, 3 Dec 2024 17:35:11 +0100 Subject: [PATCH] MM-60630: Automated loadtests configuration templates (#860) * Remove proxy's linux-tools-aws-lts-22.04 as well * Format cluster.tf * make assets * Add CI base configuration * Use the latest load-test tool release * Use an empty string instead of "undefined" --- deployment/terraform/assets/bindata.go | 12 +- deployment/terraform/assets/cluster.tf | 6 +- .../terraform/assets/provisioners/proxy.sh | 2 +- examples/config/README.md | 1 + examples/config/ci/comparison.json | 22 +++ examples/config/ci/config.json | 46 ++++++ examples/config/ci/coordinator.json | 102 ++++++++++++ examples/config/ci/deployer.json | 153 ++++++++++++++++++ 8 files changed, 334 insertions(+), 10 deletions(-) create mode 100644 examples/config/ci/comparison.json create mode 100644 examples/config/ci/config.json create mode 100644 examples/config/ci/coordinator.json create mode 100644 examples/config/ci/deployer.json diff --git a/deployment/terraform/assets/bindata.go b/deployment/terraform/assets/bindata.go index 1ad795240..3ae0eea9a 100644 --- a/deployment/terraform/assets/bindata.go +++ b/deployment/terraform/assets/bindata.go @@ -1,7 +1,7 @@ // Code generated by go-bindata. DO NOT EDIT. // sources: // .terraform.lock.hcl (4.546kB) -// cluster.tf (23.867kB) +// cluster.tf (23.865kB) // coordinator_dashboard_tmpl.json (3.475kB) // dashboard.yaml (231B) // datasource.yaml (415B) @@ -16,7 +16,7 @@ // provisioners/job.sh (1.044kB) // provisioners/keycloak.sh (1.065kB) // provisioners/metrics.sh (2.767kB) -// provisioners/proxy.sh (2.167kB) +// provisioners/proxy.sh (2.141kB) // redis_dashboard_data.json (34.045kB) // saml-idp.crt (963B) // variables.tf (2.867kB) @@ -108,7 +108,7 @@ func TerraformLockHcl() (*asset, error) { return a, nil } -var _clusterTf = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3c\x6b\x6f\x1c\x37\x92\xdf\xf5\x2b\x78\x6d\x63\x61\xed\x79\x1e\xd2\xc8\xb1\x3d\x58\x6d\xa0\xdd\x38\xc6\x62\xe3\x5b\x23\xf6\xdd\x7e\x70\x84\x06\x87\x5d\x33\x43\xab\xbb\xc9\x90\x6c\xc9\x13\x43\xf7\xdb\x0f\x7c\x76\x4f\xbf\xa6\x47\xcf\x38\xb8\x04\x51\x24\x56\x15\x59\x55\xac\x2a\x56\xf1\xd1\x0a\x84\xc0\x4b\x26\x32\xf4\xf5\x00\x21\x01\xbf\x16\x54\x40\x12\x73\xc1\x2e\x69\x02\x42\x9a\x66\x84\xf0\x95\x44\xa7\xee\x77\x84\x24\x2b\x04\x01\x84\x4e\x51\xb4\xc6\x72\x4d\x09\x13\x7c\x82\xaf\x64\xe4\xe0\x97\x20\x24\x65\xb9\x86\xff\xef\x5f\xd1\x8b\xf1\xec\xb5\x85\x5c\x1f\xe8\xff\xae\x0f\x0e\x7c\xf7\x28\xd2\x54\x6e\xe8\x95\x26\x41\xa7\xe8\x12\x8b\x31\xbe\x92\xb1\x6d\x39\x40\x88\x0b\xb6\xa4\x29\x54\x40\xa1\xe5\x14\x45\x11\xfa\x1e\xe5\x45\x9a\xa2\x79\x1d\x7c\x80\x50\x02\x4b\x5c\xa4\x2a\x56\x78\xe5\x45\x31\xbf\x9e\xa2\x0c\xc4\x0a\x9e\x39\x86\xbd\x60\x08\x45\x7f\x4f\x0b\xa9\x40\xfc\x17\xce\x20\x72\x23\x12\xdb\x14\xe7\x38\x03\x87\x78\xfd\xdc\x8b\xaa\xe1\x85\x54\x2c\x33\x63\x98\xd6\x43\x2f\x66\x82\x15\x36\x22\x3a\x59\x22\x14\x91\x42\x08\xc8\x55\x84\xbe\x6e\xc1\x09\x4e\x53\x10\x31\x4d\x20\x57\x54\x6d\xda\x11\xd7\x4a\xf1\x08\x45\xd9\x26\xe6\xc5\x22\xa5\x24\xa6\xdc\xea\xae\x10\xa9\x99\x0b\xa5\xb8\x9c\x4f\x26\x64\x0d\xe4\x82\xf2\x31\xce\xf0\x6f\x2c\xc7\x57\x72\x4c\x58\x16\x95\x0c\xc1\x17\x05\x22\xc7\x69\x84\x22\x2e\xe8\x25\x56\x10\x7a\xe2\x82\xad\x04\xce\xd0\x29\xfa\x14\xc9\x75\xf4\x1c\x45\x23\xa2\x7f\x02\x59\x33\xf4\xf5\x97\x5f\x7e\x89\x28\xd7\x3f\xe7\xfa\xc7\xd3\x67\x6b\x26\x95\xd6\x0a\x1a\xd1\x43\xdd\x72\x1d\x9d\xeb\x61\x52\x46\x70\x6a\xf5\x1d\x38\xd5\x33\x4b\xd6\x2c\xe3\xcf\x34\x13\x63\xcd\xeb\xb8\x2a\xc9\x58\x80\xe4\x2c\x97\x10\x2f\x58\xb2\x39\x34\xbc\x78\xde\xd0\x29\x32\x44\x9e\xf1\x71\x09\xd2\x64\x45\xaa\xc6\x94\xeb\x81\x05\x38\xd3\x34\x4a\xbd\x80\x4d\xcc\x31\x15\x11\x8a\x2e\x60\x63\x05\xd4\x6d\x86\x63\x63\xbd\x4f\xbf\xd6\xe7\xf7\x7a\x74\x01\x1b\x43\x54\x32\x7f\x01\x1b\x74\x8a\xb4\x45\x3d\xd3\xe8\x52\xae\xe3\x12\x72\xd8\x1c\x97\xe6\x52\xe1\x9c\x40\x84\x22\xcc\x79\x2c\x41\x5c\x82\xb0\xc3\x3b\xe3\xb3\xf6\xa6\x6d\xac\x8b\x0b\xcc\xf9\xe8\xe9\x57\xc2\x8a\x5c\x8d\x69\x9e\xc0\x97\xeb\xc8\x58\xd5\x01\x42\x84\xe5\x39\x10\xa5\xbd\xc5\xf6\xf3\x04\x7d\x5c\x83\x37\x75\x54\x48\xad\xa3\x0c\xd0\x92\x09\xc4\x0a\x81\xce\xde\xfd\xc3\x1a\xfe\x86\x9b\xe1\xa4\x5c\x5b\x77\xd4\x98\xba\xa1\x58\x14\xb9\x2a\x6c\x9b\x9e\x51\x74\x8a\x24\xa4\xcb\x71\x98\x1b\x3f\x32\xce\x28\x6a\xfc\x53\x7a\x25\xce\xe8\x01\x42\x5e\xfa\xd8\x8c\xb7\x8d\xc4\x79\xbc\x05\xde\x9e\x90\x6a\x9f\xd5\xf9\x1b\x5f\xc0\x66\x4c\x13\x23\x7a\x91\xab\x0e\x06\xaa\x7d\x1b\x3c\xcd\xf0\x25\xa6\x29\x5e\xd0\x94\xaa\x4d\xfc\x1b\xcb\xa1\xc6\xf0\x6f\x9a\x5f\x9c\x95\x84\xb5\x50\xc3\x79\x8c\x95\xc2\x64\x1d\x6b\xac\x32\xac\xc8\x62\x91\x83\x8a\x69\xb2\xcd\xc7\xb3\x14\xf2\x95\x5a\x3f\xab\x4e\x67\x40\x95\xba\xbb\x43\xf4\x57\x34\x3d\x44\xdf\x23\x48\x21\x83\x5c\x3d\x53\x2c\xa5\x52\xf5\x51\x3c\x47\x15\x2b\x38\x44\x73\x13\xec\xf4\x6c\x5c\x72\x12\x4b\x20\x85\xd0\xc2\xad\x04\x2b\xb8\xa6\xd1\xae\xeb\x43\x76\x0d\xac\xbb\xfb\x34\x3d\x1f\xd3\xe4\x79\x0f\x46\xbc\x62\x52\x52\x87\x78\x80\xd0\xb9\x1e\x4b\x30\xa6\xe2\x45\xca\xc8\x45\x9c\xc0\x25\x25\xe0\x4c\xef\x92\xa5\x45\x06\xb1\xa4\xbf\x79\x9d\x55\x91\x4c\xbb\x8c\x31\xe7\x55\x64\x67\x87\x0d\x64\x67\x10\xc6\xd2\xcc\x02\xa1\xd7\x10\xbd\x46\x68\xa5\x47\x6e\x40\xbf\xf4\x94\x13\x99\x61\xa5\x40\x64\x4c\xaa\x38\xa5\x04\x74\x04\x71\xb3\xa4\xc3\xbf\x54\x34\xc7\xca\x2d\x46\x93\x35\xcb\x60\x62\xcd\x7d\x52\xd2\x55\xba\x18\xb9\x2e\xa2\x56\x46\x04\x64\x4c\xc1\x08\xbe\x00\x09\xfc\x10\x41\xb9\xf6\x98\xa8\x82\x29\x27\x98\xf3\xb1\x75\x33\xb3\x10\x54\x22\xbd\x31\x24\x96\x52\xb2\x89\x13\x46\x8a\xcc\xc4\xf8\x28\x03\x25\x28\x91\x31\x96\x52\xab\x48\x30\x2f\xb1\x54\x58\x19\x4b\x71\xe3\xc1\x72\x09\xc4\x8c\x77\x96\xa6\xec\x2a\x3a\x30\xad\x5c\xd0\x9c\x50\xee\x83\x6e\xf0\xf6\x60\x99\xd1\x07\x10\x5a\xc9\x7e\x85\xb6\x0b\xcd\x92\xea\x15\x5e\xc7\x7a\x20\xc7\xb5\xe5\xe2\xdc\xad\xd8\xd6\x52\x4c\xb8\xb1\xa8\x52\xc9\xf9\x99\x61\xf3\x67\xcd\xe5\xb9\x97\xb1\x16\x03\x71\xe6\xa4\x08\xb2\x95\x42\x35\xfc\xbd\x33\x18\x3b\xda\x91\xa1\xd5\x0e\x5d\xea\xc7\x69\xd1\xaf\x0d\x1d\xba\x1d\xb7\x68\x76\xfc\x59\xb2\xbc\x9d\xe5\x7a\x20\xa8\xb0\x1f\x5a\x82\x04\xfd\x3c\x07\x02\xe3\x3e\x26\xa6\x54\x15\x33\xae\xaa\x65\x6c\x52\x8b\xeb\x83\x83\x27\xe8\x27\x2a\x15\x62\xcb\x90\x8a\x21\x0e\x22\xa3\x52\x1a\xfd\x2b\x7c\x01\x39\x5a\x0a\x96\x1d\x3c\x41\x7e\xb9\x5f\x51\xb5\x2e\x16\x7a\xd2\x26\x39\x88\x44\x5e\x31\x91\xc8\xc9\x06\xd4\x08\xe7\x4c\xad\x41\x8c\x48\xca\x8a\xe4\x0a\x2b\xb2\x1e\xc1\x17\xce\x84\x02\x31\x59\xa4\x6c\x31\x59\xbe\x48\x12\xb2\x3c\x99\x1d\xcf\x12\xf2\xfa\xe5\x74\x76\x72\xf2\xfa\xe8\xe8\xe8\x24\x39\x99\xbe\x3c\xc1\xf0\xdd\xcb\x63\xb2\x24\x27\x47\x47\xcb\xc9\xcf\x6f\xce\x7e\x78\xf7\x66\x9c\x25\x4f\x70\xa1\xd6\xda\x76\x88\xf1\xaa\xc1\x86\xdd\x80\xf4\x18\xb7\x35\x07\x67\xdf\xfa\x2f\x3f\x4f\xd6\x00\xff\xec\x6c\xb3\x62\x94\xce\xaa\x23\x85\x57\xf3\xb7\xa0\x7e\xf6\xf8\x91\x4f\xd3\xa2\x52\x05\x1a\xe1\x9d\xe1\xea\x07\xac\x70\x3f\xc6\x07\x85\x15\x95\x8a\x92\xf6\x9e\xf4\x5c\x59\xc4\x0a\x1c\x73\xba\xc2\x0a\xae\xf0\x66\xfe\xf6\xcd\xc7\x6a\xbb\x34\x04\xff\x66\xe2\x42\x72\xbc\xc5\x1d\x2e\x14\x93\x04\xa7\x34\x5f\xcd\x7f\x00\x1d\x53\x16\x70\x56\x28\xf6\xc1\xb6\xbd\xd5\xb1\xb9\x82\x9e\x64\x32\xa0\xfd\x0c\x3c\x75\x93\xf1\x0f\x67\xbc\xbb\x31\x3f\x62\x79\x51\xc1\x02\x72\x1c\xb0\x3e\x0a\x9c\x4b\xaa\xde\x5a\x11\xce\xcc\xea\xa7\xa7\xa8\x03\xfd\x03\x67\xea\xc7\x14\xb4\xce\x7f\x2d\x40\x56\xd1\xe4\x9a\x42\x9a\x18\x99\xdf\x0b\xa6\x6c\xca\x52\x85\x2b\x26\xf0\x0a\xbc\xb2\x34\x9e\x1b\xb5\x1f\xe9\x23\x5e\xc9\x1f\x99\xf0\x93\x5c\xe2\x52\x9c\x19\x84\x33\x62\x56\xcc\xb3\x94\x62\x19\x94\x11\xe2\x54\x47\xa0\x72\x16\xda\x30\xd9\xad\x88\xb5\x23\x4a\x39\x0a\xef\xf0\x68\xb7\xcb\x23\xb4\x5f\x14\xab\xb7\x77\x44\xb2\x32\x01\xf5\x84\x37\x4a\x42\x1d\xf1\xef\x32\xf3\xdc\x9d\x76\xba\xf4\xc0\x29\xa0\x9e\x77\x36\x53\xc9\xae\x3c\x52\xa7\x6c\xe8\x7b\x74\x84\xe6\x68\xda\x9a\xb0\x76\x65\xab\xcd\xec\xb3\x96\x7a\x36\xd3\xc8\x9d\x39\xa4\x13\x67\xcf\x3c\xd2\x53\xdd\x61\x2e\xe9\xba\x2c\xf3\x49\x93\x27\x76\x24\xd3\x5d\xcb\xeb\xb8\xb6\x56\x5a\xa7\xb8\x6d\xbe\xe9\x3a\xbd\x55\xce\x39\x3c\xd5\x73\xa3\x55\xd3\xbd\x4e\x6f\xe4\x82\x7d\xd9\xdc\xcc\x17\x0d\x69\x57\x49\xd8\x5a\x98\x0d\x76\x94\x3a\xae\xe5\x72\xb7\xc3\xec\xa0\x0b\x45\x98\x94\x8c\x50\x5d\xae\x07\xb7\x8e\x71\x92\x08\x90\x5a\x72\x25\x0a\xe8\xaa\xd4\x9a\x12\xb4\x7b\x0d\x1a\xee\x3f\x86\xc7\x3d\xbd\xc7\xd2\xdc\xa1\xef\x98\x0e\x2b\x05\x56\x25\xa8\xb4\xc7\x92\xdb\x7a\x84\x19\x70\x5f\x7f\x78\xbc\x68\x7f\x43\x4f\x34\x52\xf6\xf8\x21\xce\x62\xcd\x4a\x84\x22\x39\xb3\xbf\x94\x4b\x7b\x87\xd7\x39\xc4\x60\xfe\x3d\x6b\xc4\x11\xfa\xd3\x9f\x0c\x54\xce\x62\xbf\x51\x15\x2f\x0a\x72\x01\xca\x4d\xad\xdb\xac\xb4\x0b\x49\x2b\x7b\x98\x10\x90\x66\xfa\x0d\x93\x61\xd7\xca\x68\xb0\x12\x47\xf5\xdf\x63\xcb\x9b\x36\x23\x97\x4a\xdc\x3b\x8b\x72\xe6\xb0\x0d\x77\xfe\x57\xcd\xa0\xfd\xbd\x43\x8b\xe3\x80\x5b\x86\x91\xbb\xe3\x72\x8f\x18\x5a\xe5\xc3\x18\xda\x92\x09\x02\x71\x02\x52\x09\xb6\xf1\xc1\xa8\xd3\x70\xca\x14\xd1\xaa\xbe\x99\x20\xf6\x5a\x51\x99\x1d\x3e\xce\x74\x56\x93\xcd\xbf\xfc\xe5\xcd\xbf\x7e\x3c\xd0\x8c\x47\xff\x63\x37\xeb\xa3\x39\x8a\x8e\xa7\x47\xc7\xa3\xa3\xe9\xe8\xe8\xa5\x49\x9a\xa3\x0f\xbe\x3e\x8b\xe6\xa1\xc6\x2a\xb7\xca\x11\x8a\xde\x98\x82\x4d\x93\xda\x6a\xed\x79\x15\x78\x66\x62\x47\x85\x34\x40\xe4\xcc\xe4\xe9\x7f\xb3\x93\xf1\xbc\x17\xfc\xae\x48\x15\x7d\x8f\x85\xfa\x6f\x9e\x32\x9c\xc8\x56\xf4\x1f\x20\x05\x05\x3d\xfd\xbd\x05\xd7\xdd\x4f\xcc\x56\x40\x51\x05\xe9\x7c\x8b\xed\x50\x57\xcc\x51\x84\x45\x3e\xc7\x57\x72\x2e\x67\xf3\xf9\xfc\xe9\xd7\x2d\x1f\x08\x56\x6d\x03\xf9\x75\x54\x3f\x1a\xf8\x3a\x58\x19\x67\x0b\x26\xac\xa0\x3c\x08\xda\xa9\x96\x1a\x9e\x56\x4d\x9f\x52\xfe\xb5\xf8\xac\xa7\xa8\x43\x29\x43\xa0\x67\x24\x6d\x45\x78\x5f\xf4\x91\x07\xa8\x26\xef\x54\x76\xaf\x01\xdd\x74\x26\x26\x7f\x0e\x73\x61\x96\xd7\xeb\x03\x6d\xec\x0d\xb7\x86\x14\xeb\xd2\x1e\x93\x35\xf8\xd5\xde\x2c\xcf\x91\x5e\x73\x12\x2a\x1b\x7b\x55\x1d\xde\x6d\x90\x47\xb6\x87\x91\xed\xa1\x9a\xa5\x98\x24\xa7\x37\xbf\x30\x1d\x1c\x6e\xa7\x58\xd6\xed\x0d\x24\x86\x1c\x2f\x52\x48\xb4\xb7\xf7\x27\x37\xb6\x23\x13\x19\x2a\x4e\x3f\x38\x3c\x36\x05\x69\xcd\x37\x9b\x35\x74\x55\x93\xae\x4b\xaf\xc4\xad\x64\xd7\x0f\xb7\x95\xba\xf5\x31\xa3\x07\x84\x7c\x45\xf3\x96\xed\xc2\x80\x90\xb3\xa4\x99\xcc\x56\xf5\x17\x10\xfa\x4f\x10\xb6\x95\x5d\x2e\x2f\x79\x91\xc5\x56\x36\xdd\x91\xf4\x24\x47\x3a\x9e\x62\x81\x33\xd0\x4c\xdb\xbc\xcf\xa5\x70\x65\x6f\x06\xa1\x02\x0c\xf2\xc4\xfe\x8c\xb4\x8d\x83\x2a\x82\x89\xda\xa2\x99\x78\x9f\xa2\xef\x66\x2f\x5f\x6b\x43\x6b\xa6\x9e\x1a\xfa\xa9\x25\xef\x34\xfd\x5b\x27\x39\x1f\x78\x3a\x52\x75\x8c\x50\xf6\xde\xde\x38\xfb\xfc\xaf\x64\xd3\x8c\x37\x47\x51\xd4\x74\xde\x64\x51\xf7\xd9\x64\x31\xd4\x61\x93\xc5\x6d\xbc\x35\xc1\x0a\x2f\xb0\x84\x56\x87\x4d\x16\x6d\x9b\x07\x3b\x75\x13\xfa\xbc\xb1\xef\xd6\x64\xea\x72\xdc\x6d\x25\x8a\x44\x56\xfc\x35\x59\x94\x7f\xec\x55\x9a\x26\x8b\x91\x27\x2c\x6b\x87\xd6\x62\xb1\x77\x8b\xc5\x25\x33\x9d\x2a\x74\xc0\x32\x88\xf8\x23\x8c\x46\x42\xd8\x82\xb2\x35\x45\x2d\xf0\xff\x70\x5d\x44\x91\x36\xb8\x76\x29\xb5\x74\x7e\xa6\x1a\x5b\x40\x6d\x34\x96\x24\xc3\xa6\x25\xd4\x4b\xa8\x66\x30\x1e\x50\xa2\x72\x2c\xcd\x2e\x7e\x03\xd5\x03\xb4\xc5\x5e\x50\x1e\x2f\xa9\x4e\xf9\x64\x8e\xb9\x5c\x33\xb7\x71\xee\x0b\x6a\xce\xd3\x4d\x4c\xb3\x0c\x12\x5d\x7b\xa7\x1b\xdf\x95\x83\xb7\x86\xd5\x36\x33\xb6\x88\x5d\x81\xab\x42\xb1\x0d\xff\xd4\xde\x8f\x8e\x3b\x35\xdf\x2d\xcf\xe3\x6f\x61\x1c\xfb\xf9\x57\x4b\x04\x19\x27\x8b\xed\x90\xd3\x57\xd8\xb7\xc4\x56\x4b\xae\x03\x6b\x9f\x9b\x55\x37\x83\xea\x4d\x72\x7f\xb7\xeb\xbc\x21\xd0\xbd\x55\xb3\x6b\x9b\xb3\x5d\xcb\xd6\xaf\x6a\xfe\x54\xef\x77\x38\x97\x1d\x0e\x8a\x06\xbb\x69\x37\xc6\x1c\xd5\x54\x5e\xc1\x0b\x5b\x2e\xa5\x74\x29\x96\x72\xa7\x0b\x18\xac\x6e\x9f\xd9\xe9\x39\x1d\xbe\x58\xf3\x48\x5c\x28\x16\x67\x34\x67\xc2\xfb\x50\x5c\xf0\x95\xc0\x89\x75\x8e\x25\x4e\xa5\x39\x30\x00\xb1\x64\x22\x33\x23\xd0\x5c\xd2\xd5\x5a\x95\xab\x70\xc5\x19\x75\x43\xdc\x86\x6c\x3d\xb0\x35\x75\x71\x0c\x55\x9c\xa9\x8a\x69\x77\x9d\x4b\xf7\xa9\x75\x11\x70\xa5\xfb\xbb\xea\x4b\x7d\xfb\x7b\xf5\x9c\xa3\x23\x3e\x0c\x30\xdf\x87\x8f\x12\x6d\x89\x49\x4d\x2f\x76\x69\xad\x6a\xa6\x4c\x54\x62\x2e\x60\x49\xbf\xf4\xba\x0f\x5f\x69\x05\x2e\x71\x46\xd3\x4d\xa7\x95\x99\x35\x10\x17\x82\x09\x3c\xca\x36\xf2\xd7\xd4\x2c\x66\xd5\x86\x57\xe3\xa9\x59\xdb\x5c\x1b\x67\x52\xad\x04\xc8\x5f\xd3\xa3\x13\xb3\xb0\x6d\x72\x9c\x51\x82\xa2\xc0\xbd\xdf\x6d\x5b\x32\x11\x03\x26\xeb\xea\x32\xe4\x2d\xc2\x20\x10\x96\xab\xf2\x10\xb7\x76\xbc\x7f\x5a\x26\xc9\xe3\x4b\x9c\x16\xf0\x29\xd2\x70\x77\x86\x8b\x90\x69\xeb\x41\x36\xff\x0b\xd8\xd6\x93\x32\x50\x6b\x96\xb4\x61\x57\xe1\xe1\x0a\x83\x8b\x8a\x29\x5d\x02\xd9\x90\xd4\xef\x9c\x12\x01\x58\x41\xbc\x80\x25\x13\x8d\x4d\xa0\x5d\x3b\xf9\xba\xf4\x56\x20\x55\x8c\x57\xe1\x38\x7b\xf8\xe5\x2e\x4d\x33\xf8\x7a\xd7\x5d\x9f\x9e\xf5\x1f\x08\x38\xa8\xe6\x70\xc7\x5d\xad\x61\x97\xb4\x5a\xfb\xf3\x47\x03\xdb\x5b\xf9\xbb\x2f\x50\xe9\x5e\xf6\xbd\x42\x65\x68\x3a\x37\xef\xef\xf6\x70\x62\xdf\xa4\xc1\x30\x67\x92\x86\x5b\xdf\xb1\xd2\x3d\x3d\xd0\x89\x97\xe5\xba\x73\x9f\x7d\x5b\x46\x7b\x09\xd2\xd5\xff\x15\xcb\x18\x78\xda\xba\x9d\x31\x77\x5e\x95\xf4\x63\x96\x15\x5d\x02\x96\x7b\x77\xf5\xeb\x8c\xf3\x50\x29\x23\x83\x64\xce\x2d\xbc\x1b\xfb\x8c\x04\xb5\x0c\xe0\x53\x41\xbf\x6b\xb1\x7d\x29\xd8\x42\xcc\xd9\x67\xbe\x32\x66\xe3\xa2\xa6\x60\x59\xec\x2a\xf7\x53\x74\x7c\x6c\x5d\x99\xc5\xa1\x98\x0f\x8d\x5c\x30\xc5\x08\x4b\x9d\x88\x8a\x70\xeb\xd2\x84\x26\xc2\xda\x83\x36\x1f\x73\xa7\xb6\x72\xf1\x35\xa4\x42\x9f\xa2\xa7\x5f\x1d\xd0\x5b\xf0\xf5\x64\x76\x1c\x3d\x47\x25\x20\x50\x19\xc8\x39\x9a\x77\x52\xd9\x6b\x12\xfd\xc2\xbc\x9a\x7e\xf7\xa2\x45\x9c\xd0\x3c\x4c\xa0\x4f\xd1\x74\x6c\xfe\x9d\x4c\x77\x8e\x6a\x3a\x7f\x59\x1b\xb3\xd2\x58\x8e\x58\x1d\xef\x09\x7a\x87\x37\x0b\x40\x42\x87\x76\x4a\x14\x62\x79\xba\x31\xbd\xa2\xf7\x82\xe9\x45\x02\x0a\x89\xec\x06\x15\xfa\xde\x91\xfc\xad\x50\x68\x8d\xf3\x64\x83\xae\xd6\x34\x05\xa4\xf0\x05\xcd\x57\xfe\x0e\xba\x44\x57\x54\xad\x59\xa1\x50\x86\xf3\x02\xa7\xe9\x06\x49\xb9\x1e\x69\x0c\x9a\x2b\x86\xd4\x1a\x5c\x87\xe3\x5b\x8a\xec\x6d\xed\xf5\xd1\x74\xda\x50\x76\x0d\x54\x55\x78\x5d\xe9\xdb\xde\xd8\x15\x88\xb6\x4e\xf3\x3d\x6b\x4f\x50\x0e\x8a\x03\x5c\xa0\xf2\x44\x7d\x27\xbb\xd3\x93\xa6\x6d\xd4\x40\xf7\xc4\x2e\x74\x5b\x6c\x53\x83\xbe\xad\x66\xab\xa3\xa3\x61\xa6\x3a\x28\xe8\xb9\x9b\xb4\x0f\x1b\xfb\x46\x6e\xd0\xc1\x21\xd0\xe2\x3f\x50\x24\xf4\x91\xe2\xe5\x49\x87\x91\x04\x50\x8b\x91\x14\xc9\x5e\x46\x12\x6e\x3b\x0f\x75\xb5\x1b\xb2\xb5\xa7\xed\xde\x84\xad\x2e\x97\x0a\xa0\xc7\xd1\xd6\x4d\xd8\xba\xad\xb6\x1e\xd8\xcb\x77\xb9\xb9\xdf\x75\xde\x7d\xac\xdd\xe2\xd9\x3d\x7b\xb9\x8d\x7c\xc6\xf9\xdd\x4d\x5d\x6e\x36\x9b\x7e\xd7\x31\x5b\x01\x74\xe7\xb3\x35\x80\xaf\x17\x27\xb3\x66\x6a\x54\x03\xdd\x39\x5f\x03\xa2\x77\x59\xd5\x0d\x89\xc2\xa6\x9e\xdb\x99\x83\xfe\xe4\x43\xac\xc1\xbf\xd7\x74\x74\x87\x84\xb1\x28\xcc\xdd\x76\xc7\xb8\x5c\xbb\x02\xb6\x71\x23\xec\x14\x45\x6e\x06\xcd\x1e\x44\x6d\xfa\x42\x12\x5b\x9f\xbc\x00\xa8\x4f\x5d\x75\xf2\xaa\xde\xe7\x61\x0f\x98\xe5\x36\x8a\x34\x57\xd0\x76\x94\x68\xfb\xa9\x14\x73\x7a\x73\x95\x9e\x4c\x4d\x5e\xd7\xa6\x54\x07\xda\x57\xad\xf5\xd0\x76\xaf\xb2\xdb\x08\xdd\x23\x3e\xf4\x4a\xdf\x25\x7a\xa7\xdc\x36\x9a\x3f\xba\xd8\xfe\x12\xb8\x62\x23\x1e\xaa\x8b\x66\xee\x57\x53\xc6\xa0\xe5\xa2\xe5\xa6\xe6\x30\x5b\xda\x6d\x52\xbb\x2d\xab\x61\x60\x4d\x2d\x06\x94\x3e\x65\xfa\xb7\x5b\xcd\xdd\x91\x76\xc2\xad\x1c\x7f\xbf\xa9\xc8\x59\x02\xe1\xa5\xcb\xef\x65\x0a\x5c\xb5\xd6\x33\x05\x0e\xe3\x1b\x9d\x82\xf2\xb1\xc1\xdd\x67\x44\xde\xb7\xf6\x4b\x8b\x06\xda\x4c\xe8\xdc\x2f\x83\x37\x7e\x1a\xf0\xff\xeb\xe7\x1d\xb9\x71\x78\x50\xb3\x33\x90\xde\xe3\xcc\xbc\x9e\xbe\xee\x5a\x8b\x1c\xe8\x81\x96\xe1\x86\x0a\xf7\xd2\x61\xf9\x5e\x6d\x57\x44\xbc\x4f\x5d\x1e\x99\x1a\xa3\x55\x97\x16\xf4\x58\xba\xdc\x47\x95\x2b\x81\x97\x38\xc7\x8f\xa0\xbf\x59\x77\x4a\x38\x7b\xd0\x94\xf0\x76\xee\xbc\x11\x4c\x12\xc6\xe1\x11\x34\x78\x32\x3d\xe9\x4e\xaa\x4f\xbe\x15\x0d\xa6\xec\x82\x3e\x86\xf9\x75\xe5\x2e\x01\xf4\x2d\x28\xaf\x5a\x98\xdc\xad\xfa\x7e\xef\x15\xcd\xbe\x89\x5c\xfb\xfd\xe7\x1d\xf7\x86\x77\x6d\x7f\x7c\x68\xee\x77\x18\xca\x70\x00\x7d\x57\xdb\xcb\xee\x62\x6c\xdb\x9e\x52\x00\xdd\xe1\x9e\xd2\xf3\x9d\x1a\x3f\x6f\xb9\x98\xd5\x77\xe7\x78\xf7\x04\xb9\xbb\xb3\x83\xa7\xc8\xe1\xdf\x68\x92\x1c\xed\x9d\x4f\xd3\xc9\xc9\xac\x63\x96\x3c\xe4\x31\x27\xc9\x4a\x05\xb2\x2f\x1a\x98\x0f\x36\xfc\x1b\x50\x0e\x90\x20\x8c\x24\x70\x2c\xb0\x82\xfa\xce\x9e\x0e\x43\x48\x31\xc4\x05\x5c\x42\xae\x10\xd9\x90\x94\x12\x94\x00\x87\x3c\x81\x9c\x6c\xd0\x02\xd4\x15\x40\x7e\xf0\xc4\x1c\x20\x62\xce\x1d\x25\xce\x13\x7f\xf6\x66\x5b\xc6\xc3\xaa\x60\xce\x47\x8a\x8d\x68\x5e\x7d\xa2\xf5\xf8\x15\xf0\xf1\x8b\x5d\x15\xb0\xc3\xb8\xf3\x0a\x78\x3b\xfe\xed\x5b\x06\x07\x23\x1a\xe0\x98\xe6\x0d\x62\xd7\x89\x5f\xdb\x03\xd9\xfd\xcf\xfc\xec\x4b\xe0\x9d\x9e\xfc\x5e\xa3\x3d\xe6\x9d\x87\x57\x6d\xe7\x31\xaf\x5a\x0f\x64\x06\x5f\x11\xf8\x63\x5d\xb3\xf8\x3d\x1f\xff\x3f\xf6\x81\x7a\xe5\xae\xdd\x67\xb6\xb8\xd9\x9b\xf9\xcf\x6c\x31\xb2\x84\xdf\xc2\xb7\xd4\x86\x7e\xd1\xa2\x54\xc7\x80\x8f\xa9\x0d\xff\x92\x5a\x77\xe7\xdd\x5f\x53\xbb\xfd\xf7\x2c\x3e\xb3\xc5\x9e\x17\xfa\x34\xc5\x7d\x7d\x13\xed\xf6\xf7\xf0\x3e\xb3\xc5\xad\x6e\xe1\x7d\x83\xdf\x3a\xfb\xcc\x16\xd5\xcb\x80\xd5\x8f\x3f\xda\x4b\x53\xf1\x32\xc5\xab\x9e\xaf\x77\xda\x37\x37\xa3\x91\x6f\xb7\xae\x5c\xc1\xbc\xae\xdd\xb3\xd6\xb3\x1d\xfb\x3f\xcd\x73\xec\x38\x29\xb2\xad\x8b\x36\xa7\xe8\xd9\xa0\x77\xd3\xee\xb9\xb4\x26\x8f\x0b\x41\x5d\xb8\x1f\xf2\xae\xfa\x70\xeb\x61\x75\x55\x75\x46\x03\x5b\x9a\x23\x2c\xcb\x74\x2e\x77\x6a\x62\x1b\x2a\x17\x8c\x52\x3f\xd7\x48\xce\x10\xe1\x4e\xf8\x26\x67\x1a\x3e\x9f\x4c\x76\x3c\x7d\x45\xa3\x91\xd0\xf6\x2d\xe9\x25\x84\x19\x99\x4c\xd0\x3f\x61\x43\x52\x86\x2f\xba\x83\xec\x85\xc3\xd8\x33\xc4\x06\xb2\x6f\x39\xa2\x7a\x21\x06\x7f\x24\x28\x10\x34\x5f\x8b\x3e\xee\xe7\x81\x3c\x63\x7b\xc6\xd4\x40\x76\x87\x81\xd5\xf7\x79\x97\xd1\xd5\xf7\x79\x4f\x21\x76\x3b\xae\xf9\xc1\xc6\xde\x22\xeb\x11\x56\x65\x7c\x52\xa1\x08\x41\x70\x40\x28\xa5\x79\x6a\x1e\x6d\x94\x9f\xae\x23\xeb\x8c\x25\xe8\x3f\xbf\xa0\xb6\x6e\xc3\x27\xce\x5a\x80\x2e\x62\x04\x93\x74\x6f\x87\xae\xeb\xdf\x3d\xdb\x51\xb8\x6c\xfb\x7f\xb3\x76\xe9\x31\xf9\x01\x35\x8b\xa7\xde\x5d\xb6\xfc\x13\x36\x7f\xd7\x98\xf7\x5d\xb9\x3c\x64\x72\xfb\x87\xab\x5a\x26\x13\xf4\x91\x21\xfb\xb5\x1a\x54\x71\xca\xde\x72\xb0\x6d\xbf\xa7\xd2\x7c\x4f\x25\xe1\xab\x69\x47\x1d\x7a\xcb\x4a\xf4\xfa\xe0\xff\x02\x00\x00\xff\xff\xe8\x61\xfb\xea\x3b\x5d\x00\x00") +var _clusterTf = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x3c\x6b\x6f\x1c\x37\x92\xdf\xf5\x2b\x78\x6d\x63\x61\xed\x79\x1e\xd2\xc8\xb1\x3d\x58\x6d\xa0\xdd\x38\xc6\x62\xe3\x5b\x23\xf6\xdd\x7e\x70\x84\x06\x87\x5d\x33\x43\xab\xbb\xc9\x90\x6c\xc9\x13\x43\xf7\xdb\x0f\x7c\x76\x4f\xbf\xa6\x47\xcf\x38\xb8\x04\x51\x24\x56\x15\x59\x55\xac\x2a\x56\xf1\xd1\x0a\x84\xc0\x4b\x26\x32\xf4\xf5\x00\x21\x01\xbf\x16\x54\x40\x12\x73\xc1\x2e\x69\x02\x42\x9a\x66\x84\xf0\x95\x44\xa7\xee\x77\x84\x24\x2b\x04\x01\x84\x4e\x51\xb4\xc6\x72\x4d\x09\x13\x7c\x82\xaf\x64\xe4\xe0\x97\x20\x24\x65\xb9\x86\xff\xef\x5f\xd1\x8b\xf1\xec\xb5\x85\x5c\x1f\xe8\xff\xae\x0f\x0e\x7c\xf7\x28\xd2\x54\x6e\xe8\x95\x26\x41\xa7\xe8\x12\x8b\x31\xbe\x92\xb1\x6d\x39\x40\x88\x0b\xb6\xa4\x29\x54\x40\xa1\xe5\x14\x45\x11\xfa\x1e\xe5\x45\x9a\xa2\x79\x1d\x7c\x80\x50\x02\x4b\x5c\xa4\x2a\x56\x78\xe5\x45\x31\xbf\x9e\xa2\x0c\xc4\x0a\x9e\x39\x86\xbd\x60\x08\x45\x7f\x4f\x0b\xa9\x40\xfc\x17\xce\x20\x72\x23\x12\xdb\x14\xe7\x38\x03\x87\x78\xfd\xdc\x8b\xaa\xe1\x85\x54\x2c\x33\x63\x98\xd6\x43\x2f\x66\x82\x15\x36\x22\x3a\x59\x22\x14\x91\x42\x08\xc8\x55\x84\xbe\x6e\xc1\x09\x4e\x53\x10\x31\x4d\x20\x57\x54\x6d\xda\x11\xd7\x4a\xf1\x08\x45\xd9\x26\xe6\xc5\x22\xa5\x24\xa6\xdc\xea\xae\x10\xa9\x99\x0b\xa5\xb8\x9c\x4f\x26\x64\x0d\xe4\x82\xf2\x31\xce\xf0\x6f\x2c\xc7\x57\x72\x4c\x58\x16\x95\x0c\xc1\x17\x05\x22\xc7\x69\x84\x22\x2e\xe8\x25\x56\x10\x7a\xe2\x82\xad\x04\xce\xd0\x29\xfa\x14\xc9\x75\xf4\x1c\x45\x23\xa2\x7f\x02\x59\x33\xf4\xf5\x97\x5f\x7e\x89\x28\xd7\x3f\xe7\xfa\xc7\xd3\x67\x6b\x26\x95\xd6\x0a\x1a\xd1\x43\xdd\x72\x1d\x9d\xeb\x61\x52\x46\x70\x6a\xf5\x1d\x38\xd5\x33\x4b\xd6\x2c\xe3\xcf\x34\x13\x63\xcd\xeb\xb8\x2a\xc9\x58\x80\xe4\x2c\x97\x10\x2f\x58\xb2\x39\x34\xbc\x78\xde\xd0\x29\x32\x44\x9e\xf1\x71\x09\xd2\x64\x45\xaa\xc6\x94\xeb\x81\x05\x38\xd3\x34\x4a\xbd\x80\x4d\xcc\x31\x15\x11\x8a\x2e\x60\x63\x05\xd4\x6d\x86\x63\x63\xbd\x4f\xbf\xd6\xe7\xf7\x7a\x74\x01\x1b\x43\x54\x32\x7f\x01\x1b\x74\x8a\xb4\x45\x3d\xd3\xe8\x52\xae\xe3\x12\x72\xd8\x1c\x97\xe6\x52\xe1\x9c\x40\x84\x22\xcc\x79\x2c\x41\x5c\x82\xb0\xc3\x3b\xe3\xb3\xf6\xa6\x6d\xac\x8b\x0b\xcc\xf9\xe8\xe9\x57\xc2\x8a\x5c\x8d\x69\x9e\xc0\x97\xeb\xc8\x58\xd5\x01\x42\x84\xe5\x39\x10\xa5\xbd\xc5\xf6\xf3\x04\x7d\x5c\x83\x37\x75\x54\x48\xad\xa3\x0c\xd0\x92\x09\xc4\x0a\x81\xce\xde\xfd\xc3\x1a\xfe\x86\x9b\xe1\xa4\x5c\x5b\x77\xd4\x98\xba\xa1\x58\x14\xb9\x2a\x6c\x9b\x9e\x51\x74\x8a\x24\xa4\xcb\x71\x98\x1b\x3f\x32\xce\x28\x6a\xfc\x53\x7a\x25\xce\xe8\x01\x42\x5e\xfa\xd8\x8c\xb7\x8d\xc4\x79\xbc\x05\xde\x9e\x90\x6a\x9f\xd5\xf9\x1b\x5f\xc0\x66\x4c\x13\x23\x7a\x91\xab\x0e\x06\xaa\x7d\x1b\x3c\xcd\xf0\x25\xa6\x29\x5e\xd0\x94\xaa\x4d\xfc\x1b\xcb\xa1\xc6\xf0\x6f\x9a\x5f\x9c\x95\x84\xb5\x50\xc3\x79\x8c\x95\xc2\x64\x1d\x6b\xac\x32\xac\xc8\x62\x91\x83\x8a\x69\xb2\xcd\xc7\xb3\x14\xf2\x95\x5a\x3f\xab\x4e\x67\x40\x95\xba\xbb\x43\xf4\x57\x34\x3d\x44\xdf\x23\x48\x21\x83\x5c\x3d\x53\x2c\xa5\x52\xf5\x51\x3c\x47\x15\x2b\x38\x44\x73\x13\xec\xf4\x6c\x5c\x72\x12\x4b\x20\x85\xd0\xc2\xad\x04\x2b\xb8\xa6\xd1\xae\xeb\x43\x76\x0d\xac\xbb\xfb\x34\x3d\x1f\xd3\xe4\x79\x0f\x46\xbc\x62\x52\x52\x87\x78\x80\xd0\xb9\x1e\x4b\x30\xa6\xe2\x45\xca\xc8\x45\x9c\xc0\x25\x25\xe0\x4c\xef\x92\xa5\x45\x06\xb1\xa4\xbf\x79\x9d\x55\x91\x4c\xbb\x8c\x31\xe7\x55\x64\x67\x87\x0d\x64\x67\x10\xc6\xd2\xcc\x02\xa1\xd7\x10\xbd\x46\x68\xa5\x47\x6e\x40\xbf\xf4\x94\x13\x99\x61\xa5\x40\x64\x4c\xaa\x38\xa5\x04\x74\x04\x71\xb3\xa4\xc3\xbf\x54\x34\xc7\xca\x2d\x46\x93\x35\xcb\x60\x62\xcd\x7d\x52\xd2\x55\xba\x18\xb9\x2e\xa2\x56\x46\x04\x64\x4c\xc1\x08\xbe\x00\x09\xfc\x10\x41\xb9\xf6\x98\xa8\x82\x29\x27\x98\xf3\xb1\x75\x33\xb3\x10\x54\x22\xbd\x31\x24\x96\x52\xb2\x89\x13\x46\x8a\xcc\xc4\xf8\x28\x03\x25\x28\x91\x31\x96\x52\xab\x48\x30\x2f\xb1\x54\x58\x19\x4b\x71\xe3\xc1\x72\x09\xc4\x8c\x77\x96\xa6\xec\x2a\x3a\x30\xad\x5c\xd0\x9c\x50\xee\x83\x6e\xf0\xf6\x60\x99\xd1\x07\x10\x5a\xc9\x7e\x85\xb6\x0b\xcd\x92\xea\x15\x5e\xc7\x7a\x20\xc7\xb5\xe5\xe2\xdc\xad\xd8\xd6\x52\x4c\xb8\xb1\xa8\x52\xc9\xf9\x99\x61\xf3\x67\xcd\xe5\xb9\x97\xb1\x16\x03\x71\xe6\xa4\x08\xb2\x95\x42\x35\xfc\xbd\x33\x18\x3b\xda\x91\xa1\xd5\x0e\x5d\xea\xc7\x69\xd1\xaf\x0d\x1d\xba\x1d\xb7\x68\x76\xfc\x59\xb2\xbc\x9d\xe5\x7a\x20\xa8\xb0\x1f\x5a\x82\x04\xfd\x3c\x07\x02\xe3\x3e\x26\xa6\x54\x15\x33\xae\xaa\x65\x6c\x52\x8b\xeb\x83\x83\x27\xe8\x27\x2a\x15\x62\xcb\x90\x8a\x21\x0e\x22\xa3\x52\x1a\xfd\x2b\x7c\x01\x39\x5a\x0a\x96\x1d\x3c\x41\x7e\xb9\x5f\x51\xb5\x2e\x16\x7a\xd2\x26\x39\x88\x44\x5e\x31\x91\xc8\xc9\x06\xd4\x08\xe7\x4c\xad\x41\x8c\x48\xca\x8a\xe4\x0a\x2b\xb2\x1e\xc1\x17\xce\x84\x02\x31\x59\xa4\x6c\x31\x59\xbe\x48\x12\xb2\x3c\x99\x1d\xcf\x12\xf2\xfa\xe5\x74\x76\x72\xf2\xfa\xe8\xe8\xe8\x24\x39\x99\xbe\x3c\xc1\xf0\xdd\xcb\x63\xb2\x24\x27\x47\x47\xcb\xc9\xcf\x6f\xce\x7e\x78\xf7\x66\x9c\x25\x4f\x70\xa1\xd6\xda\x76\x88\xf1\xaa\xc1\x86\xdd\x80\xf4\x18\xb7\x35\x07\x67\xdf\xfa\x2f\x3f\x4f\xd6\x00\xff\xec\x6c\xb3\x62\x94\xce\xaa\x23\x85\x57\xf3\xb7\xa0\x7e\xf6\xf8\x91\x4f\xd3\xa2\x52\x05\x1a\xe1\x9d\xe1\xea\x07\xac\x70\x3f\xc6\x07\x85\x15\x95\x8a\x92\xf6\x9e\xf4\x5c\x59\xc4\x0a\x1c\x73\xba\xc2\x0a\xae\xf0\x66\xfe\xf6\xcd\xc7\x6a\xbb\x34\x04\xff\x66\xe2\x42\x72\xbc\xc5\x1d\x2e\x14\x93\x04\xa7\x34\x5f\xcd\x7f\x00\x1d\x53\x16\x70\x56\x28\xf6\xc1\xb6\xbd\xd5\xb1\xb9\x82\x9e\x64\x32\xa0\xfd\x0c\x3c\x75\x93\xf1\x0f\x67\xbc\xbb\x31\x3f\x62\x79\x51\xc1\x02\x72\x1c\xb0\x3e\x0a\x9c\x4b\xaa\xde\x5a\x11\xce\xcc\xea\xa7\xa7\xa8\x03\xfd\x03\x67\xea\xc7\x14\xb4\xce\x7f\x2d\x40\x56\xd1\xe4\x9a\x42\x9a\x18\x99\xdf\x0b\xa6\x6c\xca\x52\x85\x2b\x26\xf0\x0a\xbc\xb2\x34\x9e\x1b\xb5\x1f\xe9\x23\x5e\xc9\x1f\x99\xf0\x93\x5c\xe2\x52\x9c\x19\x84\x33\x62\x56\xcc\xb3\x94\x62\x19\x94\x11\xe2\x54\x47\xa0\x72\x16\xda\x30\xd9\xad\x88\xb5\x23\x4a\x39\x0a\xef\xf0\x68\xb7\xcb\x23\xb4\x5f\x14\xab\xb7\x77\x44\xb2\x32\x01\xf5\x84\x37\x4a\x42\x1d\xf1\xef\x32\xf3\xdc\x9d\x76\xba\xf4\xc0\x29\xa0\x9e\x77\x36\x53\xc9\xae\x3c\x52\xa7\x6c\xe8\x7b\x74\x84\xe6\x68\xda\x9a\xb0\x76\x65\xab\xcd\xec\xb3\x96\x7a\x36\xd3\xc8\x9d\x39\xa4\x13\x67\xcf\x3c\xd2\x53\xdd\x61\x2e\xe9\xba\x2c\xf3\x49\x93\x27\x76\x24\xd3\x5d\xcb\xeb\xb8\xb6\x56\x5a\xa7\xb8\x6d\xbe\xe9\x3a\xbd\x55\xce\x39\x3c\xd5\x73\xa3\x55\xd3\xbd\x4e\x6f\xe4\x82\x7d\xd9\xdc\xcc\x17\x0d\x69\x57\x49\xd8\x5a\x98\x0d\x76\x94\x3a\xae\xe5\x72\xb7\xc3\xec\xa0\x0b\x45\x98\x94\x8c\x50\x5d\xae\x07\xb7\x8e\x71\x92\x08\x90\x5a\x72\x25\x0a\xe8\xaa\xd4\x9a\x12\xb4\x7b\x0d\x1a\xee\x3f\x86\xc7\x3d\xbd\xc7\xd2\xdc\xa1\xef\x98\x0e\x2b\x05\x56\x25\xa8\xb4\xc7\x92\xdb\x7a\x84\x19\x70\x5f\x7f\x78\xbc\x68\x7f\x43\x4f\x34\x52\xf6\xf8\x21\xce\x62\xcd\x4a\x84\x22\x39\xb3\xbf\x94\x4b\x7b\x87\xd7\x39\xc4\x60\xfe\x3d\x6b\xc4\x11\xfa\xd3\x9f\x0c\x54\xce\x62\xbf\x51\x15\x2f\x0a\x72\x01\xca\x4d\xad\xdb\xac\xb4\x0b\x49\x2b\x7b\x98\x10\x90\x66\xfa\x0d\x93\x61\xd7\xca\x68\xb0\x12\x47\xf5\xdf\x63\xcb\x9b\x36\x23\x97\x4a\xdc\x3b\x8b\x72\xe6\xb0\x0d\x77\xfe\x57\xcd\xa0\xfd\xbd\x43\x8b\xe3\x80\x5b\x86\x91\xbb\xe3\x72\x8f\x18\x5a\xe5\xc3\x18\xda\x92\x09\x02\x71\x02\x52\x09\xb6\xf1\xc1\xa8\xd3\x70\xca\x14\xd1\xaa\xbe\x99\x20\xf6\x5a\x51\x99\x1d\x3e\xce\x74\x56\x93\xcd\xbf\xfc\xe5\xcd\xbf\x7e\x3c\xd0\x8c\x47\xff\x63\x37\xeb\xa3\x39\x8a\x8e\xa7\x47\xc7\xa3\xa3\xe9\xe8\xe8\xa5\x49\x9a\xa3\x0f\xbe\x3e\x8b\xe6\xa1\xc6\x2a\xb7\xca\x11\x8a\xde\x98\x82\x4d\x93\xda\x6a\xed\x79\x15\x78\x66\x62\x47\x85\x34\x40\xe4\xcc\xe4\xe9\x7f\xb3\x93\xf1\xbc\x17\xfc\xae\x48\x15\x7d\x8f\x85\xfa\x6f\x9e\x32\x9c\xc8\x56\xf4\x1f\x20\x05\x05\x3d\xfd\xbd\x05\xd7\xdd\x4f\xcc\x56\x40\x51\x05\xe9\x7c\x8b\xed\x50\x57\xcc\x51\x84\x45\x3e\xc7\x57\x72\x2e\x67\xf3\xf9\xfc\xe9\xd7\x2d\x1f\x08\x56\x6d\x03\xf9\x75\x54\x3f\x1a\xf8\x3a\x58\x19\x67\x0b\x26\xac\xa0\x3c\x08\xda\xa9\x96\x1a\x9e\x56\x4d\x9f\x52\xfe\xb5\xf8\xac\xa7\xa8\x43\x29\x43\xa0\x67\x24\x6d\x45\x78\x5f\xf4\x91\x07\xa8\x26\xef\x54\x76\xaf\x01\xdd\x74\x26\x26\x7f\x0e\x73\x61\x96\xd7\xeb\x03\x6d\xec\x0d\xb7\x86\x14\xeb\xd2\x1e\x93\x35\xf8\xd5\xde\x2c\xcf\x91\x5e\x73\x12\x2a\x1b\x7b\x55\x1d\xde\x6d\x90\x47\xb6\x87\x91\xed\xa1\x9a\xa5\x98\x24\xa7\x37\xbf\x30\x1d\x1c\x6e\xa7\x58\xd6\xed\x0d\x24\x86\x1c\x2f\x52\x48\xb4\xb7\xf7\x27\x37\xb6\x23\x13\x19\x2a\x4e\x3f\x38\x3c\x36\x05\x69\xcd\x37\x9b\x35\x74\x55\x93\xae\x4b\xaf\xc4\xad\x64\xd7\x0f\xb7\x95\xba\xf5\x31\xa3\x07\x84\x7c\x45\xf3\x96\xed\xc2\x80\x90\xb3\xa4\x99\xcc\x56\xf5\x17\x10\xfa\x4f\x10\xb6\x95\x5d\x2e\x2f\x79\x91\xc5\x56\x36\xdd\x91\xf4\x24\x47\x3a\x9e\x62\x81\x33\xd0\x4c\xdb\xbc\xcf\xa5\x70\x65\x6f\x06\xa1\x02\x0c\xf2\xc4\xfe\x8c\xb4\x8d\x83\x2a\x82\x89\xda\xa2\x99\x78\x9f\xa2\xef\x66\x2f\x5f\x6b\x43\x6b\xa6\x9e\x1a\xfa\xa9\x25\xef\x34\xfd\x5b\x27\x39\x1f\x78\x3a\x52\x75\x8c\x50\xf6\xde\xde\x38\xfb\xfc\xaf\x64\xd3\x8c\x37\x47\x51\xd4\x74\xde\x64\x51\xf7\xd9\x64\x31\xd4\x61\x93\xc5\x6d\xbc\x35\xc1\x0a\x2f\xb0\x84\x56\x87\x4d\x16\x6d\x9b\x07\x3b\x75\x13\xfa\xbc\xb1\xef\xd6\x64\xea\x72\xdc\x6d\x25\x8a\x44\x56\xfc\x35\x59\x94\x7f\xec\x55\x9a\x26\x8b\x91\x27\x2c\x6b\x87\xd6\x62\xb1\x77\x8b\xc5\x25\x33\x9d\x2a\x74\xc0\x32\x88\xf8\x23\x8c\x46\x42\xd8\x82\xb2\x35\x45\x2d\xf0\xff\x70\x5d\x44\x91\x36\xb8\x76\x29\xb5\x74\x7e\xa6\x1a\x5b\x40\x6d\x34\x96\x24\xc3\xa6\x25\xd4\x4b\xa8\x66\x30\x1e\x50\xa2\x72\x2c\xcd\x2e\x7e\x03\xd5\x03\xb4\xc5\x5e\x50\x1e\x2f\xa9\x4e\xf9\x64\x8e\xb9\x5c\x33\xb7\x71\xee\x0b\x6a\xce\xd3\x4d\x4c\xb3\x0c\x12\x5d\x7b\xa7\x1b\xdf\x95\x83\xb7\x86\xd5\x36\x33\xb6\x88\x5d\x81\xab\x42\xb1\x0d\xff\xd4\xde\x8f\x8e\x3b\x35\xdf\x2d\xcf\xe3\x6f\x61\x1c\xfb\xf9\x57\x4b\x04\x19\x27\x8b\xed\x90\xd3\x57\xd8\xb7\xc4\x56\x4b\xae\x03\x6b\x9f\x9b\x55\x37\x83\xea\x4d\x72\x7f\xb7\xeb\xbc\x21\xd0\xbd\x55\xb3\x6b\x9b\xb3\x5d\xcb\xd6\xaf\x6a\xfe\x54\xef\x77\x38\x97\x1d\x0e\x8a\x06\xbb\x69\x37\xc6\x1c\xd5\x54\x5e\xc1\x0b\x5b\x2e\xa5\x74\x29\x96\x72\xa7\x0b\x18\xac\x6e\x9f\xd9\xe9\x39\x1d\xbe\x58\xf3\x48\x5c\x28\x16\x67\x34\x67\xc2\xfb\x50\x5c\xf0\x95\xc0\x89\x75\x8e\x25\x4e\xa5\x39\x30\x00\xb1\x64\x22\x33\x23\xd0\x5c\xd2\xd5\x5a\x95\xab\x70\xc5\x19\x75\x43\xdc\x86\x6c\x3d\xb0\x35\x75\x71\x0c\x55\x9c\xa9\x8a\x69\x77\x9d\x4b\xf7\xa9\x75\x11\x70\xa5\xfb\xbb\xea\x4b\x7d\xfb\x7b\xf5\x9c\xa3\x23\x3e\x0c\x30\xdf\x87\x8f\x12\x6d\x89\x49\x4d\x2f\x76\x69\xad\x6a\xa6\x4c\x54\x62\x2e\x60\x49\xbf\xf4\x38\x0f\x5f\x69\xf5\x2d\x71\x46\xcb\x10\xde\x6e\x68\x66\x19\xc4\x85\x60\x02\x8f\xb2\x8d\xfc\x35\x35\xeb\x59\xb5\xe1\xd5\x78\x6a\x96\x37\xd7\xc6\x99\x54\x2b\x01\xf2\xd7\xf4\xe8\xc4\xac\x6d\x9b\x1c\x67\x94\xa0\x28\x08\xe0\x37\xdc\x96\x4c\xc4\x80\xc9\xba\xba\x12\x79\xa3\x30\x08\x84\xe5\xaa\x3c\xc7\xad\x9d\xf0\x9f\x96\x79\xf2\xf8\x12\xa7\x05\x7c\x8a\x34\xdc\x1d\xe3\x22\x64\xda\x7a\x90\xcd\xff\x02\xb6\x75\xa6\x0c\xd4\x9a\x25\x6d\xd8\x55\x78\xb8\xc5\xe0\x02\x63\x4a\x97\x40\x36\x24\xf5\x9b\xa7\x44\x00\x56\x10\x2f\x60\xc9\x44\x63\x1f\x68\xd7\x66\xbe\xae\xbe\x15\x48\x15\xe3\x55\x38\xd1\x1e\x7e\xbf\x4b\xd3\x0c\xbe\xe1\x75\xd7\x07\x68\xfd\x67\x02\x0e\xaa\x39\xdc\x71\x5d\x6b\xd8\x3d\xad\xd6\xfe\xfc\xe9\xc0\xf6\x6e\xfe\xee\x3b\x54\xba\x97\x7d\x6f\x51\x19\x9a\xce\xfd\xfb\xbb\x3d\x9f\xd8\x37\x6f\x30\xcc\x99\xbc\xe1\xd6\xd7\xac\x74\x4f\x0f\x74\xe8\x65\xb9\xee\xdc\x6a\xdf\x96\xd1\xde\x83\x74\x5b\x00\x15\xcb\x18\x78\xe0\xba\x9d\x34\x77\xde\x96\xf4\x63\x96\x45\x5d\x02\x96\x7b\x77\xfb\xeb\x8c\xf3\x50\x2c\x23\x83\x64\x8e\x2e\xbc\x1b\xfb\xa4\x04\xb5\x0c\xe0\xb3\x41\xbf\x71\xb1\x7d\x2f\xd8\x42\xcc\xf1\x67\xbe\x32\x66\xe3\xa2\xa6\x60\x59\xec\x8a\xf7\x53\x74\x7c\x6c\x5d\x99\xc5\xa1\x9e\x0f\x8d\x5c\x30\xc5\x08\x4b\x9d\x88\x8a\x70\xeb\xd2\x84\x26\xc2\xda\x83\x36\x1f\x73\xad\xb6\x72\xf7\x35\x64\x43\x9f\xa2\xa7\x5f\x1d\xd0\x5b\xf0\xf5\x64\x76\x1c\x3d\x47\x25\x20\x50\x19\xc8\x39\x9a\x77\x52\xd9\x9b\x12\xfd\xc2\xbc\x9a\x7e\xf7\xa2\x45\x9c\xd0\x3c\x4c\xa0\x4f\xd1\x74\x6c\xfe\x9d\x4c\x77\x8e\x6a\x3a\x7f\x59\x1b\xb3\xd2\x58\x8e\x58\x1d\xef\x09\x7a\x87\x37\x0b\x40\x42\x87\x76\x4a\x14\x62\x79\xba\x31\xbd\xa2\xf7\x82\xe9\x45\x02\x0a\x89\xec\x1e\x15\xfa\xde\x91\xfc\xad\x50\x68\x8d\xf3\x64\x83\xae\xd6\x34\x05\xa4\xf0\x05\xcd\x57\xfe\x1a\xba\x44\x57\x54\xad\x59\xa1\x50\x86\xf3\x02\xa7\xe9\x06\x49\xb9\x1e\x69\x0c\x9a\x2b\x86\xd4\x1a\x5c\x87\xe3\x5b\x8a\xec\x6d\xed\xf5\xd1\x74\xda\x50\x76\x0d\x54\x55\x78\x5d\xe9\xdb\xde\xd8\x15\x88\xb6\x0e\xf4\x3d\x6b\x4f\x50\x0e\x8a\x03\x5c\xa0\xf2\x50\x7d\x27\xbb\xd3\x93\xa6\x6d\xd4\x40\xf7\xc4\x2e\x74\x5b\x6c\x53\x83\xbe\xad\x66\xab\xa3\xa3\x61\xa6\x3a\x28\xe8\xb9\xcb\xb4\x0f\x1b\xfb\x46\x6e\xd0\xc1\x21\xd0\xe2\x3f\x50\x24\xf4\x91\xe2\xe5\x49\x87\x91\x04\x50\x8b\x91\x14\xc9\x5e\x46\x12\x2e\x3c\x0f\x75\xb5\x1b\xb2\xb5\xa7\xed\xde\x84\xad\x2e\x97\x0a\xa0\xc7\xd1\xd6\x4d\xd8\xba\xad\xb6\x1e\xd8\xcb\x77\xb9\xb9\xdf\x78\xde\x7d\xb2\xdd\xe2\xd9\x3d\xdb\xb9\x8d\x7c\xc6\xf9\xdd\x4d\x5d\x6e\x36\x9b\x7e\xd7\x31\x5b\x01\x74\xe7\xb3\x35\x80\xaf\x17\x27\xb3\x66\x6a\x54\x03\xdd\x39\x5f\x03\xa2\x77\x59\xd5\x0d\x89\xc2\xa6\x9e\xdb\x99\x83\xfe\xe4\x43\xac\xc1\xbf\xd7\x74\x74\x87\x84\xb1\x28\xcc\xf5\x76\xc7\xb8\x5c\xbb\x02\xb6\x71\x29\xec\x14\x45\x6e\x06\xcd\x46\x44\x6d\xfa\x42\x12\x5b\x9f\xbc\x00\xa8\x4f\x5d\x75\xf2\xaa\xde\xe7\x61\x0f\x98\xe5\x36\x8a\x34\x57\xd0\x76\x94\x68\xfb\xa9\x14\x73\x7a\x73\x95\x9e\x4c\x4d\x5e\xd7\xa6\x54\x07\xda\x57\xad\xf5\xd0\x76\xaf\xb2\xdb\x08\xdd\x23\x3e\xf4\x4a\xdf\x25\x7a\xa7\xdc\x36\x9a\x3f\xba\xd8\xfe\x1e\xb8\x62\x23\x1e\xaa\x8b\x66\xee\x57\x53\xc6\xa0\xe5\xa2\xe5\xb2\xe6\x30\x5b\xda\x6d\x52\xbb\x2d\xab\x61\x60\x4d\x2d\x06\x94\x3e\x65\xfa\xe7\x5b\xcd\xdd\x91\x76\xc2\xad\x1c\x7f\xbf\xa9\xc8\x59\x02\xe1\xb1\xcb\xef\x65\x0a\x5c\xb5\xd6\x33\x05\x0e\xe3\x1b\x9d\x82\xf2\xbd\xc1\xdd\x67\x44\xde\xb7\xf6\x4b\x8b\x06\xda\x4c\xe8\xdc\x2f\x83\x37\x7e\x1d\xf0\xff\xeb\xe7\x1d\xb9\x71\x78\x53\xb3\x33\x90\xde\xe3\xcc\xbc\x9e\xbe\xee\x5a\x8b\x1c\xe8\x81\x96\xe1\x86\x0a\xf7\xd2\x61\xf9\x64\x6d\x57\x44\xbc\x4f\x5d\x1e\x99\x1a\xa3\x55\x97\x16\xf4\x58\xba\xdc\x47\x95\x2b\x81\x97\x38\xc7\x8f\xa0\xbf\x59\x77\x4a\x38\x7b\xd0\x94\xf0\x76\xee\xbc\x11\x4c\x12\xc6\xe1\x11\x34\x78\x32\x3d\xe9\x4e\xaa\x4f\xbe\x15\x0d\xa6\xec\x82\x3e\x86\xf9\x75\xe5\x2e\x01\xf4\x2d\x28\xaf\x5a\x98\xdc\xad\xfa\x7e\xef\x15\xcd\xbe\x89\x5c\xfb\x15\xe8\x1d\x57\x87\x77\x6d\x7f\x7c\x68\xee\x77\x18\xca\x70\x00\x7d\x57\xdb\xcb\xee\x6e\x6c\xdb\x9e\x52\x00\xdd\xe1\x9e\xd2\xf3\x9d\x1a\x3f\xdf\xbe\x9b\xd5\x77\xe3\x78\xf7\xdc\xb8\x9b\xb3\x83\x67\xc7\xe1\xdf\x68\x7e\x1c\xed\x9d\xcf\xd0\xc9\xc9\xac\x63\x82\x3c\xe4\xf1\xe7\x07\x64\x5f\x20\x30\x9f\x6b\xf8\x37\xa0\x1c\x20\x41\x18\x49\xe0\x58\x60\x05\xf5\x4d\x3d\x1d\x81\x90\x62\x88\x0b\xb8\x84\x5c\x21\xb2\x21\x29\x25\x28\x01\x0e\x79\x02\x39\xd9\xa0\x05\xa8\x2b\x80\xfc\xe0\x89\x39\x3b\xc4\x9c\x3b\x4a\x9c\x27\xfe\xd8\xcd\xb6\x8c\x87\x15\xc0\x9c\x8f\x14\x1b\xd1\xbc\xfa\x40\xeb\xf1\x8b\xdf\xe3\x17\xbb\x8a\x5f\x87\x71\xe7\xc5\xef\x76\xe8\xdb\xb7\x02\x0e\x46\x34\xc0\x31\xcd\x0b\xc4\xae\xc3\xbe\xb6\xe7\xb1\xfb\x1f\xf7\xd9\x77\xc0\x3b\x3d\xf9\xbd\x46\x7b\xcc\xeb\x0e\xaf\xda\x8e\x62\x5e\xb5\x9e\xc5\x0c\xbe\x1d\xf0\xc7\xba\x61\xf1\x7b\x3e\xf9\x7f\xec\xb3\xf4\xca\x35\xbb\xcf\x6c\x71\xb3\x17\xf3\x9f\xd9\x62\x64\x09\xbf\x85\x2f\xa9\x0d\xfd\x9e\x45\xa9\x8e\x01\x9f\x52\x1b\xfe\x1d\xb5\xee\xce\xbb\xbf\xa5\x76\xfb\xaf\x59\x7c\x66\x8b\x3d\xef\xf2\x69\x8a\xfb\xfa\x22\xda\xed\xaf\xe0\x7d\x66\x8b\x5b\x5d\xc0\xfb\x06\xbf\x74\xf6\x99\x2d\xaa\xf7\x00\xab\x9f\x7e\xb4\xf7\xa5\xe2\x65\x8a\x57\x3d\xdf\xee\xb4\x2f\x6e\x46\x23\xdf\x6e\x5d\xb9\x82\x79\x5d\xbb\x65\xad\x67\x3b\xf6\x7f\x9a\xc7\xd8\x71\x52\x64\x5b\x77\x6c\x4e\xd1\xb3\x41\xaf\xa6\xdd\x63\x69\x4d\x1e\x17\x82\xba\x70\x3f\xe4\x55\xf5\xe1\xd6\xb3\xea\xaa\xea\x8c\x06\xb6\x34\x47\x58\x96\xe9\x5c\xee\xd4\xc4\x36\x54\x2e\x18\xa5\x7e\xae\x91\x9c\x21\xc2\x9d\xf0\x4d\xce\x34\x7c\x3e\x99\xec\x78\xf8\x8a\x46\x23\xa1\xed\x5b\xd2\x4b\x08\x33\x32\x99\xa0\x7f\xc2\x86\xa4\x0c\x5f\x74\x07\xd9\x0b\x87\xb1\x67\x88\x0d\x64\xdf\x72\x44\xf5\x42\x0c\xfe\x44\x50\x20\x68\xbe\x15\x7d\xdc\x8f\x03\x79\xc6\xf6\x8c\xa9\x81\xec\x0e\x03\xab\xef\xf3\x2e\xa3\xab\xef\xf3\x9e\x42\xec\x76\x5c\xf3\x83\x8d\xbd\x45\xd6\x23\xac\xca\xf8\xa4\x42\x11\x82\xe0\x80\x50\x4a\xf3\xd4\xbc\xd7\x28\x3f\x5c\x47\xd6\x19\x4b\xd0\x7f\x7e\x41\x6d\xdd\x86\x0f\x9c\xb5\x00\x5d\xc4\x08\x26\xe9\x5e\x0e\x5d\xd7\xbf\x7a\xb6\xa3\x70\xd9\xf6\xff\x66\xed\xd2\x63\xf2\x03\x6a\x16\x4f\xbd\xbb\x6c\xf9\x27\x6c\xfe\xae\x31\xef\xbb\x72\x79\xc8\xe4\xf6\x0f\x57\xb5\x4c\x26\xe8\x23\x43\xf6\x5b\x35\xa8\xe2\x94\xbd\xe5\x60\xdb\x7e\x4f\xa5\xf9\x9e\x4a\xc2\x57\xd3\x8e\x3a\xf4\x96\x95\xe8\xf5\xc1\xff\x05\x00\x00\xff\xff\x76\x05\x27\xe9\x39\x5d\x00\x00") func clusterTfBytes() ([]byte, error) { return bindataRead( @@ -124,7 +124,7 @@ func clusterTf() (*asset, error) { } info := bindataFileInfo{name: "cluster.tf", size: 0, mode: os.FileMode(0644), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x31, 0xb1, 0xff, 0x1e, 0x89, 0xc7, 0x4, 0x47, 0x34, 0x5b, 0x21, 0x9d, 0xb2, 0xe6, 0x42, 0x1, 0x93, 0x2c, 0xa6, 0x2e, 0x42, 0x8c, 0x70, 0x3f, 0x6c, 0x21, 0xba, 0x44, 0xe9, 0x34, 0x9d, 0xc8}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xaa, 0x3c, 0x69, 0x4a, 0xa2, 0x6f, 0x31, 0xee, 0xbc, 0x1d, 0xf3, 0xf2, 0x3c, 0x41, 0xa7, 0xc4, 0xe6, 0x2, 0xb0, 0x5b, 0x8, 0x42, 0xc2, 0x1, 0xeb, 0x48, 0x92, 0xcb, 0x29, 0xfe, 0x32, 0x6c}} return a, nil } @@ -408,7 +408,7 @@ func provisionersMetricsSh() (*asset, error) { return a, nil } -var _provisionersProxySh = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x56\x4d\x6f\x1b\x37\x10\xbd\xeb\x57\x4c\x6c\x23\xb2\xdb\x70\x29\x27\x41\x0f\x09\x5c\x20\xa7\xa2\x97\x06\x28\x5a\xf4\x90\x06\x02\x77\x39\xda\x25\x44\x72\x58\xce\x50\xb2\xd0\xf4\xbf\x17\xdc\xdd\x38\xaa\x1c\xa7\x46\x10\x5d\x76\x47\x7c\xf3\xe6\x91\x9c\x8f\x3d\x7f\xa2\x5b\x17\x75\x6b\x78\x58\x2c\x18\x05\x14\x16\x82\xe4\x12\x6e\x8c\xf3\x8b\xc5\x39\xfc\x61\x9c\xc0\x86\x32\xb4\x44\x02\x42\xd0\x22\x6c\x5c\x74\x3c\xa0\x85\x4b\x6c\xfa\x06\x22\xca\x9e\xf2\xd6\xc5\x7e\x5e\x2f\xe9\xaa\x59\xec\x07\xe7\x11\xde\xc1\x13\x50\x1b\xd0\x3b\x93\xb5\x77\xad\xee\x3c\x15\xab\x5d\x64\x31\xb1\x43\x5d\x49\xd5\x1d\xdd\xfb\xd7\x60\x09\xb0\x1b\x08\x96\x35\x6e\x65\xac\xa1\x47\x27\xe5\xa2\x93\xa6\x69\x96\xaf\x81\x3d\x62\x82\xeb\x8a\x8e\x58\x45\xfe\x8a\x92\x0f\xe0\x89\x12\x5c\x96\x54\x55\xbc\x00\x71\x01\xf9\x6a\x11\x6f\x56\x8b\x12\xc5\x79\x78\x07\x67\x17\xf1\x0c\x54\x8f\xf0\x02\xde\x2f\x2c\x2d\x60\xfc\x9d\xc3\x2f\x24\xf8\x0a\x3a\x0a\xc1\x44\xcb\xd0\xa2\xa7\x3d\x98\x8c\x80\xb7\x09\x3b\x41\x3b\xef\x0b\x9d\x0c\x98\xc1\x59\x0c\x89\x04\xa3\x00\x65\xe8\x31\x62\x36\xde\x1f\x80\xcd\x06\x67\x64\x2e\x11\x02\x65\x04\x19\x4c\x04\x8a\x1d\x36\x73\xb4\x71\x77\x67\x6f\x44\x30\x24\x81\x8b\xbf\xe3\x3f\x67\xc7\x2b\x4b\xe9\xd2\xba\x6d\xf3\x12\x3e\x00\x17\x4b\x20\x88\xa0\x0c\x68\x94\x4e\x07\xb2\xc5\x23\xc3\xd3\xa7\xf0\xe7\xec\x34\x62\x02\xd9\x94\xa9\x45\x98\x9d\x8f\x01\xfb\xbe\xde\xea\x5f\x6f\x41\xc1\x20\x92\xf8\x95\xd6\xb1\x77\xf1\xb6\xa1\xdc\xeb\x2d\x1e\x78\x32\xd7\xec\xfa\xe8\x62\xdf\x6c\xf1\x00\x1f\xa0\x4f\x3d\x28\x65\xd1\xe4\x40\xf9\x58\xca\xa8\xc3\x24\xd1\x92\x0b\x0b\xda\xa6\x4f\x7d\x63\x67\xca\xea\x75\xaa\x8d\x07\x50\x1d\x2c\xa7\x6d\x5b\x6c\xe1\x9d\xc9\xdd\x70\x63\x82\xfd\xe1\xe5\xfb\x51\xd2\x7f\x14\x25\xd3\x6d\x4d\x8f\xac\x83\x71\xd1\xbb\x88\xba\xb4\x25\x4a\xd1\x70\x71\xe9\xb9\x5d\x67\xf4\x68\x18\x41\x75\x7c\x05\xa3\xdb\x19\xfc\xf8\x49\x15\x53\xc9\x1d\x72\xe3\x1d\xcb\x9d\xac\x6a\x2c\xff\x57\x98\xe2\xdc\x7d\x23\x3d\x5f\x27\xc8\x24\x51\xe3\x65\x1d\xa0\x24\x6b\x04\x1f\x44\x8c\xe5\xe3\x7d\x45\x8e\x84\x8f\x01\xa6\x4c\x01\x65\xc0\xc2\x2a\x92\x45\x85\xb7\x89\xb2\x60\x7e\x54\x90\x12\x4c\x27\x1e\xbc\x8b\xe5\x56\x09\x91\x67\x65\xf6\x7c\x6a\x2b\x2f\xac\x9e\x3f\x6f\x56\x2f\xef\x1f\xf6\x81\x05\x43\xe5\xb0\x06\x03\x45\x95\xd1\x93\xb1\x5f\xc0\x61\x34\xad\xc7\x07\xf6\x17\xb6\xd6\x65\x50\x69\x3a\xe7\x11\xa3\x39\xba\x94\x50\x3e\x53\x1d\x9f\x03\x3b\x41\x56\x66\x67\x9c\x1f\xc3\x3c\xde\x67\xd2\x75\x5f\x79\x0e\x63\x9f\x7b\x00\xae\x2d\x6e\x4c\xf1\x72\xcf\xcd\x47\x50\x1b\xfe\x82\x34\x1d\x8c\x08\xe6\x40\x2c\x0f\xb3\x1f\x61\x8e\x02\x9c\xc3\xcf\xf3\x1d\xbe\x4d\x18\x7f\x43\x8f\x61\xec\x93\x1d\x79\x8f\x9d\x50\x7e\x06\x85\x6b\x8f\x9d\x52\x1a\x0a\x63\xae\xfd\xcb\xec\xc8\x59\x48\x98\x83\x63\x76\x14\xc1\x31\x17\xe4\xe3\x86\xf2\xb1\x95\xf4\x4e\x86\xd2\x36\x1d\x05\x4d\x09\xa3\x92\x8f\x41\x46\xf3\xce\x52\x77\x21\xd5\x5c\x30\xac\xef\x5e\x2c\xed\x63\x4d\x06\xbd\x5b\x35\xd7\xd7\xab\x66\xa5\x49\xd0\x77\xe4\x55\x47\x51\xb2\x6b\xd7\xf3\xff\xeb\x31\xdf\xd6\x63\xeb\x68\x6a\x2b\x39\x3d\x4c\x9b\xb6\x3d\x28\x07\x5f\xeb\xcf\x68\xab\xfb\x92\xf5\xef\x8c\xf9\xa6\xf9\x6e\x7a\xce\x15\xdf\x2f\x61\x1c\x61\x53\x8e\xda\xf9\x79\x2a\xb6\x61\xcc\x3b\xd7\xdd\x4f\xa9\x4f\xe4\x3f\x65\x2a\xa9\xb2\x4f\x2f\xdf\x88\xfe\xe1\x0a\x3b\x59\xcf\xc8\x62\xb2\x9c\x9e\xd2\x31\x23\xde\x3a\x81\x55\x35\xe2\xcd\xc5\xe5\x65\xfc\xfe\xfa\xea\x0a\xaa\x39\x4d\xde\xe7\x8b\x69\xf0\x4e\x13\xeb\x8d\xaf\x9c\x35\xb1\xcc\x34\xd5\x18\x06\xb3\x43\xa8\x5f\x10\x68\x9f\x8d\x64\x2e\xf6\x63\xc3\x1b\x89\xaf\x17\xff\x06\x00\x00\xff\xff\xb3\x71\xc1\x87\x77\x08\x00\x00") +var _provisionersProxySh = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x56\x4d\x6f\xdc\x36\x10\xbd\xeb\x57\x4c\x6c\x23\x6b\xb7\xa1\x68\x37\x45\x0f\x09\x5c\x20\xa7\xa2\x97\x06\x28\x5a\xf4\x90\x1a\x0b\x4a\x9c\x95\x88\x25\x39\x2c\x67\xb8\xeb\x45\xd3\xff\x5e\x50\x52\x9c\xad\x1d\xa7\x46\x90\xbd\x48\xb3\x7c\xf3\xe6\x91\x9c\x0f\x9d\x3e\xd3\x9d\x8b\xba\x33\x3c\x36\x0d\xa3\x80\xc2\x42\x90\x5c\xc2\x8d\x71\xbe\x69\x4e\xe1\x0f\xe3\x04\x36\x94\xa1\x23\x12\x10\x82\x0e\x61\xe3\xa2\xe3\x11\x2d\x9c\x63\x3b\xb4\x10\x51\xf6\x94\xb7\x2e\x0e\xcb\x7a\x49\x17\x6d\xb3\x1f\x9d\x47\x78\x07\xcf\x40\x6d\x40\xef\x4c\xd6\xde\x75\xba\xf7\x54\xac\x76\x91\xc5\xc4\x1e\x75\x25\x55\x77\x74\x37\xaf\xc1\x12\x60\x3f\x12\xac\x6a\xdc\xca\x58\x43\x4f\x4e\xca\x45\x27\x6d\xdb\xae\x5e\x03\x7b\xc4\x04\x57\x15\x1d\xb1\x8a\xfc\x15\x25\x1f\xc0\x13\x25\x38\x2f\xa9\xaa\x78\x09\xe2\x02\xf2\x45\x13\xaf\x2f\x9b\x12\xc5\x79\x78\x07\x27\x67\xf1\x04\xd4\x80\xf0\x12\x6e\x1a\x4b\x0d\x4c\xbf\x53\xf8\x85\x04\x5f\x41\x4f\x21\x98\x68\x19\x3a\xf4\xb4\x07\x93\x11\xf0\x36\x61\x2f\x68\x97\x7d\xa1\x93\x11\x33\x38\x8b\x21\x91\x60\x14\xa0\x0c\x03\x46\xcc\xc6\xfb\x03\xb0\xd9\xe0\x82\xcc\x25\x42\xa0\x8c\x20\xa3\x89\x40\xb1\xc7\x76\x89\x36\xed\xee\xe4\x8d\x08\x86\x24\x70\xf6\x77\xfc\xe7\xe4\x78\x65\x25\x7d\x5a\x77\x5d\x5e\xc1\x7b\xe0\x62\x09\x04\x11\x94\x01\x8d\xd2\xeb\x40\xb6\x78\x64\x78\xfe\x1c\xfe\x5c\x9c\x26\x4c\x20\x9b\x32\x75\x08\x8b\xf3\x31\x60\x3f\xd4\x5b\xfd\xeb\x2d\x28\x18\x45\x12\xbf\xd2\x3a\x0e\x2e\xde\xb6\x94\x07\xbd\xc5\x03\xcf\xe6\x9a\xdd\x10\x5d\x1c\xda\x2d\x1e\xe0\x3d\x0c\x69\x00\xa5\x2c\x9a\x1c\x28\x1f\x4b\x99\x74\x98\x24\x5a\x72\x61\x41\xdb\x0e\x69\x68\xed\x42\x59\xbd\xee\x6b\xe3\x11\x54\x0f\xab\x79\xdb\x16\x3b\x78\x67\x72\x3f\x5e\x9b\x60\x7f\xf8\xfe\x66\x92\xf4\x1f\x45\xc9\xf4\x5b\x33\x20\xeb\x60\x5c\xf4\x2e\xa2\x2e\x5d\x89\x52\x34\x9c\x9d\x7b\xee\xd6\x19\x3d\x1a\x46\x50\x3d\x5f\xc0\xe4\x76\x02\x3f\x7e\x54\xc5\x54\x72\x8f\xdc\x7a\xc7\x72\x27\xab\x1a\xab\xff\x15\xa6\x38\xf7\x5f\x49\xcf\x97\x09\x32\x49\xd4\x74\x59\x07\x28\xc9\x1a\xc1\x47\x11\x53\xf9\x78\x5f\x91\x13\xe1\x53\x80\x29\x53\x40\x19\xb1\xb0\x8a\x64\x51\xe1\x6d\xa2\x2c\x98\x9f\x14\xa4\x04\xd3\x8b\x07\xef\x62\xb9\x55\x42\xe4\x59\x99\xfd\xc3\x3c\xe4\x03\x0b\x86\x8a\xb4\x06\x03\x45\x95\xd1\x93\xb1\x9f\xc1\x61\x34\x9d\xc7\x47\x76\x11\xb6\xd6\x65\x50\x69\x3e\xcd\x09\xa3\x39\xba\x94\x50\x3e\x51\x03\x9f\x02\x3b\x41\x56\x66\x67\x9c\x9f\xc2\x3c\xdd\x67\xd6\xf5\x50\x79\x0e\x53\x37\x7b\x04\xae\x2d\x6e\x4c\xf1\xf2\xc0\xcd\x47\x50\x1b\xfe\x8c\x34\x1d\x8c\x08\xe6\x40\x2c\x8f\xb3\x1f\x61\x8e\x02\x9c\xc2\xcf\xcb\x4d\xbd\x4d\x18\x7f\x43\x8f\x61\xea\x86\x3d\x79\x8f\xbd\x50\x7e\x01\x85\x6b\x27\x9d\x13\x17\x0a\x63\xae\x5d\xca\xec\xc8\x59\x48\x98\x83\x63\x76\x14\xc1\x31\x17\xe4\xe3\xb6\xf1\xa1\x61\x0c\x4e\xc6\xd2\xb5\x3d\x05\x4d\x09\xa3\x92\x0f\x41\x26\xf3\xce\x52\x77\x21\xd5\x52\x16\xac\xef\x5e\x2c\xed\x63\x4d\x06\xbd\xbb\x6c\xaf\xae\x2e\xdb\x4b\x4d\x82\xbe\x27\xaf\x7a\x8a\x92\x5d\xb7\x5e\xfe\x5f\x4f\x59\xb6\x9e\x1a\x44\x5b\x1b\xc6\xfd\xc3\xb4\x69\x3b\x80\x72\xf0\xa5\xfe\x8c\xb6\xba\xaf\x58\xff\xce\x98\xaf\xdb\x6f\xe6\xe7\x52\xd7\xc3\x0a\xa6\x41\x35\xe7\xa8\x5d\x9e\xf7\xc5\xb6\x8c\x79\xe7\xfa\x87\x29\xf5\x91\xfc\xa7\x4c\x25\x55\xf6\xf9\xe5\x2b\xd1\x3f\x5e\x61\xf7\xd6\x33\xb2\x98\x2c\xf7\x4f\xe9\x98\x11\x6f\x9d\xc0\x65\x35\xe2\xf5\xd9\xf9\x79\xfc\xf6\xea\xe2\x02\xaa\x39\xcf\xd7\xef\x9a\x79\xbc\xce\x73\xe9\x8d\xaf\x9c\x35\xb1\xcc\x3c\xbb\x18\x46\xb3\x43\xa8\xdf\x09\x68\x5f\x4c\x64\x2e\x0e\x53\x5b\x9b\x88\xaf\x9a\x7f\x03\x00\x00\xff\xff\x15\x6b\x95\x61\x5d\x08\x00\x00") func provisionersProxyShBytes() ([]byte, error) { return bindataRead( @@ -424,7 +424,7 @@ func provisionersProxySh() (*asset, error) { } info := bindataFileInfo{name: "provisioners/proxy.sh", size: 0, mode: os.FileMode(0644), modTime: time.Unix(0, 0)} - a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xd4, 0x16, 0xad, 0x6e, 0x94, 0x99, 0x88, 0x9f, 0x27, 0xca, 0x38, 0xa4, 0x2, 0x97, 0x92, 0x16, 0xbe, 0xa6, 0x14, 0x77, 0xa3, 0x94, 0x23, 0xff, 0xe5, 0xc4, 0x31, 0xda, 0x62, 0x5a, 0x9c, 0x1a}} + a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0xb2, 0x56, 0x93, 0xfb, 0xd8, 0xff, 0xdb, 0x6d, 0xe3, 0x7, 0xb1, 0x98, 0x90, 0xc9, 0x8d, 0x98, 0x35, 0x31, 0x77, 0x29, 0xd0, 0x2f, 0xe1, 0x94, 0x95, 0xe5, 0xd0, 0x32, 0xd1, 0x15, 0x4a}} return a, nil } diff --git a/deployment/terraform/assets/cluster.tf b/deployment/terraform/assets/cluster.tf index 2537cd855..523b416a0 100644 --- a/deployment/terraform/assets/cluster.tf +++ b/deployment/terraform/assets/cluster.tf @@ -337,8 +337,8 @@ resource "aws_rds_cluster_instance" "cluster_instances" { } resource "aws_db_parameter_group" "db_params_group" { - name_prefix = "${var.cluster_name}-db-pg" - family = var.db_instance_engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql14" + name_prefix = "${var.cluster_name}-db-pg" + family = var.db_instance_engine == "aurora-mysql" ? "aurora-mysql8.0" : "aurora-postgresql14" dynamic "parameter" { for_each = var.db_parameters content { @@ -633,7 +633,7 @@ resource "aws_security_group" "redis" { security_groups = [aws_security_group.app[0].id, aws_security_group.metrics[0].id] } - count = var.redis_enabled ? 1 : 0 + count = var.redis_enabled ? 1 : 0 } resource "aws_security_group" "elastic" { diff --git a/deployment/terraform/assets/provisioners/proxy.sh b/deployment/terraform/assets/provisioners/proxy.sh index d7be78844..699570dec 100644 --- a/deployment/terraform/assets/provisioners/proxy.sh +++ b/deployment/terraform/assets/provisioners/proxy.sh @@ -19,7 +19,7 @@ do sudo apt-get -y update && \ sudo apt-get install -y nginx && \ sudo apt-get install -y prometheus-node-exporter && \ - sudo apt-get install -y numactl linux-tools-aws linux-tools-aws-lts-22.04 && \ + sudo apt-get install -y numactl linux-tools-aws && \ sudo systemctl daemon-reload && \ sudo systemctl enable nginx && \ sudo mkdir -p /etc/nginx/snippets && \ diff --git a/examples/config/README.md b/examples/config/README.md index 22975aee5..fb48e5280 100644 --- a/examples/config/README.md +++ b/examples/config/README.md @@ -3,3 +3,4 @@ This directory contains sets of configuration templates that we use in different scenarios. Some fields are hard-coded to the values we use in our day-to-day processes (e.g. the path to the SSH keys), and others are marked as `#TBD` because they may change from run to run (e.g. the URLs to download Mattermost from). In any case, these sets can serve as starter packs for other, different workflows. For now, we have: - [Release testing](./release): configuration used when testing a new release of the load-test tool. - [Performance comparison](./perfcomp): configuration used for regression testing of new Mattermost releases. The results of these runs can be found in the [`performance-reports` repository](https://github.com/mattermost/performance-reports/tree/main/performance-comparisons). +- [CI](./ci): configuration template used by Mattermost's CI pipeline to run automated load-test comparisons in pull requests. diff --git a/examples/config/ci/comparison.json b/examples/config/ci/comparison.json new file mode 100644 index 000000000..78125860b --- /dev/null +++ b/examples/config/ci/comparison.json @@ -0,0 +1,22 @@ +{ + "BaseBuild": { + "Label": "base", + "URL": "" + }, + "NewBuild": { + "Label": "new", + "URL": "" + }, + "LoadTests": [ + { + "Type": "unbounded", + "DBEngine": "postgresql", + "DBDumpURL": "https://lt-public-data.s3.us-east-1.amazonaws.com/20M_710_psql.sql.gz" + } + ], + "Output": { + "UploadDashboard": true, + "GenerateGraphs": true, + "GenerateReport": true + } +} diff --git a/examples/config/ci/config.json b/examples/config/ci/config.json new file mode 100644 index 000000000..7bf2b15db --- /dev/null +++ b/examples/config/ci/config.json @@ -0,0 +1,46 @@ +{ + "ConnectionConfiguration": { + "ServerURL": "http://localhost:8065", + "WebSocketURL": "ws://localhost:8065", + "AdminEmail": "sysadmin@sample.mattermost.com", + "AdminPassword": "Sys@dmin-sample1" + }, + "UserControllerConfiguration": { + "Type": "simulative", + "RatesDistribution": [ + { + "Rate": 5.4, + "Percentage": 1 + } + ] + }, + "InstanceConfiguration": { + "NumTeams": 2, + "NumChannels": 0, + "NumPosts": 0, + "NumReactions": 0, + "NumAdmins": 0, + "PercentReplies": 0.5, + "PercentRepliesInLongThreads": 0.05, + "PercentPublicChannels": 1, + "PercentPrivateChannels": 0, + "PercentDirectChannels": 0, + "PercentGroupChannels": 0 + }, + "UsersConfiguration": { + "InitialActiveUsers": 0, + "UsersFilePath": "", + "MaxActiveUsers": 2000, + "AvgSessionsPerUser": 1 + }, + "LogSettings": { + "EnableConsole": true, + "ConsoleLevel": "DEBUG", + "ConsoleJson": false, + "EnableFile": true, + "FileLevel": "DEBUG", + "FileJson": true, + "FileLocation": "ltagent.log", + "EnableColor": true + } +} diff --git a/examples/config/ci/coordinator.json b/examples/config/ci/coordinator.json new file mode 100644 index 000000000..86d1a6d68 --- /dev/null +++ b/examples/config/ci/coordinator.json @@ -0,0 +1,102 @@ +{ + "ClusterConfig": { + "Agents": [ + { + "Id": "lt0", + "ApiURL": "http://localhost:4000" + } + ], + "MaxActiveUsers": 12000 + }, + "MonitorConfig": { + "PrometheusURL": "http://localhost:9090", + "UpdateIntervalMs": 2000, + "Queries": [ + { + "Description": "Percentage of HTTP 5xx server errors", + "Legend": "Percent", + "Query": "(sum(rate(mattermost_api_time_count{status_code=~\"5..\"}[1m]))/sum(rate(mattermost_api_time_count[1m])))*100", + "Threshold": 0.025, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Average client request duration", + "Legend": "Avg duration (s)", + "Query": "sum(rate(loadtest_http_request_time_sum[1m]))/sum(rate(loadtest_http_request_time_count[1m]))", + "Threshold": 0.1, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "99th percentile of client request duration", + "Legend": "P99 duration (s)", + "Query": "histogram_quantile(0.99, sum(rate(loadtest_http_request_time_bucket[1m])) by (le))", + "Threshold": 2.0, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Percentage of HTTP 5xx client errors", + "Legend": "Percent", + "Query": "(sum(rate(loadtest_http_errors_total{status_code=~\"5..\"}[1m]))/sum(rate(loadtest_http_request_time_count[1m])))*100", + "Threshold": 0.025, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Percentage of client timeouts", + "Legend": "Percent", + "Query": "(sum(rate(loadtest_http_timeouts_total[1m]))/sum(rate(loadtest_http_request_time_count[1m]))) * 100", + "Threshold": 0.025, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "CPU utilization - Average of app nodes", + "Legend": "Percent", + "Query": "100 - 100 * (avg(irate(node_cpu_seconds_total{instance=~\"app.*\",mode=\"idle\"}[5m])))", + "Threshold": 85, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Memory utilization - Average of app nodes", + "Legend": "Percent", + "Query": "100 - 100 * avg(node_memory_MemAvailable_bytes{instance=~\"app.*\"} / node_memory_MemTotal_bytes{instance=~\"app.*\"})", + "Threshold": 85, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Percentage of TCP retransmissions in the app nodes", + "Legend": "Percent", + "Query": "(avg(rate(node_netstat_Tcp_RetransSegs{instance=~\"app.*\"}[1m])) / avg(rate(node_netstat_Tcp_OutSegs{instance=~\"app.*\"}[1m]))) * 100", + "Threshold": 0.5, + "MinIntervalSec": 60, + "Alert": true + }, + { + "Description": "Percentage of TCP retransmissions in the proxy node", + "Legend": "Percent", + "Query": "(avg(rate(node_netstat_Tcp_RetransSegs{instance=~\"proxy:9100\"}[1m])) / avg(rate(node_netstat_Tcp_OutSegs{instance=~\"proxy:9100\"}[1m]))) * 100", + "Threshold": 0.5, + "MinIntervalSec": 60, + "Alert": true + } + ] + }, + "NumUsersInc": 8, + "NumUsersDec": 8, + "RestTimeSec": 1, + "LogSettings": { + "EnableConsole": true, + "ConsoleLevel": "INFO", + "ConsoleJson": false, + "EnableFile": true, + "FileLevel": "INFO", + "FileJson": true, + "FileLocation": "ltcoordinator.log", + "EnableColor": false + } +} diff --git a/examples/config/ci/deployer.json b/examples/config/ci/deployer.json new file mode 100644 index 000000000..7dabf9630 --- /dev/null +++ b/examples/config/ci/deployer.json @@ -0,0 +1,153 @@ +{ + "AWSProfile": "", + "AWSRegion": "us-east-1", + "AWSAvailabilityZone": "", + "AWSAMI": "ami-003d3d03cfe1b0468", + "ClusterName": "", + "ClusterVpcID": "", + "AppInstanceCount": 2, + "AppInstanceType": "c7i.large", + "MetricsInstanceType": "t3.xlarge", + "AgentInstanceCount": 6, + "AgentInstanceType": "c7i.xlarge", + "ElasticSearchSettings": { + "InstanceCount": 0, + "InstanceType": "r6g.large.search", + "Version": "Elasticsearch_7.10", + "CreateRole": false, + "SnapshotRepository": "", + "SnapshotName": "", + "RestoreTimeoutMinutes": 45, + "ClusterTimeoutMinutes": 45 + }, + "RedisSettings": { + "Enabled": false, + "NodeType": "cache.m7g.2xlarge", + "ParameterGroupName": "default.redis7", + "EngineVersion": "7.1" + }, + "JobServerSettings":{ + "InstanceCount": 0, + "InstanceType": "c7i.xlarge" + }, + "EnableAgentFullLogs": true, + "ProxyInstanceCount": 1, + "ProxyInstanceType": "c7i.xlarge", + "SSHPublicKey": "/home/runner/.ssh/mattermost-load-test.pub", + "TerraformStateDir" : "/home/runner/ltstatus", + "S3BucketDumpURI" : "", + "DBDumpURI": "", + "SiteURL": "", + "EnableNetPeekMetrics": false, + "TerraformDBSettings": { + "InstanceCount": 2, + "InstanceEngine": "aurora-postgresql", + "InstanceType": "db.r7g.xlarge", + "UserName": "mmuser", + "Password": "mostest80098bigpass_", + "EnablePerformanceInsights": true, + "DBParameters": [], + "ClusterIdentifier": "" + }, + "ExternalDBSettings": { + "DriverName": "cockroach", + "DataSource": "", + "DataSourceReplicas": [], + "DataSourceSearchReplicas": [] + }, + "ExternalBucketSettings": { + "AmazonS3AccessKeyId": "", + "AmazonS3SecretAccessKey": "", + "AmazonS3Bucket": "", + "AmazonS3PathPrefix": "", + "AmazonS3Region": "us-east-1", + "AmazonS3Endpoint": "s3.amazonaws.com", + "AmazonS3SSL": true, + "AmazonS3SignV2": false, + "AmazonS3SSE": false + }, + "ExternalAuthProviderSettings": { + "Enabled": false, + "KeycloakAdminUser": "mmadmin", + "KeycloakAdminPassword": "mmpass", + "KeycloakRealmFilePath": "", + "KeycloakDBDumpURI": "", + "GenerateUsersCount": 0 + }, + "MattermostDownloadURL": "https://latest.mattermost.com/mattermost-enterprise-linux", + "MattermostLicenseFile": "/home/runner/mattermost-load-test", + "MattermostConfigPatchFile": "", + "AdminEmail": "sysadmin@sample.mattermost.com", + "AdminUsername": "sysadmin", + "AdminPassword": "Sys@dmin-sample1", + "LoadTestDownloadURL": "https://github.com/mattermost/mattermost-load-test-ng/releases/download/v1.23.0/mattermost-load-test-ng-v1.23.0-linux-amd64.tar.gz", + "LogSettings": { + "EnableConsole": true, + "ConsoleLevel": "INFO", + "ConsoleJson": false, + "EnableFile": true, + "FileLevel": "INFO", + "FileJson": true, + "FileLocation": "deployer.log", + "EnableColor": true + }, + "Report": { + "Label": "{instance=~\"app.*\"}", + "GraphQueries": [ + { + "Name": "CPU Utilization", + "Query": "avg(rate(mattermost_process_cpu_seconds_total{instance=~\"app.*\"}[1m])* 100)" + }, + { + "Name": "Heap In Use", + "Query": "avg(go_memstats_heap_inuse_bytes{instance=~\"app.*:8067\"})" + }, + { + "Name": "Stack In Use", + "Query": "avg(go_memstats_stack_inuse_bytes{instance=~\"app.*:8067\"})" + }, + { + "Name": "Goroutines In Use", + "Query": "sum(go_goroutines{instance=~\"app.*:8067\"})" + }, + { + "Name": "RPS", + "Query": "sum(rate(mattermost_http_requests_total{instance=~\"app.*:8067\"}[1m]))" + }, + { + "Name": "Avg Store times", + "Query": "sum(rate(mattermost_db_store_time_sum{instance=~\"app.*:8067\"}[1m])) / sum(rate(mattermost_db_store_time_count{instance=~\"app.*:8067\"}[1m]))" + }, + { + "Name": "P99 Store times", + "Query": "histogram_quantile(0.99, sum(rate(mattermost_db_store_time_bucket[1m])) by (le))" + }, + { + "Name": "Avg API times", + "Query": "sum(rate(mattermost_api_time_sum[1m])) / sum(rate(mattermost_api_time_count[1m]))" + }, + { + "Name": "P99 API times", + "Query": "histogram_quantile(0.99, sum(rate(mattermost_api_time_bucket[1m])) by (le))" + } + ] + }, + "StorageSizes": { + "Agent": 10, + "Proxy": 10, + "App": 15, + "Metrics": 50, + "Job": 50, + "ElasticSearch": 20 + }, + "PyroscopeSettings": { + "EnableAppProfiling": true, + "EnableAgentProfiling": true, + "BlockProfileRate": 0 + }, + "CustomTags": { + "Origin": "ci-automated-loadtests", + "PR": "", + "SHA": "" + } +}