Top Level Namespace

Included Modules

Extended Modules

Defined in:

Constant Summary

BASE_CONFIG = "./config.yml"
CHAOS_CONTAINER_KILL = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogUG9kQ2hhb3MKbWV0YWRh\ndGE6CiAgbmFtZTogY29udGFpbmVyLWtpbGwKICBuYW1lc3BhY2U6IGRlZmF1bHQKc3BlYzoKICBh\nY3Rpb246IGNvbnRhaW5lci1raWxsCiAgbW9kZTogb25lCiAgY29udGFpbmVyTmFtZTogInRlc3Qt\nc2VsZWN0b3IiCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVjdG9yczoKICAgICAgJ3Rlc3Qtc2Vs\nZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBzY2hlZHVsZXI6CiAgICBjcm9uOiAiQGV2ZXJ5IDMw\ncyIK\n")
CHAOS_CPU_HOG = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogU3RyZXNzQ2hhb3MKbWV0\nYWRhdGE6CiAgbmFtZTogY3B1LWhvZy10ZXN0CiAgbmFtZXNwYWNlOiBkZWZhdWx0CnNwZWM6CiAg\nbW9kZTogb25lCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVjdG9yczoKICAgICAgJ3Rlc3Qtc2Vs\nZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBzdHJlc3NvcnM6IAogICAgY3B1OiAKICAgICAgd29y\na2VyczogMQogICAgICBsb2FkOiAxMDAKICBkdXJhdGlvbjogIjMwcyIKICBzY2hlZHVsZXI6CiAg\nICBjcm9uOiAiQGV2ZXJ5IDJtIgo=\n")
CHAOS_MESH_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/chaos-mesh_chaos-mesh"
CHAOS_MESH_VERSION = "v0.8.0"
CHAOS_NETWORK_LOSS = Base64.decode_string("YXBpVmVyc2lvbjogY2hhb3MtbWVzaC5vcmcvdjFhbHBoYTEKa2luZDogTmV0d29ya0NoYW9zCm1l\ndGFkYXRhOgogIG5hbWU6IG5ldHdvcmstbG9zcy10ZXN0CiAgbmFtZXNwYWNlOiBkZWZhdWx0CnNw\nZWM6CiAgYWN0aW9uOiBsb3NzCiAgbW9kZTogb25lCiAgc2VsZWN0b3I6CiAgICBsYWJlbFNlbGVj\ndG9yczoKICAgICAgJ3Rlc3Qtc2VsZWN0b3InOiAndGVzdC1zZWxlY3RvcicKICBsb3NzOgogICAg\nbG9zczogJzEwMCcKICAgIGNvcnJlbGF0aW9uOiAnMTAwJwogIGR1cmF0aW9uOiAnNDBzJwogIHNj\naGVkdWxlcjoKICAgIGNyb246ICdAZXZlcnkgNjAwcycK\n")
CLUSTER_TOOLS = Base64.decode_string("YXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgICBuYW1lOiBj\nbHVzdGVyLXRvb2xzCnNwZWM6CiAgc2VsZWN0b3I6CiAgICBtYXRjaExhYmVsczoKICAgICAgbmFt\nZTogY2x1c3Rlci10b29scwogIHRlbXBsYXRlOgogICAgbWV0YWRhdGE6CiAgICAgIGxhYmVsczoK\nICAgICAgICBuYW1lOiBjbHVzdGVyLXRvb2xzCiAgICBzcGVjOgogICAgICBob3N0TmV0d29yazog\ndHJ1ZQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogY2x1c3Rlci10b29scwogICAg\nICAgICAgaW1hZ2U6IGNvbmZvcm1hbmNlL2NsdXN0ZXItdG9vbHM6djEuMC4wCiAgICAgICAgICBp\nbWFnZVB1bGxQb2xpY3k6IEFsd2F5cwogICAgICAgICAgY29tbWFuZDogWyIvYmluL3NoIl0KICAg\nICAgICAgIGFyZ3M6IFsiLWMiLCAic2xlZXAgaW5maW5pdHkiXQogICAgICAgICAgdm9sdW1lTW91\nbnRzOgogICAgICAgICAgLSBtb3VudFBhdGg6IC9ydW4vY29udGFpbmVyZC9jb250YWluZXJkLnNv\nY2sKICAgICAgICAgICAgbmFtZTogY29udGFpbmVyZC12b2x1bWUKICAgICAgICAgIC0gbW91bnRQ\nYXRoOiAvcHJvYwogICAgICAgICAgICBuYW1lOiBwcm9jCiAgICAgICAgICBzZWN1cml0eUNvbnRl\neHQ6CiAgICAgICAgICAgIHByaXZpbGVnZWQ6IHRydWUKICAgICAgdm9sdW1lczoKICAgICAgLSBu\nYW1lOiBjb250YWluZXJkLXZvbHVtZQogICAgICAgIGhvc3RQYXRoOgogICAgICAgICAgcGF0aDog\nL3Zhci9ydW4vY29udGFpbmVyZC9jb250YWluZXJkLnNvY2sKICAgICAgLSBuYW1lOiBwcm9jCiAg\nICAgICAgaG9zdFBhdGg6CiAgICAgICAgICBwYXRoOiAvcHJvYwotLS0KYXBpVmVyc2lvbjogYXBw\ncy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgICBuYW1lOiBjbHVzdGVyLXRvb2xzLWs4\ncwpzcGVjOgogIHNlbGVjdG9yOgogICAgbWF0Y2hMYWJlbHM6CiAgICAgIG5hbWU6IGNsdXN0ZXIt\ndG9vbHMtazhzCiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbGFiZWxzOgogICAgICAg\nIG5hbWU6IGNsdXN0ZXItdG9vbHMtazhzCiAgICBzcGVjOgogICAgICBjb250YWluZXJzOgogICAg\nICAgIC0gbmFtZTogY2x1c3Rlci10b29scy1rOHMKICAgICAgICAgIGltYWdlOiBjb25mb3JtYW5j\nZS9jbHVzdGVyLXRvb2xzOnYxLjAuMAogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiBBbHdheXMK\nICAgICAgICAgIGNvbW1hbmQ6IFsiL2Jpbi9zaCJdCiAgICAgICAgICBhcmdzOiBbIi1jIiwgInNs\nZWVwIGluZmluaXR5Il0KICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgIC0gbW91bnRQ\nYXRoOiAvcnVuL2NvbnRhaW5lcmQvY29udGFpbmVyZC5zb2NrCiAgICAgICAgICAgIG5hbWU6IGNv\nbnRhaW5lcmQtdm9sdW1lCiAgICAgIHZvbHVtZXM6CiAgICAgIC0gbmFtZTogY29udGFpbmVyZC12\nb2x1bWUKICAgICAgICBob3N0UGF0aDoKICAgICAgICAgIHBhdGg6IC92YXIvcnVuL2NvbnRhaW5l\ncmQvY29udGFpbmVyZC5zb2NrCg==\n")
CNF_DIR = "cnfs"
CONFIG_FILE = "cnf-testsuite.yml"
CONSTRAINT_TEMPLATE = Base64.decode_string("YXBpVmVyc2lvbjogdGVtcGxhdGVzLmdhdGVrZWVwZXIuc2gvdjFiZXRhMQpraW5kOiBDb25zdHJh\naW50VGVtcGxhdGUKbWV0YWRhdGE6CiAgbmFtZTogcmVxdWlyZXRhZ3MKc3BlYzoKICBjcmQ6CiAg\nICBzcGVjOgogICAgICBuYW1lczoKICAgICAgICBraW5kOiBSZXF1aXJlVGFncwogIHRhcmdldHM6\nCiAgICAtIHRhcmdldDogYWRtaXNzaW9uLms4cy5nYXRla2VlcGVyLnNoCiAgICAgIHJlZ286IHwK\nICAgICAgICBwYWNrYWdlIHJlcXVpcmV0YWdzCiAgICAgICAgdmlvbGF0aW9uW3sibXNnIjogbXNn\nLCAiZGV0YWlscyI6IHt9fV17CiAgICAgICAgICBpbnB1dC5yZXZpZXcua2luZC5raW5kID09ICJQ\nb2QiCiAgICAgICAgICBpbWFnZSA6PSBpbnB1dC5yZXZpZXcub2JqZWN0LnNwZWMuY29udGFpbmVy\nc1tfXS5pbWFnZQogICAgICAgICAgZW5zdXJlKGltYWdlKQogICAgICAgICAgbXNnIDo9IHNwcmlu\ndGYoIlZpb2xhdGlvbiBmb3IgUG9kICV2LCBpdCB1c2VzIGFuIGltYWdlIHRhZyB0aGF0IGlzIG5v\ndCB2ZXJzaW9uZWQiLCBbaW5wdXQucmV2aWV3Lm9iamVjdC5tZXRhZGF0YS5uYW1lXSkKICAgICAg\nICB9CiAgICAgICAgCiAgICAgICAgZW5zdXJlKGltYWdlKSB7CiAgICAgICAgICBjb250YWlucyhp\nbWFnZSwgIjpsYXRlc3QiKQogICAgICAgIH0KICAgICAgICBlbnN1cmUoaW1hZ2UpIHsKICAgICAg\nICAgIG5vdCBjb250YWlucyhpbWFnZSwiOiIpCiAgICAgICAgfQoK\n")
DEFAULT_POINTSFILENAME = "points_v1.yml"

todo move to helm module CHART_YAML = "Chart.yaml"

DISABLE_CNI = Base64.decode_string("a2luZDogQ2x1c3RlcgphcGlWZXJzaW9uOiBraW5kLngtazhzLmlvL3YxYWxwaGE0Cm5ldHdvcmtp\nbmc6CiAgZGlzYWJsZURlZmF1bHRDTkk6IHRydWUgIyBkaXNhYmxlIGtpbmRuZXQKICAjICBwb2RT\ndWJuZXQ6IDE5Mi4xNjguMC4wLzE2ICMgc2V0IHRvIENhbGljbydzIGRlZmF1bHQgc3VibmV0Cg==\n")
DOCKERD_MANIFEST = Base64.decode_string("LS0tCmFwaVZlcnNpb246IHYxCmtpbmQ6IENvbmZpZ01hcAptZXRhZGF0YToKICBuYW1lOiBkb2Nr\nZXItY29uZmlnCmRhdGE6CiAgY29uZmlnLnlhbWw6IHwKICAgIHsKICAgICAgImluc2VjdXJlLXJl\nZ2lzdHJpZXMiIDogWyJyZWdpc3RyeTo1MDAwIl0gCiAgICB9Ci0tLQphcGlWZXJzaW9uOiB2MQpr\naW5kOiBQb2QKbWV0YWRhdGE6CiAgICBuYW1lOiBkb2NrZXJkCiAgICBsYWJlbHM6CiAgICAgIG5h\nbWU6IGRvY2tlcmQgCnNwZWM6CiAgY29udGFpbmVyczoKICAtIG5hbWU6IGRvY2tlcmQKICAgIGlt\nYWdlOiBkb2NrZXI6ZGluZAogICAgdm9sdW1lTW91bnRzOgogICAgLSBuYW1lOiBjb25maWctdm9s\ndW1lCiAgICAgIG1vdW50UGF0aDogL2V0Yy9kb2NrZXIvZGFlbW9uLmpzb24KICAgICAgc3ViUGF0\naDogY29uZmlnLnlhbWwKICAgIGxpdmVuZXNzUHJvYmU6CiAgICAgIHRjcFNvY2tldDoKICAgICAg\nICBwb3J0OiAyMzc2CiAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDMKICAgICAgcGVyaW9kU2Vj\nb25kczogMwogICAgcmVhZGluZXNzUHJvYmU6CiAgICAgIHRjcFNvY2tldDoKICAgICAgICBwb3J0\nOiAyMzc2CiAgICAgIGluaXRpYWxEZWxheVNlY29uZHM6IDMKICAgICAgcGVyaW9kU2Vjb25kczog\nMwogICAgc2VjdXJpdHlDb250ZXh0OgogICAgICBwcml2aWxlZ2VkOiB0cnVlCiAgdm9sdW1lczoK\nICAgIC0gbmFtZTogY29uZmlnLXZvbHVtZQogICAgICBjb25maWdNYXA6CiAgICAgICAgbmFtZTog\nZG9ja2VyLWNvbmZpZwo=\n")
ELASTIC_PROVISIONING_DRIVERS_REGEX = /kubernetes.io\/aws-ebs|kubernetes.io\/azure-file|kubernetes.io\/azure-disk|kubernetes.io\/cinder|kubernetes.io\/gce-pd|kubernetes.io\/glusterfs|kubernetes.io\/quobyte|kubernetes.io\/rbd|kubernetes.io\/vsphere-volume|kubernetes.io\/portworx-volume|kubernetes.io\/scaleio|kubernetes.io\/storageos|rook-ceph.rbd.csi.ceph.com/
ELASTIC_PROVISIONING_DRIVERS_REGEX_SPEC = /kubernetes.io\/aws-ebs|kubernetes.io\/azure-file|kubernetes.io\/azure-disk|kubernetes.io\/cinder|kubernetes.io\/gce-pd|kubernetes.io\/glusterfs|kubernetes.io\/quobyte|kubernetes.io\/rbd|kubernetes.io\/vsphere-volume|kubernetes.io\/portworx-volume|kubernetes.io\/scaleio|kubernetes.io\/storageos|rook-ceph.rbd.csi.ceph.com|rancher.io\/local-path/
EMPTY_JSON = JSON.parse("{}")
EMPTY_JSON_ARRAY = JSON.parse("[]")
ENFORCE_IMAGE_TAG = Base64.decode_string("YXBpVmVyc2lvbjogY29uc3RyYWludHMuZ2F0ZWtlZXBlci5zaC92MWJldGExCmtpbmQ6IFJlcXVp\ncmVUYWdzCm1ldGFkYXRhOgogIG5hbWU6IGJsb2NrLWxhdGVzdC10YWcKc3BlYzoKICBtYXRjaDoK\nICAgIGtpbmRzOgogICAgICAtIGFwaUdyb3VwczogWyIiXQogICAgICAgIGtpbmRzOiBbIlBvZCJd\nCiAgICAgIAo=\n")
FAILED = "failed"
FALCO_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/falcosecurity_falco"
FALCO_RULES = Base64.decode_string("Y3VzdG9tUnVsZXM6CiAgcnVsZXMtcm9vdC55YW1sOiB8LQogICAgLSBydWxlOiBEZXRlY3QgUm9v\ndCBDb250YWluZXIgUHJvY2Vzc2VzLgogICAgICBkZXNjOiBMaXN0IGNvbnRhaW5lciBwcm9jZXNz\nIHJ1biBieSBhIHJvb3QgdXNlci4KICAgICAgY29uZGl0aW9uOiAoZXZ0LnR5cGUgIT0gY29udGFp\nbmVyIGFuZCBjb250YWluZXIgYW5kIGs4cy5wb2QubmFtZSAhPSAiPE5BPiIgYW5kIHVzZXIudWlk\nID0gMCkKICAgICAgb3V0cHV0OiA+CiAgICAgICAgQSBjb250YWluZXIgd2l0aCBhIHJvb3QgcHJv\nY2Nlc3Mgd2FzIGRldGVjdGVkLiAoazhzX3BvZD0lazhzLnBvZC5uYW1lKSBwcm9jX25hbWU9JXBy\nb2MubmFtZSB1c2VyX3VpZD0ldXNlci51aWQKICAgICAgcHJpb3JpdHk6IE5PVElDRQogICAgICB0\nYWdzOiBbY29udGFpbmVyLCByb290XQoKICAgICAgICAK\n")
FLUENTD_VALUES = Base64.decode_string("ZmlsZUNvbmZpZ3M6CiAgMDRfb3V0cHV0cy5jb25mOiB8LQogICAgPGxhYmVsIEBPVVRQVVQ+CiAg\nICAgIDxtYXRjaCAqKj4KICAgICAgICBAdHlwZSBmaWxlCiAgICAgICAgcGF0aCAiL3Rlc3RkYXRh\nIgogICAgICA8L21hdGNoPgogICAgPC9sYWJlbD4K\n")
IGNORED_SECRET_TYPES = ["kubernetes.io/service-account-token", "kubernetes.io/dockercfg", "kubernetes.io/dockerconfigjson", "helm.sh/release.v1"]
KIND_VERSION = "0.11.1"
KUBESCAPE_FRAMEWORK_VERSION = "1.0.108"
KUBESCAPE_VERSION = "1.0.132"
LOGGING = LogginGenerator.new
NA = "na"
NODE_FAILED_VALUES = Base64.decode_string("dG9sZXJhdGlvbnM6Ci0ga2V5OiAibm9kZS5rdWJlcm5ldGVzLmlvL3VucmVhY2hhYmxlIgogIG9w\nZXJhdG9yOiAiRXhpc3RzIgogIGVmZmVjdDogIk5vRXhlY3V0ZSIKICB0b2xlcmF0aW9uU2Vjb25k\nczogMQotIGtleTogIm5vZGUua3ViZXJuZXRlcy5pby9ub3QtcmVhZHkiCiAgb3BlcmF0b3I6ICJF\neGlzdHMiCiAgZWZmZWN0OiAiTm9FeGVjdXRlIgogIHRvbGVyYXRpb25TZWNvbmRzOiAxCgo=\n")
OFFLINE_MANIFESTS_PATH = "/tmp/manifests"
OPA_OFFLINE_DIR = "#{TarClient::TAR_REPOSITORY_DIR}/gatekeeper_gatekeeper"
PASSED = "passed"
POINTSFILE = Base64.decode_string("LS0tCi0gbmFtZTogZGVmYXVsdF9zY29yaW5nCiAgdGFnczogCiAgcGFzczogNQogIGZhaWw6IC0x\nIAogIHNraXBwZWQ6IDAgCiAgbmE6IDAgCiAgbmV1dHJhbDogMCAKCi0gbmFtZTogcmVhc29uYWJs\nZV9pbWFnZV9zaXplCiAgdGFnczogbWljcm9zZXJ2aWNlLCBkeW5hbWljLCB3b3JrbG9hZAotIG5h\nbWU6IHJlYXNvbmFibGVfc3RhcnR1cF90aW1lIAogIHRhZ3M6IG1pY3Jvc2VydmljZSwgZHluYW1p\nYywgd29ya2xvYWQKLSBuYW1lOiBzaW5nbGVfcHJvY2Vzc190eXBlIAogIHRhZ3M6IG1pY3Jvc2Vy\ndmljZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBzZXJ2aWNlX2Rpc2NvdmVyeQogIHRhZ3M6\nIG1pY3Jvc2VydmljZSwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiA1CiAgZmFpbDogMAotIG5h\nbWU6IHNoYXJlZF9kYXRhYmFzZQogIHRhZ3M6IG1pY3Jvc2VydmljZSwgZHluYW1pYywgd29ya2xv\nYWQKCi0gbmFtZTogY25pX2NvbXBhdGlibGUKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBkeW5hbWlj\nLCB3b3JrbG9hZAojIC0gbmFtZTogY25pX3NwZWMgCiMgIHRhZ3M6IGNvbXBhdGliaWxpdHksIGR5\nbmFtaWMKIy0gbmFtZTogYXBpX3Nub29wX2FscGhhIAojICB0YWdzOiBjb21wYXRpYmlsaXR5LCBk\neW5hbWljCiMtIG5hbWU6IGFwaV9zbm9vcF9iZXRhIAojICB0YWdzOiBjb21wYXRpYmlsaXR5LCBk\neW5hbWljCiMtIG5hbWU6IGFwaV9zbm9vcF9nZW5lcmFsX2FwaXMgCiMgIHRhZ3M6IGNvbXBhdGli\naWxpdHksIGR5bmFtaWMKCiMtIG5hbWU6IHJlc2V0X2NuZiAKIyAgdGFnczogc3RhdGUsIGR5bmFt\naWMsIGNvbmZpZ3VyYXRpb24KIy0gbmFtZTogY2hlY2tfcmVhcGVkIAojICB0YWdzOiBzdGF0ZSwg\nZHluYW1pYywgY29uZmlndXJhdGlvbgoKLSBuYW1lOiBwcml2aWxlZ2VkIAogIHRhZ3M6IHNlY3Vy\naXR5LCBkeW5hbWljLCB3b3JrbG9hZAogIHJlcXVpcmVkOiB0cnVlCi0gbmFtZTogbm9uX3Jvb3Rf\ndXNlciAKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBwcml2aWxl\nZ2VfZXNjYWxhdGlvbiAKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1l\nOiBzeW1saW5rX2ZpbGVfc3lzdGVtIAogIHRhZ3M6IHNlY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9h\nZAotIG5hbWU6IGFwcGxpY2F0aW9uX2NyZWRlbnRpYWxzIAogIHRhZ3M6IHNlY3VyaXR5LCBkeW5h\nbWljLCB3b3JrbG9hZAotIG5hbWU6IGhvc3RfbmV0d29yayAKICB0YWdzOiBzZWN1cml0eSwgZHlu\nYW1pYywgd29ya2xvYWQKIy0gbmFtZTogc2hlbGxzIAojICB0YWdzOiBzZWN1cml0eSwgZHluYW1p\nYwojLSBuYW1lOiBwcm90ZWN0ZWRfYWNjZXNzIAojICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYwoK\nLSBuYW1lOiBpbmNyZWFzZV9jYXBhY2l0eSAKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBkeW5hbWlj\nLCB3b3JrbG9hZAogIHBhc3M6IDEwCiAgZmFpbDogLTUgCi0gbmFtZTogZGVjcmVhc2VfY2FwYWNp\ndHkgCiAgdGFnczogY29tcGF0aWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiAxMAog\nIGZhaWw6IC01IAojLSBuYW1lOiBzbWFsbF9hdXRvc2NhbGluZyAKIyAgdGFnczogY29tcGF0aWJp\nbGl0eSwgZHluYW1pYywgd29ya2xvYWQKIy0gbmFtZTogbGFyZ2VfYXV0b3NjYWxpbmcgCiMgIHRh\nZ3M6IGNvbXBhdGliaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCiMgLSBuYW1lOiBuZXR3b3JrX2No\nYW9zIAojICAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBwb2Rf\nbmV0d29ya19sYXRlbmN5CiAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKLSBu\nYW1lOiBwb2RfbmV0d29ya19jb3JydXB0aW9uCiAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywg\nd29ya2xvYWQKLSBuYW1lOiBwb2RfbmV0d29ya19kdXBsaWNhdGlvbgogIHRhZ3M6IHJlc2lsaWVu\nY2UsIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogcG9kX2RlbGV0ZQogIHRhZ3M6IHJlc2lsaWVu\nY2UsIGR5bmFtaWMsIHdvcmtsb2FkICAKLSBuYW1lOiBwb2RfaW9fc3RyZXNzCiAgdGFnczogcmVz\naWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQgIAotIG5hbWU6IHBvZF9tZW1vcnlfaG9nCiAgdGFn\nczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQgIAotIG5hbWU6IGRpc2tfZmlsbAogIHRh\nZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMsIHdvcmtsb2FkICAKIy0gbmFtZTogZXh0ZXJuYWxfcmV0\ncnkgCiMgIHRhZ3M6IHNjYWxhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKIy0gbmFtZTogdmVy\nc2lvbmVkX2hlbG1fY2hhcnQKIyAgdGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYywgd29ya2xv\nYWQKLSBuYW1lOiB2ZXJzaW9uZWRfdGFnCiAgdGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYywg\nd29ya2xvYWQKLSBuYW1lOiBpcF9hZGRyZXNzZXMKICBwYXNzOiAwCiAgZmFpbDogLTEgCiAgdGFn\nczogY29uZmlndXJhdGlvbiwgc3RhdGljLCB3b3JrbG9hZAotIG5hbWU6IGxpdmVuZXNzCiAgdGFn\nczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiByZWFkaW5lc3MKICB0YWdz\nOiByZXNpbGllbmNlLCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1lOiBub192b2x1bWVfd2l0aF9j\nb25maWd1cmF0aW9uCiMgIHRhZ3M6IGNvbmZpZ3VyYXRpb24sIGR5bmFtaWMKLSBuYW1lOiByb2xs\naW5nX3VwZGF0ZQogIHRhZ3M6IGNvbXBhdGliaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFt\nZTogcm9sbGluZ19kb3duZ3JhZGUKICB0YWdzOiBjb21wYXRpYmlsaXR5LCBkeW5hbWljLCB3b3Jr\nbG9hZAotIG5hbWU6IHJvbGxpbmdfdmVyc2lvbl9jaGFuZ2UKICB0YWdzOiBjb21wYXRpYmlsaXR5\nLCBkeW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IHJvbGxiYWNrCiAgdGFnczogY29tcGF0aWJpbGl0\neSwgZHluYW1pYywgd29ya2xvYWQKLSBuYW1lOiBub2RlcG9ydF9ub3RfdXNlZAogIHRhZ3M6IGNv\nbmZpZ3VyYXRpb24sIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogaG9zdHBvcnRfbm90X3VzZWQK\nICB0YWdzOiBjb25maWd1cmF0aW9uLCBkeW5hbWljLCB3b3JrbG9hZAotIG5hbWU6IGhhcmRjb2Rl\nZF9pcF9hZGRyZXNzZXNfaW5fazhzX3J1bnRpbWVfY29uZmlndXJhdGlvbgogIHRhZ3M6IGNvbmZp\nZ3VyYXRpb24sIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogc2VjcmV0c191c2VkCiAgdGFnczog\nY29uZmlndXJhdGlvbiwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiA1CiAgZmFpbDogMCAKLSBu\nYW1lOiBpbW11dGFibGVfY29uZmlnbWFwCiAgdGFnczogY29uZmlndXJhdGlvbiwgZHluYW1pYywg\nd29ya2xvYWQKICBwYXNzOiAxCiAgZmFpbDogMCAKCiMtIG5hbWU6IGZsdWVudGRfdHJhZmZpYwoj\nICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1lOiBqYWVnZXJf\ndHJhZmZpYwojICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1l\nOiBwcm9tZXRoZXVzX3RyYWZmaWMKIyAgdGFnczogb2JzZXJ2YWJpbGl0eSwgZHluYW1pYywgd29y\na2xvYWQKIy0gbmFtZTogb3BlbnRlbGVtZXRyeV9jb21wYXRpYmxlCiMgIHRhZ3M6IG9ic2VydmFi\naWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCiMtIG5hbWU6IG9wZW5tZXRyaWNfY29tcGF0aWJsZQoj\nICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBoZWxtX2Rl\ncGxveQogIHRhZ3M6IGNvbXBhdGliaWxpdHksIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogaW5z\ndGFsbF9zY3JpcHRfaGVsbQogIHRhZ3M6IGNvbXBhdGliaWxpdHksIHN0YXRpYywgd29ya2xvYWQK\nLSBuYW1lOiBoZWxtX2NoYXJ0X3ZhbGlkCiAgdGFnczogY29tcGF0aWJpbGl0eSwgZHluYW1pYywg\nd29ya2xvYWQKLSBuYW1lOiBoZWxtX2NoYXJ0X3B1Ymxpc2hlZAogIHRhZ3M6IGNvbXBhdGliaWxp\ndHksIGR5bmFtaWMsIHdvcmtsb2FkCiAgCiMgLSBuYW1lOiBjaGFvc19uZXR3b3JrX2xvc3MgCiMg\nICB0YWdzOiByZXNpbGllbmNlLCBkeW5hbWljLCB3b3JrbG9hZAojIC0gbmFtZTogY2hhb3NfY3B1\nX2hvZwojICAgdGFnczogcmVzaWxpZW5jZSwgZHluYW1pYywgd29ya2xvYWQKIyAtIG5hbWU6IGNo\nYW9zX2NvbnRhaW5lcl9raWxsCiMgICB0YWdzOiByZXNpbGllbmNlLCBkeW5hbWljLCB3b3JrbG9h\nZAoKLSBuYW1lOiB2b2x1bWVfaG9zdHBhdGhfbm90X2ZvdW5kCiAgdGFnczogc3RhdGUsIGR5bmFt\naWMsIHdvcmtsb2FkCi0gbmFtZTogbm9fbG9jYWxfdm9sdW1lX2NvbmZpZ3VyYXRpb24gCiAgdGFn\nczogc3RhdGUsIGR5bmFtaWMsIHdvcmtsb2FkCi0gbmFtZTogZWxhc3RpY192b2x1bWVzIAogIHRh\nZ3M6IHN0YXRlLCBkeW5hbWljLCB3b3JrbG9hZAogIHBhc3M6IDUgCiAgZmFpbDogMCAKLSBuYW1l\nOiBkYXRhYmFzZV9wZXJzaXN0ZW5jZQogIHRhZ3M6IHN0YXRlLCBkeW5hbWljLCB3b3JrbG9hZAog\nIHBhc3M1OiA1IAogIHBhc3MzOiAzIAogIGZhaWw6IC0xCiMtIG5hbWU6IGhhcmR3YXJlX2FuZF9z\nY2hlZHVsaW5nCiMgIHRhZ3M6IGhhcmR3YXJlLCBkeW5hbWljLCB3b3JrbG9hZAojLSBuYW1lOiBz\ndGF0aWNfYWNjZXNzaW5nX2hhcmR3YXJlIAojICB0YWdzOiBoYXJkd2FyZSwgc3RhdGljLCB3b3Jr\nbG9hZAojLSBuYW1lOiBkeW5hbWljX2FjY2Vzc2luZ19oYXJkd2FyZSAKIyAgdGFnczogaGFyZHdh\ncmUsIGR5bmFtaWMsIHdvcmtsb2FkCiMtIG5hbWU6IGRpcmVjdF9odWdlcGFnZXMKIyAgdGFnczog\naGFyZHdhcmUsIGR5bmFtaWMsIHdvcmtsb2FkCiMtIG5hbWU6IHBlcmZvcm1hbmNlCiMgIHRhZ3M6\nIGhhcmR3YXJlLCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBrOHNfY29uZm9ybWFuY2UKICB0\nYWdzOiBwbGF0Zm9ybSwgZHluYW1pYwotIG5hbWU6IHdvcmtlcl9yZWJvb3RfcmVjb3ZlcnkgCiAg\ndGFnczogcGxhdGZvcm0sIHBsYXRmb3JtOnJlc2lsaWVuY2UsIGR5bmFtaWMKLSBuYW1lOiBvY2lf\nY29tcGxpYW50CiAgdGFnczogcGxhdGZvcm0sIHBsYXRmb3JtOmhhcmR3YXJlX2FuZF9zY2hlZHVs\naW5nLCBkeW5hbWljCi0gbmFtZTogY29udHJvbF9wbGFuZV9oYXJkZW5pbmcKICB0YWdzOiBwbGF0\nZm9ybSwgcGxhdGZvcm06c2VjdXJpdHksIGR5bmFtaWMKLSBuYW1lOiBjbHVzdGVyX2FkbWluCiAg\ndGFnczogcGxhdGZvcm0sIHBsYXRmb3JtOnNlY3VyaXR5LCBkeW5hbWljCi0gbmFtZTogZXhwb3Nl\nZF9kYXNoYm9hcmQKICB0YWdzOiBwbGF0Zm9ybSwgcGxhdGZvcm06c2VjdXJpdHksIGR5bmFtaWMK\nCi0gbmFtZTogbm9kZV9kcmFpbgogIHRhZ3M6IHJlc2lsaWVuY2UsIGR5bmFtaWMsIHdvcmtsb2Fk\nCgotIG5hbWU6IHNlcnZpY2VfYWNjb3VudF9tYXBwaW5nCiAgdGFnczogc2VjdXJpdHksIGR5bmFt\naWMsIHdvcmtsb2FkCgotIG5hbWU6IHByaXZpbGVnZWRfY29udGFpbmVycwogIHRhZ3M6IHNlY3Vy\naXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBuZXR3b3JrX3BvbGljaWVzCiAgdGFnczog\nc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IG5vbl9yb290X2NvbnRhaW5lcnMK\nICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTogaG9zdF9waWRfaXBj\nX3ByaXZpbGVnZXMKICB0YWdzOiBzZWN1cml0eSwgZHluYW1pYywgd29ya2xvYWQKCi0gbmFtZTog\nbGludXhfaGFyZGVuaW5nCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5h\nbWU6IHJlc291cmNlX3BvbGljaWVzCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2Fk\nCgotIG5hbWU6IGltbXV0YWJsZV9maWxlX3N5c3RlbXMKICB0YWdzOiBzZWN1cml0eSwgZHluYW1p\nYywgd29ya2xvYWQKCi0gbmFtZTogaG9zdHBhdGhfbW91bnRzCiAgdGFnczogc2VjdXJpdHksIGR5\nbmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IGluZ3Jlc3NfZWdyZXNzX2Jsb2NrZWQgCiAgdGFnczog\nc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6IGluc2VjdXJlX2NhcGFiaWxpdGll\ncwogIHRhZ3M6IHNlY3VyaXR5LCBkeW5hbWljLCB3b3JrbG9hZAoKLSBuYW1lOiBkYW5nZXJvdXNf\nY2FwYWJpbGl0aWVzCiAgdGFnczogc2VjdXJpdHksIGR5bmFtaWMsIHdvcmtsb2FkCgotIG5hbWU6\nIGxvZ19vdXRwdXQKICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAotIG5h\nbWU6IHByb21ldGhldXNfdHJhZmZpYyAKICB0YWdzOiBvYnNlcnZhYmlsaXR5LCBkeW5hbWljLCB3\nb3JrbG9hZAogIHBhc3M6IDEwCiAgZmFpbDogMCAKLSBuYW1lOiBvcGVuX21ldHJpY3MgCiAgdGFn\nczogb2JzZXJ2YWJpbGl0eSwgZHluYW1pYywgd29ya2xvYWQKICBwYXNzOiA1IAogIGZhaWw6IDAg\nCi0gbmFtZTogcm91dGVkX2xvZ3MgCiAgdGFnczogb2JzZXJ2YWJpbGl0eSwgZHluYW1pYywgd29y\na2xvYWQKICBwYXNzOiA1IAogIGZhaWw6IDAgCi0gbmFtZTogdHJhY2luZyAKICB0YWdzOiBvYnNl\ncnZhYmlsaXR5LCBkeW5hbWljLCB3b3JrbG9hZAogIHBhc3M6IDUgCiAgZmFpbDogMCAKLSBuYW1l\nOiBhbHBoYV9rOHNfYXBpcwogIHRhZ3M6IGNvbmZpZ3VyYXRpb24sIGR5bmFtaWMsIHdvcmtsb2Fk\nCg==\n")
PRIVILEGED_WHITELIST_CONTAINERS = ["chaos-daemon", "cluster-tools"]
REASONABLE_STARTUP_BUFFER = 10.0
REBOOT_DAEMON = Base64.decode_string("YXBpVmVyc2lvbjogYXBwcy92MQpraW5kOiBEYWVtb25TZXQKbWV0YWRhdGE6CiAgICBuYW1lOiBy\nZWJvb3QKc3BlYzoKICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBuYW1lOiByZWJv\nb3QKICB0ZW1wbGF0ZToKICAgIG1ldGFkYXRhOgogICAgICBsYWJlbHM6CiAgICAgICAgbmFtZTog\ncmVib290CiAgICBzcGVjOgogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogcmVib290\nCiAgICAgICAgICBpbWFnZTogY29uZm9ybWFuY2UvcmVib290X2RhZW1vbjpsYXRlc3QKICAgICAg\nICAgIGNvbW1hbmQ6IFsiL2VudHJ5cG9pbnQuc2giXQogICAgICAgICAgdm9sdW1lTW91bnRzOgog\nICAgICAgICAgLSBtb3VudFBhdGg6IC9zeXNycQogICAgICAgICAgICBuYW1lOiBzeXNycS12b2x1\nbWUKICAgICAgdm9sdW1lczoKICAgICAgLSAgbmFtZTogc3lzcnEtdm9sdW1lCiAgICAgICAgIGhv\nc3RQYXRoOgogICAgICAgICAgIHBhdGg6IC9wcm9jL3N5c3JxLXRyaWdnZXIK\n")
SKIPPED = "skipped"
SONOBUOY_K8S_VERSION = "0.19.0"
SONOBUOY_OS = "linux"
TOOLS_DIR = "tools"
VERBOSE_LOGGING = VerboseLogginGenerator.new

Method Summary

Method Detail

def acceptable_kubectl_version?(kubectl_response, verbose = false) #

Check if client version is not 3 minor versions behind server version


[View source]
def change_capacity(base_replicas, target_replica_count, args, config, resource = {kind: "", metadata: {name: ""}}) #

[View source]
def check_alpha(args) #

if the alpha flag or wip flag is true, then alpha tests should be run


[View source]
def check_alpha #

if the alpha flag or wip flag is true, then alpha tests should be run


[View source]
def check_beta(args) #

if the beta flag or alpha flag is true, then beta tests should be run


[View source]
def check_beta #

if the beta flag or alpha flag is true, then beta tests should be run


[View source]
def check_cnf_config(args) #

[View source]
def check_destructive(args) #

[View source]
def check_destructive #

[View source]
def check_dockerd(wait_count = 1) #

Checks to see if dockerd is already installed. Alternatively

can be used to wait for dockerd is installed by passing a higher wait_count)


[View source]
def check_feature_level(args) #

check feature level e.g. --beta

if no feature level then feature level = ga


[View source]
def check_poc(args) #

[View source]
def check_poc #

[View source]
def check_verbose(args) #

[View source]
def check_wip(args) #

[View source]
def check_wip #

[View source]
def clusterctl_global_response(verbose = false) #

[View source]
def clusterctl_installation(verbose = false) #

todo collection in modules similar to ohai: https://github.com/chef/ohai


[View source]
def clusterctl_local_response(verbose = false) #

[View source]
def clusterctl_version(clusterctl_response, verbose = false) #

[View source]
def curl_global_response(verbose = false) #

[View source]
def curl_installation(verbose = false) #

[View source]
def curl_local_response(verbose = false) #

[View source]
def curl_version(curl_response, verbose = false) #

[View source]
def dockerd_filename #

[View source]
def ensure_kubeconfig! #

[View source]
def git_global_response(verbose = false) #

[View source]
def git_installation(verbose = false) #

[View source]
def git_local_response(verbose = false) #

[View source]
def git_version(git_response, verbose = false) #

[View source]
def helm_global_response(verbose = false) #

[View source]
def helm_installation(verbose = false) #

TODO put this in a module


[View source]
def helm_local_response(verbose = false) #

[View source]
def helm_v2_version(helm_response) #

[View source]
def helm_v3_version(helm_response) #

[View source]
def helm_version(helm_response, verbose = false) #

[View source]
def image_pull(yml, offline) #

todo put this in bootstrap utils


[View source]
def increase_decrease_capacity_failure_msg(target_replicas, emoji) #

[View source]
def kubectl_global_response(verbose = false) #

[View source]
def kubectl_installation(verbose = false, offline_mode = false) #

[View source]
def kubectl_local_response(verbose = false) #

[View source]
def kubectl_version(kubectl_response, version_for = "client", verbose = false) #

Extracts Kubernetes client version or server version

version = kubectl_version(kubectl_response, "client")
version # => "1.12"

version = kubectl_version(kubectl_response, "server")
version # => "1.12"

For reference, below are example client and server version strings from "kubectl version" output

Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.0", GitCommit:"cb303e613a121a29364f75cc67d3d580833a7479", GitTreeState:"clean", BuildDate:"2021-04-08T16:31:21Z", GoVersion:"go1.16.1", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"clean", BuildDate:"2021-01-21T01:11:42Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}

TODO Function could be updated to rely on the JSON output of "kubectl version -o json" instead of regex parsing

Returns the version as a string (Example: 1.12, 1.20, etc)


[View source]
def local_helm_installed? #

[View source]
def log_formatter #

[View source]
def loglevel #

[View source]
def named_sha_list(resp_json) #

[View source]
def optional_key_as_string(totem_config, key_name) #

this method extracts a string value from a config section if it exists if the value is an integer it will be converted to a string before extraction


[View source]
def secrets_used_skipped_msg(emoji) #

[View source]
def setup_calico_cluster(cluster_name : String, offline : Bool) : KindManager::Cluster #

[View source]
def setup_cilium_cluster(cluster_name : String, offline : Bool) : KindManager::Cluster #

[View source]
def sonobuoy_details(cmd_path : String) #

[View source]
def stdout_failure(msg) #

[View source]
def stdout_info(msg) #

[View source]
def stdout_score(test_name, full_name) #

[View source]
def stdout_score(test_name) #

[View source]
def stdout_success(msg) #

[View source]
def stdout_warning(msg) #

[View source]
def toggle(toggle_name) #

[View source]
def update_yml(yml_file, top_level_key, value) #

[View source]
def upsert_dynamic_task(task, status : CNFManager::Points::Results::ResultStatus, message) #

[View source]
def upsert_failed_task(task, message) #

[View source]
def upsert_na_task(task, message) #

[View source]
def upsert_passed_task(task, message) #

[View source]
def upsert_skipped_task(task, message) #

[View source]
def version_less_than(v1str, v2str) #

compare 2 SemVer strings and return true if v1 is less than v2


[View source]
def wait_for_scaling(resource, target_replica_count, args) #

[View source]
def wget_global_response(verbose = false) #

[View source]
def wget_installation(verbose = false) #

[View source]
def wget_local_response(verbose = false) #

[View source]
def wget_version(wget_response, verbose = false) #

[View source]