Documentation
¶
Index ¶
- Constants
- func NewDaemonSetDetails(ds fields.DaemonSet, user string) (json.RawMessage, error)
- func NewNodeTransferCompletionDetails(nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, ...) (json.RawMessage, error)
- func NewNodeTransferRollbackDetails(nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, ...) (json.RawMessage, error)
- func NewNodeTransferStartDetails(nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, ...) (json.RawMessage, error)
- func NewRCRetargetingEventDetails(podID types.PodID, az pc_fields.AvailabilityZone, name pc_fields.ClusterName, ...) (json.RawMessage, error)
- func NewRUCompletionEventDetails(rollingUpdateID roll_fields.ID, succeeded bool, canceled bool, labeler Labeler) (json.RawMessage, error)
- func NewRUCreationEventDetails(podID types.PodID, az pc_fields.AvailabilityZone, name pc_fields.ClusterName, ...) (json.RawMessage, error)
- type AuditLog
- type CommonNodeTransferDetails
- type DSEventDetails
- type EventType
- type ID
- type Labeler
- type NodeTransferCompletionDetails
- type NodeTransferRollbackDetails
- type NodeTransferStartDetails
- type RCRetargetingDetails
- type RUCompletionDetails
- type RUCreationDetails
- type RollbackReason
- type SchemaVersion
Constants ¶
View Source
const CurrentSchemaVersion int = 1
Variables ¶
This section is empty.
Functions ¶
func NewDaemonSetDetails ¶
func NewNodeTransferCompletionDetails ¶
func NewNodeTransferCompletionDetails( nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, availabilityZone pcfields.AvailabilityZone, clusterName pcfields.ClusterName, nodeSelector klabels.Selector, oldNode types.NodeName, newNode types.NodeName, replicaCount int, ) (json.RawMessage, error)
func NewNodeTransferRollbackDetails ¶
func NewNodeTransferRollbackDetails( nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, availabilityZone pcfields.AvailabilityZone, clusterName pcfields.ClusterName, nodeSelector klabels.Selector, oldNode types.NodeName, newNode types.NodeName, replicaCount int, rollbackReason RollbackReason, ) (json.RawMessage, error)
func NewNodeTransferStartDetails ¶
func NewNodeTransferStartDetails( nodeTransferID rcstatus.NodeTransferID, rcID rcfields.ID, podID types.PodID, availabilityZone pcfields.AvailabilityZone, clusterName pcfields.ClusterName, nodeSelector klabels.Selector, oldNode types.NodeName, newNode types.NodeName, replicaCount int, ) (json.RawMessage, error)
func NewRCRetargetingEventDetails ¶
func NewRCRetargetingEventDetails( podID types.PodID, az pc_fields.AvailabilityZone, name pc_fields.ClusterName, nodes []types.NodeName, ) (json.RawMessage, error)
func NewRUCompletionEventDetails ¶
func NewRUCompletionEventDetails( rollingUpdateID roll_fields.ID, succeeded bool, canceled bool, labeler Labeler, ) (json.RawMessage, error)
func NewRUCreationEventDetails ¶
func NewRUCreationEventDetails( podID types.PodID, az pc_fields.AvailabilityZone, name pc_fields.ClusterName, deployer string, manifest manifest.Manifest, rollingUpdateID roll_fields.ID, ) (json.RawMessage, error)
Types ¶
type AuditLog ¶
type AuditLog struct { EventType EventType `json:"event_type"` EventDetails *json.RawMessage `json:"event_details"` Timestamp time.Time `json:"timestamp"` SchemaVersion SchemaVersion `json:"schema_version"` }
AuditLog represents a stored value in consul expressing an event for which audit records are desired. An AuditLog consists of an event type, a json message with details which will have a different schema for each event type, a timestamp and a schema version.
type CommonNodeTransferDetails ¶
type CommonNodeTransferDetails struct { // NodeTransferID is a uuid that will be the same for all audit log records // associated with the same node transfer. It can be used to match up // "start" events with "rollback" or "completion" events NodeTransferID rcstatus.NodeTransferID `json:"node_transfer_id"` // ReplicationControllerID is the ID of the replication controller that // started the node transfer ReplicationControllerID rcfields.ID `json:"replication_controller_id"` // PodID denotes the pod ID of the pod cluster that the RC belongs to PodID types.PodID `json:"pod_id"` // AvailabilityZone is the availability zone of the pod cluster that // the RC belongs to AvailabilityZone pcfields.AvailabilityZone `json:"availability_zone"` // ClusterName is the name of the pod cluster that the RC belongs to ClusterName pcfields.ClusterName `json:"cluster_name"` // RCNodeSelector is the node selector the RC had when the event was // created. This is a klabels.Selector represented as a string because // that type does not cleanly marshal into JSON without some tricks RCNodeSelector string `json:"replication_controller_node_selector"` // OldNode denotes the node that is no longer eligible and should have // its pod transferred off of it OldNode types.NodeName `json:"old_node"` // NewNode denotes the node returned by the scheduler to which a pod is // being transferred NewNode types.NodeName `json:"new_node"` // ReplicaCount denotes the replica count of the RC at the time the // node transfer was started ReplicaCount int `json:"replica_count"` }
type DSEventDetails ¶
type DSEventDetails struct { // DaemonSet is the daemon set that resulted from the event (e.g. after // the update was applied) for all event types other than deletions. In // the case of deletions, it will be the contents of the daemon set // BEFORE deletion DaemonSet fields.DaemonSet `json:"daemon_set"` // User represents the name of the user who executed the action to // which the event record pertains User string `json:"user"` }
DsEventDetails defines a JSON structure for the details related to a daemon set event. For now the schema is the same for every event type but this may change in the future
type EventType ¶
type EventType string
const ( // DSCreatedEvent signifies that the daemon set was created. DSCreatedEvent EventType = "DAEMON_SET_CREATED" // DSManifestUpdatedEvent signifies that the daemon set had its pod // manifest modified. This typically kicks off a replication to update // the manifests for all the nodes matched by the daemon set's node // selector DSManifestUpdatedEvent EventType = "DAEMON_SET_MANIFEST_UPDATED" // DSNodeSelectorUpdatedEvent signifies that the node selector of the // daemon set was changed. This will result in adding the daemon set's // pod manifest to new nodes that are matched, or removing it from // nodes that are no longer matched. DSNodeSelectorUpdatedEvent EventType = "DAEMON_SET_NODE_SELECTOR_UPDATED" // DSDeletedEvent signifies that the daemon set was deleted DSDeletedEvent EventType = "DAEMON_SET_DELETED" // DSEnabledEvent signifies that the daemon set was enabled. This might // kick off a manifest update to the nodes matched by the daemon set's // manifest DSEnabledEvent EventType = "DAEMON_SET_ENABLED" // DSEnabledEvent signifies that the daemon set was enabled. This might // pause a manifest update to the nodes matched by the daemon set's // manifest DSDisabledEvent EventType = "DAEMON_SET_DISABLED" // DSModifiedEvent signifies an update to the daemon set that doesn't // fit in any of the other event types. For example, changing the // timeout value will result in an event of this type (because it's // neither a manifest or "disabled" update) DSModifiedEvent EventType = "DAEMON_SET_MODIFIED" )
const ( // NodeTransferStartEvent denotes the start of a node transfer NodeTransferStartEvent EventType = "NODE_TRANSFER_START" // NodeTransferCompletionEvent denotes the successful completion of a // node transfer NodeTransferCompletionEvent EventType = "NODE_TRANSFER_COMPLETION" // NodeTransferRollbackEvent denotes a node transfer being rolled back // due to unrecoverable errors or cancellation NodeTransferRollbackEvent EventType = "NODE_TRANSFER_ROLLBACK" )
const ( // RcRetargetingEvent represents events in which an RC changes the set of // nodes that it is targeting. This can be used to log the set of nodes that // an RC or pod cluster manages over time RCRetargetingEvent EventType = "REPLICATION_CONTROLLER_RETARGET" )
type NodeTransferCompletionDetails ¶
type NodeTransferCompletionDetails struct {
CommonNodeTransferDetails
}
type NodeTransferRollbackDetails ¶
type NodeTransferRollbackDetails struct { CommonNodeTransferDetails // RollbackReason indicates why the node transfer was rolled back RollbackReason RollbackReason `json:"rollback_reason"` }
type NodeTransferStartDetails ¶
type NodeTransferStartDetails struct {
CommonNodeTransferDetails
}
type RCRetargetingDetails ¶
type RCRetargetingDetails struct { PodID types.PodID `json:"pod_id"` AvailabilityZone pc_fields.AvailabilityZone `json:"availability_zone"` ClusterName pc_fields.ClusterName `json:"cluster_name"` Nodes []types.NodeName `json:"nodes"` }
type RUCompletionDetails ¶
type RUCompletionDetails struct { PodID types.PodID `json:"pod_id"` AvailabilityZone pc_fields.AvailabilityZone `json:"availability_zone"` ClusterName pc_fields.ClusterName `json:"cluster_name"` RollingUpdateID roll_fields.ID `json:"rolling_update_id"` Succeeded bool `json:"succeeded"` Canceled bool `json:"canceled"` }
type RUCreationDetails ¶
type RUCreationDetails struct { PodID types.PodID `json:"pod_id"` AvailabilityZone pc_fields.AvailabilityZone `json:"availability_zone"` ClusterName pc_fields.ClusterName `json:"cluster_name"` Deployer string `json:"deployer"` Manifest string `json:"manifest"` RollingUpdateID roll_fields.ID `json:"rolling_update_id"` }
type RollbackReason ¶
type RollbackReason string
type SchemaVersion ¶
type SchemaVersion int
func (SchemaVersion) Int ¶
func (s SchemaVersion) Int() int
func (SchemaVersion) MarshalJSON ¶
func (s SchemaVersion) MarshalJSON() ([]byte, error)
SchemaVersion implements MarshalJSON() so that every JSON representation of AuditLog has the correct schema version, even if the AuditLog struct has a different value set when it is marshaled
Click to show internal directories.
Click to hide internal directories.