mirror of
https://github.com/apple/container.git
synced 2026-07-17 06:57:05 +00:00
b466959644
- Closes #1318. - Closes #1378. - Reduces the complexity and coupling for IP allocation. - Runtimes connect to networks for the life of the running container. The runtime shuts down on connection loss. - Networks automatically deallocate a runtime's IP address and hostname record on connection loss. - Removes AllocatedAttachment as this is no longer necessary. The `bootstrap()` XPC now takes a `NetworkBootstrapInfo` array which parallels the attachments in the bundle config and provides the network plugin attributes needed to create VM network interface configurations. ## Type of Change - [x] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Motivation and Context Simplify IP allocation and make deallocation more reliable. ## Testing - [x] Tested locally - [ ] Added/updated tests - [ ] Added/updated docs
30 lines
1.3 KiB
Swift
30 lines
1.3 KiB
Swift
//===----------------------------------------------------------------------===//
|
|
// Copyright © 2026 Apple Inc. and the container project authors.
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
import ContainerResource
|
|
|
|
/// Plugin info passed from the API server in the sandbox bootstrap message so the
|
|
/// runtime can connect to the correct network helper and configure the interface.
|
|
public struct NetworkBootstrapInfo: Codable, Sendable {
|
|
/// Plugin info identifying which network helper to contact and which interface
|
|
/// strategy the runtime should use.
|
|
public let pluginInfo: NetworkPluginInfo
|
|
|
|
public init(pluginInfo: NetworkPluginInfo) {
|
|
self.pluginInfo = pluginInfo
|
|
}
|
|
}
|