fix systemapi deploy
diff --git a/setup/nuvolaris/system-api/opsfile.yml b/setup/nuvolaris/system-api/opsfile.yml
index fa9e15d..f5e1767 100644
--- a/setup/nuvolaris/system-api/opsfile.yml
+++ b/setup/nuvolaris/system-api/opsfile.yml
@@ -36,16 +36,20 @@
   SYS_API_CDB_HOST: couchdb
 
   SYS_API_CDB_USER:
-    sh: ops util kubectl -- -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.user}'
+    #sh: ops util kubectl -- --kubeconfig "$KUBECONFIG" -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.user}'
+    sh: ops util kubeget wsk/controller .spec.couchdb.admin.user
 
   SYS_API_CDB_PASSWORD:
-    sh: ops util kubectl -- -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.password}'
+    #sh: ops util kubectl -- --kubeconfig "$KUBECONFIG" -n nuvolaris get wsk/controller -o jsonpath='{.spec.couchdb.admin.password}'
+    sh: ops util kubeget wsk/controller .spec.couchdb.admin.password
 
   SYS_API_HOSTNAME:
-    sh: ops util kubectl -- -n nuvolaris get ingress/apihost -o jsonpath='{.spec.rules[0].host}'
-  
+    #sh: ops util kubectl -- --kubeconfig "$KUBECONFIG" -n nuvolaris get ingress/apihost -o jsonpath='{.spec.rules[0].host}'
+    sh: ops util kubeget ingress/apihost .spec.rules[0].host
+
   REGISTRY_PASS:
-    sh: ops util kubectl -- -n nuvolaris get cm/config  -o jsonpath='{.metadata.annotations.registry_password}'
+    #sh: ops util kubectl -- --kubeconfig "$KUBECONFIG" -n nuvolaris get cm/config  -o jsonpath='{.metadata.annotations.registry_password}'
+    sh: ops util kubeget cm/config .metadata.annotations.registry_password
 
   INGRESS_TYPE:
     sh: ops util ingress-type
@@ -57,7 +61,7 @@
     cmds:
       - task: remove-toml
       - kubectl -n nuvolaris create configmap nuvolaris-buildkitd-conf --from-file="$OPS_ROOT/setup/nuvolaris/system-api/deploy/buildkit/buildkitd.toml"
-  
+
   remove-toml:
     desc: Remove the buildkitd.toml config map
     silent: true
@@ -66,7 +70,7 @@
         if kubectl -n nuvolaris get cm nuvolaris-buildkitd-conf >/dev/null 2>&1;
           then kubectl -n nuvolaris delete configmap nuvolaris-buildkitd-conf
         fi
-  
+
   install-secret:
     desc: Create secret to push to internal registry
     silent: true
@@ -74,9 +78,9 @@
       - task: remove-secret
       - |
         if ! kubectl -n nuvolaris get secret registry-pull-secret-int >/dev/null 2>&1;
-        then kubectl create secret docker-registry registry-pull-secret-int --docker-server=http://nuvolaris-registry-svc:5000 --docker-username=opsuser --docker-password=${REGISTRY_PASS}
+        then kubectl -n nuvolaris create secret docker-registry registry-pull-secret-int --docker-server=http://nuvolaris-registry-svc:5000 --docker-username=opsuser --docker-password=${REGISTRY_PASS}
         fi
-    
+
   remove-secret:
     desc: Delete secret to push to internal registry
     silent: true
@@ -86,11 +90,10 @@
         then kubectl -n nuvolaris delete secret registry-pull-secret-int
         fi
 
-
   deploy:
     silent: true
     ignore_error: false
-    desc: deploy the admin api 
+    desc: deploy the admin api
     cmds:
     - test -e ${INGRESS_TYPE}-template.yaml || die "No avalable template for ingress type ${INGRESS_TYPE}."
     - test -n "$IMAGES_SYSTEMAPI" || die "IMAGES_SYSTEMAPI is not set. Please set it to the desired image version."
@@ -103,7 +106,7 @@
     - task: install-secret
     - |
       echo "Admin API deployed with HOSTNAME: ${SYS_API_HOSTNAME}/system"
-  
+
   undeploy:
     silent: true
     desc: undeploy the admin api
@@ -114,7 +117,7 @@
     - kubectl -n nuvolaris delete sts/nuvolaris-system-api ing/nuvolaris-system-api-ingress svc/nuvolaris-system-api
     - |
       echo "System Admin API undeployed"
-  
+
 
   update:
     silent: true
@@ -122,7 +125,7 @@
     cmds:
       - task: deploy
       - kubectl -n nuvolaris rollout restart statefulset nuvolaris-system-api
-    preconditions:      
+    preconditions:
       - sh: '[ $IMAGES_SYSTEMAPI != $CURRENT_API_VERSION ]'
         msg: "Current OpenServerless System API stateful set it is already updated to newest version. Request ignored."
     env:
diff --git a/util/docopts.md b/util/docopts.md
index 72d1107..f2bff4c 100644
--- a/util/docopts.md
+++ b/util/docopts.md
@@ -34,6 +34,7 @@
   util no-user-secrets <username>
   util kubectl <args>...
   util kubeconfig
+  util kubeget <object> <jsonpath>
   util config <configjson> [--override] [--showhelp]
   util clean
   util upload [<folder>] [--batchsize=<batchsize>] [--verbose] [--clean]
@@ -53,12 +54,13 @@
 -  system                  system info (<os>-<arch> in Go format)
 -  update-cli              update the cli downloading the binary
 -  check-operator-version  check if you need to update the operator
--  secrets                 generate system secrets 
+-  secrets                 generate system secrets
 -  nosecrets               remove system secrets
 -  user-secrets            generate user secrets for the given user
 -  no-user-secrets         remove user secrets for the given user
 -  kubectl                 execute kubectl on current kubeconfig
 -  kubeconfig              export OVERWRITING current kubeconfig to ~/.kube/config
+-  kubeget                 extract info from an object with a jsonpath
 -  config                  update configuration file interactively
 -  clean                   clean up the web bucket
 -  upload                  uploads a folder to the web bucket in OpenServerless.
diff --git a/util/opsfile.yml b/util/opsfile.yml
index 28e35c7..3a0f947 100644
--- a/util/opsfile.yml
+++ b/util/opsfile.yml
@@ -36,7 +36,7 @@
         if {{.__showhelp}}
         then FLAGS="$FLAGS --showhelp"
         fi
-        if {{.__override}} 
+        if {{.__override}}
         then FLAGS="$FLAGS --override"
         fi
         bun config/configurator.js $(opspath {{._configjson_}}) $FLAGS
@@ -76,7 +76,7 @@
           else echo "cannot auto update ops - update it manually"
                echo "please run 'curl -sL bit.ly/get-ops | bash'"
           fi
-        else 
+        else
           echo "skipping rename $OPS_TMP/ops{{.EXE}} $OPS_CMD"
         fi
 
@@ -151,7 +151,7 @@
     cmds:
       - |
         # no quote here - syntax array generated by docps
-        args={{._args_}} 
+        args={{._args_}}
         # exanded and assigned to positional parameter
         set -- ${args[@]}
         # removing the '--' at the beginning required to pass extra flags
@@ -166,6 +166,21 @@
           else echo ~/.kube/config
           fi
 
+  kubeget:
+    desc: extract informations from
+    silent: true
+    cmds:
+    - kubectl -n nuvolaris get "$OBJECT" -o jsonpath="{$JSONPATH}"
+    env:
+      JSONPATH: '{{._jsonpath_}}'
+      OBJECT: '{{._object_}}'
+      KUBECONFIG:
+        sh: |-
+          if test -e "$OPS_TMP/kubeconfig"
+          then echo "$OPS_TMP/kubeconfig"
+          else echo ~/.kube/config
+          fi
+
   kubeconfig:
     silent: true
     prompt: Are you sure? I am overwriting your ~/.kube/config
@@ -173,7 +188,7 @@
     cmds:
       - |
         if test -e "$OPS_TMP/kubeconfig"
-        then  
+        then
           if test -e ~/.kube/config
           then BKP=~/.kube/config.$(datefmt -f ms)
                mv ~/.kube/config $(realpath $BKP)
@@ -206,7 +221,7 @@
     env:
       FOLDER_PATH:
         sh: |
-          if test -n "{{._folder_}}" 
+          if test -n "{{._folder_}}"
           then opspath "{{._folder_}}"
           else opspath .
           fi
@@ -273,10 +288,10 @@
       NGINX_CONF: >
         server {
            listen 80;
-           location / { 
+           location / {
              proxy_pass http://nuvolaris-control-plane:80;
-             proxy_set_header Host {{.HOST}}; 
-           } 
+             proxy_set_header Host {{.HOST}};
+           }
         }
     cmds:
     - |
@@ -286,8 +301,8 @@
         if docker run -d --name docker-proxy-{{.PORT}} -p {{.PORT}}:80 --network kind nginx:alpine sh -c \
            "echo '{{.NGINX_CONF}}' > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
         then echo "docker-proxy started on port {{.PORT}} to  http://{{.HOST}}"
-        else echo "Cannot start docker-proxy-{{.PORT}} - either the port is busy or another instance is running, remove it" 
-        fi       
+        else echo "Cannot start docker-proxy-{{.PORT}} - either the port is busy or another instance is running, remove it"
+        fi
       fi