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 b8ae20e deploying devcontainer
b8ae20e is described below
commit b8ae20ed9019a50728c179d2c0987c95a71ae0ce
Author: Michele Sciabarra <[email protected]>
AuthorDate: Mon Nov 24 20:36:59 2025 +0000
deploying devcontainer
---
opsroot.json | 26 +++++++++++++-------------
setup/devcontainer/deployment.yaml | 29 ++++-------------------------
setup/devcontainer/opsfile.yml | 15 +++++++++++++--
3 files changed, 30 insertions(+), 40 deletions(-)
diff --git a/opsroot.json b/opsroot.json
index 07c33b3..09bf322 100644
--- a/opsroot.json
+++ b/opsroot.json
@@ -1,16 +1,16 @@
{
- "version": "0.1.0-2409121919.dev",
- "config": {
- "ops": {
- "coreutils": "arch b2sum b3sum base32 basename basenc cat chgrp
chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du
env expand expr factor fmt fold groups hashsum head hostid hostname id install
join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp more mv nice nl
nohup nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink
realpath rm rmdir seq sha1sum sha224sum sha256sum sha3-224sum sha3-256sum
sha3-384sum sha3-512sum sha384sum [...]
- },
- "images": {
- "operator":
"registry.hub.docker.com/apache/openserverless-operator:0.1.0-incubating.2510012114",
- "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",
- "devcontainer":
"ghcr.io/sciabarracom/openserverless-devcontainer:0.1.0-incubating.2511231536"
- }
+ "version": "0.1.0-2409121919.dev",
+ "config": {
+ "ops": {
+ "coreutils": "arch b2sum b3sum base32 basename basenc cat chgrp chmod
chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du env
expand expr factor fmt fold groups hashsum head hostid hostname id install join
kill link ln logname ls md5sum mkdir mkfifo mknod mktemp more mv nice nl nohup
nproc numfmt od paste pathchk pinky pr printenv printf ptx pwd readlink
realpath rm rmdir seq sha1sum sha224sum sha256sum sha3-224sum sha3-256sum
sha3-384sum sha3-512sum sha384sum [...]
+ },
+ "images": {
+ "operator":
"registry.hub.docker.com/apache/openserverless-operator:0.1.0-incubating.2510012114",
+ "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",
+ "devcontainer":
"ghcr.io/apache/openserverless-devcontainer:0.1.0-incubating.2511241347"
}
+ }
}
diff --git a/setup/devcontainer/deployment.yaml
b/setup/devcontainer/deployment.yaml
index 80b5ff1..d624285 100644
--- a/setup/devcontainer/deployment.yaml
+++ b/setup/devcontainer/deployment.yaml
@@ -31,40 +31,19 @@ spec:
name: ssh
protocol: TCP
securityContext:
- runAsUser: 1000
- runAsGroup: 1000
+ runAsUser: $USERID
+ runAsGroup: $USERID
volumeMounts:
- name: workspace
- mountPath: /workspace
+ mountPath: /home/workspace
env:
- name: DEBIAN_FRONTEND
value: noninteractive
- - name: SSH_KEY
+ - name: SSHKEY
valueFrom:
secretKeyRef:
name: ssh-secret
key: authorized_keys
- - name: DEVEL_PASSWORD
- valueFrom:
- secretKeyRef:
- name: devel-secret
- key: password
- command:
- - /bin/bash
- - -c
- - >
- sudo touch /.dockerenv ;
- sudo apt-get update ;
- sudo apt-get install -y openssh-server ;
- sudo mkdir -p /run/sshd ;
- sudo ssh-keygen -A ;
- mkdir -p ~/.ssh ;
- chmod 600 ~/.ssh/authorized_keys ;
- echo "$$SSH_KEY" > ~/.ssh/authorized_keys ;
- ln -sf /workspace ~/workspace ;
- echo "ops -update ; env OPS_PASSWORD='$$DEVEL_PASSWORD' ops ide
login devel http://miniops.me" >>~/.bashrc ;
- sudo chown -R 1000:1000 /workspace ;
- sudo /usr/sbin/sshd -p 2222 -D
- name: reverse-proxy
image: nginx:alpine
ports:
diff --git a/setup/devcontainer/opsfile.yml b/setup/devcontainer/opsfile.yml
index 69e76a9..1cb553e 100644
--- a/setup/devcontainer/opsfile.yml
+++ b/setup/devcontainer/opsfile.yml
@@ -6,6 +6,7 @@ vars:
GID:
sh: 'echo {{ if eq OS "windows" }}1000{{ else }}$(id -g){{ end }}'
DRY: ""
+ EXTRA: ""
env:
KUBECONFIG:
@@ -36,7 +37,7 @@ tasks:
- |
touch ~/.ssh/config
if ! rg "Host miniops" ~/.ssh/config >/dev/null
- then echo -e "\nHost miniops\n Hostname localhost\n Port 2222\n
User node\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n" >>
~/.ssh/config
+ then echo -e "\nHost miniops\n Hostname localhost\n Port 2222\n
User devel\n StrictHostKeyChecking no\n UserKnownHostsFile=/dev/null\n" >>
~/.ssh/config
fi
- >
retry -t 100 -m 600 ssh miniops exit 2>&1
@@ -50,10 +51,18 @@ tasks:
- 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
- run:
+ docker2kind:
+ silent: true
+ desc: load the devcontainer image from docker to kind to avoid pulling
from outside
+ cmds:
+ - kind load docker-image {{.IMAGES_DEVCONTAINER}} --name nuvolaris
+
+ docker-run:
desc: run the ssh-devcontainer in docker with W=<workspace absolute path>
silent: true
requires: { vars: [W]}
+ vars:
+ EXTRA: #"--entrypoint=/bin/bash -ti"
cmds:
- 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'"
@@ -67,5 +76,7 @@ tasks:
-e USERID={{.UID}}
--mount "type=bind,src={{.W}},dst=/home/workspace"
-p 2223:2222
+ {{.EXTRA}}
{{.IMAGES_DEVCONTAINER}}
+