api

package
v0.0.0-...-a541f19 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2023 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Overview

Package api includes all types used to communicate between the various parts of the Kubernetes system.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Container

type Container struct {
	Name         string        `yaml:"name,omitempty" json:"name,omitempty"`
	Image        string        `yaml:"image,omitempty" json:"image,omitempty"`
	Command      string        `yaml:"command,omitempty" json:"command,omitempty"`
	WorkingDir   string        `yaml:"workingDir,omitempty" json:"workingDir,omitempty"`
	Ports        []Port        `yaml:"ports,omitempty" json:"ports,omitempty"`
	Env          []EnvVar      `yaml:"env,omitempty" json:"env,omitempty"`
	Memory       int           `yaml:"memory,omitempty" json:"memory,omitempty"`
	CPU          int           `yaml:"cpu,omitempty" json:"cpu,omitempty"`
	VolumeMounts []VolumeMount `yaml:"volumeMounts,omitempty" json:"volumeMounts,omitempty"`
}

Container represents a single container that is expected to be run on the host.

type ContainerManifest

type ContainerManifest struct {
	Version    string      `yaml:"version" json:"version"`
	Volumes    []Volume    `yaml:"volumes" json:"volumes"`
	Containers []Container `yaml:"containers" json:"containers"`
	Id         string      `yaml:"id,omitempty" json:"id,omitempty"`
}

ContainerManifest corresponds to the Container Manifest format, documented at: https://developers.google.com/compute/docs/containers#container_manifest This is used as the representation of Kubernete's workloads.

type Endpoints

type Endpoints struct {
	Name      string
	Endpoints []string
}

Defines the endpoints that implement the actual service, for example: Name: "mysql", Endpoints: ["10.10.1.1:1909", "10.10.2.2:8834"]

type EnvVar

type EnvVar struct {
	Name  string `yaml:"name,omitempty" json:"name,omitempty"`
	Value string `yaml:"value,omitempty" json:"value,omitempty"`
}

type Event

type Event struct {
	Event     string             `json:"event,omitempty"`
	Manifest  *ContainerManifest `json:"manifest,omitempty"`
	Container *Container         `json:"container,omitempty"`
	Timestamp int64              `json:"timestamp"`
}

Event is the representation of an event logged to etcd backends

type JSONBase

type JSONBase struct {
	Kind              string `json:"kind,omitempty" yaml:"kind,omitempty"`
	ID                string `json:"id,omitempty" yaml:"id,omitempty"`
	CreationTimestamp string `json:"creationTimestamp,omitempty" yaml:"creationTimestamp,omitempty"`
	SelfLink          string `json:"selfLink,omitempty" yaml:"selfLink,omitempty"`
}

JSONBase is shared by all objects sent to, or returned from the client

type Port

type Port struct {
	Name          string `yaml:"name,omitempty" json:"name,omitempty"`
	HostPort      int    `yaml:"hostPort,omitempty" json:"hostPort,omitempty"`
	ContainerPort int    `yaml:"containerPort,omitempty" json:"containerPort,omitempty"`
	Protocol      string `yaml:"protocol,omitempty" json:"protocol,omitempty"`
}

type ReplicationController

type ReplicationController struct {
	JSONBase
	DesiredState ReplicationControllerState `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
	Labels       map[string]string          `json:"labels,omitempty" yaml:"labels,omitempty"`
}

ReplicationController represents the configuration of a replication controller

type ReplicationControllerList

type ReplicationControllerList struct {
	JSONBase
	Items []ReplicationController `json:"items,omitempty" yaml:"items,omitempty"`
}

type ReplicationControllerState

type ReplicationControllerState struct {
	Replicas      int               `json:"replicas" yaml:"replicas"`
	ReplicasInSet map[string]string `json:"replicasInSet,omitempty" yaml:"replicasInSet,omitempty"`
	TaskTemplate  TaskTemplate      `json:"taskTemplate,omitempty" yaml:"taskTemplate,omitempty"`
}

ReplicationControllerState is the state of a replication controller, either input (create, update) or as output (list, get)

type Service

type Service struct {
	JSONBase
	Port   int               `json:"port,omitempty" yaml:"port,omitempty"`
	Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
}

Defines a service abstraction by a name (for example, mysql) consisting of local port (for example 3306) that the proxy listens on, and the labels that define the service.

type ServiceList

type ServiceList struct {
	Items []Service `json:"items" yaml:"items"`
}

ServiceList holds a list of services

type Task

type Task struct {
	JSONBase
	Labels       map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
	DesiredState TaskState         `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
	CurrentState TaskState         `json:"currentState,omitempty" yaml:"currentState,omitempty"`
}

Task is a single task, used as either input (create, update) or as output (list, get)

type TaskList

type TaskList struct {
	JSONBase
	Items []Task `json:"items" yaml:"items,omitempty"`
}

type TaskState

type TaskState struct {
	Manifest ContainerManifest `json:"manifest,omitempty" yaml:"manifest,omitempty"`
	Status   string            `json:"status,omitempty" yaml:"status,omitempty"`
	Host     string            `json:"host,omitempty" yaml:"host,omitempty"`
	HostIP   string            `json:"hostIP,omitempty" yaml:"hostIP,omitempty"`
	Info     interface{}       `json:"info,omitempty" yaml:"info,omitempty"`
}

TaskState is the state of a task, used as either input (desired state) or output (current state)

type TaskTemplate

type TaskTemplate struct {
	DesiredState TaskState         `json:"desiredState,omitempty" yaml:"desiredState,omitempty"`
	Labels       map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
}

TaskTemplate holds the information used for creating tasks

type Volume

type Volume struct {
	Name string `yaml:"name" json:"name"`
}

type VolumeMount

type VolumeMount struct {
	Name      string `yaml:"name,omitempty" json:"name,omitempty"`
	ReadOnly  bool   `yaml:"readOnly,omitempty" json:"readOnly,omitempty"`
	MountPath string `yaml:"mountPath,omitempty" json:"mountPath,omitempty"`
}

Jump to

Keyboard shortcuts

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