Merge pull request #342 from intelsdi-x/bump_vendors
Applying k8s kubelet v3 api to cri-o server
This commit is contained in:
commit
65fc398da1
3782 changed files with 113260 additions and 92964 deletions
|
@ -319,7 +319,7 @@ func CreateContainer(client pb.RuntimeServiceClient, opts createOptions) error {
|
||||||
|
|
||||||
// Override the name by the one specified through CLI
|
// Override the name by the one specified through CLI
|
||||||
if opts.name != "" {
|
if opts.name != "" {
|
||||||
config.Metadata.Name = &opts.name
|
config.Metadata.Name = opts.name
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range opts.labels {
|
for k, v := range opts.labels {
|
||||||
|
@ -327,7 +327,7 @@ func CreateContainer(client pb.RuntimeServiceClient, opts createOptions) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
r, err := client.CreateContainer(context.Background(), &pb.CreateContainerRequest{
|
r, err := client.CreateContainer(context.Background(), &pb.CreateContainerRequest{
|
||||||
PodSandboxId: &opts.podID,
|
PodSandboxId: opts.podID,
|
||||||
Config: config,
|
Config: config,
|
||||||
// TODO(runcom): this is missing PodSandboxConfig!!!
|
// TODO(runcom): this is missing PodSandboxConfig!!!
|
||||||
// we should/could find a way to retrieve it from the fs and set it here
|
// we should/could find a way to retrieve it from the fs and set it here
|
||||||
|
@ -335,7 +335,7 @@ func CreateContainer(client pb.RuntimeServiceClient, opts createOptions) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println(*r.ContainerId)
|
fmt.Println(r.ContainerId)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -346,7 +346,7 @@ func StartContainer(client pb.RuntimeServiceClient, ID string) error {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
_, err := client.StartContainer(context.Background(), &pb.StartContainerRequest{
|
_, err := client.StartContainer(context.Background(), &pb.StartContainerRequest{
|
||||||
ContainerId: &ID,
|
ContainerId: ID,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -362,7 +362,7 @@ func StopContainer(client pb.RuntimeServiceClient, ID string) error {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
_, err := client.StopContainer(context.Background(), &pb.StopContainerRequest{
|
_, err := client.StopContainer(context.Background(), &pb.StopContainerRequest{
|
||||||
ContainerId: &ID,
|
ContainerId: ID,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -378,7 +378,7 @@ func RemoveContainer(client pb.RuntimeServiceClient, ID string) error {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
_, err := client.RemoveContainer(context.Background(), &pb.RemoveContainerRequest{
|
_, err := client.RemoveContainer(context.Background(), &pb.RemoveContainerRequest{
|
||||||
ContainerId: &ID,
|
ContainerId: ID,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -394,37 +394,26 @@ func ContainerStatus(client pb.RuntimeServiceClient, ID string) error {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
r, err := client.ContainerStatus(context.Background(), &pb.ContainerStatusRequest{
|
r, err := client.ContainerStatus(context.Background(), &pb.ContainerStatusRequest{
|
||||||
ContainerId: &ID})
|
ContainerId: ID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *r.Status.Id)
|
fmt.Printf("ID: %s\n", r.Status.Id)
|
||||||
if r.Status.Metadata != nil {
|
if r.Status.Metadata != nil {
|
||||||
if r.Status.Metadata.Name != nil {
|
if r.Status.Metadata.Name != "" {
|
||||||
fmt.Printf("Name: %s\n", *r.Status.Metadata.Name)
|
fmt.Printf("Name: %s\n", r.Status.Metadata.Name)
|
||||||
}
|
|
||||||
if r.Status.Metadata.Attempt != nil {
|
|
||||||
fmt.Printf("Attempt: %v\n", *r.Status.Metadata.Attempt)
|
|
||||||
}
|
}
|
||||||
|
fmt.Printf("Attempt: %v\n", r.Status.Metadata.Attempt)
|
||||||
}
|
}
|
||||||
if r.Status.State != nil {
|
// TODO(mzylowski): print it prettier
|
||||||
fmt.Printf("Status: %s\n", r.Status.State)
|
fmt.Printf("Status: %s\n", r.Status.State)
|
||||||
}
|
ctm := time.Unix(0, r.Status.CreatedAt)
|
||||||
if r.Status.CreatedAt != nil {
|
fmt.Printf("Created: %v\n", ctm)
|
||||||
ctm := time.Unix(0, *r.Status.CreatedAt)
|
stm := time.Unix(0, r.Status.StartedAt)
|
||||||
fmt.Printf("Created: %v\n", ctm)
|
fmt.Printf("Started: %v\n", stm)
|
||||||
}
|
ftm := time.Unix(0, r.Status.FinishedAt)
|
||||||
if r.Status.StartedAt != nil {
|
fmt.Printf("Finished: %v\n", ftm)
|
||||||
stm := time.Unix(0, *r.Status.StartedAt)
|
fmt.Printf("Exit Code: %v\n", r.Status.ExitCode)
|
||||||
fmt.Printf("Started: %v\n", stm)
|
|
||||||
}
|
|
||||||
if r.Status.FinishedAt != nil {
|
|
||||||
ftm := time.Unix(0, *r.Status.FinishedAt)
|
|
||||||
fmt.Printf("Finished: %v\n", ftm)
|
|
||||||
}
|
|
||||||
if r.Status.ExitCode != nil {
|
|
||||||
fmt.Printf("Exit Code: %v\n", *r.Status.ExitCode)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -436,9 +425,9 @@ func ExecSync(client pb.RuntimeServiceClient, ID string, cmd []string, timeout i
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
r, err := client.ExecSync(context.Background(), &pb.ExecSyncRequest{
|
r, err := client.ExecSync(context.Background(), &pb.ExecSyncRequest{
|
||||||
ContainerId: &ID,
|
ContainerId: ID,
|
||||||
Cmd: cmd,
|
Cmd: cmd,
|
||||||
Timeout: &timeout,
|
Timeout: timeout,
|
||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
@ -447,7 +436,7 @@ func ExecSync(client pb.RuntimeServiceClient, ID string, cmd []string, timeout i
|
||||||
fmt.Println(string(r.Stdout))
|
fmt.Println(string(r.Stdout))
|
||||||
fmt.Println("Stderr:")
|
fmt.Println("Stderr:")
|
||||||
fmt.Println(string(r.Stderr))
|
fmt.Println(string(r.Stderr))
|
||||||
fmt.Printf("Exit code: %v\n", *r.ExitCode)
|
fmt.Printf("Exit code: %v\n", r.ExitCode)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -457,23 +446,24 @@ func ExecSync(client pb.RuntimeServiceClient, ID string, cmd []string, timeout i
|
||||||
func ListContainers(client pb.RuntimeServiceClient, opts listOptions) error {
|
func ListContainers(client pb.RuntimeServiceClient, opts listOptions) error {
|
||||||
filter := &pb.ContainerFilter{}
|
filter := &pb.ContainerFilter{}
|
||||||
if opts.id != "" {
|
if opts.id != "" {
|
||||||
filter.Id = &opts.id
|
filter.Id = opts.id
|
||||||
}
|
}
|
||||||
if opts.podID != "" {
|
if opts.podID != "" {
|
||||||
filter.PodSandboxId = &opts.podID
|
filter.PodSandboxId = opts.podID
|
||||||
}
|
}
|
||||||
if opts.state != "" {
|
if opts.state != "" {
|
||||||
st := pb.ContainerState_CONTAINER_UNKNOWN
|
st := &pb.ContainerStateValue{}
|
||||||
|
st.State = pb.ContainerState_CONTAINER_UNKNOWN
|
||||||
switch opts.state {
|
switch opts.state {
|
||||||
case "created":
|
case "created":
|
||||||
st = pb.ContainerState_CONTAINER_CREATED
|
st.State = pb.ContainerState_CONTAINER_CREATED
|
||||||
filter.State = &st
|
filter.State = st
|
||||||
case "running":
|
case "running":
|
||||||
st = pb.ContainerState_CONTAINER_RUNNING
|
st.State = pb.ContainerState_CONTAINER_RUNNING
|
||||||
filter.State = &st
|
filter.State = st
|
||||||
case "stopped":
|
case "stopped":
|
||||||
st = pb.ContainerState_CONTAINER_EXITED
|
st.State = pb.ContainerState_CONTAINER_EXITED
|
||||||
filter.State = &st
|
filter.State = st
|
||||||
default:
|
default:
|
||||||
log.Fatalf("--state should be one of created, running or stopped")
|
log.Fatalf("--state should be one of created, running or stopped")
|
||||||
}
|
}
|
||||||
|
@ -489,29 +479,23 @@ func ListContainers(client pb.RuntimeServiceClient, opts listOptions) error {
|
||||||
}
|
}
|
||||||
for _, c := range r.GetContainers() {
|
for _, c := range r.GetContainers() {
|
||||||
if opts.quiet {
|
if opts.quiet {
|
||||||
fmt.Println(*c.Id)
|
fmt.Println(c.Id)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *c.Id)
|
fmt.Printf("ID: %s\n", c.Id)
|
||||||
fmt.Printf("Pod: %s\n", *c.PodSandboxId)
|
fmt.Printf("Pod: %s\n", c.PodSandboxId)
|
||||||
if c.Metadata != nil {
|
if c.Metadata != nil {
|
||||||
if c.Metadata.Name != nil {
|
if c.Metadata.Name != "" {
|
||||||
fmt.Printf("Name: %s\n", *c.Metadata.Name)
|
fmt.Printf("Name: %s\n", c.Metadata.Name)
|
||||||
}
|
|
||||||
if c.Metadata.Attempt != nil {
|
|
||||||
fmt.Printf("Attempt: %v\n", *c.Metadata.Attempt)
|
|
||||||
}
|
}
|
||||||
|
fmt.Printf("Attempt: %v\n", c.Metadata.Attempt)
|
||||||
}
|
}
|
||||||
if c.State != nil {
|
fmt.Printf("Status: %s\n", c.State)
|
||||||
fmt.Printf("Status: %s\n", *c.State)
|
|
||||||
}
|
|
||||||
if c.Image != nil {
|
if c.Image != nil {
|
||||||
fmt.Printf("Image: %s\n", c.Image.GetImage())
|
fmt.Printf("Image: %s\n", c.Image.Image)
|
||||||
}
|
|
||||||
if c.CreatedAt != nil {
|
|
||||||
ctm := time.Unix(0, *c.CreatedAt)
|
|
||||||
fmt.Printf("Created: %v\n", ctm)
|
|
||||||
}
|
}
|
||||||
|
ctm := time.Unix(0, c.CreatedAt)
|
||||||
|
fmt.Printf("Created: %v\n", ctm)
|
||||||
if c.Labels != nil {
|
if c.Labels != nil {
|
||||||
fmt.Println("Labels:")
|
fmt.Println("Labels:")
|
||||||
for _, k := range getSortedKeys(c.Labels) {
|
for _, k := range getSortedKeys(c.Labels) {
|
||||||
|
|
|
@ -63,18 +63,18 @@ var listImageCommand = cli.Command{
|
||||||
quiet := context.Bool("quiet")
|
quiet := context.Bool("quiet")
|
||||||
for _, image := range r.Images {
|
for _, image := range r.Images {
|
||||||
if quiet {
|
if quiet {
|
||||||
fmt.Printf("%s\n", *image.Id)
|
fmt.Printf("%s\n", image.Id)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *image.Id)
|
fmt.Printf("ID: %s\n", image.Id)
|
||||||
for _, tag := range image.RepoTags {
|
for _, tag := range image.RepoTags {
|
||||||
fmt.Printf("Tag: %s\n", tag)
|
fmt.Printf("Tag: %s\n", tag)
|
||||||
}
|
}
|
||||||
for _, digest := range image.RepoDigests {
|
for _, digest := range image.RepoDigests {
|
||||||
fmt.Printf("Digest: %s\n", digest)
|
fmt.Printf("Digest: %s\n", digest)
|
||||||
}
|
}
|
||||||
if image.Size_ != nil {
|
if image.Size_ != 0 {
|
||||||
fmt.Printf("Size: %d\n", *image.Size_)
|
fmt.Printf("Size: %d\n", image.Size_)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
@ -107,16 +107,14 @@ var imageStatusCommand = cli.Command{
|
||||||
if image == nil {
|
if image == nil {
|
||||||
return fmt.Errorf("no such image present")
|
return fmt.Errorf("no such image present")
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *image.Id)
|
fmt.Printf("ID: %s\n", image.Id)
|
||||||
for _, tag := range image.RepoTags {
|
for _, tag := range image.RepoTags {
|
||||||
fmt.Printf("Tag: %s\n", tag)
|
fmt.Printf("Tag: %s\n", tag)
|
||||||
}
|
}
|
||||||
for _, digest := range image.RepoDigests {
|
for _, digest := range image.RepoDigests {
|
||||||
fmt.Printf("Digest: %s\n", digest)
|
fmt.Printf("Digest: %s\n", digest)
|
||||||
}
|
}
|
||||||
if image.Size_ != nil {
|
fmt.Printf("Size: %d\n", image.Size_)
|
||||||
fmt.Printf("Size: %d\n", *image.Size_)
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -150,19 +148,19 @@ var removeImageCommand = cli.Command{
|
||||||
// PullImage sends a PullImageRequest to the server, and parses
|
// PullImage sends a PullImageRequest to the server, and parses
|
||||||
// the returned PullImageResponse.
|
// the returned PullImageResponse.
|
||||||
func PullImage(client pb.ImageServiceClient, image string) (*pb.PullImageResponse, error) {
|
func PullImage(client pb.ImageServiceClient, image string) (*pb.PullImageResponse, error) {
|
||||||
return client.PullImage(context.Background(), &pb.PullImageRequest{Image: &pb.ImageSpec{Image: &image}})
|
return client.PullImage(context.Background(), &pb.PullImageRequest{Image: &pb.ImageSpec{Image: image}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// ListImages sends a ListImagesRequest to the server, and parses
|
// ListImages sends a ListImagesRequest to the server, and parses
|
||||||
// the returned ListImagesResponse.
|
// the returned ListImagesResponse.
|
||||||
func ListImages(client pb.ImageServiceClient, image string) (*pb.ListImagesResponse, error) {
|
func ListImages(client pb.ImageServiceClient, image string) (*pb.ListImagesResponse, error) {
|
||||||
return client.ListImages(context.Background(), &pb.ListImagesRequest{Filter: &pb.ImageFilter{Image: &pb.ImageSpec{Image: &image}}})
|
return client.ListImages(context.Background(), &pb.ListImagesRequest{Filter: &pb.ImageFilter{Image: &pb.ImageSpec{Image: image}}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// ImageStatus sends an ImageStatusRequest to the server, and parses
|
// ImageStatus sends an ImageStatusRequest to the server, and parses
|
||||||
// the returned ImageStatusResponse.
|
// the returned ImageStatusResponse.
|
||||||
func ImageStatus(client pb.ImageServiceClient, image string) (*pb.ImageStatusResponse, error) {
|
func ImageStatus(client pb.ImageServiceClient, image string) (*pb.ImageStatusResponse, error) {
|
||||||
return client.ImageStatus(context.Background(), &pb.ImageStatusRequest{Image: &pb.ImageSpec{Image: &image}})
|
return client.ImageStatus(context.Background(), &pb.ImageStatusRequest{Image: &pb.ImageSpec{Image: image}})
|
||||||
}
|
}
|
||||||
|
|
||||||
// RemoveImage sends a RemoveImageRequest to the server, and parses
|
// RemoveImage sends a RemoveImageRequest to the server, and parses
|
||||||
|
@ -171,5 +169,5 @@ func RemoveImage(client pb.ImageServiceClient, image string) (*pb.RemoveImageRes
|
||||||
if image == "" {
|
if image == "" {
|
||||||
return nil, fmt.Errorf("ID cannot be empty")
|
return nil, fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
return client.RemoveImage(context.Background(), &pb.RemoveImageRequest{Image: &pb.ImageSpec{Image: &image}})
|
return client.RemoveImage(context.Background(), &pb.RemoveImageRequest{Image: &pb.ImageSpec{Image: image}})
|
||||||
}
|
}
|
||||||
|
|
|
@ -220,7 +220,7 @@ func RunPodSandbox(client pb.RuntimeServiceClient, opts createOptions) error {
|
||||||
|
|
||||||
// Override the name by the one specified through CLI
|
// Override the name by the one specified through CLI
|
||||||
if opts.name != "" {
|
if opts.name != "" {
|
||||||
config.Metadata.Name = &opts.name
|
config.Metadata.Name = opts.name
|
||||||
}
|
}
|
||||||
|
|
||||||
for k, v := range opts.labels {
|
for k, v := range opts.labels {
|
||||||
|
@ -231,7 +231,7 @@ func RunPodSandbox(client pb.RuntimeServiceClient, opts createOptions) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println(*r.PodSandboxId)
|
fmt.Println(r.PodSandboxId)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,7 +241,7 @@ func StopPodSandbox(client pb.RuntimeServiceClient, ID string) error {
|
||||||
if ID == "" {
|
if ID == "" {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
_, err := client.StopPodSandbox(context.Background(), &pb.StopPodSandboxRequest{PodSandboxId: &ID})
|
_, err := client.StopPodSandbox(context.Background(), &pb.StopPodSandboxRequest{PodSandboxId: ID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -255,7 +255,7 @@ func RemovePodSandbox(client pb.RuntimeServiceClient, ID string) error {
|
||||||
if ID == "" {
|
if ID == "" {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
_, err := client.RemovePodSandbox(context.Background(), &pb.RemovePodSandboxRequest{PodSandboxId: &ID})
|
_, err := client.RemovePodSandbox(context.Background(), &pb.RemovePodSandboxRequest{PodSandboxId: ID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -269,37 +269,29 @@ func PodSandboxStatus(client pb.RuntimeServiceClient, ID string) error {
|
||||||
if ID == "" {
|
if ID == "" {
|
||||||
return fmt.Errorf("ID cannot be empty")
|
return fmt.Errorf("ID cannot be empty")
|
||||||
}
|
}
|
||||||
r, err := client.PodSandboxStatus(context.Background(), &pb.PodSandboxStatusRequest{PodSandboxId: &ID})
|
r, err := client.PodSandboxStatus(context.Background(), &pb.PodSandboxStatusRequest{PodSandboxId: ID})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *r.Status.Id)
|
fmt.Printf("ID: %s\n", r.Status.Id)
|
||||||
if r.Status.Metadata != nil {
|
if r.Status.Metadata != nil {
|
||||||
if r.Status.Metadata.Name != nil {
|
if r.Status.Metadata.Name != "" {
|
||||||
fmt.Printf("Name: %s\n", *r.Status.Metadata.Name)
|
fmt.Printf("Name: %s\n", r.Status.Metadata.Name)
|
||||||
}
|
}
|
||||||
if r.Status.Metadata.Uid != nil {
|
if r.Status.Metadata.Uid != "" {
|
||||||
fmt.Printf("UID: %s\n", *r.Status.Metadata.Uid)
|
fmt.Printf("UID: %s\n", r.Status.Metadata.Uid)
|
||||||
}
|
}
|
||||||
if r.Status.Metadata.Namespace != nil {
|
if r.Status.Metadata.Namespace != "" {
|
||||||
fmt.Printf("Namespace: %s\n", *r.Status.Metadata.Namespace)
|
fmt.Printf("Namespace: %s\n", r.Status.Metadata.Namespace)
|
||||||
}
|
|
||||||
if r.Status.Metadata.Attempt != nil {
|
|
||||||
fmt.Printf("Attempt: %v\n", *r.Status.Metadata.Attempt)
|
|
||||||
}
|
}
|
||||||
|
fmt.Printf("Attempt: %v\n", r.Status.Metadata.Attempt)
|
||||||
}
|
}
|
||||||
if r.Status.State != nil {
|
fmt.Printf("Status: %s\n", r.Status.State)
|
||||||
fmt.Printf("Status: %s\n", r.Status.State)
|
ctm := time.Unix(0, r.Status.CreatedAt)
|
||||||
}
|
fmt.Printf("Created: %v\n", ctm)
|
||||||
if r.Status.CreatedAt != nil {
|
fmt.Printf("Network namespace: %s\n", r.Status.Linux.Namespaces.Network)
|
||||||
ctm := time.Unix(0, *r.Status.CreatedAt)
|
|
||||||
fmt.Printf("Created: %v\n", ctm)
|
|
||||||
}
|
|
||||||
if r.Status.Linux != nil {
|
|
||||||
fmt.Printf("Network namespace: %s\n", *r.Status.Linux.Namespaces.Network)
|
|
||||||
}
|
|
||||||
if r.Status.Network != nil {
|
if r.Status.Network != nil {
|
||||||
fmt.Printf("IP Address: %v\n", *r.Status.Network.Ip)
|
fmt.Printf("IP Address: %v\n", r.Status.Network.Ip)
|
||||||
}
|
}
|
||||||
if r.Status.Labels != nil {
|
if r.Status.Labels != nil {
|
||||||
fmt.Println("Labels:")
|
fmt.Println("Labels:")
|
||||||
|
@ -321,17 +313,18 @@ func PodSandboxStatus(client pb.RuntimeServiceClient, ID string) error {
|
||||||
func ListPodSandboxes(client pb.RuntimeServiceClient, opts listOptions) error {
|
func ListPodSandboxes(client pb.RuntimeServiceClient, opts listOptions) error {
|
||||||
filter := &pb.PodSandboxFilter{}
|
filter := &pb.PodSandboxFilter{}
|
||||||
if opts.id != "" {
|
if opts.id != "" {
|
||||||
filter.Id = &opts.id
|
filter.Id = opts.id
|
||||||
}
|
}
|
||||||
if opts.state != "" {
|
if opts.state != "" {
|
||||||
st := pb.PodSandboxState_SANDBOX_NOTREADY
|
st := &pb.PodSandboxStateValue{}
|
||||||
|
st.State = pb.PodSandboxState_SANDBOX_NOTREADY
|
||||||
switch opts.state {
|
switch opts.state {
|
||||||
case "ready":
|
case "ready":
|
||||||
st = pb.PodSandboxState_SANDBOX_READY
|
st.State = pb.PodSandboxState_SANDBOX_READY
|
||||||
filter.State = &st
|
filter.State = st
|
||||||
case "notready":
|
case "notready":
|
||||||
st = pb.PodSandboxState_SANDBOX_NOTREADY
|
st.State = pb.PodSandboxState_SANDBOX_NOTREADY
|
||||||
filter.State = &st
|
filter.State = st
|
||||||
default:
|
default:
|
||||||
log.Fatalf("--state should be ready or notready")
|
log.Fatalf("--state should be ready or notready")
|
||||||
}
|
}
|
||||||
|
@ -347,26 +340,24 @@ func ListPodSandboxes(client pb.RuntimeServiceClient, opts listOptions) error {
|
||||||
}
|
}
|
||||||
for _, pod := range r.Items {
|
for _, pod := range r.Items {
|
||||||
if opts.quiet {
|
if opts.quiet {
|
||||||
fmt.Println(*pod.Id)
|
fmt.Println(pod.Id)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
fmt.Printf("ID: %s\n", *pod.Id)
|
fmt.Printf("ID: %s\n", pod.Id)
|
||||||
if pod.Metadata != nil {
|
if pod.Metadata != nil {
|
||||||
if pod.Metadata.Name != nil {
|
if pod.Metadata.Name != "" {
|
||||||
fmt.Printf("Name: %s\n", *pod.Metadata.Name)
|
fmt.Printf("Name: %s\n", pod.Metadata.Name)
|
||||||
}
|
}
|
||||||
if pod.Metadata.Uid != nil {
|
if pod.Metadata.Uid != "" {
|
||||||
fmt.Printf("UID: %s\n", *pod.Metadata.Uid)
|
fmt.Printf("UID: %s\n", pod.Metadata.Uid)
|
||||||
}
|
}
|
||||||
if pod.Metadata.Namespace != nil {
|
if pod.Metadata.Namespace != "" {
|
||||||
fmt.Printf("Namespace: %s\n", *pod.Metadata.Namespace)
|
fmt.Printf("Namespace: %s\n", pod.Metadata.Namespace)
|
||||||
}
|
|
||||||
if pod.Metadata.Attempt != nil {
|
|
||||||
fmt.Printf("Attempt: %v\n", *pod.Metadata.Attempt)
|
|
||||||
}
|
}
|
||||||
|
fmt.Printf("Attempt: %v\n", pod.Metadata.Attempt)
|
||||||
}
|
}
|
||||||
fmt.Printf("Status: %s\n", pod.State)
|
fmt.Printf("Status: %s\n", pod.State)
|
||||||
ctm := time.Unix(0, *pod.CreatedAt)
|
ctm := time.Unix(0, pod.CreatedAt)
|
||||||
fmt.Printf("Created: %v\n", ctm)
|
fmt.Printf("Created: %v\n", ctm)
|
||||||
if pod.Labels != nil {
|
if pod.Labels != nil {
|
||||||
fmt.Println("Labels:")
|
fmt.Println("Labels:")
|
||||||
|
|
|
@ -32,10 +32,10 @@ var runtimeVersionCommand = cli.Command{
|
||||||
|
|
||||||
// Version sends a VersionRequest to the server, and parses the returned VersionResponse.
|
// Version sends a VersionRequest to the server, and parses the returned VersionResponse.
|
||||||
func Version(client pb.RuntimeServiceClient, version string) error {
|
func Version(client pb.RuntimeServiceClient, version string) error {
|
||||||
r, err := client.Version(context.Background(), &pb.VersionRequest{Version: &version})
|
r, err := client.Version(context.Background(), &pb.VersionRequest{Version: version})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Printf("VersionResponse: Version: %s, RuntimeName: %s, RuntimeVersion: %s, RuntimeApiVersion: %s\n", *r.Version, *r.RuntimeName, *r.RuntimeVersion, *r.RuntimeApiVersion)
|
fmt.Printf("VersionResponse: Version: %s, RuntimeName: %s, RuntimeVersion: %s, RuntimeApiVersion: %s\n", r.Version, r.RuntimeName, r.RuntimeVersion, r.RuntimeApiVersion)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
11
lock.json
11
lock.json
|
@ -140,7 +140,9 @@
|
||||||
"version": "v0.3",
|
"version": "v0.3",
|
||||||
"revision": "909568be09de550ed094403c2bf8a261b5bb730a",
|
"revision": "909568be09de550ed094403c2bf8a261b5bb730a",
|
||||||
"packages": [
|
"packages": [
|
||||||
"proto"
|
"gogoproto",
|
||||||
|
"proto",
|
||||||
|
"sortkeys"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -255,7 +257,7 @@
|
||||||
{
|
{
|
||||||
"name": "github.com/opencontainers/runtime-tools",
|
"name": "github.com/opencontainers/runtime-tools",
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"revision": "06e17eef1ab6e13f4f37308a16727510ab81414f",
|
"revision": "2d92f6557e64d4f9a0e799a75fdf153cec13dffa",
|
||||||
"packages": [
|
"packages": [
|
||||||
"generate"
|
"generate"
|
||||||
]
|
]
|
||||||
|
@ -368,8 +370,7 @@
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"revision": "21807b270ec15d19215659a5caa08b17f66d6f44",
|
"revision": "21807b270ec15d19215659a5caa08b17f66d6f44",
|
||||||
"packages": [
|
"packages": [
|
||||||
"pkg/fields",
|
"pkg/fields"
|
||||||
"pkg/selection"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -383,7 +384,7 @@
|
||||||
{
|
{
|
||||||
"name": "k8s.io/kubernetes",
|
"name": "k8s.io/kubernetes",
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"revision": "550f8be73aac92c7c23b1783d3db17f8660019f6",
|
"revision": "760d8e98e8f6ad27aaf50b1a030cb9e7b6859aab",
|
||||||
"packages": [
|
"packages": [
|
||||||
"pkg/fields",
|
"pkg/fields",
|
||||||
"pkg/kubelet/api/v1alpha1/runtime"
|
"pkg/kubelet/api/v1alpha1/runtime"
|
||||||
|
|
|
@ -13,19 +13,14 @@ const (
|
||||||
containerTypeContainer = "container"
|
containerTypeContainer = "container"
|
||||||
)
|
)
|
||||||
|
|
||||||
type containerRequest interface {
|
func (s *Server) getContainerFromRequest(containerID string) (*oci.Container, error) {
|
||||||
GetContainerId() string
|
if containerID == "" {
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Server) getContainerFromRequest(req containerRequest) (*oci.Container, error) {
|
|
||||||
ctrID := req.GetContainerId()
|
|
||||||
if ctrID == "" {
|
|
||||||
return nil, fmt.Errorf("container ID should not be empty")
|
return nil, fmt.Errorf("container ID should not be empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
containerID, err := s.ctrIDIndex.Get(ctrID)
|
containerID, err := s.ctrIDIndex.Get(containerID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("container with ID starting with %s not found: %v", ctrID, err)
|
return nil, fmt.Errorf("container with ID starting with %s not found: %v", containerID, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
c := s.state.containers.Get(containerID)
|
c := s.state.containers.Get(containerID)
|
||||||
|
|
|
@ -29,7 +29,7 @@ const (
|
||||||
func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerRequest) (res *pb.CreateContainerResponse, err error) {
|
func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerRequest) (res *pb.CreateContainerResponse, err error) {
|
||||||
logrus.Debugf("CreateContainerRequest %+v", req)
|
logrus.Debugf("CreateContainerRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
sbID := req.GetPodSandboxId()
|
sbID := req.PodSandboxId
|
||||||
if sbID == "" {
|
if sbID == "" {
|
||||||
return nil, fmt.Errorf("PodSandboxId should not be empty")
|
return nil, fmt.Errorf("PodSandboxId should not be empty")
|
||||||
}
|
}
|
||||||
|
@ -50,12 +50,12 @@ func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerReq
|
||||||
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig is nil")
|
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig is nil")
|
||||||
}
|
}
|
||||||
|
|
||||||
name := containerConfig.GetMetadata().GetName()
|
name := containerConfig.GetMetadata().Name
|
||||||
if name == "" {
|
if name == "" {
|
||||||
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Name is empty")
|
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Name is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
attempt := containerConfig.GetMetadata().GetAttempt()
|
attempt := containerConfig.GetMetadata().Attempt
|
||||||
containerID, containerName, err := s.generateContainerIDandName(sb.name, name, attempt)
|
containerID, containerName, err := s.generateContainerIDandName(sb.name, name, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -96,7 +96,7 @@ func (s *Server) CreateContainer(ctx context.Context, req *pb.CreateContainerReq
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := &pb.CreateContainerResponse{
|
resp := &pb.CreateContainerResponse{
|
||||||
ContainerId: &containerID,
|
ContainerId: containerID,
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.Debugf("CreateContainerResponse: %+v", resp)
|
logrus.Debugf("CreateContainerResponse: %+v", resp)
|
||||||
|
@ -108,14 +108,15 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
return nil, errors.New("createSandboxContainer needs a sandbox")
|
return nil, errors.New("createSandboxContainer needs a sandbox")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: simplify this function (cyclomatic complexity here is high)
|
||||||
// TODO: factor generating/updating the spec into something other projects can vendor
|
// TODO: factor generating/updating the spec into something other projects can vendor
|
||||||
|
|
||||||
// creates a spec Generator with the default spec.
|
// creates a spec Generator with the default spec.
|
||||||
specgen := generate.New()
|
specgen := generate.New()
|
||||||
|
|
||||||
processArgs := []string{}
|
processArgs := []string{}
|
||||||
commands := containerConfig.GetCommand()
|
commands := containerConfig.Command
|
||||||
args := containerConfig.GetArgs()
|
args := containerConfig.Args
|
||||||
if commands == nil && args == nil {
|
if commands == nil && args == nil {
|
||||||
processArgs = nil
|
processArgs = nil
|
||||||
}
|
}
|
||||||
|
@ -126,7 +127,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
processArgs = append(processArgs, args...)
|
processArgs = append(processArgs, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
cwd := containerConfig.GetWorkingDir()
|
cwd := containerConfig.WorkingDir
|
||||||
if cwd == "" {
|
if cwd == "" {
|
||||||
cwd = "/"
|
cwd = "/"
|
||||||
}
|
}
|
||||||
|
@ -135,8 +136,8 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
envs := containerConfig.GetEnvs()
|
envs := containerConfig.GetEnvs()
|
||||||
if envs != nil {
|
if envs != nil {
|
||||||
for _, item := range envs {
|
for _, item := range envs {
|
||||||
key := item.GetKey()
|
key := item.Key
|
||||||
value := item.GetValue()
|
value := item.Value
|
||||||
if key == "" {
|
if key == "" {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
@ -146,22 +147,22 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
|
|
||||||
mounts := containerConfig.GetMounts()
|
mounts := containerConfig.GetMounts()
|
||||||
for _, mount := range mounts {
|
for _, mount := range mounts {
|
||||||
dest := mount.GetContainerPath()
|
dest := mount.ContainerPath
|
||||||
if dest == "" {
|
if dest == "" {
|
||||||
return nil, fmt.Errorf("Mount.ContainerPath is empty")
|
return nil, fmt.Errorf("Mount.ContainerPath is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
src := mount.GetHostPath()
|
src := mount.HostPath
|
||||||
if src == "" {
|
if src == "" {
|
||||||
return nil, fmt.Errorf("Mount.HostPath is empty")
|
return nil, fmt.Errorf("Mount.HostPath is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
options := []string{"rw"}
|
options := []string{"rw"}
|
||||||
if mount.GetReadonly() {
|
if mount.Readonly {
|
||||||
options = []string{"ro"}
|
options = []string{"ro"}
|
||||||
}
|
}
|
||||||
|
|
||||||
if mount.GetSelinuxRelabel() {
|
if mount.SelinuxRelabel {
|
||||||
// Need a way in kubernetes to determine if the volume is shared or private
|
// Need a way in kubernetes to determine if the volume is shared or private
|
||||||
if err := label.Relabel(src, sb.mountLabel, true); err != nil && err != syscall.ENOTSUP {
|
if err := label.Relabel(src, sb.mountLabel, true); err != nil && err != syscall.ENOTSUP {
|
||||||
return nil, fmt.Errorf("relabel failed %s: %v", src, err)
|
return nil, fmt.Errorf("relabel failed %s: %v", src, err)
|
||||||
|
@ -184,7 +185,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
|
|
||||||
// set this container's apparmor profile if it is set by sandbox
|
// set this container's apparmor profile if it is set by sandbox
|
||||||
if s.appArmorEnabled {
|
if s.appArmorEnabled {
|
||||||
appArmorProfileName := s.getAppArmorProfileName(sb.annotations, metadata.GetName())
|
appArmorProfileName := s.getAppArmorProfileName(sb.annotations, metadata.Name)
|
||||||
if appArmorProfileName != "" {
|
if appArmorProfileName != "" {
|
||||||
// reload default apparmor profile if it is unloaded.
|
// reload default apparmor profile if it is unloaded.
|
||||||
if s.appArmorProfile == apparmor.DefaultApparmorProfile {
|
if s.appArmorProfile == apparmor.DefaultApparmorProfile {
|
||||||
|
@ -196,46 +197,44 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
specgen.SetProcessApparmorProfile(appArmorProfileName)
|
specgen.SetProcessApparmorProfile(appArmorProfileName)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if containerConfig.GetLinux().GetSecurityContext() != nil {
|
||||||
|
if containerConfig.GetLinux().GetSecurityContext().Privileged {
|
||||||
|
specgen.SetupPrivileged(true)
|
||||||
|
}
|
||||||
|
|
||||||
if containerConfig.GetLinux().GetSecurityContext().GetPrivileged() {
|
if containerConfig.GetLinux().GetSecurityContext().ReadonlyRootfs {
|
||||||
specgen.SetupPrivileged(true)
|
specgen.SetRootReadonly(true)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if containerConfig.GetLinux().GetSecurityContext().GetReadonlyRootfs() {
|
logPath := containerConfig.LogPath
|
||||||
specgen.SetRootReadonly(true)
|
specgen.SetProcessTerminal(containerConfig.Tty)
|
||||||
}
|
|
||||||
|
|
||||||
logPath := containerConfig.GetLogPath()
|
|
||||||
|
|
||||||
if containerConfig.GetTty() {
|
|
||||||
specgen.SetProcessTerminal(true)
|
|
||||||
}
|
|
||||||
|
|
||||||
linux := containerConfig.GetLinux()
|
linux := containerConfig.GetLinux()
|
||||||
if linux != nil {
|
if linux != nil {
|
||||||
resources := linux.GetResources()
|
resources := linux.GetResources()
|
||||||
if resources != nil {
|
if resources != nil {
|
||||||
cpuPeriod := resources.GetCpuPeriod()
|
cpuPeriod := resources.CpuPeriod
|
||||||
if cpuPeriod != 0 {
|
if cpuPeriod != 0 {
|
||||||
specgen.SetLinuxResourcesCPUPeriod(uint64(cpuPeriod))
|
specgen.SetLinuxResourcesCPUPeriod(uint64(cpuPeriod))
|
||||||
}
|
}
|
||||||
|
|
||||||
cpuQuota := resources.GetCpuQuota()
|
cpuQuota := resources.CpuQuota
|
||||||
if cpuQuota != 0 {
|
if cpuQuota != 0 {
|
||||||
specgen.SetLinuxResourcesCPUQuota(uint64(cpuQuota))
|
specgen.SetLinuxResourcesCPUQuota(uint64(cpuQuota))
|
||||||
}
|
}
|
||||||
|
|
||||||
cpuShares := resources.GetCpuShares()
|
cpuShares := resources.CpuShares
|
||||||
if cpuShares != 0 {
|
if cpuShares != 0 {
|
||||||
specgen.SetLinuxResourcesCPUShares(uint64(cpuShares))
|
specgen.SetLinuxResourcesCPUShares(uint64(cpuShares))
|
||||||
}
|
}
|
||||||
|
|
||||||
memoryLimit := resources.GetMemoryLimitInBytes()
|
memoryLimit := resources.MemoryLimitInBytes
|
||||||
if memoryLimit != 0 {
|
if memoryLimit != 0 {
|
||||||
specgen.SetLinuxResourcesMemoryLimit(uint64(memoryLimit))
|
specgen.SetLinuxResourcesMemoryLimit(uint64(memoryLimit))
|
||||||
}
|
}
|
||||||
|
|
||||||
oomScoreAdj := resources.GetOomScoreAdj()
|
oomScoreAdj := resources.OomScoreAdj
|
||||||
specgen.SetLinuxResourcesOOMScoreAdj(int(oomScoreAdj))
|
specgen.SetLinuxResourcesOOMScoreAdj(int(oomScoreAdj))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -250,7 +249,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
|
|
||||||
capabilities := linux.GetSecurityContext().GetCapabilities()
|
capabilities := linux.GetSecurityContext().GetCapabilities()
|
||||||
if capabilities != nil {
|
if capabilities != nil {
|
||||||
addCaps := capabilities.GetAddCapabilities()
|
addCaps := capabilities.AddCapabilities
|
||||||
if addCaps != nil {
|
if addCaps != nil {
|
||||||
for _, cap := range addCaps {
|
for _, cap := range addCaps {
|
||||||
if err := specgen.AddProcessCapability(cap); err != nil {
|
if err := specgen.AddProcessCapability(cap); err != nil {
|
||||||
|
@ -259,7 +258,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dropCaps := capabilities.GetDropCapabilities()
|
dropCaps := capabilities.DropCapabilities
|
||||||
if dropCaps != nil {
|
if dropCaps != nil {
|
||||||
for _, cap := range dropCaps {
|
for _, cap := range dropCaps {
|
||||||
if err := specgen.DropProcessCapability(cap); err != nil {
|
if err := specgen.DropProcessCapability(cap); err != nil {
|
||||||
|
@ -272,14 +271,14 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
specgen.SetProcessSelinuxLabel(sb.processLabel)
|
specgen.SetProcessSelinuxLabel(sb.processLabel)
|
||||||
specgen.SetLinuxMountLabel(sb.mountLabel)
|
specgen.SetLinuxMountLabel(sb.mountLabel)
|
||||||
|
|
||||||
user := linux.GetSecurityContext().GetRunAsUser()
|
if linux.GetSecurityContext() != nil {
|
||||||
specgen.SetProcessUID(uint32(user))
|
user := linux.GetSecurityContext().GetRunAsUser()
|
||||||
|
specgen.SetProcessUID(uint32(user.Value))
|
||||||
specgen.SetProcessGID(uint32(user))
|
specgen.SetProcessGID(uint32(user.Value))
|
||||||
|
groups := linux.GetSecurityContext().SupplementalGroups
|
||||||
groups := linux.GetSecurityContext().GetSupplementalGroups()
|
for _, group := range groups {
|
||||||
for _, group := range groups {
|
specgen.AddProcessAdditionalGid(uint32(group))
|
||||||
specgen.AddProcessAdditionalGid(uint32(group))
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Join the namespace paths for the pod sandbox container.
|
// Join the namespace paths for the pod sandbox container.
|
||||||
|
@ -308,7 +307,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Image is nil")
|
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Image is nil")
|
||||||
}
|
}
|
||||||
|
|
||||||
image := imageSpec.GetImage()
|
image := imageSpec.Image
|
||||||
if image == "" {
|
if image == "" {
|
||||||
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Image.Image is empty")
|
return nil, fmt.Errorf("CreateContainerRequest.ContainerConfig.Image.Image is empty")
|
||||||
}
|
}
|
||||||
|
@ -321,7 +320,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
specgen.AddAnnotation("ocid/sandbox_name", sb.infraContainer.Name())
|
specgen.AddAnnotation("ocid/sandbox_name", sb.infraContainer.Name())
|
||||||
specgen.AddAnnotation("ocid/container_type", containerTypeContainer)
|
specgen.AddAnnotation("ocid/container_type", containerTypeContainer)
|
||||||
specgen.AddAnnotation("ocid/log_path", logPath)
|
specgen.AddAnnotation("ocid/log_path", logPath)
|
||||||
specgen.AddAnnotation("ocid/tty", fmt.Sprintf("%v", containerConfig.GetTty()))
|
specgen.AddAnnotation("ocid/tty", fmt.Sprintf("%v", containerConfig.Tty))
|
||||||
specgen.AddAnnotation("ocid/image", image)
|
specgen.AddAnnotation("ocid/image", image)
|
||||||
|
|
||||||
metadataJSON, err := json.Marshal(metadata)
|
metadataJSON, err := json.Marshal(metadata)
|
||||||
|
@ -346,8 +345,8 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
metaname := metadata.GetName()
|
metaname := metadata.Name
|
||||||
attempt := metadata.GetAttempt()
|
attempt := metadata.Attempt
|
||||||
containerInfo, err := s.storage.CreateContainer(s.imageContext,
|
containerInfo, err := s.storage.CreateContainer(s.imageContext,
|
||||||
sb.name, sb.id,
|
sb.name, sb.id,
|
||||||
image, image,
|
image, image,
|
||||||
|
@ -385,7 +384,7 @@ func (s *Server) createSandboxContainer(ctx context.Context, containerID string,
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
container, err := oci.NewContainer(containerID, containerName, containerInfo.RunDir, logPath, sb.netNs(), labels, annotations, imageSpec, metadata, sb.id, containerConfig.GetTty())
|
container, err := oci.NewContainer(containerID, containerName, containerInfo.RunDir, logPath, sb.netNs(), labels, annotations, imageSpec, metadata, sb.id, containerConfig.Tty)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
// ExecSync runs a command in a container synchronously.
|
// ExecSync runs a command in a container synchronously.
|
||||||
func (s *Server) ExecSync(ctx context.Context, req *pb.ExecSyncRequest) (*pb.ExecSyncResponse, error) {
|
func (s *Server) ExecSync(ctx context.Context, req *pb.ExecSyncRequest) (*pb.ExecSyncResponse, error) {
|
||||||
logrus.Debugf("ExecSyncRequest %+v", req)
|
logrus.Debugf("ExecSyncRequest %+v", req)
|
||||||
c, err := s.getContainerFromRequest(req)
|
c, err := s.getContainerFromRequest(req.ContainerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -26,19 +26,19 @@ func (s *Server) ExecSync(ctx context.Context, req *pb.ExecSyncRequest) (*pb.Exe
|
||||||
return nil, fmt.Errorf("container is not created or running")
|
return nil, fmt.Errorf("container is not created or running")
|
||||||
}
|
}
|
||||||
|
|
||||||
cmd := req.GetCmd()
|
cmd := req.Cmd
|
||||||
if cmd == nil {
|
if cmd == nil {
|
||||||
return nil, fmt.Errorf("exec command cannot be empty")
|
return nil, fmt.Errorf("exec command cannot be empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
execResp, err := s.runtime.ExecSync(c, cmd, req.GetTimeout())
|
execResp, err := s.runtime.ExecSync(c, cmd, req.Timeout)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp := &pb.ExecSyncResponse{
|
resp := &pb.ExecSyncResponse{
|
||||||
Stdout: execResp.Stdout,
|
Stdout: execResp.Stdout,
|
||||||
Stderr: execResp.Stderr,
|
Stderr: execResp.Stderr,
|
||||||
ExitCode: &execResp.ExitCode,
|
ExitCode: execResp.ExitCode,
|
||||||
}
|
}
|
||||||
|
|
||||||
logrus.Debugf("ExecSyncResponse: %+v", resp)
|
logrus.Debugf("ExecSyncResponse: %+v", resp)
|
||||||
|
|
|
@ -4,15 +4,15 @@ import (
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
"github.com/kubernetes-incubator/cri-o/oci"
|
"github.com/kubernetes-incubator/cri-o/oci"
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
|
||||||
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
||||||
|
"k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/fields"
|
||||||
)
|
)
|
||||||
|
|
||||||
// filterContainer returns whether passed container matches filtering criteria
|
// filterContainer returns whether passed container matches filtering criteria
|
||||||
func filterContainer(c *pb.Container, filter *pb.ContainerFilter) bool {
|
func filterContainer(c *pb.Container, filter *pb.ContainerFilter) bool {
|
||||||
if filter != nil {
|
if filter != nil {
|
||||||
if filter.State != nil {
|
if filter.State != nil {
|
||||||
if *c.State != *filter.State {
|
if c.State != filter.State.State {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -36,15 +36,15 @@ func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersReque
|
||||||
|
|
||||||
// Filter using container id and pod id first.
|
// Filter using container id and pod id first.
|
||||||
if filter != nil {
|
if filter != nil {
|
||||||
if filter.Id != nil {
|
if filter.Id != "" {
|
||||||
id, err := s.ctrIDIndex.Get(*filter.Id)
|
id, err := s.ctrIDIndex.Get(filter.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
c := s.state.containers.Get(id)
|
c := s.state.containers.Get(id)
|
||||||
if c != nil {
|
if c != nil {
|
||||||
if filter.PodSandboxId != nil {
|
if filter.PodSandboxId != "" {
|
||||||
if c.Sandbox() == *filter.PodSandboxId {
|
if c.Sandbox() == filter.PodSandboxId {
|
||||||
ctrList = []*oci.Container{c}
|
ctrList = []*oci.Container{c}
|
||||||
} else {
|
} else {
|
||||||
ctrList = []*oci.Container{}
|
ctrList = []*oci.Container{}
|
||||||
|
@ -55,8 +55,8 @@ func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersReque
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if filter.PodSandboxId != nil {
|
if filter.PodSandboxId != "" {
|
||||||
pod := s.state.sandboxes[*filter.PodSandboxId]
|
pod := s.state.sandboxes[filter.PodSandboxId]
|
||||||
if pod == nil {
|
if pod == nil {
|
||||||
ctrList = []*oci.Container{}
|
ctrList = []*oci.Container{}
|
||||||
} else {
|
} else {
|
||||||
|
@ -78,9 +78,9 @@ func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersReque
|
||||||
cID := ctr.ID()
|
cID := ctr.ID()
|
||||||
|
|
||||||
c := &pb.Container{
|
c := &pb.Container{
|
||||||
Id: &cID,
|
Id: cID,
|
||||||
PodSandboxId: &podSandboxID,
|
PodSandboxId: podSandboxID,
|
||||||
CreatedAt: int64Ptr(created),
|
CreatedAt: int64(created),
|
||||||
Labels: ctr.Labels(),
|
Labels: ctr.Labels(),
|
||||||
Metadata: ctr.Metadata(),
|
Metadata: ctr.Metadata(),
|
||||||
Annotations: ctr.Annotations(),
|
Annotations: ctr.Annotations(),
|
||||||
|
@ -95,7 +95,7 @@ func (s *Server) ListContainers(ctx context.Context, req *pb.ListContainersReque
|
||||||
case oci.ContainerStateStopped:
|
case oci.ContainerStateStopped:
|
||||||
rState = pb.ContainerState_CONTAINER_EXITED
|
rState = pb.ContainerState_CONTAINER_EXITED
|
||||||
}
|
}
|
||||||
c.State = &rState
|
c.State = rState
|
||||||
|
|
||||||
// Filter by other criteria such as state and labels.
|
// Filter by other criteria such as state and labels.
|
||||||
if filterContainer(c, req.Filter) {
|
if filterContainer(c, req.Filter) {
|
||||||
|
|
|
@ -14,7 +14,7 @@ import (
|
||||||
func (s *Server) RemoveContainer(ctx context.Context, req *pb.RemoveContainerRequest) (*pb.RemoveContainerResponse, error) {
|
func (s *Server) RemoveContainer(ctx context.Context, req *pb.RemoveContainerRequest) (*pb.RemoveContainerResponse, error) {
|
||||||
logrus.Debugf("RemoveContainerRequest %+v", req)
|
logrus.Debugf("RemoveContainerRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
c, err := s.getContainerFromRequest(req)
|
c, err := s.getContainerFromRequest(req.ContainerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,7 +12,7 @@ import (
|
||||||
func (s *Server) StartContainer(ctx context.Context, req *pb.StartContainerRequest) (*pb.StartContainerResponse, error) {
|
func (s *Server) StartContainer(ctx context.Context, req *pb.StartContainerRequest) (*pb.StartContainerResponse, error) {
|
||||||
logrus.Debugf("StartContainerRequest %+v", req)
|
logrus.Debugf("StartContainerRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
c, err := s.getContainerFromRequest(req)
|
c, err := s.getContainerFromRequest(req.ContainerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusRequest) (*pb.ContainerStatusResponse, error) {
|
func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusRequest) (*pb.ContainerStatusResponse, error) {
|
||||||
logrus.Debugf("ContainerStatusRequest %+v", req)
|
logrus.Debugf("ContainerStatusRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
c, err := s.getContainerFromRequest(req)
|
c, err := s.getContainerFromRequest(req.ContainerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -23,7 +23,7 @@ func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusReq
|
||||||
containerID := c.ID()
|
containerID := c.ID()
|
||||||
resp := &pb.ContainerStatusResponse{
|
resp := &pb.ContainerStatusResponse{
|
||||||
Status: &pb.ContainerStatus{
|
Status: &pb.ContainerStatus{
|
||||||
Id: &containerID,
|
Id: containerID,
|
||||||
Metadata: c.Metadata(),
|
Metadata: c.Metadata(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
@ -35,25 +35,25 @@ func (s *Server) ContainerStatus(ctx context.Context, req *pb.ContainerStatusReq
|
||||||
case oci.ContainerStateCreated:
|
case oci.ContainerStateCreated:
|
||||||
rStatus = pb.ContainerState_CONTAINER_CREATED
|
rStatus = pb.ContainerState_CONTAINER_CREATED
|
||||||
created := cState.Created.UnixNano()
|
created := cState.Created.UnixNano()
|
||||||
resp.Status.CreatedAt = int64Ptr(created)
|
resp.Status.CreatedAt = int64(created)
|
||||||
case oci.ContainerStateRunning:
|
case oci.ContainerStateRunning:
|
||||||
rStatus = pb.ContainerState_CONTAINER_RUNNING
|
rStatus = pb.ContainerState_CONTAINER_RUNNING
|
||||||
created := cState.Created.UnixNano()
|
created := cState.Created.UnixNano()
|
||||||
resp.Status.CreatedAt = int64Ptr(created)
|
resp.Status.CreatedAt = int64(created)
|
||||||
started := cState.Started.UnixNano()
|
started := cState.Started.UnixNano()
|
||||||
resp.Status.StartedAt = int64Ptr(started)
|
resp.Status.StartedAt = int64(started)
|
||||||
case oci.ContainerStateStopped:
|
case oci.ContainerStateStopped:
|
||||||
rStatus = pb.ContainerState_CONTAINER_EXITED
|
rStatus = pb.ContainerState_CONTAINER_EXITED
|
||||||
created := cState.Created.UnixNano()
|
created := cState.Created.UnixNano()
|
||||||
resp.Status.CreatedAt = int64Ptr(created)
|
resp.Status.CreatedAt = int64(created)
|
||||||
started := cState.Started.UnixNano()
|
started := cState.Started.UnixNano()
|
||||||
resp.Status.StartedAt = int64Ptr(started)
|
resp.Status.StartedAt = int64(started)
|
||||||
finished := cState.Finished.UnixNano()
|
finished := cState.Finished.UnixNano()
|
||||||
resp.Status.FinishedAt = int64Ptr(finished)
|
resp.Status.FinishedAt = int64(finished)
|
||||||
resp.Status.ExitCode = int32Ptr(cState.ExitCode)
|
resp.Status.ExitCode = int32(cState.ExitCode)
|
||||||
}
|
}
|
||||||
|
|
||||||
resp.Status.State = &rStatus
|
resp.Status.State = rStatus
|
||||||
|
|
||||||
logrus.Debugf("ContainerStatusResponse: %+v", resp)
|
logrus.Debugf("ContainerStatusResponse: %+v", resp)
|
||||||
return resp, nil
|
return resp, nil
|
||||||
|
|
|
@ -13,7 +13,7 @@ import (
|
||||||
func (s *Server) StopContainer(ctx context.Context, req *pb.StopContainerRequest) (*pb.StopContainerResponse, error) {
|
func (s *Server) StopContainer(ctx context.Context, req *pb.StopContainerRequest) (*pb.StopContainerResponse, error) {
|
||||||
logrus.Debugf("StopContainerRequest %+v", req)
|
logrus.Debugf("StopContainerRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
c, err := s.getContainerFromRequest(req)
|
c, err := s.getContainerFromRequest(req.ContainerId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ func (s *Server) ListImages(ctx context.Context, req *pb.ListImagesRequest) (*pb
|
||||||
if reqFilter != nil {
|
if reqFilter != nil {
|
||||||
filterImage := reqFilter.GetImage()
|
filterImage := reqFilter.GetImage()
|
||||||
if filterImage != nil {
|
if filterImage != nil {
|
||||||
filter = filterImage.GetImage()
|
filter = filterImage.Image
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
results, err := s.images.ListImages(filter)
|
results, err := s.images.ListImages(filter)
|
||||||
|
@ -23,11 +23,18 @@ func (s *Server) ListImages(ctx context.Context, req *pb.ListImagesRequest) (*pb
|
||||||
}
|
}
|
||||||
response := pb.ListImagesResponse{}
|
response := pb.ListImagesResponse{}
|
||||||
for _, result := range results {
|
for _, result := range results {
|
||||||
response.Images = append(response.Images, &pb.Image{
|
if result.Size != nil {
|
||||||
Id: sPtr(result.ID),
|
response.Images = append(response.Images, &pb.Image{
|
||||||
RepoTags: result.Names,
|
Id: result.ID,
|
||||||
Size_: result.Size,
|
RepoTags: result.Names,
|
||||||
})
|
Size_: *result.Size,
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
response.Images = append(response.Images, &pb.Image{
|
||||||
|
Id: result.ID,
|
||||||
|
RepoTags: result.Names,
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
logrus.Debugf("ListImagesResponse: %+v", response)
|
logrus.Debugf("ListImagesResponse: %+v", response)
|
||||||
return &response, nil
|
return &response, nil
|
||||||
|
|
|
@ -15,7 +15,7 @@ func (s *Server) PullImage(ctx context.Context, req *pb.PullImageRequest) (*pb.P
|
||||||
image := ""
|
image := ""
|
||||||
img := req.GetImage()
|
img := req.GetImage()
|
||||||
if img != nil {
|
if img != nil {
|
||||||
image = img.GetImage()
|
image = img.Image
|
||||||
}
|
}
|
||||||
options := ©.Options{}
|
options := ©.Options{}
|
||||||
_, err := s.images.PullImage(s.imageContext, image, options)
|
_, err := s.images.PullImage(s.imageContext, image, options)
|
||||||
|
@ -23,7 +23,7 @@ func (s *Server) PullImage(ctx context.Context, req *pb.PullImageRequest) (*pb.P
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp := &pb.PullImageResponse{
|
resp := &pb.PullImageResponse{
|
||||||
ImageRef: &image,
|
ImageRef: image,
|
||||||
}
|
}
|
||||||
logrus.Debugf("PullImageResponse: %+v", resp)
|
logrus.Debugf("PullImageResponse: %+v", resp)
|
||||||
return resp, nil
|
return resp, nil
|
||||||
|
|
|
@ -14,7 +14,7 @@ func (s *Server) RemoveImage(ctx context.Context, req *pb.RemoveImageRequest) (*
|
||||||
image := ""
|
image := ""
|
||||||
img := req.GetImage()
|
img := req.GetImage()
|
||||||
if img != nil {
|
if img != nil {
|
||||||
image = img.GetImage()
|
image = img.Image
|
||||||
}
|
}
|
||||||
if image == "" {
|
if image == "" {
|
||||||
return nil, fmt.Errorf("no image specified")
|
return nil, fmt.Errorf("no image specified")
|
||||||
|
|
|
@ -15,7 +15,7 @@ func (s *Server) ImageStatus(ctx context.Context, req *pb.ImageStatusRequest) (*
|
||||||
image := ""
|
image := ""
|
||||||
img := req.GetImage()
|
img := req.GetImage()
|
||||||
if img != nil {
|
if img != nil {
|
||||||
image = img.GetImage()
|
image = img.Image
|
||||||
}
|
}
|
||||||
if image == "" {
|
if image == "" {
|
||||||
return nil, fmt.Errorf("no image specified")
|
return nil, fmt.Errorf("no image specified")
|
||||||
|
@ -29,9 +29,9 @@ func (s *Server) ImageStatus(ctx context.Context, req *pb.ImageStatusRequest) (*
|
||||||
}
|
}
|
||||||
resp := &pb.ImageStatusResponse{
|
resp := &pb.ImageStatusResponse{
|
||||||
Image: &pb.Image{
|
Image: &pb.Image{
|
||||||
Id: &status.ID,
|
Id: status.ID,
|
||||||
RepoTags: status.Names,
|
RepoTags: status.Names,
|
||||||
Size_: status.Size,
|
Size_: *status.Size,
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
logrus.Debugf("ImageStatusResponse: %+v", resp)
|
logrus.Debugf("ImageStatusResponse: %+v", resp)
|
||||||
|
|
|
@ -26,12 +26,12 @@ func (s *Server) Status(ctx context.Context, req *pb.StatusRequest) (*pb.StatusR
|
||||||
Status: &pb.RuntimeStatus{
|
Status: &pb.RuntimeStatus{
|
||||||
Conditions: []*pb.RuntimeCondition{
|
Conditions: []*pb.RuntimeCondition{
|
||||||
{
|
{
|
||||||
Type: &runtimeReadyConditionString,
|
Type: runtimeReadyConditionString,
|
||||||
Status: &runtimeReady,
|
Status: runtimeReady,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Type: &networkReadyConditionString,
|
Type: networkReadyConditionString,
|
||||||
Status: &networkReady,
|
Status: networkReady,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
|
@ -261,19 +261,14 @@ func (s *Server) generatePodIDandName(name string, namespace string, attempt uin
|
||||||
return id, name, err
|
return id, name, err
|
||||||
}
|
}
|
||||||
|
|
||||||
type podSandboxRequest interface {
|
func (s *Server) getPodSandboxFromRequest(podSandboxID string) (*sandbox, error) {
|
||||||
GetPodSandboxId() string
|
if podSandboxID == "" {
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Server) getPodSandboxFromRequest(req podSandboxRequest) (*sandbox, error) {
|
|
||||||
sbID := req.GetPodSandboxId()
|
|
||||||
if sbID == "" {
|
|
||||||
return nil, errSandboxIDEmpty
|
return nil, errSandboxIDEmpty
|
||||||
}
|
}
|
||||||
|
|
||||||
sandboxID, err := s.podIDIndex.Get(sbID)
|
sandboxID, err := s.podIDIndex.Get(podSandboxID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("PodSandbox with ID starting with %s not found: %v", sbID, err)
|
return nil, fmt.Errorf("PodSandbox with ID starting with %s not found: %v", podSandboxID, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
sb := s.getSandbox(sandboxID)
|
sb := s.getSandbox(sandboxID)
|
||||||
|
|
|
@ -4,15 +4,15 @@ import (
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
"github.com/kubernetes-incubator/cri-o/oci"
|
"github.com/kubernetes-incubator/cri-o/oci"
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
"k8s.io/kubernetes/pkg/fields"
|
|
||||||
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
pb "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/runtime"
|
||||||
|
"k8s.io/kubernetes/staging/src/k8s.io/apimachinery/pkg/fields"
|
||||||
)
|
)
|
||||||
|
|
||||||
// filterSandbox returns whether passed container matches filtering criteria
|
// filterSandbox returns whether passed container matches filtering criteria
|
||||||
func filterSandbox(p *pb.PodSandbox, filter *pb.PodSandboxFilter) bool {
|
func filterSandbox(p *pb.PodSandbox, filter *pb.PodSandboxFilter) bool {
|
||||||
if filter != nil {
|
if filter != nil {
|
||||||
if filter.State != nil {
|
if filter.State != nil {
|
||||||
if *p.State != *filter.State {
|
if p.State != filter.State.State {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,8 +39,8 @@ func (s *Server) ListPodSandbox(ctx context.Context, req *pb.ListPodSandboxReque
|
||||||
filter := req.Filter
|
filter := req.Filter
|
||||||
// Filter by pod id first.
|
// Filter by pod id first.
|
||||||
if filter != nil {
|
if filter != nil {
|
||||||
if filter.Id != nil {
|
if filter.Id != "" {
|
||||||
id, err := s.podIDIndex.Get(*filter.Id)
|
id, err := s.podIDIndex.Get(filter.Id)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -71,9 +71,9 @@ func (s *Server) ListPodSandbox(ctx context.Context, req *pb.ListPodSandboxReque
|
||||||
}
|
}
|
||||||
|
|
||||||
pod := &pb.PodSandbox{
|
pod := &pb.PodSandbox{
|
||||||
Id: &sb.id,
|
Id: sb.id,
|
||||||
CreatedAt: int64Ptr(created),
|
CreatedAt: int64(created),
|
||||||
State: &rStatus,
|
State: rStatus,
|
||||||
Labels: sb.labels,
|
Labels: sb.labels,
|
||||||
Annotations: sb.annotations,
|
Annotations: sb.annotations,
|
||||||
Metadata: sb.metadata,
|
Metadata: sb.metadata,
|
||||||
|
|
|
@ -16,14 +16,14 @@ import (
|
||||||
func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxRequest) (*pb.RemovePodSandboxResponse, error) {
|
func (s *Server) RemovePodSandbox(ctx context.Context, req *pb.RemovePodSandboxRequest) (*pb.RemovePodSandboxResponse, error) {
|
||||||
logrus.Debugf("RemovePodSandboxRequest %+v", req)
|
logrus.Debugf("RemovePodSandboxRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
sb, err := s.getPodSandboxFromRequest(req)
|
sb, err := s.getPodSandboxFromRequest(req.PodSandboxId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if err == errSandboxIDEmpty {
|
if err == errSandboxIDEmpty {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
resp := &pb.RemovePodSandboxResponse{}
|
resp := &pb.RemovePodSandboxResponse{}
|
||||||
logrus.Warnf("could not get sandbox %s, it's probably been removed already: %v", req.GetPodSandboxId(), err)
|
logrus.Warnf("could not get sandbox %s, it's probably been removed already: %v", req.PodSandboxId, err)
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -42,13 +42,13 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
logrus.Debugf("RunPodSandboxRequest %+v", req)
|
logrus.Debugf("RunPodSandboxRequest %+v", req)
|
||||||
var processLabel, mountLabel, netNsPath string
|
var processLabel, mountLabel, netNsPath string
|
||||||
// process req.Name
|
// process req.Name
|
||||||
name := req.GetConfig().GetMetadata().GetName()
|
name := req.GetConfig().GetMetadata().Name
|
||||||
if name == "" {
|
if name == "" {
|
||||||
return nil, fmt.Errorf("PodSandboxConfig.Name should not be empty")
|
return nil, fmt.Errorf("PodSandboxConfig.Name should not be empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace := req.GetConfig().GetMetadata().GetNamespace()
|
namespace := req.GetConfig().GetMetadata().Namespace
|
||||||
attempt := req.GetConfig().GetMetadata().GetAttempt()
|
attempt := req.GetConfig().GetMetadata().Attempt
|
||||||
|
|
||||||
id, name, err := s.generatePodIDandName(name, namespace, attempt)
|
id, name, err := s.generatePodIDandName(name, namespace, attempt)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -81,8 +81,8 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
name, id,
|
name, id,
|
||||||
s.config.PauseImage, "",
|
s.config.PauseImage, "",
|
||||||
containerName,
|
containerName,
|
||||||
req.GetConfig().GetMetadata().GetName(),
|
req.GetConfig().GetMetadata().Name,
|
||||||
req.GetConfig().GetMetadata().GetUid(),
|
req.GetConfig().GetMetadata().Uid,
|
||||||
namespace,
|
namespace,
|
||||||
attempt,
|
attempt,
|
||||||
nil)
|
nil)
|
||||||
|
@ -118,34 +118,35 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
// set hostname
|
// set hostname
|
||||||
hostname := req.GetConfig().GetHostname()
|
hostname := req.GetConfig().Hostname
|
||||||
if hostname != "" {
|
if hostname != "" {
|
||||||
g.SetHostname(hostname)
|
g.SetHostname(hostname)
|
||||||
}
|
}
|
||||||
|
|
||||||
// set log directory
|
// set log directory
|
||||||
logDir := req.GetConfig().GetLogDirectory()
|
logDir := req.GetConfig().LogDirectory
|
||||||
if logDir == "" {
|
if logDir == "" {
|
||||||
logDir = filepath.Join(s.config.LogDir, id)
|
logDir = filepath.Join(s.config.LogDir, id)
|
||||||
}
|
}
|
||||||
|
|
||||||
// set DNS options
|
// set DNS options
|
||||||
dnsServers := req.GetConfig().GetDnsConfig().GetServers()
|
if req.GetConfig().GetDnsConfig() != nil {
|
||||||
dnsSearches := req.GetConfig().GetDnsConfig().GetSearches()
|
dnsServers := req.GetConfig().GetDnsConfig().Servers
|
||||||
dnsOptions := req.GetConfig().GetDnsConfig().GetOptions()
|
dnsSearches := req.GetConfig().GetDnsConfig().Searches
|
||||||
resolvPath := fmt.Sprintf("%s/resolv.conf", podContainer.RunDir)
|
dnsOptions := req.GetConfig().GetDnsConfig().Options
|
||||||
err = parseDNSOptions(dnsServers, dnsSearches, dnsOptions, resolvPath)
|
resolvPath := fmt.Sprintf("%s/resolv.conf", podContainer.RunDir)
|
||||||
if err != nil {
|
err = parseDNSOptions(dnsServers, dnsSearches, dnsOptions, resolvPath)
|
||||||
err1 := removeFile(resolvPath)
|
if err != nil {
|
||||||
if err1 != nil {
|
err1 := removeFile(resolvPath)
|
||||||
err = err1
|
if err1 != nil {
|
||||||
return nil, fmt.Errorf("%v; failed to remove %s: %v", err, resolvPath, err1)
|
err = err1
|
||||||
|
return nil, fmt.Errorf("%v; failed to remove %s: %v", err, resolvPath, err1)
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
}
|
}
|
||||||
return nil, err
|
g.AddBindMount(resolvPath, "/etc/resolv.conf", []string{"ro"})
|
||||||
}
|
}
|
||||||
|
|
||||||
g.AddBindMount(resolvPath, "/etc/resolv.conf", []string{"ro"})
|
|
||||||
|
|
||||||
// add metadata
|
// add metadata
|
||||||
metadata := req.GetConfig().GetMetadata()
|
metadata := req.GetConfig().GetMetadata()
|
||||||
metadataJSON, err := json.Marshal(metadata)
|
metadataJSON, err := json.Marshal(metadata)
|
||||||
|
@ -168,7 +169,7 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
// Don't use SELinux separation with Host Pid or IPC Namespace,
|
// Don't use SELinux separation with Host Pid or IPC Namespace,
|
||||||
if !req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostPid() && !req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostIpc() {
|
if !req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostPid && !req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostIpc {
|
||||||
processLabel, mountLabel, err = getSELinuxLabels(nil)
|
processLabel, mountLabel, err = getSELinuxLabels(nil)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -178,7 +179,7 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
|
|
||||||
// create shm mount for the pod containers.
|
// create shm mount for the pod containers.
|
||||||
var shmPath string
|
var shmPath string
|
||||||
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostIpc() {
|
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostIpc {
|
||||||
shmPath = "/dev/shm"
|
shmPath = "/dev/shm"
|
||||||
} else {
|
} else {
|
||||||
shmPath, err = setupShm(podContainer.RunDir, mountLabel)
|
shmPath, err = setupShm(podContainer.RunDir, mountLabel)
|
||||||
|
@ -260,7 +261,7 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
}
|
}
|
||||||
|
|
||||||
// setup cgroup settings
|
// setup cgroup settings
|
||||||
cgroupParent := req.GetConfig().GetLinux().GetCgroupParent()
|
cgroupParent := req.GetConfig().GetLinux().CgroupParent
|
||||||
if cgroupParent != "" {
|
if cgroupParent != "" {
|
||||||
if s.config.CgroupManager == "systemd" {
|
if s.config.CgroupManager == "systemd" {
|
||||||
cgPath := sb.cgroupParent + ":" + "ocid" + ":" + id
|
cgPath := sb.cgroupParent + ":" + "ocid" + ":" + id
|
||||||
|
@ -273,7 +274,7 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
sb.cgroupParent = cgroupParent
|
sb.cgroupParent = cgroupParent
|
||||||
}
|
}
|
||||||
|
|
||||||
hostNetwork := req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostNetwork()
|
hostNetwork := req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostNetwork
|
||||||
|
|
||||||
// set up namespaces
|
// set up namespaces
|
||||||
if hostNetwork {
|
if hostNetwork {
|
||||||
|
@ -311,14 +312,14 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
netNsPath = sb.netNsPath()
|
netNsPath = sb.netNsPath()
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostPid() {
|
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostPid {
|
||||||
err = g.RemoveLinuxNamespace("pid")
|
err = g.RemoveLinuxNamespace("pid")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().GetHostIpc() {
|
if req.GetConfig().GetLinux().GetSecurityContext().GetNamespaceOptions().HostIpc {
|
||||||
err = g.RemoveLinuxNamespace("ipc")
|
err = g.RemoveLinuxNamespace("ipc")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -358,7 +359,7 @@ func (s *Server) RunPodSandbox(ctx context.Context, req *pb.RunPodSandboxRequest
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
resp = &pb.RunPodSandboxResponse{PodSandboxId: &id}
|
resp = &pb.RunPodSandboxResponse{PodSandboxId: id}
|
||||||
logrus.Debugf("RunPodSandboxResponse: %+v", resp)
|
logrus.Debugf("RunPodSandboxResponse: %+v", resp)
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
@ -379,22 +380,22 @@ func (s *Server) setPodSandboxMountLabel(id, mountLabel string) error {
|
||||||
func getSELinuxLabels(selinuxOptions *pb.SELinuxOption) (processLabel string, mountLabel string, err error) {
|
func getSELinuxLabels(selinuxOptions *pb.SELinuxOption) (processLabel string, mountLabel string, err error) {
|
||||||
processLabel = ""
|
processLabel = ""
|
||||||
if selinuxOptions != nil {
|
if selinuxOptions != nil {
|
||||||
user := selinuxOptions.GetUser()
|
user := selinuxOptions.User
|
||||||
if user == "" {
|
if user == "" {
|
||||||
return "", "", fmt.Errorf("SELinuxOption.User is empty")
|
return "", "", fmt.Errorf("SELinuxOption.User is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
role := selinuxOptions.GetRole()
|
role := selinuxOptions.Role
|
||||||
if role == "" {
|
if role == "" {
|
||||||
return "", "", fmt.Errorf("SELinuxOption.Role is empty")
|
return "", "", fmt.Errorf("SELinuxOption.Role is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
t := selinuxOptions.GetType()
|
t := selinuxOptions.Type
|
||||||
if t == "" {
|
if t == "" {
|
||||||
return "", "", fmt.Errorf("SELinuxOption.Type is empty")
|
return "", "", fmt.Errorf("SELinuxOption.Type is empty")
|
||||||
}
|
}
|
||||||
|
|
||||||
level := selinuxOptions.GetLevel()
|
level := selinuxOptions.Level
|
||||||
if level == "" {
|
if level == "" {
|
||||||
return "", "", fmt.Errorf("SELinuxOption.Level is empty")
|
return "", "", fmt.Errorf("SELinuxOption.Level is empty")
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ import (
|
||||||
func (s *Server) PodSandboxStatus(ctx context.Context, req *pb.PodSandboxStatusRequest) (*pb.PodSandboxStatusResponse, error) {
|
func (s *Server) PodSandboxStatus(ctx context.Context, req *pb.PodSandboxStatusRequest) (*pb.PodSandboxStatusResponse, error) {
|
||||||
logrus.Debugf("PodSandboxStatusRequest %+v", req)
|
logrus.Debugf("PodSandboxStatusRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
sb, err := s.getPodSandboxFromRequest(req)
|
sb, err := s.getPodSandboxFromRequest(req.PodSandboxId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -43,15 +43,15 @@ func (s *Server) PodSandboxStatus(ctx context.Context, req *pb.PodSandboxStatusR
|
||||||
sandboxID := sb.id
|
sandboxID := sb.id
|
||||||
resp := &pb.PodSandboxStatusResponse{
|
resp := &pb.PodSandboxStatusResponse{
|
||||||
Status: &pb.PodSandboxStatus{
|
Status: &pb.PodSandboxStatus{
|
||||||
Id: &sandboxID,
|
Id: sandboxID,
|
||||||
CreatedAt: int64Ptr(created),
|
CreatedAt: int64(created),
|
||||||
Linux: &pb.LinuxPodSandboxStatus{
|
Linux: &pb.LinuxPodSandboxStatus{
|
||||||
Namespaces: &pb.Namespace{
|
Namespaces: &pb.Namespace{
|
||||||
Network: sPtr(netNsPath),
|
Network: netNsPath,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Network: &pb.PodSandboxNetworkStatus{Ip: &ip},
|
Network: &pb.PodSandboxNetworkStatus{Ip: ip},
|
||||||
State: &rStatus,
|
State: rStatus,
|
||||||
Labels: sb.labels,
|
Labels: sb.labels,
|
||||||
Annotations: sb.annotations,
|
Annotations: sb.annotations,
|
||||||
Metadata: sb.metadata,
|
Metadata: sb.metadata,
|
||||||
|
|
|
@ -15,7 +15,7 @@ import (
|
||||||
func (s *Server) StopPodSandbox(ctx context.Context, req *pb.StopPodSandboxRequest) (*pb.StopPodSandboxResponse, error) {
|
func (s *Server) StopPodSandbox(ctx context.Context, req *pb.StopPodSandboxRequest) (*pb.StopPodSandboxResponse, error) {
|
||||||
logrus.Debugf("StopPodSandboxRequest %+v", req)
|
logrus.Debugf("StopPodSandboxRequest %+v", req)
|
||||||
s.Update()
|
s.Update()
|
||||||
sb, err := s.getPodSandboxFromRequest(req)
|
sb, err := s.getPodSandboxFromRequest(req.PodSandboxId)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ func (s *Server) loadContainer(id string) error {
|
||||||
image, ok := m.Annotations["ocid/image"]
|
image, ok := m.Annotations["ocid/image"]
|
||||||
if ok {
|
if ok {
|
||||||
img = &pb.ImageSpec{
|
img = &pb.ImageSpec{
|
||||||
Image: &image,
|
Image: image,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,18 +13,6 @@ const (
|
||||||
maxDNSSearches = 6
|
maxDNSSearches = 6
|
||||||
)
|
)
|
||||||
|
|
||||||
func int64Ptr(i int64) *int64 {
|
|
||||||
return &i
|
|
||||||
}
|
|
||||||
|
|
||||||
func int32Ptr(i int32) *int32 {
|
|
||||||
return &i
|
|
||||||
}
|
|
||||||
|
|
||||||
func sPtr(s string) *string {
|
|
||||||
return &s
|
|
||||||
}
|
|
||||||
|
|
||||||
func copyFile(src, dest string) error {
|
func copyFile(src, dest string) error {
|
||||||
in, err := os.Open(src)
|
in, err := os.Open(src)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -21,9 +21,9 @@ func (s *Server) Version(ctx context.Context, req *pb.VersionRequest) (*pb.Versi
|
||||||
runtimeName := s.runtime.Name()
|
runtimeName := s.runtime.Name()
|
||||||
|
|
||||||
return &pb.VersionResponse{
|
return &pb.VersionResponse{
|
||||||
Version: &version,
|
Version: version,
|
||||||
RuntimeName: &runtimeName,
|
RuntimeName: runtimeName,
|
||||||
RuntimeVersion: &runtimeVersion,
|
RuntimeVersion: runtimeVersion,
|
||||||
RuntimeApiVersion: &rav,
|
RuntimeApiVersion: rav,
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-manifest-digest-error/manifest.json
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-manifest-digest-error/manifest.json
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../v2s1-invalid-signatures.manifest.json
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-manifest-digest-error/signature-1
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-manifest-digest-error/signature-1
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/signature-1
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/manifest.json
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/manifest.json
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/manifest.json
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/signature-1
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/signature-1
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../invalid-blob.signature
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/signature-2
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-mixed/signature-2
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/signature-1
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-modified-manifest/signature-1
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-modified-manifest/signature-1
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/signature-1
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-no-manifest/signature-1
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-no-manifest/signature-1
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/signature-1
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-unsigned/manifest.json
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-unsigned/manifest.json
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/manifest.json
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid-2/manifest.json
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid-2/manifest.json
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/manifest.json
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid-2/signature-1
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid-2/signature-1
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../dir-img-valid/signature-1
|
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid/manifest.json
generated
vendored
Symbolic link
1
vendor/github.com/containers/image/signature/fixtures/dir-img-valid/manifest.json
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../image.manifest.json
|
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.default
generated
vendored
Symbolic link
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.default
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/sysvinit-debian/docker.default
|
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.init
generated
vendored
Symbolic link
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.init
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/sysvinit-debian/docker
|
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.upstart
generated
vendored
Symbolic link
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.docker.upstart
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/upstart/docker.conf
|
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.udev
generated
vendored
Symbolic link
1
vendor/github.com/containers/storage/hack/make/.build-deb/docker-engine.udev
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/udev/80-docker.rules
|
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.default
generated
vendored
Symbolic link
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.default
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/sysvinit-debian/docker.default
|
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.init
generated
vendored
Symbolic link
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.init
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/sysvinit-debian/docker
|
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.upstart
generated
vendored
Symbolic link
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.docker.upstart
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/init/upstart/docker.conf
|
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.udev
generated
vendored
Symbolic link
1
vendor/github.com/docker/docker/hack/make/.build-deb/docker-engine.udev
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../contrib/udev/80-docker.rules
|
1
vendor/github.com/docker/docker/project/CONTRIBUTORS.md
generated
vendored
Symbolic link
1
vendor/github.com/docker/docker/project/CONTRIBUTORS.md
generated
vendored
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../CONTRIBUTING.md
|
73
vendor/github.com/opencontainers/runtime-tools/cmd/oci-runtime-tool/generate.go
generated
vendored
73
vendor/github.com/opencontainers/runtime-tools/cmd/oci-runtime-tool/generate.go
generated
vendored
|
@ -24,7 +24,6 @@ var generateFlags = []cli.Flag{
|
||||||
cli.StringSliceFlag{Name: "bind", Usage: "bind mount directories src:dest[:options...]"},
|
cli.StringSliceFlag{Name: "bind", Usage: "bind mount directories src:dest[:options...]"},
|
||||||
cli.StringSliceFlag{Name: "cap-add", Usage: "add Linux capabilities"},
|
cli.StringSliceFlag{Name: "cap-add", Usage: "add Linux capabilities"},
|
||||||
cli.StringSliceFlag{Name: "cap-drop", Usage: "drop Linux capabilities"},
|
cli.StringSliceFlag{Name: "cap-drop", Usage: "drop Linux capabilities"},
|
||||||
cli.StringFlag{Name: "cgroup", Usage: "cgroup namespace"},
|
|
||||||
cli.StringFlag{Name: "cgroups-path", Usage: "specify the path to the cgroups"},
|
cli.StringFlag{Name: "cgroups-path", Usage: "specify the path to the cgroups"},
|
||||||
cli.StringFlag{Name: "cwd", Value: "/", Usage: "current working directory for the process"},
|
cli.StringFlag{Name: "cwd", Value: "/", Usage: "current working directory for the process"},
|
||||||
cli.BoolFlag{Name: "disable-oom-kill", Usage: "disable OOM Killer"},
|
cli.BoolFlag{Name: "disable-oom-kill", Usage: "disable OOM Killer"},
|
||||||
|
@ -34,7 +33,6 @@ var generateFlags = []cli.Flag{
|
||||||
cli.StringSliceFlag{Name: "gidmappings", Usage: "add GIDMappings e.g HostID:ContainerID:Size"},
|
cli.StringSliceFlag{Name: "gidmappings", Usage: "add GIDMappings e.g HostID:ContainerID:Size"},
|
||||||
cli.StringSliceFlag{Name: "groups", Usage: "supplementary groups for the process"},
|
cli.StringSliceFlag{Name: "groups", Usage: "supplementary groups for the process"},
|
||||||
cli.StringFlag{Name: "hostname", Usage: "hostname value for the container"},
|
cli.StringFlag{Name: "hostname", Usage: "hostname value for the container"},
|
||||||
cli.StringFlag{Name: "ipc", Usage: "ipc namespace"},
|
|
||||||
cli.StringSliceFlag{Name: "label", Usage: "add annotations to the configuration e.g. key=value"},
|
cli.StringSliceFlag{Name: "label", Usage: "add annotations to the configuration e.g. key=value"},
|
||||||
cli.Uint64Flag{Name: "linux-cpu-shares", Usage: "the relative share of CPU time available to the tasks in a cgroup"},
|
cli.Uint64Flag{Name: "linux-cpu-shares", Usage: "the relative share of CPU time available to the tasks in a cgroup"},
|
||||||
cli.Uint64Flag{Name: "linux-cpu-period", Usage: "the CPU period to be used for hardcapping (in usecs)"},
|
cli.Uint64Flag{Name: "linux-cpu-period", Usage: "the CPU period to be used for hardcapping (in usecs)"},
|
||||||
|
@ -47,21 +45,21 @@ var generateFlags = []cli.Flag{
|
||||||
cli.Uint64Flag{Name: "linux-mem-swap", Usage: "total memory limit (memory + swap) (in bytes)"},
|
cli.Uint64Flag{Name: "linux-mem-swap", Usage: "total memory limit (memory + swap) (in bytes)"},
|
||||||
cli.Uint64Flag{Name: "linux-mem-swappiness", Usage: "how aggressive the kernel will swap memory pages (Range from 0 to 100)"},
|
cli.Uint64Flag{Name: "linux-mem-swappiness", Usage: "how aggressive the kernel will swap memory pages (Range from 0 to 100)"},
|
||||||
cli.StringFlag{Name: "linux-mems", Usage: "list of memory nodes in the cpuset (default is to use any available memory node)"},
|
cli.StringFlag{Name: "linux-mems", Usage: "list of memory nodes in the cpuset (default is to use any available memory node)"},
|
||||||
|
cli.StringSliceFlag{Name: "linux-namespace-add", Usage: "adds a namespace to the set of namespaces to create or join of the form 'ns[:path]'"},
|
||||||
|
cli.StringSliceFlag{Name: "linux-namespace-remove", Usage: "removes a namespace from the set of namespaces to create or join of the form 'ns'"},
|
||||||
|
cli.BoolFlag{Name: "linux-namespace-remove-all", Usage: "removes all namespaces from the set of namespaces created or joined"},
|
||||||
cli.IntFlag{Name: "linux-network-classid", Usage: "specifies class identifier tagged by container's network packets"},
|
cli.IntFlag{Name: "linux-network-classid", Usage: "specifies class identifier tagged by container's network packets"},
|
||||||
cli.StringSliceFlag{Name: "linux-network-priorities", Usage: "specifies priorities of network traffic"},
|
cli.StringSliceFlag{Name: "linux-network-priorities", Usage: "specifies priorities of network traffic"},
|
||||||
cli.Int64Flag{Name: "linux-pids-limit", Usage: "maximum number of PIDs"},
|
cli.Int64Flag{Name: "linux-pids-limit", Usage: "maximum number of PIDs"},
|
||||||
cli.Uint64Flag{Name: "linux-realtime-period", Usage: "CPU period to be used for realtime scheduling (in usecs)"},
|
cli.Uint64Flag{Name: "linux-realtime-period", Usage: "CPU period to be used for realtime scheduling (in usecs)"},
|
||||||
cli.Uint64Flag{Name: "linux-realtime-runtime", Usage: "the time realtime scheduling may use (in usecs)"},
|
cli.Uint64Flag{Name: "linux-realtime-runtime", Usage: "the time realtime scheduling may use (in usecs)"},
|
||||||
cli.StringSliceFlag{Name: "masked-paths", Usage: "specifies paths can not be read inside container"},
|
cli.StringSliceFlag{Name: "masked-paths", Usage: "specifies paths can not be read inside container"},
|
||||||
cli.StringFlag{Name: "mount", Usage: "mount namespace"},
|
|
||||||
cli.StringFlag{Name: "mount-cgroups", Value: "no", Usage: "mount cgroups (rw,ro,no)"},
|
cli.StringFlag{Name: "mount-cgroups", Value: "no", Usage: "mount cgroups (rw,ro,no)"},
|
||||||
cli.StringFlag{Name: "mount-label", Usage: "selinux mount context label"},
|
cli.StringFlag{Name: "mount-label", Usage: "selinux mount context label"},
|
||||||
cli.StringFlag{Name: "network", Usage: "network namespace"},
|
|
||||||
cli.BoolFlag{Name: "no-new-privileges", Usage: "set no new privileges bit for the container process"},
|
cli.BoolFlag{Name: "no-new-privileges", Usage: "set no new privileges bit for the container process"},
|
||||||
cli.IntFlag{Name: "oom-score-adj", Usage: "oom_score_adj for the container"},
|
cli.IntFlag{Name: "oom-score-adj", Usage: "oom_score_adj for the container"},
|
||||||
cli.StringFlag{Name: "os", Value: runtime.GOOS, Usage: "operating system the container is created for"},
|
cli.StringFlag{Name: "os", Value: runtime.GOOS, Usage: "operating system the container is created for"},
|
||||||
cli.StringFlag{Name: "output", Usage: "output file (defaults to stdout)"},
|
cli.StringFlag{Name: "output", Usage: "output file (defaults to stdout)"},
|
||||||
cli.StringFlag{Name: "pid", Usage: "pid namespace"},
|
|
||||||
cli.StringSliceFlag{Name: "poststart", Usage: "set command to run in poststart hooks"},
|
cli.StringSliceFlag{Name: "poststart", Usage: "set command to run in poststart hooks"},
|
||||||
cli.StringSliceFlag{Name: "poststop", Usage: "set command to run in poststop hooks"},
|
cli.StringSliceFlag{Name: "poststop", Usage: "set command to run in poststop hooks"},
|
||||||
cli.StringSliceFlag{Name: "prestart", Usage: "set command to run in prestart hooks"},
|
cli.StringSliceFlag{Name: "prestart", Usage: "set command to run in prestart hooks"},
|
||||||
|
@ -91,8 +89,6 @@ var generateFlags = []cli.Flag{
|
||||||
cli.BoolFlag{Name: "tty", Usage: "allocate a new tty for the container process"},
|
cli.BoolFlag{Name: "tty", Usage: "allocate a new tty for the container process"},
|
||||||
cli.IntFlag{Name: "uid", Usage: "uid for the process"},
|
cli.IntFlag{Name: "uid", Usage: "uid for the process"},
|
||||||
cli.StringSliceFlag{Name: "uidmappings", Usage: "add UIDMappings e.g HostID:ContainerID:Size"},
|
cli.StringSliceFlag{Name: "uidmappings", Usage: "add UIDMappings e.g HostID:ContainerID:Size"},
|
||||||
cli.StringFlag{Name: "user", Usage: "user namespace"},
|
|
||||||
cli.StringFlag{Name: "uts", Usage: "uts namespace"},
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var generateCommand = cli.Command{
|
var generateCommand = cli.Command{
|
||||||
|
@ -280,8 +276,6 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
needsNewUser := false
|
|
||||||
|
|
||||||
var uidMaps, gidMaps []string
|
var uidMaps, gidMaps []string
|
||||||
|
|
||||||
if context.IsSet("uidmappings") {
|
if context.IsSet("uidmappings") {
|
||||||
|
@ -292,12 +286,11 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
|
||||||
gidMaps = context.StringSlice("gidmappings")
|
gidMaps = context.StringSlice("gidmappings")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add default user namespace.
|
||||||
if len(uidMaps) > 0 || len(gidMaps) > 0 {
|
if len(uidMaps) > 0 || len(gidMaps) > 0 {
|
||||||
needsNewUser = true
|
g.AddOrReplaceLinuxNamespace("user", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
setupLinuxNamespaces(context, g, needsNewUser)
|
|
||||||
|
|
||||||
if context.IsSet("tmpfs") {
|
if context.IsSet("tmpfs") {
|
||||||
tmpfsSlice := context.StringSlice("tmpfs")
|
tmpfsSlice := context.StringSlice("tmpfs")
|
||||||
for _, s := range tmpfsSlice {
|
for _, s := range tmpfsSlice {
|
||||||
|
@ -457,6 +450,32 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if context.IsSet("linux-namespace-add") {
|
||||||
|
namespaces := context.StringSlice("linux-namespace-add")
|
||||||
|
for _, ns := range namespaces {
|
||||||
|
name, path, err := parseNamespace(ns)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if err := g.AddOrReplaceLinuxNamespace(name, path); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if context.IsSet("linux-namespace-remove") {
|
||||||
|
namespaces := context.StringSlice("linux-namespace-remove")
|
||||||
|
for _, name := range namespaces {
|
||||||
|
if err := g.RemoveLinuxNamespace(name); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if context.Bool("linux-namespace-remove-all") {
|
||||||
|
g.ClearLinuxNamespaces()
|
||||||
|
}
|
||||||
|
|
||||||
if context.IsSet("rlimits-add") {
|
if context.IsSet("rlimits-add") {
|
||||||
rlimits := context.StringSlice("rlimits-add")
|
rlimits := context.StringSlice("rlimits-add")
|
||||||
for _, rlimit := range rlimits {
|
for _, rlimit := range rlimits {
|
||||||
|
@ -486,20 +505,6 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupLinuxNamespaces(context *cli.Context, g *generate.Generator, needsNewUser bool) {
|
|
||||||
for _, nsName := range generate.Namespaces {
|
|
||||||
if !context.IsSet(nsName) && !(needsNewUser && nsName == "user") {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
nsPath := context.String(nsName)
|
|
||||||
if nsPath == "host" {
|
|
||||||
g.RemoveLinuxNamespace(nsName)
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
g.AddOrReplaceLinuxNamespace(nsName, nsPath)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func parseIDMapping(idms string) (uint32, uint32, uint32, error) {
|
func parseIDMapping(idms string) (uint32, uint32, uint32, error) {
|
||||||
idm := strings.Split(idms, ":")
|
idm := strings.Split(idms, ":")
|
||||||
if len(idm) != 3 {
|
if len(idm) != 3 {
|
||||||
|
@ -604,6 +609,22 @@ func parseRlimit(rlimit string) (string, uint64, uint64, error) {
|
||||||
return parts[0], uint64(hard), uint64(soft), nil
|
return parts[0], uint64(hard), uint64(soft), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func parseNamespace(ns string) (string, string, error) {
|
||||||
|
parts := strings.SplitN(ns, ":", 2)
|
||||||
|
if len(parts) == 0 || parts[0] == "" {
|
||||||
|
return "", "", fmt.Errorf("invalid namespace value: %s", ns)
|
||||||
|
}
|
||||||
|
|
||||||
|
nsType := parts[0]
|
||||||
|
nsPath := ""
|
||||||
|
|
||||||
|
if len(parts) == 2 {
|
||||||
|
nsPath = parts[1]
|
||||||
|
}
|
||||||
|
|
||||||
|
return nsType, nsPath, nil
|
||||||
|
}
|
||||||
|
|
||||||
func addSeccomp(context *cli.Context, g *generate.Generator) error {
|
func addSeccomp(context *cli.Context, g *generate.Generator) error {
|
||||||
|
|
||||||
// Set the DefaultAction of seccomp
|
// Set the DefaultAction of seccomp
|
||||||
|
|
134
vendor/github.com/opencontainers/runtime-tools/completions/bash/oci-runtime-tool
generated
vendored
134
vendor/github.com/opencontainers/runtime-tools/completions/bash/oci-runtime-tool
generated
vendored
|
@ -297,72 +297,80 @@ _oci-runtime-tool_help() {
|
||||||
|
|
||||||
_oci-runtime-tool_generate() {
|
_oci-runtime-tool_generate() {
|
||||||
local options_with_args="
|
local options_with_args="
|
||||||
--arch
|
--apparmor
|
||||||
--apparmor
|
--arch
|
||||||
--args
|
--args
|
||||||
--bind
|
--bind
|
||||||
--cap-add
|
--cap-add
|
||||||
--cap-drop
|
--cap-drop
|
||||||
--cgroup
|
--cgroups-path
|
||||||
--cgroup-path
|
--cwd
|
||||||
--cwd
|
--env
|
||||||
--disable-oom-kill
|
--env-file
|
||||||
--env
|
--gid
|
||||||
--env-file
|
--gidmappings
|
||||||
--gid
|
--groups
|
||||||
--gidmappings
|
--hostname
|
||||||
--groups
|
--label
|
||||||
--hostname
|
--linux-cpu-shares
|
||||||
--help
|
--linux-cpu-period
|
||||||
--ipc
|
--linux-cpu-quota
|
||||||
--label
|
--linux-cpus
|
||||||
--linux-network-classid
|
--linux-mem-kernel-limit
|
||||||
--linux-network-priorities
|
--linux-mem-kernel-tcp
|
||||||
--linux-pids-limit
|
--linux-mem-limit
|
||||||
--masked-paths
|
--linux-mem-reservation
|
||||||
--mount
|
--linux-mem-swap
|
||||||
--mount-cgroups
|
--linux-mem-swappiness
|
||||||
--mount-label
|
--linux-mems
|
||||||
--network
|
--linux-namespace-add
|
||||||
--os
|
--linux-namespace-remove
|
||||||
--output
|
--linux-network-classid
|
||||||
--pid
|
--linux-network-priorities
|
||||||
--poststart
|
--linux-pids-limit
|
||||||
--poststop
|
--linux-realtime-period
|
||||||
--prestart
|
--linux-realtime-runtime
|
||||||
--readonly-paths
|
--masked-paths
|
||||||
--rootfs-path
|
--mount-cgroups
|
||||||
--rootfs-propagation
|
--mount-label
|
||||||
--rlimits-add
|
--oom-score-adj
|
||||||
--rlimits-remove
|
--os
|
||||||
--rlimits-remove-all
|
--output
|
||||||
--seccomp-allow
|
--poststart
|
||||||
--seccomp-arch
|
--poststop
|
||||||
--seccomp-default
|
--prestart
|
||||||
--seccomp-default-force
|
--readonly-paths
|
||||||
--seccomp-errno
|
--rootfs-path
|
||||||
--seccomp-kill
|
--rootfs-propagation
|
||||||
--seccomp-only
|
--rlimits-add
|
||||||
--seccomp-remove
|
--rlimits-remove
|
||||||
--seccomp-remove-all
|
--seccomp-allow
|
||||||
--seccomp-trace
|
--seccomp-arch
|
||||||
--seccomp-trap
|
--seccomp-default
|
||||||
--seccomp-syscalls
|
--seccomp-default-force
|
||||||
--selinux-label
|
--seccomp-errno
|
||||||
--sysctl
|
--seccomp-kill
|
||||||
--tmplate
|
--seccomp-remove
|
||||||
--tmpfs
|
--seccomp-trace
|
||||||
--uid
|
--seccomp-trap
|
||||||
--uidmappings
|
--selinux-label
|
||||||
--user
|
--sysctl
|
||||||
--uts
|
--template
|
||||||
|
--tmpfs
|
||||||
|
--uid
|
||||||
|
--uidmappings
|
||||||
"
|
"
|
||||||
|
|
||||||
local boolean_options="
|
local boolean_options="
|
||||||
--no-new-privileges
|
--disable-oom-kill
|
||||||
--privileged
|
--linux-namespace-remove-all
|
||||||
--rootfs-readonly
|
--no-new-privileges
|
||||||
--tty
|
--privileged
|
||||||
|
--rlimits-remove-all
|
||||||
|
--rootfs-readonly
|
||||||
|
--seccomp-only
|
||||||
|
--seccomp-remove-all
|
||||||
|
--tty
|
||||||
"
|
"
|
||||||
|
|
||||||
local all_options="$options_with_args $boolean_options"
|
local all_options="$options_with_args $boolean_options"
|
||||||
|
|
56
vendor/github.com/opencontainers/runtime-tools/man/oci-runtime-tool-generate.1.md
generated
vendored
56
vendor/github.com/opencontainers/runtime-tools/man/oci-runtime-tool-generate.1.md
generated
vendored
|
@ -45,12 +45,6 @@ read the configuration from `config.json`.
|
||||||
**--cap-drop**=[]
|
**--cap-drop**=[]
|
||||||
Drop Linux capabilities
|
Drop Linux capabilities
|
||||||
|
|
||||||
**--cgroup**=*PATH*
|
|
||||||
Use a Cgroup namespace where *PATH* is an existing Cgroup namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing Cgroup namespace from
|
|
||||||
the configuration.
|
|
||||||
|
|
||||||
**--cgroups-path**=""
|
**--cgroups-path**=""
|
||||||
Specifies the path to the cgroups relative to the cgroups mount point.
|
Specifies the path to the cgroups relative to the cgroups mount point.
|
||||||
|
|
||||||
|
@ -88,12 +82,6 @@ read the configuration from `config.json`.
|
||||||
**--hostname**=""
|
**--hostname**=""
|
||||||
Set the container host name that is available inside the container.
|
Set the container host name that is available inside the container.
|
||||||
|
|
||||||
**--ipc**=*PATH*
|
|
||||||
Use an IPC namespace where *PATH* is an existing IPC namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing IPC namespace from the
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
**--label**=[]
|
**--label**=[]
|
||||||
Add annotations to the configuration e.g. key=value.
|
Add annotations to the configuration e.g. key=value.
|
||||||
Currently, key containing equals sign is not supported.
|
Currently, key containing equals sign is not supported.
|
||||||
|
@ -131,6 +119,20 @@ read the configuration from `config.json`.
|
||||||
**--linux-mems**=MEMS
|
**--linux-mems**=MEMS
|
||||||
Sets the list of memory nodes in the cpuset (default is to use any available memory node).
|
Sets the list of memory nodes in the cpuset (default is to use any available memory node).
|
||||||
|
|
||||||
|
**--linux-namespace-add**=NSNAME[:PATH]
|
||||||
|
Adds or replaces the given linux namespace NSNAME with a namespace entry that
|
||||||
|
has a path of PATH. Omitting PATH means that a new namespace will be created
|
||||||
|
by the container.
|
||||||
|
|
||||||
|
**--linux-namespace-remove**=NSNAME
|
||||||
|
Removes a namespace from the set of namespaces configured in the container,
|
||||||
|
so that the host's namespace will be used by the container instead of
|
||||||
|
creating or joining another namespace.
|
||||||
|
|
||||||
|
**--linux-namespace-remove-all**
|
||||||
|
Removes all namespaces from the set of namespaces configured for a container,
|
||||||
|
such that the container will effectively run on the host.
|
||||||
|
|
||||||
**--linux-network-classid**=CLASSID
|
**--linux-network-classid**=CLASSID
|
||||||
Specifies network class identifier which will be tagged by container's network packets.
|
Specifies network class identifier which will be tagged by container's network packets.
|
||||||
|
|
||||||
|
@ -153,12 +155,6 @@ read the configuration from `config.json`.
|
||||||
Specifies paths can not be read inside container. e.g. --masked-paths=/proc/kcore
|
Specifies paths can not be read inside container. e.g. --masked-paths=/proc/kcore
|
||||||
This option can be specified multiple times.
|
This option can be specified multiple times.
|
||||||
|
|
||||||
**--mount**=*PATH*
|
|
||||||
Use a mount namespace where *PATH* is an existing mount namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing mount namespace from the
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
**--mount-cgroups**=[rw|ro|no]
|
**--mount-cgroups**=[rw|ro|no]
|
||||||
Mount cgroups. The default is *no*.
|
Mount cgroups. The default is *no*.
|
||||||
|
|
||||||
|
@ -174,12 +170,6 @@ read the configuration from `config.json`.
|
||||||
"system_u:object_r:usr_t:s0" might be a good label for a readonly container,
|
"system_u:object_r:usr_t:s0" might be a good label for a readonly container,
|
||||||
"system_u:system_r:svirt_sandbox_file_t:s0:c1,c2" for a read/write container.
|
"system_u:system_r:svirt_sandbox_file_t:s0:c1,c2" for a read/write container.
|
||||||
|
|
||||||
**--network**=*PATH*
|
|
||||||
Use a network namespace where *PATH* is an existing network namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing network namespace from the
|
|
||||||
configuration.
|
|
||||||
|
|
||||||
**--no-new-privileges**=true|false
|
**--no-new-privileges**=true|false
|
||||||
Set no new privileges bit for the container process. Setting this flag
|
Set no new privileges bit for the container process. Setting this flag
|
||||||
will block the container processes from gaining any additional privileges
|
will block the container processes from gaining any additional privileges
|
||||||
|
@ -197,12 +187,6 @@ read the configuration from `config.json`.
|
||||||
file at *PATH* (overwriting the existing content if a file already
|
file at *PATH* (overwriting the existing content if a file already
|
||||||
exists at *PATH*).
|
exists at *PATH*).
|
||||||
|
|
||||||
**--pid**=*PATH*
|
|
||||||
Use a PID namespace where *PATH* is an existing PID namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing PID namespace from
|
|
||||||
the configuration.
|
|
||||||
|
|
||||||
**--poststart**=CMD[:ARGS...]
|
**--poststart**=CMD[:ARGS...]
|
||||||
Set command to run in poststart hooks. Can be specified multiple times.
|
Set command to run in poststart hooks. Can be specified multiple times.
|
||||||
The multiple commands will be run in order before the container process
|
The multiple commands will be run in order before the container process
|
||||||
|
@ -330,18 +314,6 @@ read the configuration from `config.json`.
|
||||||
**--uidmappings**
|
**--uidmappings**
|
||||||
Add UIDMappings e.g HostUID:ContainerID:Size. Implies **--user=**.
|
Add UIDMappings e.g HostUID:ContainerID:Size. Implies **--user=**.
|
||||||
|
|
||||||
**--user**=*PATH*
|
|
||||||
Use a user namespace where *PATH* is an existing user namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing user namespace from
|
|
||||||
the configuration.
|
|
||||||
|
|
||||||
**--uts**=*PATH*
|
|
||||||
Use a UTS namespace where *PATH* is an existing UTS namespace file
|
|
||||||
to join. The special *PATH* empty-string creates a new namespace.
|
|
||||||
The special *PATH* `host` removes any existing UTS namespace from
|
|
||||||
the configuration.
|
|
||||||
|
|
||||||
# EXAMPLES
|
# EXAMPLES
|
||||||
|
|
||||||
## Generating container in read-only mode
|
## Generating container in read-only mode
|
||||||
|
|
6
vendor/k8s.io/kubernetes/.bazelrc
generated
vendored
Normal file
6
vendor/k8s.io/kubernetes/.bazelrc
generated
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# Show us information about failures.
|
||||||
|
build --verbose_failures
|
||||||
|
test --test_output=errors
|
||||||
|
|
||||||
|
# Retry tests up to 3 times if they fail.
|
||||||
|
test --flaky_test_attempts=3
|
2
vendor/k8s.io/kubernetes/.generated_docs
generated
vendored
2
vendor/k8s.io/kubernetes/.generated_docs
generated
vendored
|
@ -58,6 +58,7 @@ docs/man/man1/kubectl-create.1
|
||||||
docs/man/man1/kubectl-delete.1
|
docs/man/man1/kubectl-delete.1
|
||||||
docs/man/man1/kubectl-describe.1
|
docs/man/man1/kubectl-describe.1
|
||||||
docs/man/man1/kubectl-drain.1
|
docs/man/man1/kubectl-drain.1
|
||||||
|
docs/man/man1/kubectl-edit-configmap.1
|
||||||
docs/man/man1/kubectl-edit.1
|
docs/man/man1/kubectl-edit.1
|
||||||
docs/man/man1/kubectl-exec.1
|
docs/man/man1/kubectl-exec.1
|
||||||
docs/man/man1/kubectl-explain.1
|
docs/man/man1/kubectl-explain.1
|
||||||
|
@ -142,6 +143,7 @@ docs/user-guide/kubectl/kubectl_delete.md
|
||||||
docs/user-guide/kubectl/kubectl_describe.md
|
docs/user-guide/kubectl/kubectl_describe.md
|
||||||
docs/user-guide/kubectl/kubectl_drain.md
|
docs/user-guide/kubectl/kubectl_drain.md
|
||||||
docs/user-guide/kubectl/kubectl_edit.md
|
docs/user-guide/kubectl/kubectl_edit.md
|
||||||
|
docs/user-guide/kubectl/kubectl_edit_configmap.md
|
||||||
docs/user-guide/kubectl/kubectl_exec.md
|
docs/user-guide/kubectl/kubectl_exec.md
|
||||||
docs/user-guide/kubectl/kubectl_explain.md
|
docs/user-guide/kubectl/kubectl_explain.md
|
||||||
docs/user-guide/kubectl/kubectl_expose.md
|
docs/user-guide/kubectl/kubectl_expose.md
|
||||||
|
|
11
vendor/k8s.io/kubernetes/BUILD.bazel
generated
vendored
11
vendor/k8s.io/kubernetes/BUILD.bazel
generated
vendored
|
@ -12,6 +12,7 @@ gcs_upload(
|
||||||
name = "ci-artifacts",
|
name = "ci-artifacts",
|
||||||
data = [
|
data = [
|
||||||
"//build/debs",
|
"//build/debs",
|
||||||
|
"//build/release-tars",
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -51,13 +52,3 @@ filegroup(
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
|
||||||
name = "kubernetes-src",
|
|
||||||
extension = "tar.gz",
|
|
||||||
files = [
|
|
||||||
":all-srcs",
|
|
||||||
],
|
|
||||||
package_dir = "kubernetes",
|
|
||||||
strip_prefix = "//",
|
|
||||||
)
|
|
||||||
|
|
454
vendor/k8s.io/kubernetes/Godeps/Godeps.json
generated
vendored
454
vendor/k8s.io/kubernetes/Godeps/Godeps.json
generated
vendored
|
@ -128,6 +128,10 @@
|
||||||
"Comment": "v0.8.1-6-gab50d12",
|
"Comment": "v0.8.1-6-gab50d12",
|
||||||
"Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b"
|
"Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/armon/circbuf",
|
||||||
|
"Rev": "bbbad097214e2918d8543d5201d12bfd7bca254d"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/asaskevich/govalidator",
|
"ImportPath": "github.com/asaskevich/govalidator",
|
||||||
"Comment": "v4-12-g593d645",
|
"Comment": "v4-12-g593d645",
|
||||||
|
@ -135,143 +139,163 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/awserr",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/awserr",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/awsutil",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/awsutil",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/client",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/client",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/client/metadata",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/client/metadata",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/corehandlers",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/corehandlers",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/ec2rolecreds",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/endpointcreds",
|
||||||
|
"Comment": "v1.6.10",
|
||||||
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/credentials/stscreds",
|
||||||
|
"Comment": "v1.6.10",
|
||||||
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/defaults",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/defaults",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/ec2metadata",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/ec2metadata",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/endpoints",
|
||||||
|
"Comment": "v1.6.10",
|
||||||
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/request",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/request",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/aws/session",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/session",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/endpoints",
|
"ImportPath": "github.com/aws/aws-sdk-go/aws/signer/v4",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol",
|
||||||
|
"Comment": "v1.6.10",
|
||||||
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/ec2query",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/jsonrpc",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/query/queryutil",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/rest",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/rest",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/restxml",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/restxml",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/protocol/xml/xmlutil",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
|
||||||
{
|
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/signer/v4",
|
|
||||||
"Comment": "v1.0.8",
|
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/private/waiter",
|
"ImportPath": "github.com/aws/aws-sdk-go/private/waiter",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/service/autoscaling",
|
"ImportPath": "github.com/aws/aws-sdk-go/service/autoscaling",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/service/ec2",
|
"ImportPath": "github.com/aws/aws-sdk-go/service/ec2",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/service/ecr",
|
"ImportPath": "github.com/aws/aws-sdk-go/service/ecr",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/service/elb",
|
"ImportPath": "github.com/aws/aws-sdk-go/service/elb",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/aws/aws-sdk-go/service/route53",
|
"ImportPath": "github.com/aws/aws-sdk-go/service/route53",
|
||||||
"Comment": "v1.0.8",
|
"Comment": "v1.6.10",
|
||||||
"Rev": "c924893c38ecc04b18d7aab8a7aa561cb8b4c4cc"
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"ImportPath": "github.com/aws/aws-sdk-go/service/sts",
|
||||||
|
"Comment": "v1.6.10",
|
||||||
|
"Rev": "63ce630574a5ec05ecd8e8de5cea16332a5a684d"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/beorn7/perks/quantile",
|
"ImportPath": "github.com/beorn7/perks/quantile",
|
||||||
|
@ -728,7 +752,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/coreos/rkt/api/v1alpha",
|
"ImportPath": "github.com/coreos/rkt/api/v1alpha",
|
||||||
"Comment": "v1.11.0-59-ga83419b",
|
"Comment": "v1.11.0-59-ga83419be",
|
||||||
"Rev": "a83419be28ac626876f94a28b4df2dbc9eac7448"
|
"Rev": "a83419be28ac626876f94a28b4df2dbc9eac7448"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -751,12 +775,12 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/docker/distribution/digest",
|
"ImportPath": "github.com/docker/distribution/digest",
|
||||||
"Comment": "v2.4.0-rc.1-38-gcd27f17",
|
"Comment": "v2.4.0-rc.1-38-gcd27f179",
|
||||||
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
|
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/docker/distribution/reference",
|
"ImportPath": "github.com/docker/distribution/reference",
|
||||||
"Comment": "v2.4.0-rc.1-38-gcd27f17",
|
"Comment": "v2.4.0-rc.1-38-gcd27f179",
|
||||||
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
|
"Rev": "cd27f179f2c10c5d300e6d09025b538c475b0d51"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1000,127 +1024,127 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/gogoproto",
|
"ImportPath": "github.com/gogo/protobuf/gogoproto",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/compare",
|
"ImportPath": "github.com/gogo/protobuf/plugin/compare",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck",
|
"ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/description",
|
"ImportPath": "github.com/gogo/protobuf/plugin/description",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/embedcheck",
|
"ImportPath": "github.com/gogo/protobuf/plugin/embedcheck",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/enumstringer",
|
"ImportPath": "github.com/gogo/protobuf/plugin/enumstringer",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/equal",
|
"ImportPath": "github.com/gogo/protobuf/plugin/equal",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/face",
|
"ImportPath": "github.com/gogo/protobuf/plugin/face",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/gostring",
|
"ImportPath": "github.com/gogo/protobuf/plugin/gostring",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/marshalto",
|
"ImportPath": "github.com/gogo/protobuf/plugin/marshalto",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck",
|
"ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/populate",
|
"ImportPath": "github.com/gogo/protobuf/plugin/populate",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/size",
|
"ImportPath": "github.com/gogo/protobuf/plugin/size",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/stringer",
|
"ImportPath": "github.com/gogo/protobuf/plugin/stringer",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/testgen",
|
"ImportPath": "github.com/gogo/protobuf/plugin/testgen",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/union",
|
"ImportPath": "github.com/gogo/protobuf/plugin/union",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/plugin/unmarshal",
|
"ImportPath": "github.com/gogo/protobuf/plugin/unmarshal",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/proto",
|
"ImportPath": "github.com/gogo/protobuf/proto",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor",
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator",
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc",
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin",
|
"ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/sortkeys",
|
"ImportPath": "github.com/gogo/protobuf/sortkeys",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/vanity",
|
"ImportPath": "github.com/gogo/protobuf/vanity",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/gogo/protobuf/vanity/command",
|
"ImportPath": "github.com/gogo/protobuf/vanity/command",
|
||||||
"Comment": "v0.2-33-ge18d7aa",
|
"Comment": "v0.2-33-ge18d7aa8",
|
||||||
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
"Rev": "e18d7aa8f8c624c915db340349aad4c49b10d173"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -1149,203 +1173,203 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/api",
|
"ImportPath": "github.com/google/cadvisor/api",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/cache/memory",
|
"ImportPath": "github.com/google/cadvisor/cache/memory",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/client/v2",
|
"ImportPath": "github.com/google/cadvisor/client/v2",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/collector",
|
"ImportPath": "github.com/google/cadvisor/collector",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container",
|
"ImportPath": "github.com/google/cadvisor/container",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/common",
|
"ImportPath": "github.com/google/cadvisor/container/common",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/docker",
|
"ImportPath": "github.com/google/cadvisor/container/docker",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/libcontainer",
|
"ImportPath": "github.com/google/cadvisor/container/libcontainer",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/raw",
|
"ImportPath": "github.com/google/cadvisor/container/raw",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/rkt",
|
"ImportPath": "github.com/google/cadvisor/container/rkt",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/container/systemd",
|
"ImportPath": "github.com/google/cadvisor/container/systemd",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/devicemapper",
|
"ImportPath": "github.com/google/cadvisor/devicemapper",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/events",
|
"ImportPath": "github.com/google/cadvisor/events",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/fs",
|
"ImportPath": "github.com/google/cadvisor/fs",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/healthz",
|
"ImportPath": "github.com/google/cadvisor/healthz",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/http",
|
"ImportPath": "github.com/google/cadvisor/http",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/http/mux",
|
"ImportPath": "github.com/google/cadvisor/http/mux",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/info/v1",
|
"ImportPath": "github.com/google/cadvisor/info/v1",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/info/v2",
|
"ImportPath": "github.com/google/cadvisor/info/v2",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/machine",
|
"ImportPath": "github.com/google/cadvisor/machine",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/manager",
|
"ImportPath": "github.com/google/cadvisor/manager",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/manager/watcher",
|
"ImportPath": "github.com/google/cadvisor/manager/watcher",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/manager/watcher/raw",
|
"ImportPath": "github.com/google/cadvisor/manager/watcher/raw",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/manager/watcher/rkt",
|
"ImportPath": "github.com/google/cadvisor/manager/watcher/rkt",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/metrics",
|
"ImportPath": "github.com/google/cadvisor/metrics",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/pages",
|
"ImportPath": "github.com/google/cadvisor/pages",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/pages/static",
|
"ImportPath": "github.com/google/cadvisor/pages/static",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/storage",
|
"ImportPath": "github.com/google/cadvisor/storage",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/summary",
|
"ImportPath": "github.com/google/cadvisor/summary",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils",
|
"ImportPath": "github.com/google/cadvisor/utils",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/cloudinfo",
|
"ImportPath": "github.com/google/cadvisor/utils/cloudinfo",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/cpuload",
|
"ImportPath": "github.com/google/cadvisor/utils/cpuload",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/cpuload/netlink",
|
"ImportPath": "github.com/google/cadvisor/utils/cpuload/netlink",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/docker",
|
"ImportPath": "github.com/google/cadvisor/utils/docker",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/oomparser",
|
"ImportPath": "github.com/google/cadvisor/utils/oomparser",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/sysfs",
|
"ImportPath": "github.com/google/cadvisor/utils/sysfs",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/sysinfo",
|
"ImportPath": "github.com/google/cadvisor/utils/sysinfo",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/utils/tail",
|
"ImportPath": "github.com/google/cadvisor/utils/tail",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/validate",
|
"ImportPath": "github.com/google/cadvisor/validate",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/cadvisor/version",
|
"ImportPath": "github.com/google/cadvisor/version",
|
||||||
"Comment": "v0.24.0-alpha1-56-ga726d13",
|
"Comment": "v0.24.0-alpha1-82-gc30a9e7",
|
||||||
"Rev": "a726d13de8cb32860e73d72a78dc8e0124267709"
|
"Rev": "c30a9e7d3642fffb422f08be34a7bbc15d69cdbf"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/google/certificate-transparency/go",
|
"ImportPath": "github.com/google/certificate-transparency/go",
|
||||||
|
@ -1922,187 +1946,187 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud",
|
"ImportPath": "github.com/rackspace/gophercloud",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/blockstorage/v1/volumes",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/common/extensions",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/common/extensions",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/bootfromvolume",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/diskconfig",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/extensions/volumeattach",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/flavors",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/images",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/compute/v2/servers",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tenants",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v2/tokens",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/extensions/trust",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/extensions/trust",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/identity/v3/tokens",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/floatingips",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/floatingips",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/layer3/routers",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/members",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/monitors",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/pools",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/vips",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas/vips",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/listeners",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/loadbalancers",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/monitors",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/lbaas_v2/pools",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/groups",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/extensions/security/rules",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/ports",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/networking/v2/ports",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/openstack/utils",
|
"ImportPath": "github.com/rackspace/gophercloud/openstack/utils",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/pagination",
|
"ImportPath": "github.com/rackspace/gophercloud/pagination",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/rackspace",
|
"ImportPath": "github.com/rackspace/gophercloud/rackspace",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes",
|
"ImportPath": "github.com/rackspace/gophercloud/rackspace/blockstorage/v1/volumes",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers",
|
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/servers",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach",
|
"ImportPath": "github.com/rackspace/gophercloud/rackspace/compute/v2/volumeattach",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens",
|
"ImportPath": "github.com/rackspace/gophercloud/rackspace/identity/v2/tokens",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/testhelper",
|
"ImportPath": "github.com/rackspace/gophercloud/testhelper",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "github.com/rackspace/gophercloud/testhelper/client",
|
"ImportPath": "github.com/rackspace/gophercloud/testhelper/client",
|
||||||
"Comment": "v1.0.0-1012-ge00690e",
|
"Comment": "v1.0.0-1012-ge00690e8",
|
||||||
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
"Rev": "e00690e87603abe613e9f02c816c7c4bef82e063"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -2639,43 +2663,43 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/args",
|
"ImportPath": "k8s.io/gengo/args",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/examples/deepcopy-gen/generators",
|
"ImportPath": "k8s.io/gengo/examples/deepcopy-gen/generators",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/examples/defaulter-gen/generators",
|
"ImportPath": "k8s.io/gengo/examples/defaulter-gen/generators",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/examples/import-boss/generators",
|
"ImportPath": "k8s.io/gengo/examples/import-boss/generators",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/examples/set-gen/generators",
|
"ImportPath": "k8s.io/gengo/examples/set-gen/generators",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/examples/set-gen/sets",
|
"ImportPath": "k8s.io/gengo/examples/set-gen/sets",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/generator",
|
"ImportPath": "k8s.io/gengo/generator",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/namer",
|
"ImportPath": "k8s.io/gengo/namer",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/parser",
|
"ImportPath": "k8s.io/gengo/parser",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/gengo/types",
|
"ImportPath": "k8s.io/gengo/types",
|
||||||
"Rev": "3c6a809462caf39389d70d9ea787ed24c5acffed"
|
"Rev": "c118aa8edfff53fe5b69127a970f54b6cf3a7563"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"ImportPath": "k8s.io/heapster/metrics/api/v1/types",
|
"ImportPath": "k8s.io/heapster/metrics/api/v1/types",
|
||||||
|
|
1290
vendor/k8s.io/kubernetes/Godeps/LICENSES
generated
vendored
1290
vendor/k8s.io/kubernetes/Godeps/LICENSES
generated
vendored
File diff suppressed because it is too large
Load diff
18
vendor/k8s.io/kubernetes/Makefile
generated
vendored
18
vendor/k8s.io/kubernetes/Makefile
generated
vendored
|
@ -470,7 +470,7 @@ help:
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Non-dockerized bazel rules.
|
# Non-dockerized bazel rules.
|
||||||
.PHONY: bazel-build bazel-test
|
.PHONY: bazel-build bazel-test bazel-release
|
||||||
|
|
||||||
ifeq ($(PRINT_HELP),y)
|
ifeq ($(PRINT_HELP),y)
|
||||||
define BAZEL_BUILD_HELP_INFO
|
define BAZEL_BUILD_HELP_INFO
|
||||||
|
@ -498,5 +498,19 @@ endef
|
||||||
@echo "$$BAZEL_TEST_HELP_INFO"
|
@echo "$$BAZEL_TEST_HELP_INFO"
|
||||||
else
|
else
|
||||||
bazel-test:
|
bazel-test:
|
||||||
bazel test --test_output=errors //cmd/... //pkg/... //federation/... //plugin/... //build/... //third_party/... //hack/...
|
bazel test //cmd/... //pkg/... //federation/... //plugin/... //build/... //third_party/... //hack/... //hack:verify-all
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(PRINT_HELP),y)
|
||||||
|
define BAZEL_BUILD_HELP_INFO
|
||||||
|
# Build release tars with bazel
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# make bazel-release
|
||||||
|
endef
|
||||||
|
bazel-release:
|
||||||
|
@echo "$$BAZEL_BUILD_HELP_INFO"
|
||||||
|
else
|
||||||
|
bazel-release:
|
||||||
|
bazel build //build/release-tars
|
||||||
endif
|
endif
|
||||||
|
|
9
vendor/k8s.io/kubernetes/OWNERS
generated
vendored
9
vendor/k8s.io/kubernetes/OWNERS
generated
vendored
|
@ -1,4 +1,11 @@
|
||||||
assignees:
|
reviewers:
|
||||||
|
- brendandburns
|
||||||
|
- dchen1107
|
||||||
|
- jbeda
|
||||||
|
- lavalamp
|
||||||
|
- smarterclayton
|
||||||
|
- thockin
|
||||||
|
approvers:
|
||||||
- bgrant0607
|
- bgrant0607
|
||||||
- brendandburns
|
- brendandburns
|
||||||
- dchen1107
|
- dchen1107
|
||||||
|
|
18
vendor/k8s.io/kubernetes/OWNERS_ALIASES
generated
vendored
18
vendor/k8s.io/kubernetes/OWNERS_ALIASES
generated
vendored
|
@ -29,3 +29,21 @@ aliases:
|
||||||
- ixdy
|
- ixdy
|
||||||
- rmmh
|
- rmmh
|
||||||
- spxtr
|
- spxtr
|
||||||
|
sig-node-reviewers:
|
||||||
|
- Random-Liu
|
||||||
|
- dashpole
|
||||||
|
- dchen1107
|
||||||
|
- derekwaynecarr
|
||||||
|
- dims
|
||||||
|
- euank
|
||||||
|
- feiskyer
|
||||||
|
- mtaufen
|
||||||
|
- ncdc
|
||||||
|
- pmorie
|
||||||
|
- resouer
|
||||||
|
- sjpotter
|
||||||
|
- timstclair
|
||||||
|
- tmrts
|
||||||
|
- vishh
|
||||||
|
- yifan-gu
|
||||||
|
- yujuhong
|
||||||
|
|
10
vendor/k8s.io/kubernetes/WORKSPACE
generated
vendored
10
vendor/k8s.io/kubernetes/WORKSPACE
generated
vendored
|
@ -10,6 +10,12 @@ git_repository(
|
||||||
remote = "https://github.com/kubernetes/release.git",
|
remote = "https://github.com/kubernetes/release.git",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
git_repository(
|
||||||
|
name = "io_bazel",
|
||||||
|
commit = "3b29803eb528ff525c7024190ffbf4b08c598cf2",
|
||||||
|
remote = "https://github.com/ixdy/bazel.git",
|
||||||
|
)
|
||||||
|
|
||||||
load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
|
load("@io_bazel_rules_go//go:def.bzl", "go_repositories")
|
||||||
|
|
||||||
go_repositories()
|
go_repositories()
|
||||||
|
@ -23,8 +29,8 @@ debs = (
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"libc_deb",
|
"libc_deb",
|
||||||
"ee4d9dea08728e2c2bbf43d819c3c7e61798245fab4b983ae910865980f791ad",
|
"6bbd506b171a9f29b09fde77e2749c0aa0c1439058df9d1a6408d464069b7dd6",
|
||||||
"http://ftp.us.debian.org/debian/pool/main/g/glibc/libc6_2.19-18+deb8u6_amd64.deb",
|
"http://ftp.us.debian.org/debian/pool/main/g/glibc/libc6_2.24-9_amd64.deb",
|
||||||
),
|
),
|
||||||
(
|
(
|
||||||
"iptables_deb",
|
"iptables_deb",
|
||||||
|
|
3210
vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json
generated
vendored
3210
vendor/k8s.io/kubernetes/api/openapi-spec/swagger.json
generated
vendored
File diff suppressed because it is too large
Load diff
54
vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json
generated
vendored
54
vendor/k8s.io/kubernetes/api/swagger-spec/apps_v1beta1.json
generated
vendored
|
@ -1353,6 +1353,10 @@
|
||||||
"affinity": {
|
"affinity": {
|
||||||
"$ref": "v1.Affinity",
|
"$ref": "v1.Affinity",
|
||||||
"description": "If specified, the pod's scheduling constraints"
|
"description": "If specified, the pod's scheduling constraints"
|
||||||
|
},
|
||||||
|
"schedulername": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1570,12 +1574,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2001,12 +2009,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2187,7 +2199,11 @@
|
||||||
},
|
},
|
||||||
"terminationMessagePath": {
|
"terminationMessagePath": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated."
|
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated."
|
||||||
|
},
|
||||||
|
"terminationMessagePolicy": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated."
|
||||||
},
|
},
|
||||||
"imagePullPolicy": {
|
"imagePullPolicy": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -2253,6 +2269,10 @@
|
||||||
"configMapRef": {
|
"configMapRef": {
|
||||||
"$ref": "v1.ConfigMapEnvSource",
|
"$ref": "v1.ConfigMapEnvSource",
|
||||||
"description": "The ConfigMap to select from"
|
"description": "The ConfigMap to select from"
|
||||||
|
},
|
||||||
|
"secretRef": {
|
||||||
|
"$ref": "v1.SecretEnvSource",
|
||||||
|
"description": "The Secret to select from"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2263,6 +2283,24 @@
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap must be defined"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"v1.SecretEnvSource": {
|
||||||
|
"id": "v1.SecretEnvSource",
|
||||||
|
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2323,6 +2361,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key to select."
|
"description": "The key to select."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2340,6 +2382,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key of the secret to select from. Must be a valid secret key."
|
"description": "The key of the secret to select from. Must be a valid secret key."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3040,7 +3086,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
2
vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json
generated
vendored
2
vendor/k8s.io/kubernetes/api/swagger-spec/autoscaling_v1.json
generated
vendored
|
@ -1371,7 +1371,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
54
vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json
generated
vendored
54
vendor/k8s.io/kubernetes/api/swagger-spec/batch_v1.json
generated
vendored
|
@ -1358,6 +1358,10 @@
|
||||||
"affinity": {
|
"affinity": {
|
||||||
"$ref": "v1.Affinity",
|
"$ref": "v1.Affinity",
|
||||||
"description": "If specified, the pod's scheduling constraints"
|
"description": "If specified, the pod's scheduling constraints"
|
||||||
|
},
|
||||||
|
"schedulername": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -1575,12 +1579,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2006,12 +2014,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2192,7 +2204,11 @@
|
||||||
},
|
},
|
||||||
"terminationMessagePath": {
|
"terminationMessagePath": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated."
|
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated."
|
||||||
|
},
|
||||||
|
"terminationMessagePolicy": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated."
|
||||||
},
|
},
|
||||||
"imagePullPolicy": {
|
"imagePullPolicy": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -2258,6 +2274,10 @@
|
||||||
"configMapRef": {
|
"configMapRef": {
|
||||||
"$ref": "v1.ConfigMapEnvSource",
|
"$ref": "v1.ConfigMapEnvSource",
|
||||||
"description": "The ConfigMap to select from"
|
"description": "The ConfigMap to select from"
|
||||||
|
},
|
||||||
|
"secretRef": {
|
||||||
|
"$ref": "v1.SecretEnvSource",
|
||||||
|
"description": "The Secret to select from"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2268,6 +2288,24 @@
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap must be defined"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"v1.SecretEnvSource": {
|
||||||
|
"id": "v1.SecretEnvSource",
|
||||||
|
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2328,6 +2366,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key to select."
|
"description": "The key to select."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -2345,6 +2387,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key of the secret to select from. Must be a valid secret key."
|
"description": "The key of the secret to select from. Must be a valid secret key."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -3020,7 +3066,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
1173
vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json
generated
vendored
Normal file
1173
vendor/k8s.io/kubernetes/api/swagger-spec/certificates.k8s.io_v1beta1.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
54
vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json
generated
vendored
54
vendor/k8s.io/kubernetes/api/swagger-spec/extensions_v1beta1.json
generated
vendored
|
@ -7730,6 +7730,10 @@
|
||||||
"affinity": {
|
"affinity": {
|
||||||
"$ref": "v1.Affinity",
|
"$ref": "v1.Affinity",
|
||||||
"description": "If specified, the pod's scheduling constraints"
|
"description": "If specified, the pod's scheduling constraints"
|
||||||
|
},
|
||||||
|
"schedulername": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -7947,12 +7951,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8378,12 +8386,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8564,7 +8576,11 @@
|
||||||
},
|
},
|
||||||
"terminationMessagePath": {
|
"terminationMessagePath": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated."
|
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated."
|
||||||
|
},
|
||||||
|
"terminationMessagePolicy": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated."
|
||||||
},
|
},
|
||||||
"imagePullPolicy": {
|
"imagePullPolicy": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -8630,6 +8646,10 @@
|
||||||
"configMapRef": {
|
"configMapRef": {
|
||||||
"$ref": "v1.ConfigMapEnvSource",
|
"$ref": "v1.ConfigMapEnvSource",
|
||||||
"description": "The ConfigMap to select from"
|
"description": "The ConfigMap to select from"
|
||||||
|
},
|
||||||
|
"secretRef": {
|
||||||
|
"$ref": "v1.SecretEnvSource",
|
||||||
|
"description": "The Secret to select from"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8640,6 +8660,24 @@
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap must be defined"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"v1.SecretEnvSource": {
|
||||||
|
"id": "v1.SecretEnvSource",
|
||||||
|
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8700,6 +8738,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key to select."
|
"description": "The key to select."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -8717,6 +8759,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key of the secret to select from. Must be a valid secret key."
|
"description": "The key of the secret to select from. Must be a valid secret key."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -9359,7 +9405,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
2
vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json
generated
vendored
2
vendor/k8s.io/kubernetes/api/swagger-spec/policy_v1beta1.json
generated
vendored
|
@ -1381,7 +1381,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
6
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json
generated
vendored
6
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1alpha1.json
generated
vendored
|
@ -3068,7 +3068,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -3177,10 +3177,6 @@
|
||||||
},
|
},
|
||||||
"description": "Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds."
|
"description": "Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds."
|
||||||
},
|
},
|
||||||
"attributeRestrictions": {
|
|
||||||
"type": "string",
|
|
||||||
"description": "AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error."
|
|
||||||
},
|
|
||||||
"apiGroups": {
|
"apiGroups": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"items": {
|
"items": {
|
||||||
|
|
3388
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json
generated
vendored
Normal file
3388
vendor/k8s.io/kubernetes/api/swagger-spec/rbac.authorization.k8s.io_v1beta1.json
generated
vendored
Normal file
File diff suppressed because it is too large
Load diff
8
vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json
generated
vendored
8
vendor/k8s.io/kubernetes/api/swagger-spec/resourceListing.json
generated
vendored
|
@ -66,8 +66,8 @@
|
||||||
"description": "get information of a group"
|
"description": "get information of a group"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "/apis/certificates.k8s.io/v1alpha1",
|
"path": "/apis/certificates.k8s.io/v1beta1",
|
||||||
"description": "API at /apis/certificates.k8s.io/v1alpha1"
|
"description": "API at /apis/certificates.k8s.io/v1beta1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "/apis/certificates.k8s.io",
|
"path": "/apis/certificates.k8s.io",
|
||||||
|
@ -89,6 +89,10 @@
|
||||||
"path": "/apis/policy",
|
"path": "/apis/policy",
|
||||||
"description": "get information of a group"
|
"description": "get information of a group"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "/apis/rbac.authorization.k8s.io/v1beta1",
|
||||||
|
"description": "API at /apis/rbac.authorization.k8s.io/v1beta1"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "/apis/rbac.authorization.k8s.io/v1alpha1",
|
"path": "/apis/rbac.authorization.k8s.io/v1alpha1",
|
||||||
"description": "API at /apis/rbac.authorization.k8s.io/v1alpha1"
|
"description": "API at /apis/rbac.authorization.k8s.io/v1alpha1"
|
||||||
|
|
2
vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json
generated
vendored
2
vendor/k8s.io/kubernetes/api/swagger-spec/storage.k8s.io_v1beta1.json
generated
vendored
|
@ -894,7 +894,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
|
54
vendor/k8s.io/kubernetes/api/swagger-spec/v1.json
generated
vendored
54
vendor/k8s.io/kubernetes/api/swagger-spec/v1.json
generated
vendored
|
@ -16597,7 +16597,7 @@
|
||||||
},
|
},
|
||||||
"v1.DeleteOptions": {
|
"v1.DeleteOptions": {
|
||||||
"id": "v1.DeleteOptions",
|
"id": "v1.DeleteOptions",
|
||||||
"description": "DeleteOptions may be provided when deleting an API object",
|
"description": "DeleteOptions may be provided when deleting an API object.",
|
||||||
"properties": {
|
"properties": {
|
||||||
"kind": {
|
"kind": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -18272,6 +18272,10 @@
|
||||||
"affinity": {
|
"affinity": {
|
||||||
"$ref": "v1.Affinity",
|
"$ref": "v1.Affinity",
|
||||||
"description": "If specified, the pod's scheduling constraints"
|
"description": "If specified, the pod's scheduling constraints"
|
||||||
|
},
|
||||||
|
"schedulername": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "If specified, the pod will be dispatched by specified scheduler. If not specified, the pod will be dispatched by default scheduler."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18424,12 +18428,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced Secret will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the Secret, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18568,12 +18576,16 @@
|
||||||
"items": {
|
"items": {
|
||||||
"$ref": "v1.KeyToPath"
|
"$ref": "v1.KeyToPath"
|
||||||
},
|
},
|
||||||
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error. Paths must be relative and may not contain the '..' path or start with '..'."
|
"description": "If unspecified, each key-value pair in the Data field of the referenced ConfigMap will be projected into the volume as a file whose name is the key and content is the value. If specified, the listed keys will be projected into the specified paths, and unlisted keys will not be present. If a key is specified which is not present in the ConfigMap, the volume setup will error unless it is marked optional. Paths must be relative and may not contain the '..' path or start with '..'."
|
||||||
},
|
},
|
||||||
"defaultMode": {
|
"defaultMode": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
"description": "Optional: mode bits to use on created files by default. Must be a value between 0 and 0777. Defaults to 0644. Directories within the path are not affected by this setting. This might be in conflict with other options that affect the file mode, like fsGroup, and the result can be other mode bits set."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's keys must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18656,7 +18668,11 @@
|
||||||
},
|
},
|
||||||
"terminationMessagePath": {
|
"terminationMessagePath": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Defaults to /dev/termination-log. Cannot be updated."
|
"description": "Optional: Path at which the file to which the container's termination message will be written is mounted into the container's filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log. Cannot be updated."
|
||||||
|
},
|
||||||
|
"terminationMessagePolicy": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated."
|
||||||
},
|
},
|
||||||
"imagePullPolicy": {
|
"imagePullPolicy": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
|
@ -18722,6 +18738,10 @@
|
||||||
"configMapRef": {
|
"configMapRef": {
|
||||||
"$ref": "v1.ConfigMapEnvSource",
|
"$ref": "v1.ConfigMapEnvSource",
|
||||||
"description": "The ConfigMap to select from"
|
"description": "The ConfigMap to select from"
|
||||||
|
},
|
||||||
|
"secretRef": {
|
||||||
|
"$ref": "v1.SecretEnvSource",
|
||||||
|
"description": "The Secret to select from"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18732,6 +18752,24 @@
|
||||||
"name": {
|
"name": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap must be defined"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"v1.SecretEnvSource": {
|
||||||
|
"id": "v1.SecretEnvSource",
|
||||||
|
"description": "SecretEnvSource selects a Secret to populate the environment variables with.\n\nThe contents of the target Secret's Data field will represent the key-value pairs as environment variables.",
|
||||||
|
"properties": {
|
||||||
|
"name": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "Name of the referent. More info: http://kubernetes.io/docs/user-guide/identifiers#names"
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18792,6 +18830,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key to select."
|
"description": "The key to select."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the ConfigMap or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -18809,6 +18851,10 @@
|
||||||
"key": {
|
"key": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "The key of the secret to select from. Must be a valid secret key."
|
"description": "The key of the secret to select from. Must be a valid secret key."
|
||||||
|
},
|
||||||
|
"optional": {
|
||||||
|
"type": "boolean",
|
||||||
|
"description": "Specify whether the Secret or it's key must be defined"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
94
vendor/k8s.io/kubernetes/build/BUILD
generated
vendored
94
vendor/k8s.io/kubernetes/build/BUILD
generated
vendored
|
@ -1,6 +1,22 @@
|
||||||
package(default_visibility = ["//visibility:public"])
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
load("@bazel_tools//tools/build_defs/docker:docker.bzl", "docker_build")
|
load("@io_bazel//tools/build_defs/docker:docker.bzl", "docker_build")
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [
|
||||||
|
":package-srcs",
|
||||||
|
"//build/debs:all-srcs",
|
||||||
|
"//build/release-tars:all-srcs",
|
||||||
|
],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
||||||
|
|
||||||
docker_build(
|
docker_build(
|
||||||
name = "busybox",
|
name = "busybox",
|
||||||
|
@ -34,43 +50,59 @@ docker_build(
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
DOCKERIZED_BINARIES = {
|
||||||
|
"kube-apiserver": {
|
||||||
|
"base": ":busybox-libc",
|
||||||
|
"target": "//cmd/kube-apiserver:kube-apiserver",
|
||||||
|
},
|
||||||
|
"kube-controller-manager": {
|
||||||
|
"base": ":busybox-libc",
|
||||||
|
"target": "//cmd/kube-controller-manager:kube-controller-manager",
|
||||||
|
},
|
||||||
|
"kube-scheduler": {
|
||||||
|
"base": ":busybox-libc",
|
||||||
|
"target": "//plugin/cmd/kube-scheduler:kube-scheduler",
|
||||||
|
},
|
||||||
|
"kube-aggregator": {
|
||||||
|
"base": ":busybox-libc",
|
||||||
|
"target": "//cmd/kube-aggregator:kube-aggregator",
|
||||||
|
},
|
||||||
|
"kube-proxy": {
|
||||||
|
"base": ":busybox-net",
|
||||||
|
"target": "//cmd/kube-proxy:kube-proxy",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
[genrule(
|
||||||
|
name = binary + "_docker_tag",
|
||||||
|
srcs = [meta["target"]],
|
||||||
|
outs = [binary + ".docker_tag"],
|
||||||
|
# Currently each target has two outputs, the binary and its library, so hash only the first item (the binary).
|
||||||
|
# This can be made less hacky when we have static linking working.
|
||||||
|
cmd = "md5sum $(locations " + meta["target"] + ") | grep '" + binary + "'$$ | cut -f1 -d' ' | tr -d '\n' > $@",
|
||||||
|
) for binary, meta in DOCKERIZED_BINARIES.items()]
|
||||||
|
|
||||||
[docker_build(
|
[docker_build(
|
||||||
name = binary,
|
name = binary,
|
||||||
base = ":busybox-libc",
|
base = meta["base"],
|
||||||
cmd = ["/usr/bin/" + binary],
|
cmd = ["/usr/bin/" + binary],
|
||||||
debs = [
|
debs = [
|
||||||
"//build/debs:%s.deb" % binary,
|
"//build/debs:%s.deb" % binary,
|
||||||
],
|
],
|
||||||
repository = "gcr.io/google-containers",
|
image_tags = [
|
||||||
) for binary in [
|
"@%s.docker_tag" % binary,
|
||||||
"kube-apiserver",
|
|
||||||
"kube-controller-manager",
|
|
||||||
"kube-scheduler",
|
|
||||||
"kube-aggregator",
|
|
||||||
]]
|
|
||||||
|
|
||||||
docker_build(
|
|
||||||
name = "kube-proxy",
|
|
||||||
base = ":busybox-net",
|
|
||||||
cmd = ["/usr/bin/kube-proxy"],
|
|
||||||
debs = [
|
|
||||||
"//build/debs:kube-proxy.deb",
|
|
||||||
],
|
],
|
||||||
repository = "gcr.io/google-containers",
|
repository = "gcr.io/google_containers/" + binary,
|
||||||
)
|
repository_append_package = False,
|
||||||
|
symlinks = {
|
||||||
|
# Some cluster startup scripts expect to find the binaries in /usr/local/bin,
|
||||||
|
# but the debs install the binaries into /usr/bin.
|
||||||
|
"/usr/local/bin/" + binary: "/usr/bin/" + binary,
|
||||||
|
},
|
||||||
|
) for binary, meta in DOCKERIZED_BINARIES.items()]
|
||||||
|
|
||||||
filegroup(
|
filegroup(
|
||||||
name = "package-srcs",
|
name = "docker-artifacts",
|
||||||
srcs = glob(["**"]),
|
srcs = [":%s.tar" % binary for binary in DOCKERIZED_BINARIES.keys()] +
|
||||||
tags = ["automanaged"],
|
[":%s.docker_tag" % binary for binary in DOCKERIZED_BINARIES.keys()],
|
||||||
visibility = ["//visibility:private"],
|
|
||||||
)
|
|
||||||
|
|
||||||
filegroup(
|
|
||||||
name = "all-srcs",
|
|
||||||
srcs = [
|
|
||||||
":package-srcs",
|
|
||||||
"//build/debs:all-srcs",
|
|
||||||
],
|
|
||||||
tags = ["automanaged"],
|
|
||||||
)
|
)
|
||||||
|
|
8
vendor/k8s.io/kubernetes/build/OWNERS
generated
vendored
8
vendor/k8s.io/kubernetes/build/OWNERS
generated
vendored
|
@ -1,4 +1,10 @@
|
||||||
assignees:
|
reviewers:
|
||||||
|
- ihmccreery
|
||||||
|
- ixdy
|
||||||
|
- jbeda
|
||||||
|
- lavalamp
|
||||||
|
- zmerlynn
|
||||||
|
approvers:
|
||||||
- ihmccreery
|
- ihmccreery
|
||||||
- ixdy
|
- ixdy
|
||||||
- jbeda
|
- jbeda
|
||||||
|
|
43
vendor/k8s.io/kubernetes/build/lib/release.sh
generated
vendored
43
vendor/k8s.io/kubernetes/build/lib/release.sh
generated
vendored
|
@ -356,34 +356,37 @@ function kube::release::package_salt_tarball() {
|
||||||
function kube::release::package_kube_manifests_tarball() {
|
function kube::release::package_kube_manifests_tarball() {
|
||||||
kube::log::status "Building tarball: manifests"
|
kube::log::status "Building tarball: manifests"
|
||||||
|
|
||||||
|
local salt_dir="${KUBE_ROOT}/cluster/saltbase/salt"
|
||||||
|
|
||||||
local release_stage="${RELEASE_STAGE}/manifests/kubernetes"
|
local release_stage="${RELEASE_STAGE}/manifests/kubernetes"
|
||||||
rm -rf "${release_stage}"
|
rm -rf "${release_stage}"
|
||||||
local dst_dir="${release_stage}/gci-trusty"
|
|
||||||
mkdir -p "${dst_dir}"
|
|
||||||
|
|
||||||
local salt_dir="${KUBE_ROOT}/cluster/saltbase/salt"
|
mkdir -p "${release_stage}"
|
||||||
cp "${salt_dir}/cluster-autoscaler/cluster-autoscaler.manifest" "${dst_dir}/"
|
|
||||||
cp "${salt_dir}/fluentd-gcp/fluentd-gcp.yaml" "${release_stage}/"
|
cp "${salt_dir}/fluentd-gcp/fluentd-gcp.yaml" "${release_stage}/"
|
||||||
cp "${salt_dir}/kube-registry-proxy/kube-registry-proxy.yaml" "${release_stage}/"
|
cp "${salt_dir}/kube-registry-proxy/kube-registry-proxy.yaml" "${release_stage}/"
|
||||||
cp "${salt_dir}/kube-proxy/kube-proxy.manifest" "${release_stage}/"
|
cp "${salt_dir}/kube-proxy/kube-proxy.manifest" "${release_stage}/"
|
||||||
cp "${salt_dir}/etcd/etcd.manifest" "${dst_dir}"
|
|
||||||
cp "${salt_dir}/kube-scheduler/kube-scheduler.manifest" "${dst_dir}"
|
local gci_dst_dir="${release_stage}/gci-trusty"
|
||||||
cp "${salt_dir}/kube-apiserver/kube-apiserver.manifest" "${dst_dir}"
|
mkdir -p "${gci_dst_dir}"
|
||||||
cp "${salt_dir}/kube-apiserver/abac-authz-policy.jsonl" "${dst_dir}"
|
cp "${salt_dir}/cluster-autoscaler/cluster-autoscaler.manifest" "${gci_dst_dir}/"
|
||||||
cp "${salt_dir}/kube-controller-manager/kube-controller-manager.manifest" "${dst_dir}"
|
cp "${salt_dir}/etcd/etcd.manifest" "${gci_dst_dir}"
|
||||||
cp "${salt_dir}/kube-addons/kube-addon-manager.yaml" "${dst_dir}"
|
cp "${salt_dir}/kube-scheduler/kube-scheduler.manifest" "${gci_dst_dir}"
|
||||||
cp "${salt_dir}/l7-gcp/glbc.manifest" "${dst_dir}"
|
cp "${salt_dir}/kube-apiserver/kube-apiserver.manifest" "${gci_dst_dir}"
|
||||||
cp "${salt_dir}/rescheduler/rescheduler.manifest" "${dst_dir}/"
|
cp "${salt_dir}/kube-apiserver/abac-authz-policy.jsonl" "${gci_dst_dir}"
|
||||||
cp "${salt_dir}/e2e-image-puller/e2e-image-puller.manifest" "${dst_dir}/"
|
cp "${salt_dir}/kube-controller-manager/kube-controller-manager.manifest" "${gci_dst_dir}"
|
||||||
cp "${KUBE_ROOT}/cluster/gce/trusty/configure-helper.sh" "${dst_dir}/trusty-configure-helper.sh"
|
cp "${salt_dir}/kube-addons/kube-addon-manager.yaml" "${gci_dst_dir}"
|
||||||
cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${dst_dir}/gci-configure-helper.sh"
|
cp "${salt_dir}/l7-gcp/glbc.manifest" "${gci_dst_dir}"
|
||||||
cp "${KUBE_ROOT}/cluster/gce/gci/mounter/mounter" "${dst_dir}/gci-mounter"
|
cp "${salt_dir}/rescheduler/rescheduler.manifest" "${gci_dst_dir}/"
|
||||||
cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${dst_dir}/health-monitor.sh"
|
cp "${salt_dir}/e2e-image-puller/e2e-image-puller.manifest" "${gci_dst_dir}/"
|
||||||
cp "${KUBE_ROOT}/cluster/gce/container-linux/configure-helper.sh" "${dst_dir}/container-linux-configure-helper.sh"
|
cp "${KUBE_ROOT}/cluster/gce/trusty/configure-helper.sh" "${gci_dst_dir}/trusty-configure-helper.sh"
|
||||||
cp -r "${salt_dir}/kube-admission-controls/limit-range" "${dst_dir}"
|
cp "${KUBE_ROOT}/cluster/gce/gci/configure-helper.sh" "${gci_dst_dir}/gci-configure-helper.sh"
|
||||||
|
cp "${KUBE_ROOT}/cluster/gce/gci/mounter/mounter" "${gci_dst_dir}/gci-mounter"
|
||||||
|
cp "${KUBE_ROOT}/cluster/gce/gci/health-monitor.sh" "${gci_dst_dir}/health-monitor.sh"
|
||||||
|
cp "${KUBE_ROOT}/cluster/gce/container-linux/configure-helper.sh" "${gci_dst_dir}/container-linux-configure-helper.sh"
|
||||||
|
cp -r "${salt_dir}/kube-admission-controls/limit-range" "${gci_dst_dir}"
|
||||||
local objects
|
local objects
|
||||||
objects=$(cd "${KUBE_ROOT}/cluster/addons" && find . \( -name \*.yaml -or -name \*.yaml.in -or -name \*.json \) | grep -v demo)
|
objects=$(cd "${KUBE_ROOT}/cluster/addons" && find . \( -name \*.yaml -or -name \*.yaml.in -or -name \*.json \) | grep -v demo)
|
||||||
tar c -C "${KUBE_ROOT}/cluster/addons" ${objects} | tar x -C "${dst_dir}"
|
tar c -C "${KUBE_ROOT}/cluster/addons" ${objects} | tar x -C "${gci_dst_dir}"
|
||||||
|
|
||||||
kube::release::clean_cruft
|
kube::release::clean_cruft
|
||||||
|
|
||||||
|
|
15
vendor/k8s.io/kubernetes/build/pause/Makefile
generated
vendored
15
vendor/k8s.io/kubernetes/build/pause/Makefile
generated
vendored
|
@ -12,7 +12,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
.PHONY: all push push-legacy container clean
|
.PHONY: all push push-legacy container clean orphan
|
||||||
|
|
||||||
REGISTRY ?= gcr.io/google_containers
|
REGISTRY ?= gcr.io/google_containers
|
||||||
IMAGE = $(REGISTRY)/pause-$(ARCH)
|
IMAGE = $(REGISTRY)/pause-$(ARCH)
|
||||||
|
@ -25,7 +25,7 @@ ARCH ?= amd64
|
||||||
|
|
||||||
ALL_ARCH = amd64 arm arm64 ppc64le s390x
|
ALL_ARCH = amd64 arm arm64 ppc64le s390x
|
||||||
|
|
||||||
CFLAGS = -Os -Wall -static
|
CFLAGS = -Os -Wall -Werror -static
|
||||||
KUBE_CROSS_IMAGE ?= gcr.io/google_containers/kube-cross
|
KUBE_CROSS_IMAGE ?= gcr.io/google_containers/kube-cross
|
||||||
KUBE_CROSS_VERSION ?= $(shell cat ../build-image/cross/VERSION)
|
KUBE_CROSS_VERSION ?= $(shell cat ../build-image/cross/VERSION)
|
||||||
|
|
||||||
|
@ -97,5 +97,16 @@ ifeq ($(ARCH),amd64)
|
||||||
endif
|
endif
|
||||||
touch $@
|
touch $@
|
||||||
|
|
||||||
|
# Useful for testing, not automatically included in container image
|
||||||
|
orphan: bin/orphan-$(ARCH)
|
||||||
|
bin/orphan-$(ARCH): orphan.c
|
||||||
|
mkdir -p bin
|
||||||
|
docker run -u $$(id -u):$$(id -g) -v $$(pwd):/build \
|
||||||
|
$(KUBE_CROSS_IMAGE):$(KUBE_CROSS_VERSION) \
|
||||||
|
/bin/bash -c "\
|
||||||
|
cd /build && \
|
||||||
|
$(TRIPLE)-gcc $(CFLAGS) -o $@ $^ && \
|
||||||
|
$(TRIPLE)-strip $@"
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -rf .container-* .push-* bin/
|
rm -rf .container-* .push-* bin/
|
||||||
|
|
|
@ -14,10 +14,23 @@ See the License for the specific language governing permissions and
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package types
|
/* Creates a zombie to be reaped by init. Useful for testing. */
|
||||||
|
|
||||||
// int64 is used as a safe bet against wrap-around (uid's are general
|
#include <stdio.h>
|
||||||
// int32) and to support uid_t -1, and -2.
|
#include <unistd.h>
|
||||||
|
|
||||||
type UnixUserID int64
|
int main() {
|
||||||
type UnixGroupID int64
|
pid_t pid;
|
||||||
|
pid = fork();
|
||||||
|
if (pid == 0) {
|
||||||
|
while (getppid() > 1)
|
||||||
|
;
|
||||||
|
printf("Child exiting: pid=%d ppid=%d\n", getpid(), getppid());
|
||||||
|
return 0;
|
||||||
|
} else if (pid > 0) {
|
||||||
|
printf("Parent exiting: pid=%d ppid=%d\n", getpid(), getppid());
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
perror("Could not create child");
|
||||||
|
return 1;
|
||||||
|
}
|
36
vendor/k8s.io/kubernetes/build/pause/pause.c
generated
vendored
36
vendor/k8s.io/kubernetes/build/pause/pause.c
generated
vendored
|
@ -17,20 +17,36 @@ limitations under the License.
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
static void sigdown(int signo) {
|
static void sigdown(int signo) {
|
||||||
psignal(signo, "shutting down, got signal");
|
psignal(signo, "Shutting down, got signal");
|
||||||
exit(0);
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void sigreap(int signo) {
|
||||||
|
while (waitpid(-1, NULL, WNOHANG) > 0)
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
if (signal(SIGINT, sigdown) == SIG_ERR)
|
if (getpid() != 1)
|
||||||
return 1;
|
/* Not an error because pause sees use outside of infra containers. */
|
||||||
if (signal(SIGTERM, sigdown) == SIG_ERR)
|
fprintf(stderr, "Warning: pause should be the first process in a pod\n");
|
||||||
return 2;
|
|
||||||
signal(SIGKILL, sigdown);
|
if (sigaction(SIGINT, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)
|
||||||
for (;;) pause();
|
return 1;
|
||||||
fprintf(stderr, "error: infinite loop terminated\n");
|
if (sigaction(SIGTERM, &(struct sigaction){.sa_handler = sigdown}, NULL) < 0)
|
||||||
return 42;
|
return 2;
|
||||||
|
if (sigaction(SIGCHLD, &(struct sigaction){.sa_handler = sigreap,
|
||||||
|
.sa_flags = SA_NOCLDSTOP},
|
||||||
|
NULL) < 0)
|
||||||
|
return 3;
|
||||||
|
|
||||||
|
for (;;)
|
||||||
|
pause();
|
||||||
|
fprintf(stderr, "Error: infinite loop terminated\n");
|
||||||
|
return 42;
|
||||||
}
|
}
|
||||||
|
|
261
vendor/k8s.io/kubernetes/build/release-tars/BUILD
generated
vendored
Normal file
261
vendor/k8s.io/kubernetes/build/release-tars/BUILD
generated
vendored
Normal file
|
@ -0,0 +1,261 @@
|
||||||
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "package-srcs",
|
||||||
|
srcs = glob(["**"]),
|
||||||
|
tags = ["automanaged"],
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "all-srcs",
|
||||||
|
srcs = [":package-srcs"],
|
||||||
|
tags = ["automanaged"],
|
||||||
|
)
|
||||||
|
|
||||||
|
config_setting(
|
||||||
|
name = "embed_license_targets",
|
||||||
|
values = {
|
||||||
|
"define": "EMBED_LICENSE_TARGETS=true",
|
||||||
|
},
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-src",
|
||||||
|
extension = "tar.gz",
|
||||||
|
files = [
|
||||||
|
"//:all-srcs",
|
||||||
|
],
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
strip_prefix = "//",
|
||||||
|
)
|
||||||
|
|
||||||
|
# FIXME: this should be configurable/auto-detected
|
||||||
|
PLATFORM_ARCH_STRING = "linux-amd64"
|
||||||
|
|
||||||
|
# KUBE_CLIENT_TARGETS
|
||||||
|
CLIENT_TARGETS = [
|
||||||
|
"//cmd/kubectl",
|
||||||
|
"//federation/cmd/kubefed",
|
||||||
|
]
|
||||||
|
|
||||||
|
# KUBE_NODE_TARGETS
|
||||||
|
NODE_TARGETS = [
|
||||||
|
"//cmd/kube-proxy",
|
||||||
|
"//cmd/kubelet",
|
||||||
|
]
|
||||||
|
|
||||||
|
# KUBE_SERVER_TARGETS
|
||||||
|
# No need to duplicate CLIENT_TARGETS or NODE_TARGETS here,
|
||||||
|
# since we include them in the actual build rule.
|
||||||
|
SERVER_TARGETS = [
|
||||||
|
"//cmd/hyperkube",
|
||||||
|
"//cmd/kube-aggregator",
|
||||||
|
"//cmd/kube-apiserver",
|
||||||
|
"//cmd/kube-controller-manager",
|
||||||
|
"//cmd/kube-discovery",
|
||||||
|
"//cmd/kubeadm",
|
||||||
|
"//plugin/cmd/kube-scheduler",
|
||||||
|
]
|
||||||
|
|
||||||
|
# kube::golang::test_targets
|
||||||
|
TEST_BINARY_TARGETS = [
|
||||||
|
"//cmd/gendocs",
|
||||||
|
"//cmd/genkubedocs",
|
||||||
|
"//cmd/genman",
|
||||||
|
"//cmd/genswaggertypedocs",
|
||||||
|
"//cmd/genyaml",
|
||||||
|
"//cmd/linkcheck",
|
||||||
|
"//cmd/mungedocs",
|
||||||
|
"//examples/k8petstore/web-server/src",
|
||||||
|
"//federation/cmd/genfeddocs",
|
||||||
|
"//test/e2e:e2e.test",
|
||||||
|
"//vendor:github.com/onsi/ginkgo/ginkgo_bin",
|
||||||
|
"//cmd/kubemark", # TODO: server platforms only
|
||||||
|
"//test/e2e_node:e2e_node.test", # TODO: server platforms only
|
||||||
|
]
|
||||||
|
|
||||||
|
TEST_PORTABLE_TARGETS = [
|
||||||
|
"//federation/develop:all-srcs",
|
||||||
|
"//hack:e2e.go",
|
||||||
|
"//hack:federated-ginkgo-e2e.sh",
|
||||||
|
"//hack:get-build.sh",
|
||||||
|
"//hack:ginkgo-e2e.sh",
|
||||||
|
"//hack/e2e-internal:all-srcs",
|
||||||
|
"//hack/lib:all-srcs",
|
||||||
|
"//test/e2e/testing-manifests:all-srcs",
|
||||||
|
"//test/kubemark:all-srcs",
|
||||||
|
]
|
||||||
|
|
||||||
|
# Included in node and server tarballs.
|
||||||
|
LICENSE_TARGETS = [
|
||||||
|
"//:Godeps/LICENSES",
|
||||||
|
":kubernetes-src.tar.gz",
|
||||||
|
]
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "_client-bin",
|
||||||
|
files = CLIENT_TARGETS,
|
||||||
|
mode = "0755",
|
||||||
|
package_dir = "client/bin",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-client-%s" % PLATFORM_ARCH_STRING,
|
||||||
|
extension = "tar.gz",
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
deps = [
|
||||||
|
":_client-bin",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "_node-bin",
|
||||||
|
files = NODE_TARGETS + CLIENT_TARGETS,
|
||||||
|
mode = "0755",
|
||||||
|
package_dir = "node/bin",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-node-%s" % PLATFORM_ARCH_STRING,
|
||||||
|
extension = "tar.gz",
|
||||||
|
files = select({
|
||||||
|
":embed_license_targets": LICENSE_TARGETS,
|
||||||
|
"//conditions:default": [],
|
||||||
|
}),
|
||||||
|
mode = "0644",
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
deps = [
|
||||||
|
":_node-bin",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "_server-bin",
|
||||||
|
files = SERVER_TARGETS + NODE_TARGETS + CLIENT_TARGETS + [
|
||||||
|
"//build:docker-artifacts",
|
||||||
|
],
|
||||||
|
mode = "0755",
|
||||||
|
package_dir = "server/bin",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
genrule(
|
||||||
|
name = "dummy",
|
||||||
|
outs = [".dummy"],
|
||||||
|
cmd = "touch $@",
|
||||||
|
)
|
||||||
|
|
||||||
|
# Some of the startup scripts fail if there isn't an addons/ directory in the server tarball.
|
||||||
|
pkg_tar(
|
||||||
|
name = "_server-addons",
|
||||||
|
files = [
|
||||||
|
":.dummy",
|
||||||
|
],
|
||||||
|
package_dir = "addons",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-server-%s" % PLATFORM_ARCH_STRING,
|
||||||
|
extension = "tar.gz",
|
||||||
|
files = select({
|
||||||
|
":embed_license_targets": LICENSE_TARGETS,
|
||||||
|
"//conditions:default": [],
|
||||||
|
}),
|
||||||
|
mode = "0644",
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
deps = [
|
||||||
|
":_server-addons",
|
||||||
|
":_server-bin",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "_test-bin",
|
||||||
|
files = TEST_BINARY_TARGETS,
|
||||||
|
mode = "0755",
|
||||||
|
package_dir = "platforms/" + PLATFORM_ARCH_STRING.replace("-", "/"),
|
||||||
|
# TODO: how to make this multiplatform?
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-test",
|
||||||
|
extension = "tar.gz",
|
||||||
|
files = TEST_PORTABLE_TARGETS,
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
strip_prefix = "//",
|
||||||
|
deps = [
|
||||||
|
# TODO: how to make this multiplatform?
|
||||||
|
":_test-bin",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "_full_server",
|
||||||
|
files = [
|
||||||
|
":kubernetes-manifests.tar.gz",
|
||||||
|
":kubernetes-salt.tar.gz",
|
||||||
|
],
|
||||||
|
package_dir = "server",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes",
|
||||||
|
extension = "tar.gz",
|
||||||
|
files = [
|
||||||
|
# TODO: the version file
|
||||||
|
"//:README.md",
|
||||||
|
"//:Vagrantfile",
|
||||||
|
"//cluster:all-srcs",
|
||||||
|
"//docs:all-srcs",
|
||||||
|
"//examples:all-srcs",
|
||||||
|
"//third_party/htpasswd:all-srcs",
|
||||||
|
] + select({
|
||||||
|
":embed_license_targets": ["//:Godeps/LICENSES"],
|
||||||
|
"//conditions:default": [],
|
||||||
|
}),
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
strip_prefix = "//",
|
||||||
|
deps = [
|
||||||
|
":_full_server",
|
||||||
|
"//federation:release",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-manifests",
|
||||||
|
extension = "tar.gz",
|
||||||
|
deps = [
|
||||||
|
"//cluster:manifests",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "kubernetes-salt",
|
||||||
|
extension = "tar.gz",
|
||||||
|
deps = [
|
||||||
|
"//cluster/saltbase:salt",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
filegroup(
|
||||||
|
name = "release-tars",
|
||||||
|
srcs = [
|
||||||
|
":kubernetes.tar.gz",
|
||||||
|
":kubernetes-client-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
||||||
|
":kubernetes-node-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
||||||
|
":kubernetes-server-%s.tar.gz" % PLATFORM_ARCH_STRING,
|
||||||
|
":kubernetes-manifests.tar.gz",
|
||||||
|
":kubernetes-salt.tar.gz",
|
||||||
|
":kubernetes-src.tar.gz",
|
||||||
|
":kubernetes-test.tar.gz",
|
||||||
|
],
|
||||||
|
)
|
27
vendor/k8s.io/kubernetes/cluster/BUILD
generated
vendored
27
vendor/k8s.io/kubernetes/cluster/BUILD
generated
vendored
|
@ -1,5 +1,7 @@
|
||||||
package(default_visibility = ["//visibility:public"])
|
package(default_visibility = ["//visibility:public"])
|
||||||
|
|
||||||
|
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
|
||||||
|
|
||||||
licenses(["notice"])
|
licenses(["notice"])
|
||||||
|
|
||||||
filegroup(
|
filegroup(
|
||||||
|
@ -14,6 +16,31 @@ filegroup(
|
||||||
srcs = [
|
srcs = [
|
||||||
":package-srcs",
|
":package-srcs",
|
||||||
"//cluster/addons:all-srcs",
|
"//cluster/addons:all-srcs",
|
||||||
|
"//cluster/gce:all-srcs",
|
||||||
|
"//cluster/saltbase:all-srcs",
|
||||||
],
|
],
|
||||||
tags = ["automanaged"],
|
tags = ["automanaged"],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# All of the manifests that are expected to be in a "gci-trusty"
|
||||||
|
# subdir of the manifests tarball.
|
||||||
|
pkg_tar(
|
||||||
|
name = "_manifests-gci-trusty",
|
||||||
|
package_dir = "gci-trusty",
|
||||||
|
visibility = ["//visibility:private"],
|
||||||
|
deps = [
|
||||||
|
"//cluster/addons",
|
||||||
|
"//cluster/gce:gci-trusty-manifests",
|
||||||
|
"//cluster/saltbase:gci-trusty-salt-manifests",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
||||||
|
pkg_tar(
|
||||||
|
name = "manifests",
|
||||||
|
mode = "0644",
|
||||||
|
package_dir = "kubernetes",
|
||||||
|
deps = [
|
||||||
|
":_manifests-gci-trusty",
|
||||||
|
"//cluster/saltbase:salt-manifests",
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|
8
vendor/k8s.io/kubernetes/cluster/OWNERS
generated
vendored
8
vendor/k8s.io/kubernetes/cluster/OWNERS
generated
vendored
|
@ -1,4 +1,10 @@
|
||||||
assignees:
|
reviewers:
|
||||||
|
- eparis
|
||||||
|
- jbeda
|
||||||
|
- mikedanese
|
||||||
|
- roberthbailey
|
||||||
|
- zmerlynn
|
||||||
|
approvers:
|
||||||
- eparis
|
- eparis
|
||||||
- jbeda
|
- jbeda
|
||||||
- mikedanese
|
- mikedanese
|
||||||
|
|
24
vendor/k8s.io/kubernetes/cluster/addons/BUILD
generated
vendored
24
vendor/k8s.io/kubernetes/cluster/addons/BUILD
generated
vendored
|
@ -4,21 +4,14 @@ load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
|
||||||
|
|
||||||
filegroup(
|
filegroup(
|
||||||
name = "addon-srcs",
|
name = "addon-srcs",
|
||||||
srcs = glob([
|
srcs = glob(
|
||||||
"calico-policy-controller/*",
|
[
|
||||||
"cluster-loadbalancing/*",
|
"**/*.json",
|
||||||
"cluster-monitoring/*",
|
"**/*.yaml",
|
||||||
"dashboard/*",
|
"**/*.yaml.in",
|
||||||
"dns/*",
|
],
|
||||||
"etcd-empty-dir-cleanup/*",
|
exclude = ["**/*demo*/**"],
|
||||||
"fluentd-elasticsearch/*",
|
),
|
||||||
"fluentd-gcp/*",
|
|
||||||
"gci/*",
|
|
||||||
"node-problem-detector/*",
|
|
||||||
"podsecuritypolicies/*",
|
|
||||||
"python-image/*",
|
|
||||||
"registry/*",
|
|
||||||
]),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
pkg_tar(
|
pkg_tar(
|
||||||
|
@ -27,6 +20,7 @@ pkg_tar(
|
||||||
files = [
|
files = [
|
||||||
":addon-srcs",
|
":addon-srcs",
|
||||||
],
|
],
|
||||||
|
mode = "0644",
|
||||||
strip_prefix = ".",
|
strip_prefix = ".",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
9
vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/OWNERS
generated
vendored
9
vendor/k8s.io/kubernetes/cluster/addons/cluster-monitoring/OWNERS
generated
vendored
|
@ -1,3 +1,6 @@
|
||||||
assignees:
|
approvers:
|
||||||
- DirectXMan12
|
- DirectXMan12
|
||||||
- piosz
|
- piosz
|
||||||
|
reviewers:
|
||||||
|
- DirectXMan12
|
||||||
|
- piosz
|
||||||
|
|
5
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/OWNERS
generated
vendored
5
vendor/k8s.io/kubernetes/cluster/addons/dns-horizontal-autoscaler/OWNERS
generated
vendored
|
@ -1,3 +1,6 @@
|
||||||
assignees:
|
approvers:
|
||||||
|
- bowei
|
||||||
|
- mrhohn
|
||||||
|
reviewers:
|
||||||
- bowei
|
- bowei
|
||||||
- mrhohn
|
- mrhohn
|
||||||
|
|
5
vendor/k8s.io/kubernetes/cluster/addons/dns/OWNERS
generated
vendored
5
vendor/k8s.io/kubernetes/cluster/addons/dns/OWNERS
generated
vendored
|
@ -1,3 +1,6 @@
|
||||||
assignees:
|
approvers:
|
||||||
|
- bowei
|
||||||
|
- mrhohn
|
||||||
|
reviewers:
|
||||||
- bowei
|
- bowei
|
||||||
- mrhohn
|
- mrhohn
|
||||||
|
|
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base
generated
vendored
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.base
generated
vendored
|
@ -47,7 +47,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: kubedns
|
- name: kubedns
|
||||||
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0
|
||||||
resources:
|
resources:
|
||||||
# TODO: Set memory limits when we've profiled the container for large
|
# TODO: Set memory limits when we've profiled the container for large
|
||||||
# clusters, then set request = limit to keep this container in
|
# clusters, then set request = limit to keep this container in
|
||||||
|
@ -96,7 +96,7 @@ spec:
|
||||||
name: metrics
|
name: metrics
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: dnsmasq
|
- name: dnsmasq
|
||||||
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthcheck/dnsmasq
|
path: /healthcheck/dnsmasq
|
||||||
|
@ -124,7 +124,7 @@ spec:
|
||||||
cpu: 150m
|
cpu: 150m
|
||||||
memory: 10Mi
|
memory: 10Mi
|
||||||
- name: sidecar
|
- name: sidecar
|
||||||
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /metrics
|
path: /metrics
|
||||||
|
|
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in
generated
vendored
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.in
generated
vendored
|
@ -47,7 +47,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: kubedns
|
- name: kubedns
|
||||||
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0
|
||||||
resources:
|
resources:
|
||||||
# TODO: Set memory limits when we've profiled the container for large
|
# TODO: Set memory limits when we've profiled the container for large
|
||||||
# clusters, then set request = limit to keep this container in
|
# clusters, then set request = limit to keep this container in
|
||||||
|
@ -96,7 +96,7 @@ spec:
|
||||||
name: metrics
|
name: metrics
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: dnsmasq
|
- name: dnsmasq
|
||||||
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthcheck/dnsmasq
|
path: /healthcheck/dnsmasq
|
||||||
|
@ -124,7 +124,7 @@ spec:
|
||||||
cpu: 150m
|
cpu: 150m
|
||||||
memory: 10Mi
|
memory: 10Mi
|
||||||
- name: sidecar
|
- name: sidecar
|
||||||
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /metrics
|
path: /metrics
|
||||||
|
|
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed
generated
vendored
6
vendor/k8s.io/kubernetes/cluster/addons/dns/kubedns-controller.yaml.sed
generated
vendored
|
@ -47,7 +47,7 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: kubedns
|
- name: kubedns
|
||||||
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-kube-dns-amd64:1.11.0
|
||||||
resources:
|
resources:
|
||||||
# TODO: Set memory limits when we've profiled the container for large
|
# TODO: Set memory limits when we've profiled the container for large
|
||||||
# clusters, then set request = limit to keep this container in
|
# clusters, then set request = limit to keep this container in
|
||||||
|
@ -95,7 +95,7 @@ spec:
|
||||||
name: metrics
|
name: metrics
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
- name: dnsmasq
|
- name: dnsmasq
|
||||||
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-dnsmasq-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /healthcheck/dnsmasq
|
path: /healthcheck/dnsmasq
|
||||||
|
@ -123,7 +123,7 @@ spec:
|
||||||
cpu: 150m
|
cpu: 150m
|
||||||
memory: 10Mi
|
memory: 10Mi
|
||||||
- name: sidecar
|
- name: sidecar
|
||||||
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.10.1
|
image: gcr.io/google_containers/k8s-dns-sidecar-amd64:1.11.0
|
||||||
livenessProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /metrics
|
path: /metrics
|
||||||
|
|
19
vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/e2e-user-binding.yaml
generated
vendored
19
vendor/k8s.io/kubernetes/cluster/addons/e2e-rbac-bindings/e2e-user-binding.yaml
generated
vendored
|
@ -1,19 +0,0 @@
|
||||||
# This is the main user for the e2e tests. This is ok to leave long term
|
|
||||||
# since the first user in the test can reasonably be high power
|
|
||||||
# its kubecfg in gce
|
|
||||||
# TODO consider provisioning each test its namespace and giving it an
|
|
||||||
# admin user. This still has to exist, but e2e wouldn't normally use it
|
|
||||||
apiVersion: rbac.authorization.k8s.io/v1alpha1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: e2e-user-cluster-admin
|
|
||||||
labels:
|
|
||||||
kubernetes.io/cluster-service: "true"
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: cluster-admin
|
|
||||||
subjects:
|
|
||||||
- apiVersion: rbac/v1alpha1
|
|
||||||
kind: User
|
|
||||||
name: kubecfg
|
|
9
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS
generated
vendored
9
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/OWNERS
generated
vendored
|
@ -1,3 +1,6 @@
|
||||||
assignees:
|
approvers:
|
||||||
- Crassirostris
|
- Crassirostris
|
||||||
- piosz
|
- piosz
|
||||||
|
reviewers:
|
||||||
|
- Crassirostris
|
||||||
|
- piosz
|
||||||
|
|
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml
generated
vendored
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-controller.yaml
generated
vendored
|
@ -20,7 +20,7 @@ spec:
|
||||||
kubernetes.io/cluster-service: "true"
|
kubernetes.io/cluster-service: "true"
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- image: gcr.io/google_containers/elasticsearch:v2.4.1
|
- image: gcr.io/google_containers/elasticsearch:v2.4.1-1
|
||||||
name: elasticsearch-logging
|
name: elasticsearch-logging
|
||||||
resources:
|
resources:
|
||||||
# need more cpu upon initialization, therefore burstable class
|
# need more cpu upon initialization, therefore burstable class
|
||||||
|
|
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile
generated
vendored
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/Makefile
generated
vendored
|
@ -16,7 +16,7 @@
|
||||||
|
|
||||||
# The current value of the tag to be used for building and
|
# The current value of the tag to be used for building and
|
||||||
# pushing an image to gcr.io
|
# pushing an image to gcr.io
|
||||||
TAG = v2.4.1
|
TAG = v2.4.1-1
|
||||||
|
|
||||||
build: elasticsearch_logging_discovery
|
build: elasticsearch_logging_discovery
|
||||||
docker build --pull -t gcr.io/google_containers/elasticsearch:$(TAG) .
|
docker build --pull -t gcr.io/google_containers/elasticsearch:$(TAG) .
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
cluster.name: kubernetes-logging
|
cluster.name: kubernetes-logging
|
||||||
|
|
||||||
|
node.name: ${NODE_NAME}
|
||||||
node.master: ${NODE_MASTER}
|
node.master: ${NODE_MASTER}
|
||||||
node.data: ${NODE_DATA}
|
node.data: ${NODE_DATA}
|
||||||
|
|
||||||
|
|
|
@ -24,9 +24,10 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/golang/glog"
|
"github.com/golang/glog"
|
||||||
|
meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
|
restclient "k8s.io/client-go/rest"
|
||||||
"k8s.io/kubernetes/pkg/api"
|
"k8s.io/kubernetes/pkg/api"
|
||||||
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||||
"k8s.io/kubernetes/pkg/client/restclient"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func flattenSubsets(subsets []api.EndpointSubset) []string {
|
func flattenSubsets(subsets []api.EndpointSubset) []string {
|
||||||
|
@ -52,10 +53,10 @@ func main() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
glog.Fatalf("Failed to make client: %v", err)
|
glog.Fatalf("Failed to make client: %v", err)
|
||||||
}
|
}
|
||||||
namespace := api.NamespaceSystem
|
namespace := metav1.NamespaceSystem
|
||||||
envNamespace := os.Getenv("NAMESPACE")
|
envNamespace := os.Getenv("NAMESPACE")
|
||||||
if envNamespace != "" {
|
if envNamespace != "" {
|
||||||
if _, err := client.Core().Namespaces().Get(envNamespace); err != nil {
|
if _, err := client.Core().Namespaces().Get(envNamespace, meta_v1.GetOptions{}); err != nil {
|
||||||
glog.Fatalf("%s namespace doesn't exist: %v", envNamespace, err)
|
glog.Fatalf("%s namespace doesn't exist: %v", envNamespace, err)
|
||||||
}
|
}
|
||||||
namespace = envNamespace
|
namespace = envNamespace
|
||||||
|
@ -65,7 +66,7 @@ func main() {
|
||||||
// Look for endpoints associated with the Elasticsearch loggging service.
|
// Look for endpoints associated with the Elasticsearch loggging service.
|
||||||
// First wait for the service to become available.
|
// First wait for the service to become available.
|
||||||
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
|
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
|
||||||
elasticsearch, err = client.Core().Services(namespace).Get("elasticsearch-logging")
|
elasticsearch, err = client.Core().Services(namespace).Get("elasticsearch-logging", meta_v1.GetOptions{})
|
||||||
if err == nil {
|
if err == nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
|
@ -82,7 +83,7 @@ func main() {
|
||||||
// Wait for some endpoints.
|
// Wait for some endpoints.
|
||||||
count := 0
|
count := 0
|
||||||
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
|
for t := time.Now(); time.Since(t) < 5*time.Minute; time.Sleep(10 * time.Second) {
|
||||||
endpoints, err = client.Core().Endpoints(namespace).Get("elasticsearch-logging")
|
endpoints, err = client.Core().Endpoints(namespace).Get("elasticsearch-logging", meta_v1.GetOptions{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
1
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh
generated
vendored
1
vendor/k8s.io/kubernetes/cluster/addons/fluentd-elasticsearch/es-image/run.sh
generated
vendored
|
@ -14,6 +14,7 @@
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
|
export NODE_NAME=${NODE_NAME:-${HOSTNAME}}
|
||||||
export NODE_MASTER=${NODE_MASTER:-true}
|
export NODE_MASTER=${NODE_MASTER:-true}
|
||||||
export NODE_DATA=${NODE_DATA:-true}
|
export NODE_DATA=${NODE_DATA:-true}
|
||||||
export HTTP_PORT=${HTTP_PORT:-9200}
|
export HTTP_PORT=${HTTP_PORT:-9200}
|
||||||
|
|
9
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS
generated
vendored
9
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/OWNERS
generated
vendored
|
@ -1,3 +1,6 @@
|
||||||
assignees:
|
approvers:
|
||||||
- Crassirostris
|
- Crassirostris
|
||||||
- piosz
|
- piosz
|
||||||
|
reviewers:
|
||||||
|
- Crassirostris
|
||||||
|
- piosz
|
||||||
|
|
13
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-ds.yaml
generated
vendored
13
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-ds.yaml
generated
vendored
|
@ -2,23 +2,23 @@
|
||||||
apiVersion: extensions/v1beta1
|
apiVersion: extensions/v1beta1
|
||||||
kind: DaemonSet
|
kind: DaemonSet
|
||||||
metadata:
|
metadata:
|
||||||
name: fluentd-gcp-v1.31
|
name: fluentd-gcp-v1.34
|
||||||
namespace: kube-system
|
namespace: kube-system
|
||||||
labels:
|
labels:
|
||||||
k8s-app: fluentd-gcp
|
k8s-app: fluentd-gcp
|
||||||
kubernetes.io/cluster-service: "true"
|
kubernetes.io/cluster-service: "true"
|
||||||
version: v1.31
|
version: v1.34
|
||||||
spec:
|
spec:
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
labels:
|
labels:
|
||||||
k8s-app: fluentd-gcp
|
k8s-app: fluentd-gcp
|
||||||
kubernetes.io/cluster-service: "true"
|
kubernetes.io/cluster-service: "true"
|
||||||
version: v1.31
|
version: v1.34
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: fluentd-gcp
|
- name: fluentd-gcp
|
||||||
image: gcr.io/google_containers/fluentd-gcp:1.32
|
image: gcr.io/google_containers/fluentd-gcp:1.34
|
||||||
# If fluentd consumes its own logs, the following situation may happen:
|
# If fluentd consumes its own logs, the following situation may happen:
|
||||||
# fluentd fails to send a chunk to the server => writes it to the log =>
|
# fluentd fails to send a chunk to the server => writes it to the log =>
|
||||||
# tries to send this message to the server => fails to send a chunk and so on.
|
# tries to send this message to the server => fails to send a chunk and so on.
|
||||||
|
@ -40,8 +40,6 @@ spec:
|
||||||
- name: varlibdockercontainers
|
- name: varlibdockercontainers
|
||||||
mountPath: /var/lib/docker/containers
|
mountPath: /var/lib/docker/containers
|
||||||
readOnly: true
|
readOnly: true
|
||||||
- name: libsystemddir
|
|
||||||
mountPath: /host/lib
|
|
||||||
# Liveness probe is aimed to help in situarions where fluentd
|
# Liveness probe is aimed to help in situarions where fluentd
|
||||||
# silently hangs for no apparent reasons until manual restart.
|
# silently hangs for no apparent reasons until manual restart.
|
||||||
# The idea of this probe is that if fluentd is not queueing or
|
# The idea of this probe is that if fluentd is not queueing or
|
||||||
|
@ -84,6 +82,3 @@ spec:
|
||||||
- name: varlibdockercontainers
|
- name: varlibdockercontainers
|
||||||
hostPath:
|
hostPath:
|
||||||
path: /var/lib/docker/containers
|
path: /var/lib/docker/containers
|
||||||
- name: libsystemddir
|
|
||||||
hostPath:
|
|
||||||
path: /usr/lib64
|
|
||||||
|
|
1
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Dockerfile
generated
vendored
1
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Dockerfile
generated
vendored
|
@ -36,6 +36,7 @@ RUN apt-get -qq update && \
|
||||||
td-agent-gem install --no-document fluent-plugin-record-reformer -v 0.8.2 && \
|
td-agent-gem install --no-document fluent-plugin-record-reformer -v 0.8.2 && \
|
||||||
td-agent-gem install --no-document fluent-plugin-systemd -v 0.0.5 && \
|
td-agent-gem install --no-document fluent-plugin-systemd -v 0.0.5 && \
|
||||||
td-agent-gem install --no-document fluent-plugin-google-cloud -v 0.5.2 && \
|
td-agent-gem install --no-document fluent-plugin-google-cloud -v 0.5.2 && \
|
||||||
|
td-agent-gem install --no-document fluent-plugin-detect-exceptions -v 0.0.4 && \
|
||||||
# Remove build tools
|
# Remove build tools
|
||||||
apt-get remove -y -qq gcc make && \
|
apt-get remove -y -qq gcc make && \
|
||||||
apt-get autoremove -y -qq && \
|
apt-get autoremove -y -qq && \
|
||||||
|
|
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Makefile
generated
vendored
2
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/Makefile
generated
vendored
|
@ -26,7 +26,7 @@
|
||||||
.PHONY: build push
|
.PHONY: build push
|
||||||
|
|
||||||
PREFIX=gcr.io/google_containers
|
PREFIX=gcr.io/google_containers
|
||||||
TAG = 1.32
|
TAG = 1.34
|
||||||
|
|
||||||
build:
|
build:
|
||||||
docker build --pull -t $(PREFIX)/fluentd-gcp:$(TAG) .
|
docker build --pull -t $(PREFIX)/fluentd-gcp:$(TAG) .
|
||||||
|
|
13
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/fluent.conf
generated
vendored
13
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/fluent.conf
generated
vendored
|
@ -70,7 +70,18 @@
|
||||||
<match reform.**>
|
<match reform.**>
|
||||||
type record_reformer
|
type record_reformer
|
||||||
enable_ruby true
|
enable_ruby true
|
||||||
tag kubernetes.${tag_suffix[4].split('-')[0..-2].join('-')}
|
tag raw.kubernetes.${tag_suffix[4].split('-')[0..-2].join('-')}
|
||||||
|
</match>
|
||||||
|
|
||||||
|
# Detect exceptions in the log output and forward them as one log entry.
|
||||||
|
<match raw.kubernetes.**>
|
||||||
|
type detect_exceptions
|
||||||
|
remove_tag_prefix raw
|
||||||
|
message log
|
||||||
|
stream stream
|
||||||
|
multiline_flush_interval 5
|
||||||
|
max_bytes 500000
|
||||||
|
max_lines 1000
|
||||||
</match>
|
</match>
|
||||||
|
|
||||||
# Example:
|
# Example:
|
||||||
|
|
6
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/run.sh
generated
vendored
6
vendor/k8s.io/kubernetes/cluster/addons/fluentd-gcp/fluentd-gcp-image/run.sh
generated
vendored
|
@ -17,12 +17,6 @@
|
||||||
# For systems without journald
|
# For systems without journald
|
||||||
mkdir -p /var/log/journal
|
mkdir -p /var/log/journal
|
||||||
|
|
||||||
if [ -e /host/lib/libsystemd* ]
|
|
||||||
then
|
|
||||||
rm /lib/x86_64-linux-gnu/libsystemd*
|
|
||||||
cp /host/lib/libsystemd* /lib/x86_64-linux-gnu/
|
|
||||||
fi
|
|
||||||
|
|
||||||
LD_PRELOAD=/opt/td-agent/embedded/lib/libjemalloc.so
|
LD_PRELOAD=/opt/td-agent/embedded/lib/libjemalloc.so
|
||||||
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0.9
|
RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=0.9
|
||||||
|
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue