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"