plugins:
  node-root-shell:
    shortCut: a
    description: Run root shell on node
    dangerous: true
    scopes:
      - nodes
    command: bash
    background: false
    confirm: true
    args:
      - -c
      - |
        host="$1"
        json='
        {
          "apiVersion": "v1",
          "spec": {
            "hostIPC": true,
            "hostNetwork": true,
            "hostPID": true
        '
        if ! [[ -z "$host" ]]; then
          json+=",
          \"nodeSelector\" : {
            \"kubernetes.io/hostname\" : \"$host\"
          }
          ";
        fi
        json+='
          }
        }
        '
        kubectl run -ti --image alpine:3.8 --rm --privileged --restart=Never --overrides="$json" root --command -- nsenter -t 1 -m -u -n -i -- bash -l
