What happened?
Starting the dev pipeline results in creating the pod successfully and starting the proxies, however the process exits with a 'error writing command' message:
info Using namespace '<namespace redacted>'
info Using kube context '<context redacted>'
deploy:bot Skipping deployment bot
dev:bot Waiting for pod to become ready...
dev:bot Selected botservice-deployment-devspace-84447cd8f-pchsf:botservice (pod:container)
dev:bot open Opening 'http://localhost:3978' as soon as application will be started
dev:bot sync Sync started on: ./ <-> ./
dev:bot sync Waiting for initial sync to complete
dev:bot ssh Port forwarding started on: 10997 -> 8022
dev:bot ports Port forwarding started on: 5186 -> 5186, 3978 -> 3978
dev:bot proxy Port forwarding started on: 10210 <- 10567
dev:bot ssh Use 'ssh bot.bot.devspace' to connect via SSH
dev:bot sync Initial sync completed
start_dev: error setting up proxy commands in container: Error: error writing command '/usr/local/bin/devspace': open /usr/local/bin/devspace: read-only file system
Usage:
devspacehelper proxy-commands configure [flags]
Flags:
--commands strings Commands to overwrite
--git-credentials If git credentials should get configured
-h, --help help for configure
--private-key string Private key to use
--public-key string Public key to use
--working-dir string Working dir to use
error writing command '/usr/local/bin/devspace': open /usr/local/bin/devspace: read-only file system command terminated with exit code 1
fatal exit status 1
What did you expect to happen instead?
The pipeline to execute successfully and set up the dev environment as intended
How can we reproduce the bug? (as minimally and precisely as possible)
My devspace.yaml:
version: v2beta1
name: bot
# This is a list of `pipelines` that DevSpace can execute (you can define your own)
pipelines:
# This is the pipeline for the main command: `devspace dev` (or `devspace run-pipeline dev`)
dev:
run: |-
run_dependencies --all # 1. Deploy any projects this project needs (see "dependencies")
create_deployments --all # 2. Deploy Helm charts and manifests specfied as "deployments"
start_dev bot # 3. Start dev mode "app" (see "dev" section)
# You can run this pipeline via `devspace deploy` (or `devspace run-pipeline deploy`)
deploy:
run: |-
run_dependencies --all # 1. Deploy any projects this project needs (see "dependencies")
build_images --all -t $(git describe --always) # 2. Build, tag (git commit hash) and push all images (see "images")
create_deployments --all # 3. Deploy Helm charts and manifests specfied as "deployments"
# This is a list of `images` that DevSpace can build for this project
# We recommend to skip image building during development (devspace dev) as much as possible
images:
app:
image: <redacted>
dockerfile: <redacted>
context: <redacted>
# This is a list of `deployments` that DevSpace can create for this project
deployments:
bot:
# This deployment uses `helm` but you can also define `kubectl` deployments or kustomizations
helm:
# We are deploying this project with the Helm chart you provided
chart:
name: ../Kubernetes/Helm/bot
# Under `values` we can define the values for this Helm chart used during `helm install/upgrade`
# You may also use `valuesFiles` to load values from files, e.g. valuesFiles: ["values.yaml"]
valuesFiles: ["../Kubernetes/Helm/bot/values-test.yaml"]
# This is a list of `dev` containers that are based on the containers created by your deployments
dev:
bot:
# Search for the container that runs this image
imageSelector: <redacted>
# Replace the container image with this dev-optimized image (allows to skip image building during development)
devImage: ghcr.io/loft-sh/devspace-containers/dotnet:6.0-alpine
# Sync files between the local filesystem and the development container
sync:
- path: ./
uploadExcludeFile: .dockerignore
# Open a terminal and use the following command to start it
terminal:
command: ./devspace_start.sh
# Inject a lightweight SSH server into the container (so your IDE can connect to the remote dev env)
ssh:
enabled: true
# Make the following commands from my local machine available inside the dev container
proxyCommands:
- command: devspace
- command: kubectl
- command: helm
- command: git
# Forward the following ports to be able access your application via localhost
ports:
- port: "5186"
- port: "3978"
# Open the following URLs once they return an HTTP status code other than 502 or 503
open:
- url: http://localhost:3978
# Use the `commands` section to define repeatable dev workflows for this project
commands:
migrate-db:
command: |-
echo 'This is a cross-platform, shared command that can be used to codify any kind of dev task.'
echo 'Anyone using this project can invoke it via "devspace run migrate-db"'
# Define dependencies to other projects with a devspace.yaml
# dependencies:
# api:
# git: https://... # Git-based dependencies
# tag: v1.0.0
# ui:
# path: ./ui # Path-based dependencies (for monorepos)
Local Environment:
- DevSpace Version:devspace version 6.0.0-beta.6
- Operating System: windows
- ARCH of the OS: AMD64
Kubernetes Cluster:
- Cloud Provider: azure
- Kubernetes Version:
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.6", GitCommit:"42a9a90338d705a1650fb68b7891f84b62adb0b0", GitTreeState:"clean", BuildDate:"2022-06-15T04:25:21Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Anything else we need to know?
The devspace, helm, git, kubectl commands are all present in the pod in the intended path ('/usr/local/bin/') and are executable without errors, it does not have write permission and I can not use chmod to assign these
/kind bug
What happened?
Starting the dev pipeline results in creating the pod successfully and starting the proxies, however the process exits with a 'error writing command' message:
What did you expect to happen instead?
The pipeline to execute successfully and set up the dev environment as intended
How can we reproduce the bug? (as minimally and precisely as possible)
My devspace.yaml:
Local Environment:
Kubernetes Cluster:
Client Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.5", GitCommit:"5c99e2ac2ff9a3c549d9ca665e7bc05a3e18f07e", GitTreeState:"clean", BuildDate:"2021-12-16T08:38:33Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"windows/amd64"}
Server Version: version.Info{Major:"1", Minor:"22", GitVersion:"v1.22.6", GitCommit:"42a9a90338d705a1650fb68b7891f84b62adb0b0", GitTreeState:"clean", BuildDate:"2022-06-15T04:25:21Z", GoVersion:"go1.16.12", Compiler:"gc", Platform:"linux/amd64"}
Anything else we need to know?
The devspace, helm, git, kubectl commands are all present in the pod in the intended path ('/usr/local/bin/') and are executable without errors, it does not have write permission and I can not use chmod to assign these
/kind bug