Skip to content

Commit d51c226

Browse files
authored
Merge pull request #2574 from 89luca89/main
fix: add implicit patch during dev to unset readOnlyRootFilesystem when sync is enabled
2 parents 358eb58 + 6dec3c8 commit d51c226

3 files changed

Lines changed: 44 additions & 2 deletions

File tree

docs/pages/cli/devspace_list_ports.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,8 @@ Lists the port forwarding configurations
2525
## Flags
2626

2727
```
28-
-h, --help help for ports
28+
-h, --help help for ports
29+
-o, --output string The output format of the command. Can be either empty or json
2930
```
3031

3132

docs/pages/configuration/dev/modifications/patches.mdx

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ DevSpace adds certain modifications and patches in-memory if certain conditions
6262
<tr>
6363
<td>
6464

65-
`terminal` enabled
65+
`terminal` enabled or
66+
`attach` enabled
6667

6768
</td>
6869
<td>
@@ -83,6 +84,24 @@ dev:
8384
8485
</td>
8586
</tr>
87+
<td>
88+
89+
`sync` enabled
90+
91+
</td>
92+
<td>
93+
94+
```yaml title=devspace.yaml
95+
dev:
96+
$name:
97+
command: ["sleep"]
98+
args: ["1000000000"]
99+
patches:
100+
- op: remove
101+
path: spec.containers[].securityContext.readOnlyRootFilesystem
102+
```
103+
104+
</td>
86105
</tbody>
87106
</table>
88107

pkg/devspace/services/podreplace/builder.go

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,11 @@ func modifyDevContainer(ctx devspacecontext.Context, devPod *latest.DevPod, devC
204204
return errors.Wrap(err, "replace working dir")
205205
}
206206

207+
err = replaceSecurityContext(ctx, devPod, devContainer, podTemplate)
208+
if err != nil {
209+
return errors.Wrap(err, "replace securitycontext")
210+
}
211+
207212
err = replaceResources(ctx, devPod, devContainer, podTemplate)
208213
if err != nil {
209214
return errors.Wrap(err, "replace resources")
@@ -256,6 +261,23 @@ func replaceWorkingDir(ctx devspacecontext.Context, devPod *latest.DevPod, devCo
256261
return nil
257262
}
258263

264+
func replaceSecurityContext(ctx devspacecontext.Context, devPod *latest.DevPod, devContainer *latest.DevContainer, podTemplate *corev1.PodTemplateSpec) error {
265+
if devContainer.Sync == nil {
266+
return nil
267+
}
268+
269+
index, container, err := getPodTemplateContainer(ctx, devPod, devContainer, podTemplate)
270+
if err != nil {
271+
return err
272+
}
273+
274+
if container.SecurityContext != nil {
275+
container.SecurityContext.ReadOnlyRootFilesystem = nil
276+
podTemplate.Spec.Containers[index] = *container
277+
}
278+
return nil
279+
}
280+
259281
func replaceCommand(ctx devspacecontext.Context, devPod *latest.DevPod, devContainer *latest.DevContainer, podTemplate *corev1.PodTemplateSpec) error {
260282
// replace with DevSpace helper
261283
injectRestartHelper := devContainer.RestartHelper != nil && devContainer.RestartHelper.Inject != nil && *devContainer.RestartHelper.Inject

0 commit comments

Comments
 (0)