(List (FunctionDef create_token [] (Com {[LIT_CHARS echo]} {[ComSub (Pipeline (Com {[LIT_CHARS cat]} {[LIT_CHARS /dev/urandom]}) (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] =}) )]} ) ) (FunctionDef get_tokens_from_csv [] (List (= scope= flags=0 words=[] bindings=[('KUBE_BEARER_TOKEN', {[ComSub (Com {[LIT_CHARS awk]} {[LIT_CHARS -F] [LIT_COMMA ","]} {[SQ ]} {[VarSub KUBE_TEMP] [LIT_CHARS /] [VarSub 1] [LIT_CHARS _tokens.csv]})]})]) (= scope= flags=0 words=[] bindings=[('KUBELET_TOKEN', {[ComSub (Com {[LIT_CHARS awk]} {[LIT_CHARS -F] [LIT_COMMA ","]} {[SQ ]} {[VarSub KUBE_TEMP] [LIT_CHARS /] [VarSub 1] [LIT_CHARS _tokens.csv]})]})]) (= scope= flags=0 words=[] bindings=[('KUBE_PROXY_TOKEN', {[ComSub (Com {[LIT_CHARS awk]} {[LIT_CHARS -F] [LIT_COMMA ","]} {[SQ ]} {[VarSub KUBE_TEMP] [LIT_CHARS /] [VarSub 1] [LIT_CHARS _tokens.csv]})]})]) ) ) (FunctionDef generate_admin_token [] (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS create_token]})][LIT_CHARS ",admin,admin"]]} < (FilenameRedirectNode filename={[VarSub KUBE_TEMP] [LIT_CHARS /known_tokens.csv]} >"> 1), > ) ) (FunctionDef generate_kubelet_tokens [] (List (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS create_token]})][LIT_CHARS ",kubelet,kubelet"]]} < (FilenameRedirectNode filename={[VarSub KUBE_TEMP] [LIT_CHARS /] [VarSub 1] [LIT_CHARS _tokens.csv]} "> 1), > ) (Com {[LIT_CHARS echo]} {[DQ [ComSub (Com {[LIT_CHARS create_token]})][LIT_CHARS ",kube_proxy,kube_proxy"]]} < (FilenameRedirectNode filename={[VarSub KUBE_TEMP] [LIT_CHARS /] [VarSub 1] [LIT_CHARS _tokens.csv]} >"> 1), > ) ) ) )