{"version":3,"term":{"cols":80,"rows":24,"type":"xterm-256color","theme":{"fg":"#ebebeb","bg":"#000000","palette":"#000000:#990000:#00a600:#999900:#0000b3:#b300b3:#00a6b3:#bfbfbf:#666666:#e60000:#00d900:#e6e600:#0000ff:#e600e6:#00e6e6:#e6e6e6"}},"timestamp":1775025588,"command":"./config.sh --mode k8s --provider gcp","env":{"SHELL":"/bin/bash"}} [0.218, "o", "\u001b[?1049h\u001b[1;24r\u001b(B\u001b[m\u001b[4l\u001b[?7h\u001b[?1h\u001b="] [0.000, "o", "\u001b[39;49m\u001b[?1h\u001b="] [0.671, "o", "\u001b[?12l\u001b[?25h"] [0.000, "o", "\u001b[39;49m\u001b(B\u001b[m\u001b[H\u001b[2J\u001b(B\u001b[0;1mGCP Authentication\r\n\u001b(B\u001b[m───────────────────────────────────────────────────────────────────────────────\r\n\n \u001b(B\u001b[0;2mEnter your Google account email and a valid access token.\n\u001b[3GTab to move between fields. Enter on the token field to continue.\n\n\u001b[3G\u001b(B\u001b[0;1mEmail: \n\n\u001b[3G\u001b(B\u001b[mAccess token:\r\u001b[24d\u001b(B\u001b[0;2mTab next field Enter submit Esc cancel\u001b(B\u001b[m"] [3.258, "o", "\u001b[7;3HEmail:\u001b[K\r\n\n \u001b(B\u001b[0;1mAccess token:\u001b[24;43H\u001b(B\u001b[m"] [0.483, "o", "\u001b[7;3H\u001b(B\u001b[0;1mEmail: \n\n\u001b[3G\u001b(B\u001b[mAccess token:\u001b[24;43H"] [1.202, "o", "\u001b[7;17Hc\u001b[24;43H"] [0.137, "o", "\u001b[7;18Hh\u001b[24;43H"] [0.125, "o", "\u001b[7;19Hr\u001b[24;43H"] [0.103, "o", "\u001b[7;20Hi\u001b[24;43H"] [0.087, "o", "\u001b[7;21Hs\u001b[24;43H"] [0.058, "o", "\u001b[7;22Hf\u001b[24;43H"] [0.055, "o", "\u001b[7;23Hu\u001b[24;43H"] [0.304, "o", "\u001b[7;24H@\u001b[24;43H"] [0.729, "o", "\u001b[7;25Hk\u001b[24;43H"] [0.232, "o", "\u001b[7;26Hn\u001b[24;43H"] [0.236, "o", "\u001b[7;27Ho\u001b[24;43H"] [0.335, "o", "\u001b[7;28He\u001b[24;43H"] [0.109, "o", "\u001b[7;29Hy\u001b[24;43H"] [0.342, "o", "\u001b[7;30H.\u001b[24;43H"] [0.317, "o", "\u001b[7;31Hc\u001b[24;43H"] [0.109, "o", "\u001b[7;32Ho\u001b[24;43H"] [0.086, "o", "\u001b[7;33Hm\u001b[24;43H"] [0.274, "o", "\u001b[7;3HEmail: \r\n\n \u001b(B\u001b[0;1mAccess token:\u001b[24;43H\u001b(B\u001b[m"] [16.098, "o", "\u001b[9;17H*\u001b[24;43H"] [0.000, "o", "\u001b[9;18H*\u001b[24;43H"] [0.000, "o", "\u001b[9;19H*\u001b[24;43H"] [0.000, "o", "\u001b[9;20H*\u001b[24;43H"] [0.000, "o", "\u001b[9;21H*\u001b[24;43H"] [0.000, "o", "\u001b[9;22H*\u001b[24;43H"] [0.000, "o", "\u001b[9;23H*\u001b[24;43H"] [0.000, "o", "\u001b[9;24H*\u001b[24;43H"] [0.000, "o", "\u001b[9;25H*\u001b[24;43H"] [0.000, "o", "\u001b[9;26H*\u001b[24;43H"] [0.000, "o", "\u001b[9;27H*\u001b[24;43H"] [0.000, "o", "\u001b[9;28H*\u001b[24;43H"] [0.000, "o", "\u001b[9;29H*\u001b[24;43H"] [0.000, "o", "\u001b[9;30H*\u001b[24;43H"] [0.000, "o", "\u001b[9;31H*\u001b[24;43H"] [0.000, "o", "\u001b[9;32H*\u001b[24;43H"] [0.000, "o", "\u001b[9;33H*\u001b[24;43H"] [0.000, "o", "\u001b[9;34H*\u001b[24;43H"] [0.000, "o", "\u001b[9;35H*\u001b[24;43H"] [0.000, "o", "\u001b[9;36H*\u001b[24;43H"] [0.000, "o", "\u001b[9;37H*\u001b[24;43H"] [0.000, "o", "\u001b[9;38H*\u001b[24;43H"] [0.000, "o", "\u001b[9;39H*\u001b[24;43H\u001b[9;40H*\u001b[24;43H"] [0.000, "o", "\u001b[9;41H*\u001b[24;43H"] [0.000, "o", "\u001b[9;42H*\u001b[24;43H\u001b[9;43H*\u001b[24;43H"] [0.000, "o", "\u001b[9;44H*\u001b[24;43H"] [0.000, "o", "\u001b[9;45H*\u001b[24;43H"] [0.000, "o", "\u001b[9;46H*\u001b[24;43H"] [0.000, "o", "\u001b[9;47H*\u001b[24;43H\u001b[9;48H*\u001b[24;43H"] [0.000, "o", "\u001b[9;49H*\u001b[24;43H"] [0.000, "o", "\u001b[9;50H*\u001b[24;43H"] [0.000, "o", "\u001b[9;51H*\u001b[24;43H"] [0.001, "o", "\u001b[9;52H*\u001b[24;43H"] [0.000, "o", "\u001b[9;53H*\u001b[24;43H"] [0.000, "o", "\u001b[9;54H*\u001b[24;43H"] [0.000, "o", "\u001b[9;55H*\u001b[24;43H"] [0.000, "o", "\u001b[9;56H*\u001b[24;43H"] [0.000, "o", "\u001b[9;57H*\u001b[24;43H"] [0.000, "o", "\u001b[9;58H*\u001b[24;43H"] [0.000, "o", "\u001b[9;59H*\u001b[24;43H"] [0.000, "o", "\u001b[9;60H*\u001b[24;43H"] [0.000, "o", "\u001b[9;61H*\u001b[24;43H"] [0.000, "o", "\u001b[9;62H*\u001b[24;43H"] [0.000, "o", "\u001b[9;63H*\u001b[24;43H"] [0.000, "o", "\u001b[9;64H*\u001b[24;43H\u001b[9;65H*\u001b[24;43H"] [0.000, "o", "\u001b[9;66H*\u001b[24;43H"] [0.000, "o", "\u001b[9;67H*\u001b[24;43H\u001b[9;68H*\u001b[24;43H"] [0.000, "o", "\u001b[9;69H*\u001b[24;43H"] [0.000, "o", "\u001b[9;70H*\u001b[24;43H"] [0.000, "o", "\u001b[9;71H*\u001b[24;43H"] [0.000, "o", "\u001b[9;72H*\u001b[24;43H"] [0.000, "o", "\u001b[9;73H*\u001b[24;43H"] [0.000, "o", "\u001b[9;74H*\u001b[24;43H"] [0.000, "o", "\u001b[9;75H*\u001b[24;43H"] [0.000, "o", "\u001b[9;76H*\u001b[24;43H"] [0.000, "o", "\u001b[9;77H*\u001b[24;43H"] [0.000, "o", "\u001b[9;78H*\u001b[24;43H"] [1.231, "o", "\u001b[?25l"] [0.000, "o", "\r\u001b[4d\u001b[J\u001b[HAuthenticated as: chrisfu@knoey.com\r\n\u001b[K\nFetching GCP organizations…"] [1.056, "o", "\u001b[H\u001b(B\u001b[0;1mSelect GCP Organization\u001b(B\u001b[m\u001b[K\r\n───────────────────────────────────────────────────────────────────────────────\r\n \u001b(B\u001b[0;2mAuthenticated as: chrisfu@knoey.com\n\u001b[3G\u001b(B\u001b[0;7m knoey.com 584001916389 \r\u001b[24d\u001b(B\u001b[0;2m↑↓/jk navigate Enter select q quit 1/1\u001b(B\u001b[m"] [2.787, "o", "\u001b[H\n\u001b[J\u001b[AFetching projects…\u001b[K"] [1.020, "o", "\r\u001b(B\u001b[0;1mSelect GCP Project\r\n\u001b(B\u001b[m───────────────────────────────────────────────────────────────────────────────\r\n \u001b(B\u001b[0;2mOrg: knoey.com (2 projects)\n\u001b[3G\u001b(B\u001b[0;7m Knoey Auth plenary-truck-485623-p7 #507759 \u001b[5;3H\u001b(B\u001b[mTest New Project\u001b[5;40Htest-new-project-491616\u001b[5;72H#826674\r\u001b[24d\u001b(B\u001b[0;2m↑↓/jk navigate Enter select q quit 1/2\u001b(B\u001b[m"] [1.171, "o", "\u001b[4;3HKnoey Auth\u001b[27X\u001b[4;40Hplenary-truck-485623-p7 #507759\u001b[K\r\n \u001b(B\u001b[0;7m Test New Project test-new-project-491616 #826674 \u001b[24;41H\u001b(B\u001b[0;2m2/2\u001b(B\u001b[m"] [0.549, "o", "\u001b[4;3H\u001b(B\u001b[0;7m Knoey Auth plenary-truck-485623-p7 #507759 \u001b[5;3H\u001b(B\u001b[mTest New Project\u001b[21X\u001b[5;40Htest-new-project-491616 #826674\u001b[K\u001b[24;41H\u001b(B\u001b[0;2m1/2\u001b(B\u001b[m"] [0.672, "o", "\u001b[H\n\u001b[J\u001b[AFetching billing accounts…"] [31.063, "o", "\r\u001b(B\u001b[0;1mSelect Billing Account\u001b(B\u001b[m\u001b[K\r\n───────────────────────────────────────────────────────────────────────────────\r\n \u001b(B\u001b[0;2mProject: plenary-truck-485623-p7\n\u001b[3G\u001b(B\u001b[0;7m My Billing Account 01193C-25783B-3211AD \r\u001b[24d\u001b(B\u001b[0;2m↑↓/jk navigate Enter select q quit 1/1\u001b(B\u001b[m"] [2.113, "o", "\u001b[?12l\u001b[?25h"] [0.001, "o", "\u001b[H\u001b(B\u001b[0;1mConfig: --mode k8s --provider gcp — Confirm & Save\n\n\u001b[3G\u001b(B\u001b[mOrg ID: 584001916389\u001b[K\r\n Org Name: knoey.com\u001b[K\r\n Project ID:\u001b[5;22Hplenary-truck-485623-p7\r\n Project Name:\u001b[22GKnoey Auth\r\n Project Number: 507759242125\r\n Billing Account: 01193C-25783B-3211AD\r\n Billing Name:\u001b[22GMy Billing Account\r\n\n \u001b(B\u001b[0;1mOutput file: \u001b(B\u001b[m/Users/chrisfu/dev/knoe/conf/prod/gcp.cfg\r\u001b[24d\u001b(B\u001b[0;2mEdit path above Enter to write Esc to cancel\u001b(B\u001b[m"] [4.691, "o", "\u001b[?25l"] [0.002, "o", "\u001b[HConfiguration written.\u001b[K\r\n\u001b[K\n /Users/chrisfu/dev/knoe/conf/prod/gcp.cfg\r\n\u001b[K\nNext steps:\u001b[K\r\n 1. Copy org_id / billing_account / billing_project into:\n\u001b[7G\u001b[1K deploy/gcp/terraform/cloud-setup.auto.tfvars\r\n 2. Open the installer — Prod Cluster → Cloud tab will be pre-filled\r\n (or click 'Load from gcp.cfg' to refresh on demand)\r\n\n\u001b[K\u001b[24d\u001b(B\u001b[0;2mPress any key to continue…\u001b(B\u001b[m\u001b[K"] [2.724, "o", "\u001b[?1l\u001b>"] [0.000, "o", "\u001b[24;1H\u001b[?12l\u001b[?25h\u001b[?1049l\r\u001b[?1l\u001b>"] [0.011, "x", "0"]