You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openserverless.apache.org by ms...@apache.org on 2025/10/31 13:35:32 UTC
(openserverless-task) branch embedded-devcontainer updated (cc2ed39 -> 1558b31)
This is an automated email from the ASF dual-hosted git repository.
msciabarra pushed a change to branch embedded-devcontainer
in repository https://gitbox.apache.org/repos/asf/openserverless-task.git
from cc2ed39 devcontainer
new c859643 devcontainer
new 1558b31 moved devcontainer
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
setup/{nuvolaris => }/devcontainer/deployment.yaml | 0
setup/{nuvolaris => }/devcontainer/opsfile.yml | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename setup/{nuvolaris => }/devcontainer/deployment.yaml (100%)
rename setup/{nuvolaris => }/devcontainer/opsfile.yml (100%)
(openserverless-task) 01/02: devcontainer
Posted by ms...@apache.org.
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
commit c859643a91206670775121a3ce46a88535ac315b
Author: Michele Sciabarra <ms...@apache.org>
AuthorDate: Fri Oct 31 13:33:20 2025 +0000
devcontainer
---
setup/devcontainer/deployment.yaml | 124 +++++++++++++++++++++++++++++++++++++
setup/devcontainer/opsfile.yml | 76 +++++++++++++++++++++++
2 files changed, 200 insertions(+)
diff --git a/setup/devcontainer/deployment.yaml b/setup/devcontainer/deployment.yaml
new file mode 100644
index 0000000..80b5ff1
--- /dev/null
+++ b/setup/devcontainer/deployment.yaml
@@ -0,0 +1,124 @@
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+ name: ssh-devcontainer
+ namespace: nuvolaris
+ labels:
+ app: ssh-devcontainer
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: ssh-devcontainer
+ template:
+ metadata:
+ labels:
+ app: ssh-devcontainer
+ spec:
+ hostname: ssh-devcontainer
+ volumes:
+ - name: workspace
+ hostPath:
+ path: /workspace
+ - name: nginx-config
+ configMap:
+ name: nginx-proxy-config
+ containers:
+ - name: devcontainer
+ image: $IMAGE
+ ports:
+ - containerPort: 2222
+ name: ssh
+ protocol: TCP
+ securityContext:
+ runAsUser: 1000
+ runAsGroup: 1000
+ volumeMounts:
+ - name: workspace
+ mountPath: /workspace
+ env:
+ - name: DEBIAN_FRONTEND
+ value: noninteractive
+ - name: SSH_KEY
+ 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:
+ - containerPort: 80
+ name: http
+ protocol: TCP
+ command: ["nginx", "-g", "daemon off;"]
+ volumeMounts:
+ - name: nginx-config
+ mountPath: /etc/nginx/nginx.conf
+ subPath: nginx.conf
+ readOnly: true
+---
+apiVersion: v1
+kind: ConfigMap
+metadata:
+ name: nginx-proxy-config
+ namespace: nuvolaris
+data:
+ nginx.conf: |
+ events {
+ worker_connections 1024;
+ }
+ http {
+ client_max_body_size 1g;
+
+ server {
+ listen 80;
+ server_name miniops.me *.miniops.me;
+
+ location / {
+ proxy_pass http://ingress-nginx-controller.ingress-nginx.svc.cluster.local;
+ proxy_set_header Host $$host;
+ proxy_set_header X-Real-IP $$remote_addr;
+ proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto http;
+ }
+ }
+ }
+---
+apiVersion: v1
+kind: Service
+metadata:
+ name: ssh-devcontainer
+ namespace: nuvolaris
+ labels:
+ app: ssh-devcontainer
+spec:
+ type: NodePort
+ selector:
+ app: ssh-devcontainer
+ ports:
+ - port: 2222
+ targetPort: 2222
+ nodePort: 30222
+ protocol: TCP
+ name: ssh
diff --git a/setup/devcontainer/opsfile.yml b/setup/devcontainer/opsfile.yml
new file mode 100644
index 0000000..ed21ede
--- /dev/null
+++ b/setup/devcontainer/opsfile.yml
@@ -0,0 +1,76 @@
+version: "3"
+
+vars:
+ IMAGE: ghcr.io/mastrogpt/agent41-starter:2506201530
+
+env:
+ KUBECONFIG:
+ sh: |-
+ if test -e "$OPS_TMP/kubeconfig"
+ then echo "$OPS_TMP/kubeconfig"
+ else echo ~/.kube/config
+ fi
+
+tasks:
+
+ deploy:
+ silent: true
+ desc: deploy the devcontainer
+ 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
+ --from-literal=authorized_keys="$(cat ~/.ssh/id_rsa.pub)" 2>/dev/null || die "devcontainer already exists"
+ - >
+ kubectl -n nuvolaris create secret generic devel-secret
+ --from-literal=password="$(cat ~/.ops/devel.password)"
+ - |
+ export IMAGE="{{.IMAGE}}"
+ envsubst < deployment.yaml >_deployment.yaml
+ kubectl apply -f _deployment.yaml
+ - ops setup kubernetes wait-pod SELECTOR="-l app=ssh-devcontainer" COND=false FILE=_devcontainer
+ - |
+ 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
+ fi
+ - >
+ 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
+ cmds:
+ - 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
+ silent: true
+ cmds:
+ - >
+ docker run
+ --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
+ '
+
+ docker-undeploy:
+ desc: deploy the ssh-devcontainer with docker
+ silent: true
+ cmds:
+ - docker rm -f ssh-devcontainer || echo "no docker container ssh-devcontainer running"
(openserverless-task) 02/02: moved devcontainer
Posted by ms...@apache.org.
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
commit 1558b31a11750001d0820597ca02cfa74cb2ad76
Author: Michele Sciabarra <ms...@apache.org>
AuthorDate: Fri Oct 31 13:34:08 2025 +0000
moved devcontainer
---
setup/nuvolaris/devcontainer/deployment.yaml | 124 ---------------------------
setup/nuvolaris/devcontainer/opsfile.yml | 76 ----------------
2 files changed, 200 deletions(-)
diff --git a/setup/nuvolaris/devcontainer/deployment.yaml b/setup/nuvolaris/devcontainer/deployment.yaml
deleted file mode 100644
index 80b5ff1..0000000
--- a/setup/nuvolaris/devcontainer/deployment.yaml
+++ /dev/null
@@ -1,124 +0,0 @@
-apiVersion: apps/v1
-kind: Deployment
-metadata:
- name: ssh-devcontainer
- namespace: nuvolaris
- labels:
- app: ssh-devcontainer
-spec:
- replicas: 1
- selector:
- matchLabels:
- app: ssh-devcontainer
- template:
- metadata:
- labels:
- app: ssh-devcontainer
- spec:
- hostname: ssh-devcontainer
- volumes:
- - name: workspace
- hostPath:
- path: /workspace
- - name: nginx-config
- configMap:
- name: nginx-proxy-config
- containers:
- - name: devcontainer
- image: $IMAGE
- ports:
- - containerPort: 2222
- name: ssh
- protocol: TCP
- securityContext:
- runAsUser: 1000
- runAsGroup: 1000
- volumeMounts:
- - name: workspace
- mountPath: /workspace
- env:
- - name: DEBIAN_FRONTEND
- value: noninteractive
- - name: SSH_KEY
- 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:
- - containerPort: 80
- name: http
- protocol: TCP
- command: ["nginx", "-g", "daemon off;"]
- volumeMounts:
- - name: nginx-config
- mountPath: /etc/nginx/nginx.conf
- subPath: nginx.conf
- readOnly: true
----
-apiVersion: v1
-kind: ConfigMap
-metadata:
- name: nginx-proxy-config
- namespace: nuvolaris
-data:
- nginx.conf: |
- events {
- worker_connections 1024;
- }
- http {
- client_max_body_size 1g;
-
- server {
- listen 80;
- server_name miniops.me *.miniops.me;
-
- location / {
- proxy_pass http://ingress-nginx-controller.ingress-nginx.svc.cluster.local;
- proxy_set_header Host $$host;
- proxy_set_header X-Real-IP $$remote_addr;
- proxy_set_header X-Forwarded-For $$proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto http;
- }
- }
- }
----
-apiVersion: v1
-kind: Service
-metadata:
- name: ssh-devcontainer
- namespace: nuvolaris
- labels:
- app: ssh-devcontainer
-spec:
- type: NodePort
- selector:
- app: ssh-devcontainer
- ports:
- - port: 2222
- targetPort: 2222
- nodePort: 30222
- protocol: TCP
- name: ssh
diff --git a/setup/nuvolaris/devcontainer/opsfile.yml b/setup/nuvolaris/devcontainer/opsfile.yml
deleted file mode 100644
index ed21ede..0000000
--- a/setup/nuvolaris/devcontainer/opsfile.yml
+++ /dev/null
@@ -1,76 +0,0 @@
-version: "3"
-
-vars:
- IMAGE: ghcr.io/mastrogpt/agent41-starter:2506201530
-
-env:
- KUBECONFIG:
- sh: |-
- if test -e "$OPS_TMP/kubeconfig"
- then echo "$OPS_TMP/kubeconfig"
- else echo ~/.kube/config
- fi
-
-tasks:
-
- deploy:
- silent: true
- desc: deploy the devcontainer
- 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
- --from-literal=authorized_keys="$(cat ~/.ssh/id_rsa.pub)" 2>/dev/null || die "devcontainer already exists"
- - >
- kubectl -n nuvolaris create secret generic devel-secret
- --from-literal=password="$(cat ~/.ops/devel.password)"
- - |
- export IMAGE="{{.IMAGE}}"
- envsubst < deployment.yaml >_deployment.yaml
- kubectl apply -f _deployment.yaml
- - ops setup kubernetes wait-pod SELECTOR="-l app=ssh-devcontainer" COND=false FILE=_devcontainer
- - |
- 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
- fi
- - >
- 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
- cmds:
- - 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
- silent: true
- cmds:
- - >
- docker run
- --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
- '
-
- docker-undeploy:
- desc: deploy the ssh-devcontainer with docker
- silent: true
- cmds:
- - docker rm -f ssh-devcontainer || echo "no docker container ssh-devcontainer running"