(command.CommandList children: [ (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<nounset>}) (C {<set>} {<-o>} {<pipefail>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ (${ Id.VSub_Name BASH_SOURCE))}) ) <'/..'> } spids: [70] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OPENAPI_ROOT_DIR) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/federation/apis/openapi-spec'>)} spids: [82] ) ] ) (C {<source>} {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/hack/lib/init.sh'>)}) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <golang> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <setup_env> } ) (C {<make>} {<-C>} {(DQ (${ Id.VSub_Name KUBE_ROOT))} {<Id.Lit_VarLike 'WHAT='> (DQ <'cmd/hyperkube'>)} ) (command.ShFunction name: cleanup body: (BraceGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: { (DQ (braced_var_sub token: <Id.VSub_Name APISERVER_PID> suffix_op: (suffix_op.Unary tok:<Id.VTest_Hyphen -> arg_word:(word.Empty)) ) ) } ) ) (command.Simple words: [{<kill>} {(${ Id.VSub_Name APISERVER_PID)}] redirects: [ (redir op: <Id.Redir_GreatAnd '1>&'> loc: (redir_loc.Fd fd:1) arg: {<2>} ) (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) ] ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <etcd> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <cleanup> } ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <log> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <status> } {(DQ <'Clean up complete'>)} ) ] ) ) (C {<trap>} {<cleanup>} {<EXIT>} {<SIGINT>}) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <golang> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <setup_env> } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP_DIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<mktemp>} {<-d>} {<'/tmp/update-federation-openapi-spec.XXXX'>}) ) } spids: [206] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ETCD_HOST) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name ETCD_HOST> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<127.0.0.1>}) ) } spids: [215] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ETCD_PORT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name ETCD_PORT> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<2379>}) ) } spids: [222] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:API_PORT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name API_PORT> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<8050>}) ) } spids: [229] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:API_HOST) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name API_HOST> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<127.0.0.1>}) ) } spids: [236] ) ] ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <etcd> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <start>} ) (command.Simple words: [{<echo>} {(DQ <'dummy_token,admin,admin'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$TMP_DIR') <'/tokenauth.csv'>} ) ] do_fork: T ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <log> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <status>} {(DQ <'Starting federation-apiserver'>)} ) (command.Sentence child: (command.Simple words: [ {(DQ (${ Id.VSub_Name KUBE_OUTPUT_HOSTBIN) <'/hyperkube'>)} {<federation-apiserver>} {<--insecure-bind-address> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name API_HOST))} {<--bind-address> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name API_HOST))} {<--insecure-port> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name API_PORT))} {<--etcd-servers> <Id.Lit_Equals '='> (DQ <'http://'> (${ Id.VSub_Name ETCD_HOST) <':'> (${ Id.VSub_Name ETCD_PORT)) } {<--advertise-address> <Id.Lit_Equals '='> (DQ <10.10.10.10>)} {<--cert-dir> <Id.Lit_Equals '='> (DQ (${ Id.VSub_Name TMP_DIR) <'/certs'>)} {<--token-auth-file> <Id.Lit_Equals '='> ($ Id.VSub_DollarName '$TMP_DIR') <'/tokenauth.csv'> } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/openapi-federation-api-server.log'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) terminator: <Id.Op_Amp _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:APISERVER_PID) op: assign_op.Equal rhs: {($ Id.VSub_Bang '$!')} spids: [368] ) ] ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <util> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <wait_for_url> } {(DQ (${ Id.VSub_Name API_HOST) <':'> (${ Id.VSub_Name API_PORT) <'/healthz'>)} {(DQ <'apiserver: '>)} ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <log> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <status>} {(DQ <'Updating '>)} {(${ Id.VSub_Name OPENAPI_ROOT_DIR)} ) (command.Simple words: [ {<curl>} {<-w>} {(DQ <Id.Lit_BadBackslash '\\'> <n>)} {<-fs>} {(DQ (${ Id.VSub_Name API_HOST) <':'> (${ Id.VSub_Name API_PORT) <'/swagger.json'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name OPENAPI_ROOT_DIR) <'/swagger.json'>)} ) ] do_fork: T ) (C {<kube> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <log> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <status>} {(DQ <SUCCESS>)} ) ] )