-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add read only #65
base: main
Are you sure you want to change the base?
Add read only #65
Conversation
There is currently a problem with this because I need to only set the command line parameter if and only if a value, whether This is important because it overrides a global default, and that global default may be set to |
In other words we need an |
"ReadonlyRootfs": schema.NewPropertySchema( | ||
schema.NewBoolSchema(), | ||
schema.NewDisplayValue(schema.PointerTo("ReadonlyRootfs"), schema.PointerTo("Execute container process with or without a read only root file system"), nil), | ||
false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, yes. Good. We should have unit tests proving that the deployer module accepts true/false/missing ... I don't think the deployer tests have done all that much to prove that options passed in actually do what's intended (e.g., selinux labeling), but proving that we can/can't write to the root filesystem would be great.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proving that we can/can't write to the root filesystem sounds like a functional test...but with a suitable mock, we could have unit tests for this stuff which would be great!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Should we be implementing tri-state logic for any of the other options?
SetContainerName(name string) ArgsBuilder | ||
SetNetworkMode(networkMode string) ArgsBuilder | ||
SetPrivileged(privileged bool) ArgsBuilder | ||
SetReadOnlyRoot(readOnlyRootfs *bool) ArgsBuilder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are there any other options for which we should be implementing tri-state logic? (Like all of them? 😇)
(Also, the handling of -e
looks...incomplete -- it seems like it silently ignores cases with no =
as well as cases where the value of the environment variable contains a =
....)
"ReadonlyRootfs": schema.NewPropertySchema( | ||
schema.NewBoolSchema(), | ||
schema.NewDisplayValue(schema.PointerTo("ReadonlyRootfs"), schema.PointerTo("Execute container process with or without a read only root file system"), nil), | ||
false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Proving that we can/can't write to the root filesystem sounds like a functional test...but with a suitable mock, we could have unit tests for this stuff which would be great!
schema.NewDisplayValue(schema.PointerTo("ReadonlyRootfs"), schema.PointerTo("Execute container process with or without a read only root file system"), nil), | ||
false, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At least as far as the Podman man page is concerned, "read-only" is hyphenated.
Changes introduced with this PR
Please explain your changes here.
By contributing to this repository, I agree to the contribution guidelines.