restaskocibase

package
v0.0.0-...-3f873ad Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 10, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	Keywords = []keywords.Keyword{
		{
			Attr:        "Name",
			DefaultText: keywords.NewText(fs, "text/kw/name.default"),
			Example:     "osvcprd..rundeck.container.db",
			Option:      "name",
			Scopable:    true,
			Text:        keywords.NewText(fs, "text/kw/name"),
		},
		{
			Attr:     "Hostname",
			Example:  "nginx1",
			Option:   "hostname",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/hostname"),
		},
		{
			Aliases:   []string{},
			Attr:      "DNSSearch",
			Converter: converters.List,
			Example:   "opensvc.com",
			Option:    "dns_search",
			Required:  false,
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/dns_search"),
		},
		{
			Aliases:  []string{"run_image"},
			Attr:     "Image",
			Example:  "ghcr.io/opensvc/pause",
			Option:   "image",
			Required: true,
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/image"),
		},
		{
			Attr:       "ImagePullPolicy",
			Candidates: []string{"once", "always"},
			Example:    "once",
			Option:     "image_pull_policy",
			Scopable:   true,
			Text:       keywords.NewText(fs, "text/kw/image_pull_policy"),
		},
		{
			Attr:     "CWD",
			Option:   "cwd",
			Example:  "/opt/foo",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/cwd"),
		},
		{
			Aliases:   []string{"run_command"},
			Attr:      "Command",
			Converter: converters.Shlex,
			Example:   "/opt/tomcat/bin/catalina.sh",
			Option:    "command",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/command"),
		},
		{
			Attr:      "RunArgs",
			Converter: converters.Shlex,
			Example:   "-v /opt/docker.opensvc.com/vol1:/vol1:rw -p 37.59.71.25:8080:8080",
			Option:    "run_args",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/run_args"),
		},
		{
			Attr:      "Entrypoint",
			Converter: converters.Shlex,
			Example:   "/bin/sh",
			Option:    "entrypoint",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/entrypoint"),
		},
		{
			Attr:      "Privileged",
			Converter: converters.Bool,
			Option:    "privileged",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/privileged"),
		},
		{
			Attr:      "Init",
			Converter: converters.Bool,
			Default:   "true",
			Option:    "init",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/init"),
		},
		{
			Attr:      "Interactive",
			Converter: converters.Bool,
			Option:    "interactive",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/interactive"),
		},
		{
			Attr:      "TTY",
			Converter: converters.Bool,
			Option:    "tty",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/tty"),
		},
		{
			Attr:      "VolumeMounts",
			Converter: converters.Shlex,
			Example:   "myvol1:/vol1 myvol2:/vol2:rw /localdir:/data:ro",
			Option:    "volume_mounts",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/volume_mounts"),
		},
		{
			Attr:      "Env",
			Converter: converters.Shlex,
			Example:   "KEY=cert1/server.key PASSWORD=db/password",
			Option:    "environment",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/environment"),
		},
		{
			Attr:      "ConfigsEnv",
			Converter: converters.Shlex,
			Example:   "CRT=cert1/server.crt PEM=cert1/server.pem",
			Option:    "configs_environment",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/configs_environment"),
		},
		{
			Attr:      "Devices",
			Converter: converters.Shlex,
			Example:   "myvol1:/dev/xvda myvol2:/dev/xvdb",
			Option:    "devices",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/devices"),
		},
		{
			Aliases:  []string{"net"},
			Attr:     "NetNS",
			Example:  "container#0",
			Option:   "netns",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/netns"),
		},
		{
			Attr:     "User",
			Example:  "guest",
			Option:   "user",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/user"),
		},
		{
			Attr:     "PIDNS",
			Example:  "container#0",
			Option:   "pidns",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/pidns"),
		},
		{
			Attr:     "IPCNS",
			Example:  "container#0",
			Option:   "ipcns",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/ipcns"),
		},
		{
			Attr:       "UTSNS",
			Candidates: []string{"", "host"},
			Example:    "container#0",
			Option:     "utsns",
			Scopable:   true,
			Text:       keywords.NewText(fs, "text/kw/utsns"),
		},
		{
			Attr:     "RegistryCreds",
			Example:  "creds-registry-opensvc-com",
			Option:   "registry_creds",
			Scopable: true,
			Text:     keywords.NewText(fs, "text/kw/registry_creds"),
		},
		{
			Attr:      "PullTimeout",
			Converter: converters.Duration,
			Default:   "2m",
			Example:   "2m",
			Option:    "pull_timeout",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/pull_timeout"),
		},
		{
			Attr:      "SecretsEnv",
			Converter: converters.Shlex,
			Example:   "CRT=cert1/server.pem sec1/*",
			Option:    "secrets_environment",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/secrets_environment"),
		},
		{
			Attr:      "ConfigsEnv",
			Converter: converters.Shlex,
			Example:   "PORT=http/port webapp/app1* {name}/* {name}-debug/settings",
			Option:    "configs_environment",
			Scopable:  true,
			Text:      keywords.NewText(fs, "text/kw/configs_environment"),
		},
	}
)

Functions

This section is empty.

Types

type ContainerDetachedGetter

type ContainerDetachedGetter interface {
	GetContainerDetached() ContainerTasker
}

type ContainerTasker

type ContainerTasker interface {
	Start(context.Context) error
	Stop(context.Context) error
	ContainerInspectRefresh(context.Context) (rescontainerocibase.Inspecter, error)
	Signal(sig syscall.Signal) error
}

type T

type T struct {
	restask.BaseTask
	resource.SCSIPersistentReservation
	Detach          bool           `json:"detach"`
	PG              pg.Config      `json:"pg"`
	Path            naming.Path    `json:"path"`
	ObjectID        uuid.UUID      `json:"object_id"`
	SCSIReserv      bool           `json:"scsireserv"`
	PromoteRW       bool           `json:"promote_rw"`
	NoPreemptAbort  bool           `json:"no_preempt_abort"`
	OsvcRootPath    string         `json:"osvc_root_path"`
	GuestOS         string         `json:"guest_os"`
	Name            string         `json:"name"`
	Nodes           []string       `json:"nodes"`
	Hostname        string         `json:"hostname"`
	Image           string         `json:"image"`
	ImagePullPolicy string         `json:"image_pull_policy"`
	CWD             string         `json:"cwd"`
	User            string         `json:"user"`
	Command         []string       `json:"command"`
	DNS             []string       `json:"dns"`
	DNSSearch       []string       `json:"dns_search"`
	RunArgs         []string       `json:"run_args"`
	Entrypoint      []string       `json:"entrypoint"`
	Remove          bool           `json:"remove"`
	Privileged      bool           `json:"privileged"`
	Init            bool           `json:"init"`
	Interactive     bool           `json:"interactive"`
	TTY             bool           `json:"tty"`
	VolumeMounts    []string       `json:"volume_mounts"`
	Env             []string       `json:"environment"`
	SecretsEnv      []string       `json:"secrets_environment"`
	ConfigsEnv      []string       `json:"configs_environment"`
	Devices         []string       `json:"devices"`
	NetNS           string         `json:"netns"`
	UserNS          string         `json:"userns"`
	PIDNS           string         `json:"pidns"`
	IPCNS           string         `json:"ipcns"`
	UTSNS           string         `json:"utsns"`
	RegistryCreds   string         `json:"registry_creds"`
	PullTimeout     *time.Duration `json:"pull_timeout"`
	Timeout         *time.Duration `json:"timeout"`
	// contains filtered or unexported fields
}

T is the driver structure.

func (*T) Kill

func (t *T) Kill(ctx context.Context) error

func (*T) Label

func (t *T) Label() string

Label returns a formatted short description of the Resource

func (*T) Run

func (t *T) Run(ctx context.Context) error

func (*T) SetContainerGetter

func (t *T) SetContainerGetter(c ContainerDetachedGetter)

func (*T) Stop

func (t *T) Stop(ctx context.Context) (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL