Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var MustEnvVars = map[string]string{
"PORT": "8801",
}
MustEnvVars defines environment variables that "MUST" be set. The value provided is an example value.
var MustFiles = map[string]FileInfo{ "/dev/fd": { IsDir: ptr.Bool(true), SourceFile: "/proc/self/fd", }, "/dev/full": { IsDir: ptr.Bool(false), }, "/dev/null": { IsDir: ptr.Bool(false), }, "/dev/ptmx": { IsDir: ptr.Bool(false), }, "/dev/random": { IsDir: ptr.Bool(false), }, "/dev/stdin": { IsDir: ptr.Bool(false), SourceFile: "/proc/self/fd/0", }, "/dev/stdout": { IsDir: ptr.Bool(false), SourceFile: "/proc/self/fd/1", }, "/dev/stderr": { IsDir: ptr.Bool(false), SourceFile: "/proc/self/fd/2", }, "/dev/tty": { IsDir: ptr.Bool(false), }, "/dev/urandom": { IsDir: ptr.Bool(false), }, "/dev/zero": { IsDir: ptr.Bool(false), }, "/proc/self/fd": { IsDir: ptr.Bool(true), }, "/proc/self/fd/0": { IsDir: ptr.Bool(false), }, "/proc/self/fd/1": { IsDir: ptr.Bool(false), }, "/proc/self/fd/2": { IsDir: ptr.Bool(false), }, "/tmp": { IsDir: ptr.Bool(true), Perm: "rwxrwxrwx", }, "/var/log": { IsDir: ptr.Bool(true), Perm: "rwxrwxrwx", }, }
MustFiles specifies the file paths and expected permissions that MUST be set as specified in the runtime contract. See https://golang.org/pkg/os/#FileMode for "Mode" string meaning. '*' indicates no specification.
var ShouldEnvVars = map[string]string{
"K_SERVICE": "Service",
"K_CONFIGURATION": "Config",
"K_REVISION": "Revision",
}
ShouldEnvVars defines environment variables that "SHOULD" be set. To match these values with test service parameters, map values must represent corresponding test.ResourceNames fields
var ShouldFiles = map[string]FileInfo{ "/etc/resolv.conf": { IsDir: ptr.Bool(false), Perm: "rw*r**r**", }, "/dev/console": { Error: "stat /dev/console: no such file or directory", }, }
ShouldFiles specifies the file paths and expected permissions that SHOULD be set as specified in the runtime contract. See https://golang.org/pkg/os/#FileMode for "Mode" string meaning. '*' indicates no specification.
Functions ¶
This section is empty.
Types ¶
type Cgroup ¶
type Cgroup struct { // Name is the full path name of the cgroup. Name string `json:"name"` // Value is the integer files in the cgroup file. Value *int `json:"value,omitempty"` // ReadOnly is true if the cgroup was not writable. ReadOnly *bool `json:"readOnly,omitempty"` // Error is the String representation of the error returned obtaining the information. Error string `json:"error,omitempty"` }
Cgroup contains the Cgroup value for a given setting.
type FileInfo ¶
type FileInfo struct { // Size is the length in bytes for regular files; system-dependent for others. Size *int64 `json:"size,omitempty"` // Perm are the unix permission bits. Perm string `json:"mode,omitempty"` // ModTime is the file last modified time. ModTime time.Time `json:"modTime,omitempty"` // SourceFile is populated if this file is a symlink. The SourceFile is the file where // the symlink resolves. SourceFile string `json:"sourceFile,omitempty"` // IsDir is true if the file is a directory. IsDir *bool `json:"isDir,omitempty"` // Error is the String representation of the error returned obtaining the information. Error string `json:"error,omitempty"` }
FileInfo contains the metadata for a given file.
type HostInfo ¶
type HostInfo struct { // Files is a map of file metadata. Files map[string]FileInfo `json:"files"` // EnvVars is a map of all environment variables set. EnvVars map[string]string `json:"envs"` // Cgroups is a list of cgroup information. Cgroups []*Cgroup `json:"cgroups"` // Mounts is a list of mounted volume information, or error. Mounts []*Mount `json:"mounts"` Stdin *Stdin `json:"stdin"` User *UserInfo `json:"user"` Args []string `json:"args"` }
HostInfo contains information about the host environment.
type Mount ¶
type Mount struct { // Device is the device that is mounted Device string `json:"device,omitempty"` // Path is the location where the volume is mounted Path string `json:"path,omitempty"` // Type is the filesystem type (i.e. sysfs, proc, tmpfs, ext4, overlay, etc.) Type string `json:"type,omitempty"` // Options is the mount options set (i.e. rw, nosuid, relatime, etc.) Options []string `json:"options,omitempty"` // Error is the String representation of the error returned obtaining the information. Error string `json:"error,omitempty"` }
Mount contains information about a given mount.
type RequestInfo ¶
type RequestInfo struct { // Ts is the timestamp of when the request came in from the system time. Ts time.Time `json:"ts"` // URI is the request-target of the Request-Line. URI string `json:"uri"` // Host is the hostname on which the URL is sought. Host string `json:"host"` // Method is the method used for the request. Method string `json:"method"` // Headers is a Map of all headers set. Headers http.Header `json:"headers"` // ProtoMajor is the major version of the incoming protocol. ProtoMajor int `json:"protoMajor"` // ProtoMinor is the minor version of the incoming protocol. ProtoMinor int `json:"protoMinor"` }
RequestInfo encapsulates information about the request.
type RuntimeInfo ¶
type RuntimeInfo struct { // Request is information about the request. Request *RequestInfo `json:"request"` // Host is a set of host information. Host *HostInfo `json:"host"` }
RuntimeInfo encapsulates both the host and request information.
type Stdin ¶ added in v0.5.0
type Stdin struct { // EOF is true if the first byte read from stdin results in EOF. EOF *bool `json:"eof,omitempty"` // Error is the String representation of an error probing sdtin. Error string `json:"error,omitempty"` }
Stdin contains information about the Stdin file descriptor for the container.