-
Notifications
You must be signed in to change notification settings - Fork 236
Wire up experimental OCI runtime support #416
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
Conversation
|
Will fix zee tests later today |
12777bf to
49d5007
Compare
5f57703 to
ff4f083
Compare
This allows you to pass a path to an OCI runtime to use to launch a container instead of the default vmexec.
ff4f083 to
ef5c8dc
Compare
| public var virtualization: Bool = false | ||
| /// Optional destination for serial boot logs. | ||
| public var bootLog: BootLog? | ||
| /// EXPERIMENTAL: Path in the root filesystem for the virtual |
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 the semantics such that if defined, this overrides using the default runtime offered by the VMM? It might be good to spell this out in this docc.
| options: [String] = [], | ||
| uidMappings: [LinuxIDMapping] = [], | ||
| gidMappings: [LinuxIDMapping] = [] | ||
| uidMappings: [LinuxIDMapping]? = nil, |
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.
Side note: In case we ever want to take a crack at generating Swift from spec, https://github.pie.apple.com/vessel/swift-docker-api demonstrates an approach for converting Open API/Swagger to Swift bindings with some stuff to handle things that are optional in practice but required according to what the spec says.
Sync with Apple's containerization repo (57 commits behind). Notable upstream changes: - LinuxContainer: "Harden" stop (apple#388) - OCI runtime support (apple#416) - Memory threshold monitoring (apple#427) - FileHandle option for serial console (apple#410) - Keep reference to vended execs (apple#408) - Sync(2) on shutdown (apple#400) - Fix ImageStore.prune() behavior (apple#420) - Various stability improvements Resolved conflicts: - LinuxContainer.swift: Merged bootLog type change with our useNetworkNamespace - Application.swift: Kept our service startup code (removed old log line per upstream) - Server+GRPC.swift: Used upstream's async ManagedContainer, kept our DNS comment
Closes #321
This allows you to pass a path to an OCI runtime to use to launch a container instead of the default vmexec.