Skip to content

Instantly share code, notes, and snippets.

@Miladbr
Created July 22, 2022 19:48
Show Gist options
  • Select an option

  • Save Miladbr/6a151b7464916c17c9f62266a3c98572 to your computer and use it in GitHub Desktop.

Select an option

Save Miladbr/6a151b7464916c17c9f62266a3c98572 to your computer and use it in GitHub Desktop.

Revisions

  1. Miladbr created this gist Jul 22, 2022.
    31 changes: 31 additions & 0 deletions create_kube_config.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    clusterName=$1
    server=$2
    namespace=$3
    serviceAccount=$4

    set -o errexit

    secretName=$(kubectl --namespace $namespace get serviceAccount $serviceAccount -o jsonpath='{.secrets[0].name}')
    token=$(kubectl --namespace $namespace get secret/$secretName -o jsonpath='{.data.token}' | base64 --decode)

    echo "
    ---
    apiVersion: v1
    kind: Config
    clusters:
    - name: ${clusterName}
    cluster:
    insecure-skip-tls-verify: true
    server: ${server}
    contexts:
    - name: ${serviceAccount}@${clusterName}
    context:
    cluster: ${clusterName}
    namespace: ${namespace}
    user: ${serviceAccount}
    users:
    - name: ${serviceAccount}
    user:
    token: ${token}
    current-context: ${serviceAccount}@${clusterName}
    " > ${clusterName}.yaml