This is an automated email from the ASF dual-hosted git repository.

msciabarra pushed a commit to branch embedded-devcontainer
in repository https://gitbox.apache.org/repos/asf/openserverless-task.git


The following commit(s) were added to refs/heads/embedded-devcontainer by this 
push:
     new cc5867c  updated the devcontainer
cc5867c is described below

commit cc5867c32939936c85be265b7ceeb215f2f24407
Author: Michele Sciabarra <[email protected]>
AuthorDate: Sun Nov 23 16:18:19 2025 +0000

    updated the devcontainer
---
 opsroot.json                   |  3 ++-
 setup/devcontainer/opsfile.yml | 61 +++++++++++++++++++-----------------------
 2 files changed, 30 insertions(+), 34 deletions(-)

diff --git a/opsroot.json b/opsroot.json
index ffff070..07c33b3 100644
--- a/opsroot.json
+++ b/opsroot.json
@@ -9,7 +9,8 @@
          "controller": 
"ghcr.io/nuvolaris/openwhisk-controller:3.1.0-mastrogpt.2402101445",
          "invoker": 
"ghcr.io/nuvolaris/openwhisk-invoker:3.1.0-mastrogpt.2402101445",
          "streamer": 
"registry.hub.docker.com/apache/openserverless-streamer:0.1.0-incubating.2505031325",
-         "systemapi": 
"registry.hub.docker.com/apache/openserverless-admin-api:0.1.0-incubating.2509280912"
+         "systemapi": 
"registry.hub.docker.com/apache/openserverless-admin-api:0.1.0-incubating.2509280912",
+         "devcontainer": 
"ghcr.io/sciabarracom/openserverless-devcontainer:0.1.0-incubating.2511231536"
         }
     }
 }
diff --git a/setup/devcontainer/opsfile.yml b/setup/devcontainer/opsfile.yml
index ed21ede..69e76a9 100644
--- a/setup/devcontainer/opsfile.yml
+++ b/setup/devcontainer/opsfile.yml
@@ -1,7 +1,11 @@
-version: "3" 
+version: "3"
 
 vars:
-  IMAGE: ghcr.io/mastrogpt/agent41-starter:2506201530
+  UID:
+    sh: 'echo {{ if eq OS "windows" }}1000{{ else }}$(id -u){{ end }}'
+  GID:
+    sh: 'echo {{ if eq OS "windows" }}1000{{ else }}$(id -g){{ end }}'
+  DRY: ""
 
 env:
   KUBECONFIG:
@@ -15,17 +19,17 @@ tasks:
 
   deploy:
     silent: true
-    desc: deploy the devcontainer
+    desc: deploy the devcontainer in kubernetes
     cmds:
       - test -e ~/.ssh/id_rsa.pub || die "please generate an ssh key with 
ssh-keygen in ~/.ssh/id_rsa.pub"
       - >
-          kubectl -n nuvolaris create secret generic ssh-secret 
+          kubectl -n nuvolaris create secret generic ssh-secret
           --from-literal=authorized_keys="$(cat ~/.ssh/id_rsa.pub)" 
2>/dev/null || die "devcontainer already exists"
       - >
-          kubectl -n nuvolaris create secret generic devel-secret 
+          kubectl -n nuvolaris create secret generic devel-secret
           --from-literal=password="$(cat ~/.ops/devel.password)"
       - |
-        export IMAGE="{{.IMAGE}}"
+        export IMAGE="{{.IMAGES_DEVCONTAINER}}"
         envsubst < deployment.yaml >_deployment.yaml
         kubectl apply -f _deployment.yaml
       - ops setup kubernetes wait-pod SELECTOR="-l app=ssh-devcontainer" 
COND=false FILE=_devcontainer
@@ -35,42 +39,33 @@ tasks:
         then echo -e "\nHost miniops\n  Hostname localhost\n  Port 2222\n  
User node\n  StrictHostKeyChecking no\n  UserKnownHostsFile=/dev/null\n" >> 
~/.ssh/config
         fi
       - >
-        retry -t 100 -m 600 ssh miniops exit 2>&1 
+        retry -t 100 -m 600 ssh miniops exit 2>&1
         | awk '{s=""; for(i=1;i<=NR;i++) s=s"#"; printf "\rwaiting for ssh: 
[%s]", s; fflush()}'
       - echo -e "\nyou can now connect to the devcontainer with 'ssh miniops'"
 
   undeploy:
     silent: true
-    desc: undeploy the devcontainer
+    desc: undeploy the devcontainer in kubernetes
     cmds:
-      - kubectl -n nuvolaris delete deploy/ssh-devcontainer secret/ssh-secret 
secret/devel-secret 
+      - kubectl -n nuvolaris delete deploy/ssh-devcontainer secret/ssh-secret 
secret/devel-secret
       - echo Please remove the Host miniops entry from your ~/.ssh/config file 
if present
 
-  docker-deploy:
-    desc: deploy the ssh-devcontainer with docker
+  run:
+    desc: run the ssh-devcontainer in docker with W=<workspace absolute path>
     silent: true
+    requires: { vars: [W]}
     cmds:
-      - >  
-        docker run 
+      - test -e "$OPS_PWD/workspace/package.json" || die "mising workdpace 
folder with starter"
+      - test -e ~/.ssh/id_rsa.pub || die "please generate an ssh key with 
'ssk-keygen -t rsa'"
+      - echo "{{.W}}" | rg '^/' || die "W=<absolute path> required"
+      - docker rm -f ssh-devcontainer 2>/dev/null
+      - >
+        {{.DRY}} docker run
+        --hostname ssh-devcontainer
         --name ssh-devcontainer --rm
-        -e SSH_KEY="$(cat ~/.ssh/id_rsa.pub)" 
-        --entrypoint /bin/bash 
-        -p 2222:2222
-        {{.IMAGE}}
-        -c '
-            mkdir -p ~/.ssh ;
-            echo "$SSH_KEY" > ~/.ssh/authorized_keys ;
-            chmod 600 ~/.ssh/authorized_keys ;
-            sudo apt-get update ;
-            sudo apt-get install -y openssh-server ;
-            sudo mkdir -p /run/sshd ;
-            sudo ssh-keygen -A ;
-            echo starting sshd... ;
-            sudo /usr/sbin/sshd -p 2222 -D
-          '
+        -e SSHKEY="$(cat ~/.ssh/id_rsa.pub)"
+        -e USERID={{.UID}}
+        --mount "type=bind,src={{.W}},dst=/home/workspace"
+        -p 2223:2222
+        {{.IMAGES_DEVCONTAINER}}
 
-  docker-undeploy:
-    desc: deploy the ssh-devcontainer with docker
-    silent: true
-    cmds:
-    - docker rm -f ssh-devcontainer || echo "no docker container 
ssh-devcontainer running"

Reply via email to