182 lines
7.3 KiB
Protocol Buffer
182 lines
7.3 KiB
Protocol Buffer
|
/*
|
||
|
Copyright 2017 The Kubernetes Authors.
|
||
|
|
||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
you may not use this file except in compliance with the License.
|
||
|
You may obtain a copy of the License at
|
||
|
|
||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
||
|
Unless required by applicable law or agreed to in writing, software
|
||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
See the License for the specific language governing permissions and
|
||
|
limitations under the License.
|
||
|
*/
|
||
|
|
||
|
|
||
|
// This file was autogenerated by go-to-protobuf. Do not edit it manually!
|
||
|
|
||
|
syntax = 'proto2';
|
||
|
|
||
|
package k8s.io.api.apps.v1;
|
||
|
|
||
|
import "k8s.io/api/core/v1/generated.proto";
|
||
|
import "k8s.io/api/policy/v1beta1/generated.proto";
|
||
|
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||
|
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||
|
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||
|
import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
|
||
|
|
||
|
// Package-wide variables from generator "generated".
|
||
|
option go_package = "v1";
|
||
|
|
||
|
// DaemonSet represents the configuration of a daemon set.
|
||
|
message DaemonSet {
|
||
|
// Standard object's metadata.
|
||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||
|
// +optional
|
||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||
|
|
||
|
// The desired behavior of this daemon set.
|
||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||
|
// +optional
|
||
|
optional DaemonSetSpec spec = 2;
|
||
|
|
||
|
// The current status of this daemon set. This data may be
|
||
|
// out of date by some window of time.
|
||
|
// Populated by the system.
|
||
|
// Read-only.
|
||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
|
||
|
// +optional
|
||
|
optional DaemonSetStatus status = 3;
|
||
|
}
|
||
|
|
||
|
// DaemonSetList is a collection of daemon sets.
|
||
|
message DaemonSetList {
|
||
|
// Standard list metadata.
|
||
|
// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
|
||
|
// +optional
|
||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||
|
|
||
|
// A list of daemon sets.
|
||
|
repeated DaemonSet items = 2;
|
||
|
}
|
||
|
|
||
|
// DaemonSetSpec is the specification of a daemon set.
|
||
|
message DaemonSetSpec {
|
||
|
// A label query over pods that are managed by the daemon set.
|
||
|
// Must match in order to be controlled.
|
||
|
// If empty, defaulted to labels on Pod template.
|
||
|
// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
|
||
|
// +optional
|
||
|
optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 1;
|
||
|
|
||
|
// An object that describes the pod that will be created.
|
||
|
// The DaemonSet will create exactly one copy of this pod on every node
|
||
|
// that matches the template's node selector (or on every node if no node
|
||
|
// selector is specified).
|
||
|
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
|
||
|
optional k8s.io.api.core.v1.PodTemplateSpec template = 2;
|
||
|
|
||
|
// An update strategy to replace existing DaemonSet pods with new pods.
|
||
|
// +optional
|
||
|
optional DaemonSetUpdateStrategy updateStrategy = 3;
|
||
|
|
||
|
// The minimum number of seconds for which a newly created DaemonSet pod should
|
||
|
// be ready without any of its container crashing, for it to be considered
|
||
|
// available. Defaults to 0 (pod will be considered available as soon as it
|
||
|
// is ready).
|
||
|
// +optional
|
||
|
optional int32 minReadySeconds = 4;
|
||
|
|
||
|
// The number of old history to retain to allow rollback.
|
||
|
// This is a pointer to distinguish between explicit zero and not specified.
|
||
|
// Defaults to 10.
|
||
|
// +optional
|
||
|
optional int32 revisionHistoryLimit = 6;
|
||
|
}
|
||
|
|
||
|
// DaemonSetStatus represents the current status of a daemon set.
|
||
|
message DaemonSetStatus {
|
||
|
// The number of nodes that are running at least 1
|
||
|
// daemon pod and are supposed to run the daemon pod.
|
||
|
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
|
||
|
optional int32 currentNumberScheduled = 1;
|
||
|
|
||
|
// The number of nodes that are running the daemon pod, but are
|
||
|
// not supposed to run the daemon pod.
|
||
|
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
|
||
|
optional int32 numberMisscheduled = 2;
|
||
|
|
||
|
// The total number of nodes that should be running the daemon
|
||
|
// pod (including nodes correctly running the daemon pod).
|
||
|
// More info: https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/
|
||
|
optional int32 desiredNumberScheduled = 3;
|
||
|
|
||
|
// The number of nodes that should be running the daemon pod and have one
|
||
|
// or more of the daemon pod running and ready.
|
||
|
optional int32 numberReady = 4;
|
||
|
|
||
|
// The most recent generation observed by the daemon set controller.
|
||
|
// +optional
|
||
|
optional int64 observedGeneration = 5;
|
||
|
|
||
|
// The total number of nodes that are running updated daemon pod
|
||
|
// +optional
|
||
|
optional int32 updatedNumberScheduled = 6;
|
||
|
|
||
|
// The number of nodes that should be running the
|
||
|
// daemon pod and have one or more of the daemon pod running and
|
||
|
// available (ready for at least spec.minReadySeconds)
|
||
|
// +optional
|
||
|
optional int32 numberAvailable = 7;
|
||
|
|
||
|
// The number of nodes that should be running the
|
||
|
// daemon pod and have none of the daemon pod running and available
|
||
|
// (ready for at least spec.minReadySeconds)
|
||
|
// +optional
|
||
|
optional int32 numberUnavailable = 8;
|
||
|
|
||
|
// Count of hash collisions for the DaemonSet. The DaemonSet controller
|
||
|
// uses this field as a collision avoidance mechanism when it needs to
|
||
|
// create the name for the newest ControllerRevision.
|
||
|
// +optional
|
||
|
optional int32 collisionCount = 9;
|
||
|
}
|
||
|
|
||
|
// DaemonSetUpdateStrategy is a struct used to control the update strategy for a DaemonSet.
|
||
|
message DaemonSetUpdateStrategy {
|
||
|
// Type of daemon set update. Can be "RollingUpdate" or "OnDelete". Default is RollingUpdate.
|
||
|
// +optional
|
||
|
optional string type = 1;
|
||
|
|
||
|
// Rolling update config params. Present only if type = "RollingUpdate".
|
||
|
// ---
|
||
|
// TODO: Update this to follow our convention for oneOf, whatever we decide it
|
||
|
// to be. Same as Deployment `strategy.rollingUpdate`.
|
||
|
// See https://github.com/kubernetes/kubernetes/issues/35345
|
||
|
// +optional
|
||
|
optional RollingUpdateDaemonSet rollingUpdate = 2;
|
||
|
}
|
||
|
|
||
|
// Spec to control the desired behavior of daemon set rolling update.
|
||
|
message RollingUpdateDaemonSet {
|
||
|
// The maximum number of DaemonSet pods that can be unavailable during the
|
||
|
// update. Value can be an absolute number (ex: 5) or a percentage of total
|
||
|
// number of DaemonSet pods at the start of the update (ex: 10%). Absolute
|
||
|
// number is calculated from percentage by rounding up.
|
||
|
// This cannot be 0.
|
||
|
// Default value is 1.
|
||
|
// Example: when this is set to 30%, at most 30% of the total number of nodes
|
||
|
// that should be running the daemon pod (i.e. status.desiredNumberScheduled)
|
||
|
// can have their pods stopped for an update at any given
|
||
|
// time. The update starts by stopping at most 30% of those DaemonSet pods
|
||
|
// and then brings up new DaemonSet pods in their place. Once the new pods
|
||
|
// are available, it then proceeds onto other DaemonSet pods, thus ensuring
|
||
|
// that at least 70% of original number of DaemonSet pods are available at
|
||
|
// all times during the update.
|
||
|
// +optional
|
||
|
optional k8s.io.apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 1;
|
||
|
}
|