#!/usr/bin/env bash set -euo pipefail [[ $(kubectl config current-context) == kubernetes-admin@kubernetes ]] || { echo 'Wrong Kubernetes context' >&2; exit 1; } python3 - <<'PY' import base64,json,subprocess get=lambda *args: json.loads(subprocess.check_output(['kubectl',*args])) cluster=get('config','view','--minify','-o','json')['clusters'][0]['cluster'] secret=get('-n','factorio','get','secret','factorio-deployer-token','-o','json')['data'] config={'apiVersion':'v1','kind':'Config','clusters':[{'name':'cluster','cluster':{'server':cluster['server'],'certificate-authority-data':secret['ca.crt']}}], 'users':[{'name':'factorio-deployer','user':{'token':base64.b64decode(secret['token']).decode()}}], 'contexts':[{'name':'factorio-ci','context':{'cluster':'cluster','user':'factorio-deployer','namespace':'factorio'}}], 'current-context':'factorio-ci'} print(base64.b64encode(json.dumps(config).encode()).decode()) PY