Merge pull request #26505 from Microsoft/jjh/ocistep1
Windows OCI convergence step 1
This commit is contained in:
commit
3fd3d28f5f
3 changed files with 39 additions and 27 deletions
|
@ -6,7 +6,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// Spec is the base configuration for the container.
|
// Spec is the base configuration for the container.
|
||||||
type Spec windowsoci.WindowsSpec
|
type Spec windowsoci.Spec
|
||||||
|
|
||||||
// Process contains information to start a specific application inside the container.
|
// Process contains information to start a specific application inside the container.
|
||||||
type Process windowsoci.Process
|
type Process windowsoci.Process
|
||||||
|
|
|
@ -6,31 +6,31 @@ package windowsoci
|
||||||
|
|
||||||
import "fmt"
|
import "fmt"
|
||||||
|
|
||||||
// WindowsSpec is the full specification for Windows containers.
|
// Spec is the base configuration for the container.
|
||||||
type WindowsSpec struct {
|
|
||||||
Spec
|
|
||||||
|
|
||||||
// Windows is platform specific configuration for Windows based containers.
|
|
||||||
Windows Windows `json:"windows"`
|
|
||||||
}
|
|
||||||
|
|
||||||
// Spec is the base configuration for the container. It specifies platform
|
|
||||||
// independent configuration. This information must be included when the
|
|
||||||
// bundle is packaged for distribution.
|
|
||||||
type Spec struct {
|
type Spec struct {
|
||||||
|
// Version of the Open Container Runtime Specification with which the bundle complies.
|
||||||
// Version is the version of the specification that is supported.
|
|
||||||
Version string `json:"ociVersion"`
|
Version string `json:"ociVersion"`
|
||||||
// Platform is the host information for OS and Arch.
|
// Platform specifies the configuration's target platform.
|
||||||
Platform Platform `json:"platform"`
|
Platform Platform `json:"platform"`
|
||||||
// Process is the container's main process.
|
// Process configures the container process.
|
||||||
Process Process `json:"process"`
|
Process Process `json:"process"`
|
||||||
// Root is the root information for the container's filesystem.
|
// Root configures the container's root filesystem.
|
||||||
Root Root `json:"root"`
|
Root Root `json:"root"`
|
||||||
// Hostname is the container's host name.
|
// Hostname configures the container's hostname.
|
||||||
Hostname string `json:"hostname,omitempty"`
|
Hostname string `json:"hostname,omitempty"`
|
||||||
// Mounts profiles configuration for adding mounts to the container's filesystem.
|
// Mounts configures additional mounts (on top of Root).
|
||||||
Mounts []Mount `json:"mounts"`
|
Mounts []Mount `json:"mounts,omitempty"`
|
||||||
|
// Hooks configures callbacks for container lifecycle events.
|
||||||
|
Hooks Hooks `json:"hooks"`
|
||||||
|
// Annotations contains arbitrary metadata for the container.
|
||||||
|
Annotations map[string]string `json:"annotations,omitempty"`
|
||||||
|
|
||||||
|
// Linux is platform specific configuration for Linux based containers.
|
||||||
|
Linux *Linux `json:"linux,omitempty" platform:"linux"`
|
||||||
|
// Solaris is platform specific configuration for Solaris containers.
|
||||||
|
Solaris *Solaris `json:"solaris,omitempty" platform:"solaris"`
|
||||||
|
// Windows is platform specific configuration for Windows based containers, including Hyper-V containers.
|
||||||
|
Windows *Windows `json:"windows,omitempty" platform:"windows"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// Windows contains platform specific configuration for Windows based containers.
|
// Windows contains platform specific configuration for Windows based containers.
|
||||||
|
@ -182,3 +182,19 @@ const (
|
||||||
|
|
||||||
// Version is the specification version that the package types support.
|
// Version is the specification version that the package types support.
|
||||||
var Version = fmt.Sprintf("%d.%d.%d%s (Windows)", VersionMajor, VersionMinor, VersionPatch, VersionDev)
|
var Version = fmt.Sprintf("%d.%d.%d%s (Windows)", VersionMajor, VersionMinor, VersionPatch, VersionDev)
|
||||||
|
|
||||||
|
//
|
||||||
|
// Temporary structures. Ultimately this whole file will be removed.
|
||||||
|
//
|
||||||
|
|
||||||
|
// Linux contains platform specific configuration for Linux based containers.
|
||||||
|
type Linux struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Solaris contains platform specific configuration for Solaris application containers.
|
||||||
|
type Solaris struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Hooks for container setup and teardown
|
||||||
|
type Hooks struct {
|
||||||
|
}
|
||||||
|
|
|
@ -7,17 +7,13 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// DefaultSpec returns default spec used by docker.
|
// DefaultSpec returns default spec used by docker.
|
||||||
func DefaultSpec() windowsoci.WindowsSpec {
|
func DefaultSpec() windowsoci.Spec {
|
||||||
s := windowsoci.Spec{
|
return windowsoci.Spec{
|
||||||
Version: windowsoci.Version,
|
Version: windowsoci.Version,
|
||||||
Platform: windowsoci.Platform{
|
Platform: windowsoci.Platform{
|
||||||
OS: runtime.GOOS,
|
OS: runtime.GOOS,
|
||||||
Arch: runtime.GOARCH,
|
Arch: runtime.GOARCH,
|
||||||
},
|
},
|
||||||
}
|
Windows: &windowsoci.Windows{},
|
||||||
|
|
||||||
return windowsoci.WindowsSpec{
|
|
||||||
Spec: s,
|
|
||||||
Windows: windowsoci.Windows{},
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue