(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=0 words=[] bindings=[('DOCKER_OPTS', {[VarSub DOCKER_OPTS test_op=VS_TEST_COLON_HYPHEN {[DQ ]}]})]) (= scope= flags=0 words=[] bindings=[('DOCKER', {[Array {[LIT_CHARS docker]} {[VarSub DOCKER_OPTS]}]})]) (= scope= flags=0 words=[] bindings=[('DOCKER_HOST', {[VarSub DOCKER_HOST test_op=VS_TEST_COLON_HYPHEN {[DQ ]}]})]) (= scope= flags=0 words=[] bindings=[('DOCKER_MACHINE_NAME', {[VarSub DOCKER_MACHINE_NAME test_op=VS_TEST_COLON_HYPHEN {[DQ [LIT_CHARS kube-dev]]}]})]) (= scope= flags=2 words=[] bindings=[('DOCKER_MACHINE_DRIVER', {[VarSub DOCKER_MACHINE_DRIVER test_op=VS_TEST_COLON_HYPHEN {[DQ [LIT_CHARS "virtualbox --virtualbox-memory 4096 --virtualbox-cpu-count -1"]]}]})]) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT', {[ComSub (AndOr OP_AND_IF (Com {[LIT_CHARS cd]} {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})] [LIT_CHARS /..]}) (Com {[LIT_CHARS pwd]} {[LIT_CHARS -P]}) )]})]) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /hack/lib/init.sh]]} ) (= scope= flags=2 words=[] bindings=[('KUBE_BUILD_PPC64LE', {[DQ [VarSub KUBE_BUILD_PPC64LE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS n]}]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_BUILD_IMAGE_REPO', {[LIT_CHARS kube-build]})]) (= scope= flags=2 words=[] bindings=[('KUBE_BUILD_IMAGE_CROSS_TAG', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub KUBE_ROOT] [LIT_CHARS /build-tools/build-image/cross/VERSION]})]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_BUILD_IMAGE_VERSION_BASE', {[DQ [ComSub (Com {[LIT_CHARS cat]} {[VarSub KUBE_ROOT] [LIT_CHARS /build-tools/build-image/VERSION]})]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_BUILD_IMAGE_VERSION', {[DQ [VarSub KUBE_BUILD_IMAGE_VERSION_BASE][LIT_CHARS -][VarSub KUBE_BUILD_IMAGE_CROSS_TAG]]})]) (= scope= flags=2 words=[] bindings=[('LOCAL_OUTPUT_ROOT', {[DQ [VarSub KUBE_ROOT][LIT_CHARS /][VarSub OUT_DIR test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS _output]}]]})]) (= scope= flags=2 words=[] bindings=[('LOCAL_OUTPUT_SUBPATH', {[DQ [VarSub LOCAL_OUTPUT_ROOT][LIT_CHARS /dockerized]]})]) (= scope= flags=2 words=[] bindings=[('LOCAL_OUTPUT_BINPATH', {[DQ [VarSub LOCAL_OUTPUT_SUBPATH][LIT_CHARS /bin]]})]) (= scope= flags=2 words=[] bindings=[('LOCAL_OUTPUT_GOPATH', {[DQ [VarSub LOCAL_OUTPUT_SUBPATH][LIT_CHARS /go]]})]) (= scope= flags=2 words=[] bindings=[('LOCAL_OUTPUT_IMAGE_STAGING', {[DQ [VarSub LOCAL_OUTPUT_ROOT][LIT_CHARS /images]]})]) (= scope= flags=2 words=[] bindings=[('THIS_PLATFORM_BIN', {[DQ [VarSub LOCAL_OUTPUT_ROOT][LIT_CHARS /bin]]})]) (= scope= flags=2 words=[] bindings=[('REMOTE_ROOT', {[DQ [LIT_CHARS /go/src/][VarSub KUBE_GO_PACKAGE]]})]) (= scope= flags=2 words=[] bindings=[('REMOTE_OUTPUT_ROOT', {[DQ [VarSub REMOTE_ROOT][LIT_CHARS /_output]]})]) (= scope= flags=2 words=[] bindings=[('REMOTE_OUTPUT_SUBPATH', {[DQ [VarSub REMOTE_OUTPUT_ROOT][LIT_CHARS /dockerized]]})]) (= scope= flags=2 words=[] bindings=[('REMOTE_OUTPUT_BINPATH', {[DQ [VarSub REMOTE_OUTPUT_SUBPATH][LIT_CHARS /bin]]})]) (= scope= flags=2 words=[] bindings=[('REMOTE_OUTPUT_GOPATH', {[DQ [VarSub REMOTE_OUTPUT_SUBPATH][LIT_CHARS /go]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_RSYNC_PORT', {[DQ [VarSub KUBE_RSYNC_PORT test_op=VS_TEST_COLON_HYPHEN {}]]})]) (= scope= flags=2 words=[] bindings=[('KUBE_CONTAINER_RSYNC_PORT', {[LIT_CHARS 8730]})]) (FunctionDef kube::build::get_docker_wrapped_binaries [] (List (Case to_match={[VarSub 1]}, pat_word_list=[[{[DQ [LIT_CHARS amd64]]}], [{[DQ [LIT_CHARS arm]]}], [{[DQ [LIT_CHARS arm64]]}], [{[DQ [LIT_CHARS ppc64le]]}]] (= scope= flags=0 words=[] bindings=[('targets', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS kube-apiserver] [LIT_COMMA ","] [LIT_CHARS busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-controller-manager] [LIT_COMMA ","] [LIT_CHARS busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-scheduler] [LIT_COMMA ","] [LIT_CHARS busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-proxy] [LIT_COMMA ","] [LIT_CHARS gcr.io/google_containers/debian-iptables-amd64] [LIT_OTHER ":"] [LIT_CHARS v4]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('targets', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS kube-apiserver] [LIT_COMMA ","] [LIT_CHARS armel/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-controller-manager] [LIT_COMMA ","] [LIT_CHARS armel/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-scheduler] [LIT_COMMA ","] [LIT_CHARS armel/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-proxy] [LIT_COMMA ","] [LIT_CHARS gcr.io/google_containers/debian-iptables-arm] [LIT_OTHER ":"] [LIT_CHARS v4]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('targets', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS kube-apiserver] [LIT_COMMA ","] [LIT_CHARS aarch64/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-controller-manager] [LIT_COMMA ","] [LIT_CHARS aarch64/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-scheduler] [LIT_COMMA ","] [LIT_CHARS aarch64/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-proxy] [LIT_COMMA ","] [LIT_CHARS gcr.io/google_containers/debian-iptables-arm64] [LIT_OTHER ":"] [LIT_CHARS v4]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('targets', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS kube-apiserver] [LIT_COMMA ","] [LIT_CHARS ppc64le/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-controller-manager] [LIT_COMMA ","] [LIT_CHARS ppc64le/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-scheduler] [LIT_COMMA ","] [LIT_CHARS ppc64le/busybox]} {OP_NEWLINE "\n"} {[LIT_CHARS kube-proxy] [LIT_COMMA ","] [LIT_CHARS gcr.io/google_containers/debian-iptables-ppc64le] [LIT_OTHER ":"] [LIT_CHARS v4]} {OP_NEWLINE "\n"}]})]) ) (Com {[LIT_CHARS echo]} {[DQ [VarSub targets bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} ) ) ) (FunctionDef kube::build::verify_prereqs [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Verifying Prerequisites...."]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_tar]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_rsync]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_docker_in_path]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (If (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS is_osx]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_available_on_osx]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (AndOr OP_OR_IF (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_docker_daemon_connectivity]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (If (DParen {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub KUBE_VERBOSE]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 6]}}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Docker Version:"]]} ) (Pipeline (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS version]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS info_from_stdin]} ) ) ) ) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT_HASH', {[ComSub (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS short_hash]} {[DQ [VarSub HOSTNAME test_op=VS_TEST_COLON_HYPHEN {}][LIT_CHARS ":"][VarSub KUBE_ROOT]]})]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BUILD_IMAGE_TAG_BASE', {[DQ [LIT_CHARS build-][VarSub KUBE_ROOT_HASH]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BUILD_IMAGE_TAG', {[DQ [VarSub KUBE_BUILD_IMAGE_TAG_BASE][LIT_CHARS -][VarSub KUBE_BUILD_IMAGE_VERSION]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BUILD_IMAGE', {[DQ [VarSub KUBE_BUILD_IMAGE_REPO][LIT_CHARS ":"][VarSub KUBE_BUILD_IMAGE_TAG]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BUILD_CONTAINER_NAME_BASE', {[DQ [LIT_CHARS kube-build-][VarSub KUBE_ROOT_HASH]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_BUILD_CONTAINER_NAME', {[DQ [VarSub KUBE_BUILD_CONTAINER_NAME_BASE][LIT_CHARS -][VarSub KUBE_BUILD_IMAGE_VERSION]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_RSYNC_CONTAINER_NAME_BASE', {[DQ [LIT_CHARS kube-rsync-][VarSub KUBE_ROOT_HASH]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_RSYNC_CONTAINER_NAME', {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME_BASE][LIT_CHARS -][VarSub KUBE_BUILD_IMAGE_VERSION]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_DATA_CONTAINER_NAME_BASE', {[DQ [LIT_CHARS kube-build-data-][VarSub KUBE_ROOT_HASH]]})]) (= scope= flags=0 words=[] bindings=[('KUBE_DATA_CONTAINER_NAME', {[DQ [VarSub KUBE_DATA_CONTAINER_NAME_BASE][LIT_CHARS -][VarSub KUBE_BUILD_IMAGE_VERSION]]})]) (= scope= flags=0 words=[] bindings=[('DOCKER_MOUNT_ARGS', {[Array {[LIT_CHARS --volumes-from]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME]]}]})]) (= scope= flags=0 words=[] bindings=[('LOCAL_OUTPUT_BUILD_CONTEXT', {[DQ [VarSub LOCAL_OUTPUT_IMAGE_STAGING][LIT_CHARS /][VarSub KUBE_BUILD_IMAGE]]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS version] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS get_version_vars]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS version] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS save_version_vars]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /.dockerized-kube-version-defs]]} ) ) ) (FunctionDef kube::build::docker_available_on_osx [] (If (DBracket {B1 UNARY_STRING_z {[DQ [VarSub DOCKER_HOST]]}}) (List (If (DBracket {B1 UNARY_FILE_S {[DQ [LIT_CHARS /var/run/docker.sock]]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Using Docker for MacOS"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "No docker host is set. Checking options for setting one..."]]} ) (If (DBracket {B1 UNARY_STRING_z {[DQ [ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS docker-machine]})]]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "It looks like you're running Mac OS X, yet neither Docker for Mac nor docker-machine can be found."]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "See: https://docs.docker.com/engine/installation/mac/ for installation instructions."]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) (DBracket {B1 UNARY_STRING_n {[DQ [ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS docker-machine]})]]}}) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS prepare_docker_machine]} ) ) ) ) ) (FunctionDef kube::build::prepare_docker_machine [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "docker-machine was found."]]} ) (Fork (Com {[LIT_CHARS docker-machine]} {[LIT_CHARS inspect]} {[DQ [VarSub DOCKER_MACHINE_NAME]]} ) ) (AndOr OP_OR_IF (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Creating a machine to build Kubernetes"]]} ) (AndOr OP_OR_IF (Com {[LIT_CHARS docker-machine]} {[LIT_CHARS create]} {[LIT_CHARS --driver]} {[VarSub DOCKER_MACHINE_DRIVER]} {[LIT_CHARS --engine-env]} {[LIT_VAR_LIKE "HTTP_PROXY="] [DQ [VarSub KUBERNETES_HTTP_PROXY test_op=VS_TEST_COLON_HYPHEN {}]] =} {[LIT_CHARS --engine-env]} {[LIT_VAR_LIKE "HTTPS_PROXY="] [DQ [VarSub KUBERNETES_HTTPS_PROXY test_op=VS_TEST_COLON_HYPHEN {}]] =} {[LIT_CHARS --engine-env]} {[LIT_VAR_LIKE "NO_PROXY="] [DQ [VarSub KUBERNETES_NO_PROXY test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS 127.0.0.1]}]] =} {[DQ [VarSub DOCKER_MACHINE_NAME]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Something went wrong creating a machine."]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Try the following: "]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "docker-machine create -d "][VarSub DOCKER_MACHINE_DRIVER][LIT_CHARS " "][VarSub DOCKER_MACHINE_NAME]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) ) (Fork (Com {[LIT_CHARS docker-machine]} {[LIT_CHARS start]} {[DQ [VarSub DOCKER_MACHINE_NAME]]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (= scope= flags=0 words=[{[LIT_CHARS docker_machine_out]}] bindings=[]) (While (Pipeline! (= scope= flags=0 words=[] bindings=[('docker_machine_out', {[ComSub (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS docker-machine]} {[LIT_CHARS env]} {[DQ [VarSub DOCKER_MACHINE_NAME]]})]})]) ) (If (DBracket {B2 BINARY_STRING_TILDE_EQUAL {[VarSub docker_machine_out]} {[DQ [LIT_CHARS "Error checking TLS connection"]]}}) (List (Com {[LIT_CHARS echo]} {[VarSub docker_machine_out]} ) (Com {[LIT_CHARS docker-machine]} {[LIT_CHARS regenerate-certs]} {[VarSub DOCKER_MACHINE_NAME]} ) ) (ElseTrue) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 1]} ) ) ) (Com {[LIT_CHARS eval]} {[ComSub (Com {[LIT_CHARS docker-machine]} {[LIT_CHARS env]} {[DQ [VarSub DOCKER_MACHINE_NAME]]})]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "A Docker host using docker-machine named '"][VarSub DOCKER_MACHINE_NAME][LIT_CHARS "' is ready to go!"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (FunctionDef kube::build::is_osx [] (DBracket {B2 BINARY_STRING_EQUAL {[DQ [ComSub (Com {[LIT_CHARS uname]})]]} {[DQ [LIT_CHARS Darwin]]}}) ) (FunctionDef kube::build::is_gnu_sed [] (DBracket {B2 BINARY_STRING_EQUAL {[ComSub (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[LIT_CHARS sed]} {[LIT_CHARS --version]})]} {[LIT_OTHER "*"] [LIT_CHARS GNU] [LIT_OTHER "*"]}}) ) (FunctionDef kube::build::ensure_rsync [] (If (DBracket {B1 UNARY_STRING_z {[DQ [ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS rsync]})]]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Can't find 'rsync' in PATH, please fix and retry."]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) (FunctionDef kube::build::update_dockerfile [] (List (If (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS is_gnu_sed]} ) (= scope= flags=0 words=[] bindings=[('sed_opts', {[Array {[LIT_CHARS -i]}]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('sed_opts', {[Array {[LIT_CHARS -i]} {[SQ ]}]})]) ) (Com {[LIT_CHARS sed]} {[DQ [VarSub sed_opts bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[DQ [LIT_CHARS s/KUBE_BUILD_IMAGE_CROSS_TAG/][VarSub KUBE_BUILD_IMAGE_CROSS_TAG][LIT_CHARS /]]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /Dockerfile]]} ) ) ) (FunctionDef kube::build::ensure_docker_in_path [] (If (DBracket {B1 UNARY_STRING_z {[DQ [ComSub (Com {[LIT_CHARS which]} {[LIT_CHARS docker]})]]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Can't find 'docker' in PATH, please fix and retry."]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "See https://docs.docker.com/installation/#installation for installation instructions."]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) (FunctionDef kube::build::ensure_docker_daemon_connectivity [] (If (Pipeline! (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS info]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) ) (List (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=False body_word={[LIT_CHARS "Can't connect to 'docker' daemon. please fix and retry.\n"] [LIT_CHARS "\n"] [LIT_CHARS "Possible causes:\n"] [LIT_CHARS " - Docker Daemon not started\n"] [LIT_CHARS " - Linux: confirm via your init system\n"] [LIT_CHARS " - macOS w/ docker-machine: run `docker-machine ls` and `docker-machine start `\n"] [LIT_CHARS " - macOS w/ Docker for Mac: Check the menu bar and start the Docker application\n"] [LIT_CHARS " - DOCKER_HOST hasn't been set or is set incorrectly\n"] [LIT_CHARS " - Linux: domain socket is used, DOCKER_* should be unset. In Bash run `unset ${!DOCKER_*}`\n"] [LIT_CHARS " - macOS w/ docker-machine: run `eval \"$(docker-machine env )\"`\n"] [LIT_CHARS " - macOS w/ Docker for Mac: domain socket is used, DOCKER_* should be unset. In Bash run `unset ${!DOCKER_*}`\n"] [LIT_CHARS " - Other things to check:\n"] [LIT_CHARS " - Linux: User isn't in 'docker' group. Add and relogin.\n"] [LIT_CHARS " - Something like 'sudo usermod -a -G docker ${USER}'\n"] [LIT_CHARS " - RHEL7 bug and workaround: https://bugzilla.redhat.com/show_bug.cgi?id=1119282#c8\n"]} 0), (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) (FunctionDef kube::build::ensure_tar [] (List (If (DBracket {B1 UNARY_STRING_n {[DQ [VarSub TAR test_op=VS_TEST_COLON_HYPHEN {}]]}}) (Com {[LIT_CHARS return]} ) ) (= scope= flags=0 words=[] bindings=[('TAR', {[LIT_CHARS tar]})]) (If (List (Fork (Com {[LIT_CHARS which]} {[LIT_CHARS gtar]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('TAR', {[LIT_CHARS gtar]})]) (ElseTrue) (If (List (Fork (Com {[LIT_CHARS which]} {[LIT_CHARS gnutar]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (= scope= flags=0 words=[] bindings=[('TAR', {[LIT_CHARS gnutar]})]) ) ) (If (Pipeline! (Com {[DQ [VarSub TAR]]} {[LIT_CHARS --version]} ) (Com {[LIT_CHARS grep]} {[LIT_CHARS -q]} {[LIT_CHARS GNU]} ) ) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " !!! Cannot find GNU tar. Build on Linux or install GNU tar"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS " on Mac OS X (brew install gnu-tar)."]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef kube::build::has_docker [] (List (Fork (Com {[LIT_CHARS which]} {[LIT_CHARS docker]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) ) (FunctionDef kube::build::docker_image_exists [] (List (AndOr OP_OR_IF (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[VarSub 1]}} {B1 UNARY_STRING_n {[VarSub 2]}}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Internal error. Image not specified in docker_image_exists."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]} ) ) ) (DBracket {B1 UNARY_STRING_n {[ComSub (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS images]} {[LIT_CHARS -q]} {[DQ [VarSub 1][LIT_CHARS ":"][VarSub 2]]})]}}) ) ) (FunctionDef kube::build::docker_delete_old_images [] (For tag [{[ComSub (Pipeline (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS images]} {[VarSub 1]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_OTHER "+"] [LIT_CHARS 2]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]}]) (List (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub tag]]} {[DQ [VarSub 2]] [LIT_OTHER "*"]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Keeping image "][VarSub 1][LIT_CHARS ":"][VarSub tag]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS continue]} ) ) ) (If (DBracket {B? LOGICAL_BINARY_OR {B1 UNARY_STRING_z {[DQ [VarSub 3 test_op=VS_TEST_COLON_HYPHEN {}]]}} {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub tag]]} {[DQ [VarSub 3]]}}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Deleting image "][VarSub 1][LIT_CHARS ":"][VarSub tag]]} more_env=[('V', {[LIT_CHARS 2]})] ) (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS rmi]} {[DQ [VarSub 1][LIT_CHARS ":"][VarSub tag]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (ElseTrue) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Keeping image "][VarSub 1][LIT_CHARS ":"][VarSub tag]]} more_env=[('V', {[LIT_CHARS 3]})] ) ) ) ) ) (FunctionDef kube::build::docker_delete_old_containers [] (For container [{[ComSub (Pipeline (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS ps]} {[LIT_CHARS -a]}) (Com {[LIT_CHARS tail]} {[LIT_CHARS -n]} {[LIT_OTHER "+"] [LIT_CHARS 2]}) (Com {[LIT_CHARS awk]} {[SQ ]}) )]}]) (List (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub container]]} {[DQ [VarSub 1]] [LIT_OTHER "*"]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Keeping container "][VarSub container]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS continue]} ) ) ) (If (DBracket {B? LOGICAL_BINARY_OR {B1 UNARY_STRING_z {[DQ [VarSub 2 test_op=VS_TEST_COLON_HYPHEN {}]]}} {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub container]]} {[DQ [VarSub 2]]}}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Deleting container "][VarSub container]]} more_env=[('V', {[LIT_CHARS 2]})] ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS destroy_container]} {[DQ [VarSub container]]} ) ) (ElseTrue) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Keeping container "][VarSub container]]} more_env=[('V', {[LIT_CHARS 3]})] ) ) ) ) ) (FunctionDef kube::build::short_hash [] (List (AndOr OP_OR_IF (DBracket {B2 BINARY_INT_EQ {[VarSub #]} {[LIT_CHARS 1]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Internal error. No data based to short_hash."]]} ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]} ) ) ) (= scope= flags=0 words=[{[LIT_CHARS short_hash]}] bindings=[]) (If (Com {[LIT_CHARS which]} {[LIT_CHARS md5]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (= scope= flags=0 words=[] bindings=[('short_hash', {[ComSub (Com {[LIT_CHARS md5]} {[LIT_CHARS -q]} {[LIT_CHARS -s]} {[DQ [VarSub 1]]})]})]) (ElseTrue) (= scope= flags=0 words=[] bindings=[('short_hash', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[LIT_CHARS -n]} {[DQ [VarSub 1]]}) (Com {[LIT_CHARS md5sum]}) )]})]) ) (Com {[LIT_CHARS echo]} {[VarSub short_hash transform_ops=[Slice {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 10]}}]]} ) ) ) (FunctionDef kube::build::destroy_container [] (List (AndOr OP_OR_IF (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS kill]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS true]} ) ) (AndOr OP_OR_IF (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS wait]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS true]} ) ) (AndOr OP_OR_IF (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS rm]} {[LIT_CHARS -f]} {[LIT_CHARS -v]} {[DQ [VarSub 1]]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), (DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2), > ) (Com {[LIT_CHARS true]} ) ) ) ) (FunctionDef kube::build::clean [] (List (If (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS has_docker]} ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_BUILD_CONTAINER_NAME_BASE]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME_BASE]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME_BASE]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_images]} {[DQ [VarSub KUBE_BUILD_IMAGE_REPO]]} {[DQ [VarSub KUBE_BUILD_IMAGE_TAG_BASE]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Cleaning all untagged docker images"]]} more_env=[('V', {[LIT_CHARS 2]})] ) (AndOr OP_OR_IF (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS rmi]} {[ComSub (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS images]} {[LIT_CHARS -q]} {[LIT_CHARS --filter]} {[SQ ]})]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS true]} ) ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Removing _output directory"]]} ) (Com {[LIT_CHARS rm]} {[LIT_CHARS -rf]} {[DQ [VarSub LOCAL_OUTPUT_ROOT]]} ) ) ) (FunctionDef kube::build::build_image_built [] (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_image_exists]} {[DQ [VarSub KUBE_BUILD_IMAGE_REPO]]} {[DQ [VarSub KUBE_BUILD_IMAGE_TAG]]} ) ) (FunctionDef kube::build::build_image [] (List (If (Pipeline! (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build_image_built]} ) ) (List (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS /etc/localtime]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS build-tools/build-image/Dockerfile]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /Dockerfile]]} ) (Com {[LIT_CHARS cp]} {[LIT_CHARS build-tools/build-image/rsyncd.sh]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /]]} ) (Pipeline (Com {[LIT_CHARS dd]} {[LIT_VAR_LIKE "if="] [LIT_CHARS /dev/urandom] =} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 512] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 1] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), > ) (Com {[LIT_CHARS tr]} {[LIT_CHARS -dc]} {[SQ ]} more_env=[('LC_ALL', {[LIT_CHARS C]})] ) (Com {[LIT_CHARS dd]} {[LIT_VAR_LIKE "bs="] [LIT_CHARS 32] =} {[LIT_VAR_LIKE "count="] [LIT_CHARS 1] =} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2), (FilenameRedirectNode filename={[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /rsyncd.password]]} "> 1), > ) ) (Com {[LIT_CHARS chmod]} {[LIT_VAR_LIKE "go="] =} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /rsyncd.password]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS update_dockerfile]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_build]} {[DQ [VarSub KUBE_BUILD_IMAGE]]} {[DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT]]} {[SQ ]} ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_BUILD_CONTAINER_NAME_BASE]]} {[DQ [VarSub KUBE_BUILD_CONTAINER_NAME]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME_BASE]]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_containers]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME_BASE]]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS docker_delete_old_images]} {[DQ [VarSub KUBE_BUILD_IMAGE_REPO]]} {[DQ [VarSub KUBE_BUILD_IMAGE_TAG_BASE]]} {[DQ [VarSub KUBE_BUILD_IMAGE_TAG]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS ensure_data_container]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS sync_to_container]} ) ) ) (FunctionDef kube::build::docker_build [] (List (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('image', {[VarSub 1]})]) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('context_dir', {[VarSub 2]})]) (= scope= flags=0 words=[{[LIT_CHARS -r]}] bindings=[('pull', {[DQ [VarSub 3 test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS true]}]]})]) (= scope= flags=0 words=[{[LIT_CHARS -ra]}] bindings=[('build_cmd', {[Array {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS build]} {[LIT_CHARS -t]} {[DQ [VarSub image]]} {[DQ [LIT_CHARS "--pull="][VarSub pull]]} {[DQ [VarSub context_dir]]}]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Building Docker image "][VarSub image]]} ) (= scope= flags=0 words=[{[LIT_CHARS docker_output]}] bindings=[]) (AndOr OP_OR_IF (= scope= flags=0 words=[] bindings=[('docker_output', {[ComSub (Com redirects=[(DescriptorRedirectNode target={[LIT_CHARS 1]} &"> 2)]{[DQ [VarSub build_cmd bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]})]})]) (List (Com {[LIT_CHARS cat]} < (HereDocRedirectNode here_end='EOF' do_expansion=True body_word={[DQ [LIT_CHARS "+++ Docker build command failed for "][VarSub image][LIT_CHARS "\n"][LIT_CHARS "\n"][VarSub docker_output][LIT_CHARS "\n"][LIT_CHARS "\n"][LIT_CHARS "To retry manually, run:\n"][LIT_CHARS "\n"][VarSub build_cmd bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_STAR "*"}})][LIT_CHARS "\n"][LIT_CHARS "\n"]]} 0), (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) ) ) (FunctionDef kube::build::ensure_data_container [] (List (= scope= flags=0 words=[] bindings=[('ret', {[LIT_CHARS 0]})]) (= scope= flags=0 words=[] bindings=[('code', {[ComSub (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS docker]} {[LIT_CHARS inspect]} {[LIT_CHARS -f]} {[SQ ]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME]]}) (= scope= flags=0 words=[] bindings=[('ret', {[VarSub ?]})]) )]})]) (If (DBracket {B? LOGICAL_BINARY_AND {B2 BINARY_STRING_EQUAL {[DQ [VarSub ret]]} {[LIT_CHARS 0]}} {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub code]]} {[LIT_CHARS 0]}}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS destroy_container]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME]]} ) (= scope= flags=0 words=[] bindings=[('ret', {[LIT_CHARS 1]})]) ) ) (If (DBracket {B2 BINARY_STRING_NOT_EQUAL {[DQ [VarSub ret]]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Creating data container "][VarSub KUBE_DATA_CONTAINER_NAME]]} ) (Com {[LIT_CHARS mkdir]} {[LIT_CHARS -p]} {[DQ [VarSub LOCAL_OUTPUT_GOPATH]]} ) (= scope= flags=0 words=[{[LIT_CHARS -ra]}] bindings=[('docker_cmd', {[Array {OP_NEWLINE "\n"} {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS run]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[DQ [VarSub REMOTE_ROOT]]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/linux_386_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/linux_amd64_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/linux_arm_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/linux_arm64_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/linux_ppc64le_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/darwin_amd64_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/darwin_386_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/windows_amd64_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --volume]} {[LIT_CHARS /usr/local/go/pkg/windows_386_cgo]} {OP_NEWLINE "\n"} {[LIT_CHARS --name]} {[DQ [VarSub KUBE_DATA_CONTAINER_NAME]]} {OP_NEWLINE "\n"} {[LIT_CHARS --hostname]} {[DQ [VarSub HOSTNAME]]} {OP_NEWLINE "\n"} {[DQ [VarSub KUBE_BUILD_IMAGE]]} {OP_NEWLINE "\n"} {[LIT_CHARS chown]} {[LIT_CHARS -R]} {[ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -u]})] [LIT_CHARS .] [ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -g]})]} {OP_NEWLINE "\n"} {[DQ [VarSub REMOTE_ROOT]]} {OP_NEWLINE "\n"} {[LIT_CHARS /usr/local/go/pkg/]} {OP_NEWLINE "\n"}]})]) (Com {[DQ [VarSub docker_cmd bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} ) ) ) ) ) (FunctionDef kube::build::run_build_command [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Running build command..."]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS run_build_command_ex]} {[DQ [VarSub KUBE_BUILD_CONTAINER_NAME]]} {[LIT_CHARS --]} {[DQ [VarSub @]]} ) ) ) (FunctionDef kube::build::run_build_command_ex [] (List (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid input - please specify a container name."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 4]} ) ) ) (= scope= flags=0 words=[] bindings=[('container_name', {[DQ [VarSub 1]]})]) (Com {[LIT_CHARS shift]} ) (= scope= flags=0 words=[{[LIT_CHARS -a]}] bindings=[('docker_run_opts', {[Array {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "--name="][VarSub container_name]]} {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "--user="][ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -u]})][LIT_CHARS ":"][ComSub (Com {[LIT_CHARS id]} {[LIT_CHARS -g]})]]} {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "--hostname="][VarSub HOSTNAME]]} {OP_NEWLINE "\n"} {[DQ [VarSub DOCKER_MOUNT_ARGS bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('detach', {[LIT_CHARS false]})]) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid input - please specify docker arguments followed by --."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 4]} ) ) ) (While (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub 1 test_op=VS_TEST_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[DQ [LIT_CHARS --]]}}) (List (Com {[LIT_CHARS shift]} ) (Com {[LIT_CHARS break]} ) ) ) (= scope= flags=0 words=[] bindings=[('docker_run_opts+', {[Array {[DQ [VarSub 1]]}]})]) (If (DBracket {B? LOGICAL_BINARY_OR {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[DQ [LIT_CHARS -d]]}} {B2 BINARY_STRING_EQUAL {[DQ [VarSub 1]]} {[DQ [LIT_CHARS --detach]]}}}) (= scope= flags=0 words=[] bindings=[('detach', {[LIT_CHARS true]})]) ) (Com {[LIT_CHARS shift]} ) ) ) (AndOr OP_OR_IF (DBracket {B2 BINARY_STRING_NOT_EQUAL {[VarSub #]} {[LIT_CHARS 0]}}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Invalid input - please specify a command to run."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS return]} {[LIT_CHARS 4]} ) ) ) (= scope= flags=0 words=[{[LIT_CHARS -a]}] bindings=[('cmd', {[Array ]})]) (While (Com {[LIT_DBRACKET_LIKE "["]} {[LIT_CHARS -z]} {[DQ [VarSub 1 test_op=VS_TEST_HYPHEN {}]]} {[LIT_DBRACKET_LIKE "]"]} ) (List (= scope= flags=0 words=[] bindings=[('cmd+', {[Array {[DQ [VarSub 1]]}]})]) (Com {[LIT_CHARS shift]} ) ) ) (= scope= flags=0 words=[] bindings=[('docker_run_opts+', {[Array {OP_NEWLINE "\n"} {[LIT_CHARS --env]} {[DQ [LIT_CHARS "KUBE_FASTBUILD="][VarSub KUBE_FASTBUILD test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS false]}]]} {OP_NEWLINE "\n"} {[LIT_CHARS --env]} {[DQ [LIT_CHARS "KUBE_BUILDER_OS="][VarSub OSTYPE test_op=VS_TEST_COLON_HYPHEN {[LIT_CHARS notdetected]}]]} {OP_NEWLINE "\n"} {[LIT_CHARS --env]} {[DQ [LIT_CHARS "KUBE_BUILD_PPC64LE="][VarSub KUBE_BUILD_PPC64LE]]} {OP_NEWLINE "\n"}]})]) (If (DBracket {B1 UNARY_FILE_t {[LIT_CHARS 0]}}) (= scope= flags=0 words=[] bindings=[('docker_run_opts+', {[Array {[LIT_CHARS --interactive]} {[LIT_CHARS --tty]}]})]) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub detach]]} {[LIT_CHARS false]}}) (= scope= flags=0 words=[] bindings=[('docker_run_opts+', {[Array {[LIT_CHARS --attach] [LIT_DBRACKET_LIKE "="] [LIT_CHARS stdout]} {[LIT_CHARS --attach] [LIT_DBRACKET_LIKE "="] [LIT_CHARS stderr]}]})]) ) (= scope= flags=0 words=[{[LIT_CHARS -ra]}] bindings=[('docker_cmd', {[Array {OP_NEWLINE "\n"} {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS run]} {[DQ [VarSub docker_run_opts bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[DQ [VarSub KUBE_BUILD_IMAGE]]}]})]) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS destroy_container]} {[DQ [VarSub container_name]]} ) (Com {[DQ [VarSub docker_cmd bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[DQ [VarSub cmd bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub detach]]} {[LIT_CHARS false]}}) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS destroy_container]} {[DQ [VarSub container_name]]} ) ) ) ) (FunctionDef kube::build::rsync_probe [] (List (= scope= flags=0 words=[] bindings=[('tries', {[LIT_CHARS 20]})]) (While (DParen {A2 AS_OP_GREAT {A Atom NODE_ARITH_WORD {[VarSub tries]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 0]}}}) (List (If (List (Fork (Com {[LIT_CHARS rsync]} {[DQ [LIT_CHARS "rsync://k8s@"][VarSub 1][LIT_CHARS ":"][VarSub 2][LIT_CHARS /]]} {[LIT_CHARS --password-file] [LIT_DBRACKET_LIKE "="] [DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /rsyncd.password]]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (= scope= flags=0 words=[] bindings=[('tries', {[ArithSub {A2 AS_OP_MINUS {A Atom NODE_ARITH_WORD {[VarSub tries]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 1]}}}]})]) (Com {[LIT_CHARS sleep]} {[LIT_CHARS 0.1]} ) ) ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (FunctionDef kube::build::start_rsyncd_container [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS stop_rsyncd_container]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Starting rsyncd container"]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS run_build_command_ex]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME]]} {[LIT_CHARS -p]} {[LIT_CHARS 127.0.0.1] [LIT_OTHER ":"] [VarSub KUBE_RSYNC_PORT] [LIT_OTHER ":"] [VarSub KUBE_CONTAINER_RSYNC_PORT]} {[LIT_CHARS -d]} {[LIT_CHARS --]} {[LIT_CHARS /rsyncd.sh]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (= scope= flags=0 words=[{[LIT_CHARS mapped_port]}] bindings=[]) (If (Pipeline! (= scope= flags=0 words=[] bindings=[('mapped_port', {[ComSub (Pipeline (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS port]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME]]} {[VarSub KUBE_CONTAINER_RSYNC_PORT]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [LIT_OTHER ":"]} {[LIT_CHARS -f]} {[LIT_CHARS 2]}) )]})]) ) (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Could not get effective rsync port"]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[{[LIT_CHARS container_ip]}] bindings=[]) (= scope= flags=0 words=[] bindings=[('container_ip', {[ComSub (Com {[DQ [VarSub DOCKER bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]} {[LIT_CHARS inspect]} {[LIT_CHARS --format]} {[SQ ]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME]]})]})]) (If (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS rsync_probe]} {[LIT_CHARS 127.0.0.1]} {[VarSub mapped_port]} ) (List (= scope= flags=0 words=[] bindings=[('KUBE_RSYNC_ADDR', {[DQ [LIT_CHARS "127.0.0.1:"][VarSub mapped_port]]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS rsync_probe]} {[DQ [VarSub container_ip]]} {[VarSub KUBE_CONTAINER_RSYNC_PORT]} ) (List (= scope= flags=0 words=[] bindings=[('KUBE_RSYNC_ADDR', {[DQ [VarSub container_ip][LIT_CHARS ":"][VarSub KUBE_CONTAINER_RSYNC_PORT]]})]) (Com {[LIT_CHARS return]} {[LIT_CHARS 0]} ) ) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS error]} {[DQ [LIT_CHARS "Could not connect to rsync container. See build-tools/README.md for setting up remote Docker engine."]]} ) (Com {[LIT_CHARS return]} {[LIT_CHARS 1]} ) ) ) (FunctionDef kube::build::stop_rsyncd_container [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Stopping any currently running rsyncd container"]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS unset]} {[LIT_CHARS KUBE_RSYNC_ADDR]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS destroy_container]} {[DQ [VarSub KUBE_RSYNC_CONTAINER_NAME]]} ) ) ) (FunctionDef kube::build::sync_to_container [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Syncing sources to container"]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS start_rsyncd_container]} ) (= scope= flags=0 words=[] bindings=[('rsync_extra', {[DQ ]})]) (If (DParen {A2 AS_OP_GE {A Atom NODE_ARITH_WORD {[VarSub KUBE_VERBOSE]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 6]}}}) (= scope= flags=0 words=[] bindings=[('rsync_extra', {[DQ [LIT_CHARS -iv]]})]) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Running rsync"]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS rsync]} {[VarSub rsync_extra]} {[LIT_CHARS --archive]} {[LIT_CHARS --delete]} {[LIT_CHARS --prune-empty-dirs]} {[LIT_CHARS --password-file] [LIT_DBRACKET_LIKE "="] [DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /rsyncd.password]]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /]]} {[DQ [LIT_CHARS "rsync://k8s@"][VarSub KUBE_RSYNC_ADDR][LIT_CHARS /k8s/]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS stop_rsyncd_container]} ) ) ) (FunctionDef kube::build::copy_output [] (List (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Syncing out of container"]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS start_rsyncd_container]} ) (= scope= flags=0 words=[] bindings=[('rsync_extra', {[DQ ]})]) (If (DParen {A2 AS_OP_GE {A Atom NODE_ARITH_WORD {[VarSub KUBE_VERBOSE]}} {A Atom NODE_ARITH_WORD {[AS_NUM_LITERAL 6]}}}) (= scope= flags=0 words=[] bindings=[('rsync_extra', {[DQ [LIT_CHARS -iv]]})]) ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS log] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS status]} {[DQ [LIT_CHARS "Running rsync"]]} more_env=[('V', {[LIT_CHARS 3]})] ) (Com {[LIT_CHARS rsync]} {[VarSub rsync_extra]} {[LIT_CHARS --archive]} {[LIT_CHARS --prune-empty-dirs]} {[LIT_CHARS --password-file] [LIT_DBRACKET_LIKE "="] [DQ [VarSub LOCAL_OUTPUT_BUILD_CONTEXT][LIT_CHARS /rsyncd.password]]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[LIT_CHARS --filter] [LIT_DBRACKET_LIKE "="] [SQ ]} {[DQ [LIT_CHARS "rsync://k8s@"][VarSub KUBE_RSYNC_ADDR][LIT_CHARS /k8s/]]} {[DQ [VarSub KUBE_ROOT]]} ) (Com {[LIT_CHARS kube] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS build] [LIT_OTHER ":"] [LIT_OTHER ":"] [LIT_CHARS stop_rsyncd_container]} ) ) ) )