(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=2 words=[] bindings=[('KNOWN_TOKENS_FILE', {[DQ [LIT_CHARS /srv/salt-overlay/salt/kube-apiserver/known_tokens.csv]]})]) (= scope= flags=2 words=[] bindings=[('BASIC_AUTH_FILE', {[DQ [LIT_CHARS /srv/salt-overlay/salt/kube-apiserver/basic_auth.csv]]})]) (FunctionDef evaluate-manifest [] (List (= scope= flags=0 words=[] bindings=[('src', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('dst', {[VarSub 2]})]) (Com {[LIT_CHARS cp]} {[VarSub src]} {[VarSub dst]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -i]} {[SQ ]} {[VarSub dst]} ) (Com {[LIT_CHARS eval]} {[DQ [LIT_CHARS "echo "][\ LIT_ESCAPED_CHAR "\\\""][ComSub (Com redirects=[(FilenameRedirectNode filename={[VarSub dst]} 0)])][\ LIT_ESCAPED_CHAR "\\\""]]} < (FilenameRedirectNode filename={[VarSub dst]} "> 1), > ) ) ) (FunctionDef evaluate-manifests-dir [] (List (= scope= flags=0 words=[] bindings=[('src', {[VarSub 1]})]) (= scope= flags=0 words=[] bindings=[('dst', {[VarSub 2]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub dst]} ) (For f [{[VarSub src] [LIT_CHARS /] [LIT_OTHER "*"]}]) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub f]} {[VarSub dst] [LIT_CHARS /] [VarSub f transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "*"] [LIT_SLASH /]}]]} ) ) ) ) (FunctionDef configure-kube-proxy [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring kube-proxy"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /var/lib/kube-proxy]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /kubeproxy-config.yaml]} {[LIT_CHARS /var/lib/kube-proxy/kubeconfig]} ) ) ) (FunctionDef configure-logging [] (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub LOGGING_DESTINATION]]} {[DQ [LIT_CHARS gcp]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring fluentd-gcp"]]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /fluentd-gcp.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/fluentd-gcp.yaml]} ) ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub LOGGING_DESTINATION]]} {[DQ [LIT_CHARS elasticsearch]]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring fluentd-es"]]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /fluentd-es.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/fluentd-es.yaml]} ) ) ) ) (FunctionDef configure-admission-controls [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring admission controls"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /etc/kubernetes/admission-controls]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS -r]} {[VarSub SALT_DIR] [LIT_CHARS /salt/kube-admission-controls/limit-range]} {[LIT_CHARS /etc/kubernetes/admission-controls/]} ) ) ) (FunctionDef configure-etcd [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring etcd"]]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/etcd.log]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /etcd.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/etcd.yaml]} ) ) ) (FunctionDef configure-etcd-events [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring etcd-events"]]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/etcd-events.log]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /etcd-events.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/etcd-events.yaml]} ) ) ) (FunctionDef configure-addon-manager [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring addon-manager"]]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /kube-addon-manager.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/kube-addon-manager.yaml]} ) ) ) (FunctionDef configure-kube-apiserver [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring kube-apiserver"]]} ) (Com {[LIT_CHARS wait-url-up]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //127.0.0.1] [LIT_OTHER ":"] [LIT_CHARS 2379/version]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/kube-apiserver.log]} ) (Com {[LIT_CHARS cp]} {[VarSub SALT_OVERLAY] [LIT_CHARS /salt/kube-apiserver/] [LIT_OTHER "*"] [LIT_CHARS .csv]} {[LIT_CHARS /srv/kubernetes/]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /kube-apiserver.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/kube-apiserver.yaml]} ) ) ) (FunctionDef configure-kube-scheduler [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring kube-scheduler"]]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/kube-scheduler.log]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /kube-scheduler.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/kube-scheduler.yaml]} ) ) ) (FunctionDef configure-kube-controller-manager [] (List (Com {[LIT_CHARS wait-url-up]} {[LIT_CHARS http] [LIT_OTHER ":"] [LIT_CHARS //127.0.0.1] [LIT_OTHER ":"] [LIT_CHARS 8080/version]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring kube-controller-manager"]]} ) (Com {[LIT_CHARS touch]} {[LIT_CHARS /var/log/kube-controller-manager.log]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /kube-controller-manager.yaml]} {[LIT_CHARS /etc/kubernetes/manifests/kube-controller-manager.yaml]} ) ) ) (FunctionDef wait-url-up [] (While (Com {[LIT_CHARS curl]} {[LIT_CHARS --silent]} {[VarSub 1]} ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 5]} ) ) ) (FunctionDef configure-master-addons [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Configuring master addons"]]} ) (= scope= flags=0 words=[] bindings=[('addon_dir', {[LIT_CHARS /etc/kubernetes/addons]})]) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[VarSub addon_dir]} ) (Com {[LIT_CHARS evaluate-manifest]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/namespace.yaml]} {[VarSub addon_dir] [LIT_CHARS /namespace.yaml]} ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_L7_LOADBALANCING]]} {[DQ [LIT_CHARS glbc]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/cluster-loadbalancing/glbc]} {[VarSub addon_dir] [LIT_CHARS /cluster-loadbalancing/glbc]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_DNS]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/dns]} {[VarSub addon_dir] [LIT_CHARS /dns]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_UI]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/dashboard]} {[VarSub addon_dir] [LIT_CHARS /dashboard]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_LOGGING]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/fluentd-elasticsearch]} {[VarSub addon_dir] [LIT_CHARS /fluentd-elasticsearch]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_MONITORING]]} {[DQ [LIT_CHARS influxdb]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/cluster-monitoring/influxdb]} {[VarSub addon_dir] [LIT_CHARS /cluster-monitoring/influxdb]} ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_MONITORING]]} {[DQ [LIT_CHARS google]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/cluster-monitoring/google]} {[VarSub addon_dir] [LIT_CHARS /cluster-monitoring/google]} ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_MONITORING]]} {[DQ [LIT_CHARS standalone]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/cluster-monitoring/standalone]} {[VarSub addon_dir] [LIT_CHARS /cluster-monitoring/standalone]} ) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_MONITORING]]} {[DQ [LIT_CHARS googleinfluxdb]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/cluster-monitoring/googleinfluxdb]} {[VarSub addon_dir] [LIT_CHARS /cluster-monitoring/googleinfluxdb]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_CLUSTER_REGISTRY]]} {[DQ [LIT_CHARS true]]}}) (List (= scope= flags=0 words=[] bindings=[('CLUSTER_REGISTRY_DISK_SIZE', {[ComSub (Com {[LIT_CHARS convert-bytes-gce-kube]} {[DQ [VarSub CLUSTER_REGISTRY_DISK_SIZE]]})]})]) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/registry]} {[VarSub addon_dir] [LIT_CHARS /registry]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_NODE_PROBLEM_DETECTOR]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS evaluate-manifests-dir]} {[VarSub MANIFESTS_DIR] [LIT_CHARS /addons/node-problem-detector]} {[VarSub addon_dir] [LIT_CHARS /node-problem-detector]} ) ) ) ) (FunctionDef configure-master-components [] (List (Com {[LIT_CHARS configure-admission-controls]} ) (Com {[LIT_CHARS configure-etcd]} ) (Com {[LIT_CHARS configure-etcd-events]} ) (Com {[LIT_CHARS configure-kube-apiserver]} ) (Com {[LIT_CHARS configure-kube-scheduler]} ) (Com {[LIT_CHARS configure-kube-controller-manager]} ) (Com {[LIT_CHARS configure-master-addons]} ) (Com {[LIT_CHARS configure-addon-manager]} ) ) ) (FunctionDef mount-master-pd [] (List (If (DBracket {B! {B1 UNARY_FILE_e {[LIT_CHARS /dev/disk/by-id/google-master-pd]}}}) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[] bindings=[('device_info', {[ComSub (Com {[LIT_CHARS ls]} {[LIT_CHARS -l]} {[LIT_CHARS /dev/disk/by-id/google-master-pd]})]})]) (= scope= flags=0 words=[] bindings=[('relative_path', {[VarSub device_info transform_ops=[VS_UNARY_DPOUND {[LIT_CHARS "* "]}]]})]) (= scope= flags=0 words=[] bindings=[('device_path', {[DQ [LIT_CHARS /dev/disk/by-id/][VarSub relative_path]]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Mounting master-pd"]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /mnt/master-pd]} ) (= scope= flags=0 words=[] bindings=[('safe_format_and_mount', {[VarSub SALT_DIR] [LIT_CHARS /salt/helpers/safe_format_and_mount]})]) (Com {[LIT_CHARS chmod]} {[LIT_OTHER "+"] [LIT_CHARS x]} {[VarSub safe_format_and_mount]} ) (Fork (Com {[VarSub safe_format_and_mount]} {[LIT_CHARS -m]} {[DQ [LIT_CHARS "mkfs.ext4 -F"]]} {[DQ [VarSub device_path]]} {[LIT_CHARS /mnt/master-pd]} ) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[LIT_CHARS /var/log/master-pd-mount.log]} "> 1), > ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "!!! master-pd mount failed, review /var/log/master-pd-mount.log !!!"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -m]} {[LIT_CHARS 700]} {[LIT_CHARS -p]} {[LIT_CHARS /mnt/master-pd/var/etcd]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /mnt/master-pd/srv/kubernetes]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /mnt/master-pd/srv/salt-overlay]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /mnt/master-pd/srv/sshproxy]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS -f]} {[LIT_CHARS /mnt/master-pd/var/etcd]} {[LIT_CHARS /var/etcd]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS -f]} {[LIT_CHARS /mnt/master-pd/srv/kubernetes]} {[LIT_CHARS /srv/kubernetes]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS -f]} {[LIT_CHARS /mnt/master-pd/srv/sshproxy]} {[LIT_CHARS /srv/sshproxy]} ) (Com {[LIT_CHARS ln]} {[LIT_CHARS -s]} {[LIT_CHARS -f]} {[LIT_CHARS /mnt/master-pd/srv/salt-overlay]} {[LIT_CHARS /srv/salt-overlay]} ) (If (List (Fork (Pipeline! (Com {[LIT_CHARS id]} {[LIT_CHARS etcd]} ) ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS useradd]} {[LIT_CHARS -s]} {[LIT_CHARS /sbin/nologin]} {[LIT_CHARS -d]} {[LIT_CHARS /var/etcd]} {[LIT_CHARS etcd]} ) ) (Com {[LIT_CHARS chown]} {[LIT_CHARS -R]} {[LIT_CHARS etcd]} {[LIT_CHARS /mnt/master-pd/var/etcd]} ) (Com {[LIT_CHARS chgrp]} {[LIT_CHARS -R]} {[LIT_CHARS etcd]} {[LIT_CHARS /mnt/master-pd/var/etcd]} ) ) ) (FunctionDef convert-bytes-gce-kube [] (List (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('storage_space', {[VarSub 1]})]) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub storage_space]]} ) (Com {[LIT_CHARS sed]} {[LIT_CHARS -e]} {[SQ ]} {[LIT_CHARS -e]} {[SQ ]} ) ) ) ) (FunctionDef create-salt-master-auth [] (List (If (DBracket {B! {B1 UNARY_FILE_e {[LIT_CHARS /srv/kubernetes/ca.crt]}}}) (If (AndOr OP_AND_IF (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub CA_CERT test_op=VS_TEST_COLON_HYPHEN {}]]}}}) (AndOr OP_AND_IF (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub MASTER_CERT test_op=VS_TEST_COLON_HYPHEN {}]]}}}) (DBracket {B! {B1 UNARY_STRING_z {[DQ [VarSub MASTER_KEY test_op=VS_TEST_COLON_HYPHEN {}]]}}}) ) ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/kubernetes]} ) (Subshell (List (Com {[LIT_CHARS umask]} {[LIT_CHARS 077]} ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub CA_CERT]]} ) (Com {[LIT_CHARS base64]} {[LIT_CHARS --decode]} < (FilenameRedirectNode filename={[LIT_CHARS /srv/kubernetes/ca.crt]} "> 1), > ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub MASTER_CERT]]} ) (Com {[LIT_CHARS base64]} {[LIT_CHARS --decode]} < (FilenameRedirectNode filename={[LIT_CHARS /srv/kubernetes/server.cert]} "> 1), > ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub MASTER_KEY]]} ) (Com {[LIT_CHARS base64]} {[LIT_CHARS --decode]} < (FilenameRedirectNode filename={[LIT_CHARS /srv/kubernetes/server.key]} "> 1), > ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBECFG_CERT test_op=VS_TEST_COLON_HYPHEN {}]]} ) (Com {[LIT_CHARS base64]} {[LIT_CHARS --decode]} < (FilenameRedirectNode filename={[LIT_CHARS /srv/kubernetes/kubecfg.crt]} "> 1), > ) ) (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBECFG_KEY test_op=VS_TEST_COLON_HYPHEN {}]]} ) (Com {[LIT_CHARS base64]} {[LIT_CHARS --decode]} < (FilenameRedirectNode filename={[LIT_CHARS /srv/kubernetes/kubecfg.key]} "> 1), > ) ) ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub BASIC_AUTH_FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/salt-overlay/salt/kube-apiserver]} ) (Subshell (List (Com {[LIT_CHARS umask]} {[LIT_CHARS 077]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBE_PASSWORD][LIT_CHARS ","][VarSub KUBE_USER][LIT_CHARS ",admin"]]} < (FilenameRedirectNode filename={[DQ [VarSub BASIC_AUTH_FILE]]} "> 1), > ) ) ) ) ) (If (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -e]} {[DQ [VarSub KNOWN_TOKENS_FILE]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[LIT_CHARS /srv/salt-overlay/salt/kube-apiserver]} ) (Subshell (List (Com {[LIT_CHARS umask]} {[LIT_CHARS 077]} ) (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBE_BEARER_TOKEN][LIT_CHARS ",admin,admin"]]} < (FilenameRedirectNode filename={[DQ [VarSub KNOWN_TOKENS_FILE]]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBELET_TOKEN][LIT_CHARS ",kubelet,kubelet"]]} < (FilenameRedirectNode filename={[DQ [VarSub KNOWN_TOKENS_FILE]]} >"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [VarSub KUBE_PROXY_TOKEN][LIT_CHARS ",kube_proxy,kube_proxy"]]} < (FilenameRedirectNode filename={[DQ [VarSub KNOWN_TOKENS_FILE]]} >"> 1), > ) ) ) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('service_accounts', {[Array {[DQ [LIT_CHARS "system:scheduler"]]} {[DQ [LIT_CHARS "system:controller_manager"]]} {[DQ [LIT_CHARS "system:logging"]]} {[DQ [LIT_CHARS "system:monitoring"]]}]})]) (For account [{[DQ [VarSub service_accounts bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}]) (List (= scope= flags=0 words=[] bindings=[('token', {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dd]} {[LIT_VAR_LIKE "if="] [LIT_CHARS /dev/urandom] =} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 128] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 1] =}) (Com {[LIT_CHARS base64]}) (Com {[LIT_CHARS tr]} {[LIT_CHARS -d]} {[DQ [LIT_CHARS "=+/"]]}) (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dd]} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 32] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 1] =}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [VarSub token][LIT_CHARS ","][VarSub account][LIT_CHARS ","][VarSub account]]} < (FilenameRedirectNode filename={[DQ [VarSub KNOWN_TOKENS_FILE]]} >"> 1), > ) ) ) ) ) ) ) (FunctionDef load-docker-images [] (List (= scope= flags=0 words=[{[LIT_CHARS success]}] bindings=[]) (= scope= flags=0 words=[{[LIT_CHARS restart_docker]}] bindings=[]) (While (Com {[LIT_CHARS true]} ) (List (= scope= flags=0 words=[] bindings=[('success', {[LIT_CHARS true]})]) (= scope= flags=0 words=[] bindings=[('restart_docker', {[LIT_CHARS false]})]) (For image [{[DQ [VarSub 1][LIT_CHARS /]] [LIT_OTHER "*"]}]) (List (Fork (Com {[LIT_CHARS timeout]} {[LIT_CHARS 30]} {[LIT_CHARS docker]} {[LIT_CHARS load]} {[LIT_CHARS -i]} {[DQ [VarSub image]]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('rc', {[VarSub ?]})]) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub rc]]} {[LIT_CHARS 124]}}) (= scope= flags=0 words=[] bindings=[('restart_docker', {[LIT_CHARS true]})]) (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub rc]]} {[LIT_CHARS 0]}}) (= scope= flags=0 words=[] bindings=[('success', {[LIT_CHARS false]})]) ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub success]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS break]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub restart_docker]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS systemctl]} {[LIT_CHARS restart]} {[LIT_CHARS docker]} ) ) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 15]} ) ) ) ) ) (FunctionDef load-master-components-images [] (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Loading images for master components"]]} ) (= scope= flags=1 words=[] bindings=[('RKT_BIN', {[LIT_CHARS /opt/rkt/rkt]})]) (= scope= flags=1 words=[] bindings=[('DOCKER2ACI_BIN', {[LIT_CHARS /opt/docker2aci/docker2aci]})]) (Com {[VarSub SALT_DIR] [LIT_CHARS /install.sh]} {[VarSub KUBE_BIN_TAR]} ) (Com {[VarSub SALT_DIR] [LIT_CHARS /salt/kube-master-addons/kube-master-addons.sh]} ) (= scope= flags=0 words=[] bindings=[('KUBE_APISERVER_DOCKER_TAG', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub KUBE_BIN_DIR] [LIT_CHARS /kube-apiserver.docker_tag]})]})]) (= scope= flags=0 words=[] bindings=[('KUBE_CONTROLLER_MANAGER_DOCKER_TAG', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub KUBE_BIN_DIR] [LIT_CHARS /kube-controller-manager.docker_tag]})]})]) (= scope= flags=0 words=[] bindings=[('KUBE_SCHEDULER_DOCKER_TAG', {[ComSub (Com {[LIT_CHARS cat]} {[VarSub KUBE_BIN_DIR] [LIT_CHARS /kube-scheduler.docker_tag]})]})]) ) ) (= scope= flags=0 words=[] bindings=[('KUBE_BIN_TAR', {[LIT_CHARS /opt/downloads/kubernetes-server-linux-amd64.tar.gz]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BIN_DIR', {[LIT_CHARS /opt/kubernetes/server/bin]})]) (= scope= flags=0 words=[] bindings=[('SALT_DIR', {[LIT_CHARS /opt/kubernetes/saltbase]})]) (= scope= flags=0 words=[] bindings=[('SALT_OVERLAY', {[LIT_CHARS /srv/salt-overlay]})]) (= scope= flags=0 words=[] bindings=[('MANIFESTS_DIR', {[LIT_CHARS /opt/kube-manifests/kubernetes]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "127.0.0.1 localhost"]]} < (FilenameRedirectNode filename={[LIT_CHARS /etc/hosts]} >"> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "::1 localhost"]]} < (FilenameRedirectNode filename={[LIT_CHARS /etc/hosts]} >"> 1), > ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub KUBERNETES_MASTER]]} {[DQ [LIT_CHARS true]]}}) (List (Com {[LIT_CHARS mount-master-pd]} ) (Com {[LIT_CHARS create-salt-master-auth]} ) (Com {[LIT_CHARS load-master-components-images]} ) (Com {[LIT_CHARS configure-master-components]} ) ) (ElseTrue) (Com {[LIT_CHARS configure-kube-proxy]} ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub ENABLE_NODE_LOGGING]]} {[DQ [LIT_CHARS true]]}}) (Com {[LIT_CHARS configure-logging]} ) ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Finish configuration successfully!"]]} ) )