Note: if you are running CloudGraph locally you can view the interactive, automatically generated documentation in either GraphQL Playground or Altair by clicking the docs button on the right-hand side of the screen. After reading the below information we highly suggest you use one of these tools to test your queries as they will autocomplete fields for you and let you know if your queries are valid before you even submit them.
You can currently query the following attributes and connections on a k8s Deployment:
type k8sDeployment {
id: String!
context: String!
apiVersion: String
kind: String
metadata: {
id: String
annotations: {
id: String!
key: String
value: String
}
clusterName: String
creationTimestamp: String
deletionGracePeriodSeconds: Int
deletionTimestamp: String
finalizers: [String]
generateName: String
generation: Int
labels: {
id: String!
key: String
value: String
}
ownerReferences: {
id: String!
apiVersion: String
blockOwnerDeletion: Boolean
controller: Boolean
kind: String
name: String
}
name: String
namespace: String
resourceVersion: String
selfLink: String
}
spec: {
minReadySeconds: Int
paused: Boolean
progressDeadlineSeconds: Int
replicas: Int
revisionHistoryLimit: Int
strategy {
type: String
rollingUpdate {
maxSurge: String
maxUnavailable: String
}
}
selector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
template {
metadata {
id: String
annotations: {
id: String!
key: String
value: String
}
clusterName: String
creationTimestamp: String
deletionGracePeriodSeconds: Int
deletionTimestamp: String
finalizers: [String]
generateName: String
generation: Int
labels: {
id: String!
key: String
value: String
}
ownerReferences: {
id: String!
apiVersion: String
blockOwnerDeletion: Boolean
controller: Boolean
kind: String
name: String
}
name: String
namespace: String
resourceVersion: String
selfLink: String
}
spec {
activeDeadlineSeconds: Int
affinity {
nodeAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
nodeSelectorTerms {
id: String
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchFields {
id: String
key: String
operator: String
values: [String]
}
}
}
preferredDuringSchedulingIgnoredDuringExecution {
id: String
weight: Int
preference {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
podAffinityTerm {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
}
}
podAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
preferredDuringSchedulingIgnoredDuringExecution {
id: String
weight: Int
preference {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
podAffinityTerm {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
}
}
podAntiAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
preferredDuringSchedulingIgnoredDuringExecution {
id: String
weight: Int
preference {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
podAffinityTerm {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaceSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
namespaces: [String]
topologyKey: String
}
}
}
}
automountServiceAccountToken: Boolean
dnsPolicy: String
enableServiceLinks: Boolean
hostIpc: Boolean
hostNetwork: Boolean
hostPid: Boolean
hostname: String
nodeName: String
preemptionPolicy: String
priority: Int
priorityClassName: String
restartPolicy: String
runtimeClassName: String
schedulerName: String
serviceAccount: String
serviceAccountName: String
setHostnameAsFqdn: Boolean
shareProcessNamespace: Boolean
subdomain: String
terminationGracePeriodSeconds: Int
containers {
id: String
args: [String]
command: [String]
env {
id: String
name: String
value: String
valueFrom {
configMapKeyRef {
key: String
name: String
optional: Boolean
}
fieldRef {
apiVersion: String
fieldPath: String
}
resourceFieldRef {
containerName: String
divisor: String
resource: String
}
secretKeyRef {
key: String
name: String
optional: Boolean
}
}
}
envFrom {
id: String
prefix: String
configMapRef {
key: String
name: String
optional: Boolean
}
secretRef {
key: String
name: String
optional: Boolean
}
}
image: String
imagePullPolicy: String
lifecycle {
postStart {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
preStop {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
}
livenessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
name: String
ports {
id: String
containerPort: Int
hostIp: String
hostPort: Int
name: String
protocol: String
}
readinessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
resources {
limits {
id: String
key: String
value: String
}
requests {
id: String
key: String
value: String
}
}
securityContext {
allowPrivilegeEscalation: Boolean
capabilities {
add: [String]
drop: [String]
}
privileged: Boolean
procMount: String
sysctls {
id: String
name: String
value: String
}
fsGroup: Int
fsGroupChangePolicy: String
readOnlyRootFilesystem: Boolean
runAsGroup: Int
runAsNonRoot: Boolean
runAsUser: Int
supplementalGroups: [Int]
seLinuxOptions {
level: String
role: String
type: String
user: String
}
seccompProfile {
localhostProfile: String
type: String
}
windowsOptions {
gmsaCredentialSpec: String
gmsaCredentialSpecName: String
hostProcess: Boolean
runAsUserName: String
}
}
startupProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: INt
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
stdin: Boolean
stdinOnce: Boolean
terminationMessagePath: String
terminationMessagePolicy: String
tty: Boolean
volumeDevices {
id: String
name: String
devicePath: String
}
volumeMounts {
id: String
mountPath: String
mountPropagation: String
name: String
readOnly: Boolean
subPath: String
subPathExpr: String
}
workingDir: String
}
ephemeralContainers {
id: String
args: [String]
command: [String]
env {
id: String
name: String
value: String
valueFrom {
configMapKeyRef {
key: String
name: String
optional: Boolean
}
fieldRef {
apiVersion: String
fieldPath: String
}
resourceFieldRef {
containerName: String
divisor: String
resource: String
}
secretKeyRef {
key: String
name: String
optional: Boolean
}
}
}
envFrom {
id: String
prefix: String
configMapRef {
key: String
name: String
optional: Boolean
}
secretRef {
key: String
name: String
optional: Boolean
}
}
image: String
imagePullPolicy: String
lifecycle {
postStart {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
preStop {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
}
livenessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
name: String
ports {
id: String
containerPort: Int
hostIp: String
hostPort: Int
name: String
protocol: String
}
readinessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
resources {
limits {
id: String
key: String
value: String
}
requests {
id: String
key: String
value: String
}
}
securityContext {
allowPrivilegeEscalation: Boolean
capabilities {
add: [String]
drop: [String]
}
privileged: Boolean
procMount: String
sysctls {
id: String
name: String
value: String
}
fsGroup: Int
fsGroupChangePolicy: String
readOnlyRootFilesystem: Boolean
runAsGroup: Int
runAsNonRoot: Boolean
runAsUser: Int
supplementalGroups: [Int]
seLinuxOptions {
level: String
role: String
type: String
user: String
}
seccompProfile {
localhostProfile: String
type: String
}
windowsOptions {
gmsaCredentialSpec: String
gmsaCredentialSpecName: String
hostProcess: Boolean
runAsUserName: String
}
}
startupProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: INt
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
stdin: Boolean
stdinOnce: Boolean
terminationMessagePath: String
terminationMessagePolicy: String
tty: Boolean
volumeDevices {
id: String
name: String
devicePath: String
}
volumeMounts {
id: String
mountPath: String
mountPropagation: String
name: String
readOnly: Boolean
subPath: String
subPathExpr: String
}
workingDir: String
}
initContainers {
id: String
args: [String]
command: [String]
env {
id: String
name: String
value: String
valueFrom {
configMapKeyRef {
key: String
name: String
optional: Boolean
}
fieldRef {
apiVersion: String
fieldPath: String
}
resourceFieldRef {
containerName: String
divisor: String
resource: String
}
secretKeyRef {
key: String
name: String
optional: Boolean
}
}
}
envFrom {
id: String
prefix: String
configMapRef {
key: String
name: String
optional: Boolean
}
secretRef {
key: String
name: String
optional: Boolean
}
}
image: String
imagePullPolicy: String
lifecycle {
postStart {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
preStop {
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
}
livenessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
name: String
ports {
id: String
containerPort: Int
hostIp: String
hostPort: Int
name: String
protocol: String
}
readinessProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: Int
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
resources {
limits {
id: String
key: String
value: String
}
requests {
id: String
key: String
value: String
}
}
securityContext {
allowPrivilegeEscalation: Boolean
capabilities {
add: [String]
drop: [String]
}
privileged: Boolean
procMount: String
sysctls {
id: String
name: String
value: String
}
fsGroup: Int
fsGroupChangePolicy: String
readOnlyRootFilesystem: Boolean
runAsGroup: Int
runAsNonRoot: Boolean
runAsUser: Int
supplementalGroups: [Int]
seLinuxOptions {
level: String
role: String
type: String
user: String
}
seccompProfile {
localhostProfile: String
type: String
}
windowsOptions {
gmsaCredentialSpec: String
gmsaCredentialSpecName: String
hostProcess: Boolean
runAsUserName: String
}
}
startupProbe {
failureThreshold: Int
initialDelaySeconds: Int
periodSeconds: Int
successThreshold: Int
terminationGracePeriodSeconds: INt
timeoutSeconds: Int
httpGet {
httpHeaders {
id: String
name: String
value: String
}
host: String
path: String
scheme: String
port: String
}
exec {
command: [String]
}
tcpSocket {
host: String
port: String
}
}
stdin: Boolean
stdinOnce: Boolean
terminationMessagePath: String
terminationMessagePolicy: String
tty: Boolean
volumeDevices {
id: String
name: String
devicePath: String
}
volumeMounts {
id: String
mountPath: String
mountPropagation: String
name: String
readOnly: Boolean
subPath: String
subPathExpr: String
}
workingDir: String
}
imagePullSecrets {
id: String
name: String
}
nodeSelector {
id: String
key: String
value: String
}
overhead {
id: String
key: String
value: String
}
readinessGates {
id: String
conditionType: String
}
securityContext {
allowPrivilegeEscalation: Boolean
capabilities {
add: [String]
drop: [String]
}
privileged: Boolean
procMount: String
sysctls {
id: String
name: String
value: String
}
fsGroup: Int
fsGroupChangePolicy: String
readOnlyRootFilesystem: Boolean
runAsGroup: Int
runAsNonRoot: Boolean
runAsUser: Int
supplementalGroups: [Int]
seLinuxOptions {
level: String
role: String
type: String
user: String
}
seccompProfile {
localhostProfile: String
type: String
}
windowsOptions {
gmsaCredentialSpec: String
gmsaCredentialSpecName: String
hostProcess: Boolean
runAsUserName: String
}
}
dnsConfig {
nameservers: [String]
searches: [String]
options {
id: String
name: String
value: String
}
}
hostAliases {
id: String
ip: String
hostNames: [String]
}
tolerations {
id: String
effect: String
key: String
operator: String
tolerationSeconds: Int
value: String
}
topologySpreadConstraints {
id: String
labelSelector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
maxSkew: Int
topologyKey: String
whenUnsatisfiable: String
}
volumes {
id: String
name: String
awsElasticBlockStore {
fsType: String
partition: Int
readOnly: Boolean
volumeId: String
}
azureDisk {
cachingMode: String
diskName: String
diskUri: String
fsType: String
kind: String
readOnly: Boolean
}
azureFile {
readOnly: Boolean
secretName: String
shareName: String
}
cephfs {
monitors: [String]
path: String
readOnly: Boolean
secretFile: String
user: String
secretRef {
name: String
}
}
cinder {
fsType: String
readOnly: Boolean
secretRef {
name: String
}
volumeId: String
}
configMap {
defaultMode: Int
items {
id: String
key: String
mode: Int
path: String
}
name: String
optional: Boolean
}
csi {
driver: String
fsType: String
readOnly: Boolean
nodePublishSecretRef {
name: String
}
volumeAttributes {
id: String
key: String
value: String
}
}
downwardApi {
defaultMode: Int
items {
id: String
mode: Int
path: String
fieldRef {
apiVersion: String
fieldPath: String
}
resourceFieldRef {
containerName: String
divisor: String
resource: String
}
}
}
emptyDir {
medium: String
sizeLimit: String
}
ephemeral {
volumeClaimTemplate {
metadata {
id: String
annotations: {
id: String!
key: String
value: String
}
clusterName: String
creationTimestamp: String
deletionGracePeriodSeconds: Int
deletionTimestamp: String
finalizers: [String]
generateName: String
generation: Int
labels: {
id: String!
key: String
value: String
}
ownerReferences: {
id: String!
apiVersion: String
blockOwnerDeletion: Boolean
controller: Boolean
kind: String
name: String
}
name: String
namespace: String
resourceVersion: String
selfLink: String
}
spec {
accessModes: [String]
dataSource {
apiGroup: String
kind: String
name: String
}
dataSourceRef {
apiGroup: String
kind: String
name: String
}
resources {
limits {
id: String
key: String
value: String
}
requests {
id: String
key: String
value: String
}
}
selector {
matchExpressions {
id: String
key: String
operator: String
values: [String]
}
matchLabels {
id: String
key: String
value: String
}
}
storageClassName: String
volumeMode: String
volumeName: String
}
}
}
flexVolume {
driver: String
readOnly: Boolean
fsType: String
secretRef {
name: String
}
options {
id: String
key: String
value: String
}
}
flocker {
datasetName: String
datasetUuid: String
}
fc {
fsType: String
lun: Int
readOnly: Boolean
targetWWNs: [String]
wwids: [String]
}
gcePersistentDisk {
fsType: String
partition: Int
pdName: String
readOnly: Boolean
}
gitRepo {
directory: String
repository: String
revision: String
}
glusterfs {
endpoints: String
path: String
readOnly: Boolean
}
hostPath {
path: String
type: String
}
iscsi {
chapAuthDiscovery: Boolean
chapAuthSession: Boolean
fsType: String
initiatorName: String
iqn: String
iscsiInterface: String
lun: Int
portals: [String]
readOnly: Boolean
secretRef {
name: String
}
targetPortal: String
}
nfs {
path: String
readOnly: Boolean
server: String
}
persistentVolumeClaim {
claimName: String
readOnly: Boolean
}
photonPersistentDisk {
fsType: String
pdId: String
}
portworxVolume {
fsType: String
readOnly: Boolean
volumeId: String
}
projected {
defaultMode: Int
sources {
configMap {
defaultMode: Int
items {
id: String
key: String
mode: Int
path: String
}
name: String
optional: Boolean
}
downwardApi {
items {
id: String
mode: Int
path: String
fieldRef {
apiVersion: String
fieldPath: String
}
resourceFieldRef {
containerName: String
divisor: String
resource: String
}
}
}
secret {
defaultMode: Int
items {
id: String
key: String
mode: Int
path: String
}
name: String
optional: Boolean
}
serviceAccountToken {
audience: String
expirationSeconds: Int
path: String
}
}
}
quobyte {
group: String
readOnly: Boolean
registry: String
tenant: String
user: String
volume: String
}
rbd {
fsType: String
image: String
keyring: String
monitors: [String]
pool: String
readOnly: Boolean
secretRef {
name: String
}
user: String
}
scaleIo {
fsType: String
gateway: String
protectionDomain: String
readOnly: Boolean
secretRef {
name: String
}
sslEnabled: Boolean
storageMode: String
storagePool: String
system: String
volumeName: String
}
secret {
defaultMode: Int
optional: Boolean
secretName: String
items {
id: String
key: String
mode: Int
path: String
}
}
storageos {
fsType: String
readOnly: Boolean
secretRef {
name: String
}
volumeName: String
volumeNamespace: String
}
vsphereVolume {
fsType: String
storagePolicyId: String
storagePolicyName: String
volumePath: String
}
}
}
}
}
status: {
availableReplicas: Int
collisionCount: Int
conditions {
id: String
lastTransitionTime: String
lastUpdateTime: String
message: String
reason: String
status: String
type: String
}
observedGeneration: Int
readyReplicas: Int
replicas: Int
unavailableReplicas: Int
updatedReplicas: Int
}
namespace {
id
}
}
Get data for a single Deployment that you know the id for:
query {
getk8sDeployment(id: "12345") {
id
}
}
Get data for all of the deployents in a certain k8s Context:
query {
queryk8sDeployment(filter: { context: { eq: "my-context-name" } }) {
id
}
}
Get data for all of the deployments NOT in a certain k8s Context:
query {
queryk8sDeployment(filter: { not: { context: { eq: "my-context-name" } } }) {
id
}
}
Get data for all of the deployments that have a namespace:
query {
queryk8sDeployment(filter: { has: namespace }) {
id
}
}
Use multiple filter selectors, (i.e. has, and, not, or) to get data for all of the deployments that have a namespace AND status OR that do not have a spec. Note that you can use has, and, not, or completely independently of each other:
query {
queryk8sDeployment(
filter: {
has: namespace
and: { has: status }
or: { not: { has: spec } }
}
) {
id
}
}
You may also filter using a regex when filtering on a string field like, context if you want to look for a value that matches say, some-value (case insensitive):
query {
queryk8sDeployment(
filter: { context: { regexp: "/.*some-value*./i" } }
) {
id
}
}
You can order the results you get back either asc or desc depending on your preference:
query {
queryk8sDeployment(order: { desc: apiVersion }) {
apiVersion
}
}
Only select and return the first two deployments that are found:
query {
queryk8sDeployment(first: 2, order: { desc: apiVersion }) {
apiVersion
}
}
Only select and return the first two deployments that are found, but offset by one so deployments two & three are returned:
query {
queryk8sDeployment(first: 2, order: { desc: apiVersion }, offset: 1) {
apiVersion
}
}
Count the number of deployments across all scanned K8s contexts:
query {
aggregatek8sDeployment {
count
}
}
Count the number of deployments in a single context. Note that you can apply all of the same filters that are listed above to aggregate queries:
query {
aggregatek8sDeployment(filter: { context: { eq: "my-context-name" } }) {
count
}
}
Putting it all together; get all data for all deployments across all k8s contexts in a single query. For the purposes of this example we will only get direct children of the service but if you want to it's easy to go from say, deployment -> namespace -> service ...etc:
query {
queryk8sDeployment {
id
context
apiVersion
kind
metadata {
id
annotations {
id
key
value
}
clusterName
creationTimestamp
deletionGracePeriodSeconds
deletionTimestamp
finalizers
generateName
generation
labels {
id
key
value
}
ownerReferences {
id
apiVersion
blockOwnerDeletion
controller
kind
name
}
name
namespace
resourceVersion
selfLink
}
spec {
minReadySeconds
paused
progressDeadlineSeconds
replicas
revisionHistoryLimit
strategy {
type
rollingUpdate {
maxSurge
maxUnavailable
}
}
selector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
template {
metadata {
id
annotations {
id
key
value
}
clusterName
creationTimestamp
deletionGracePeriodSeconds
deletionTimestamp
finalizers
generateName
generation
labels {
id
key
value
}
ownerReferences {
id
apiVersion
blockOwnerDeletion
controller
kind
name
}
name
namespace
resourceVersion
selfLink
}
spec {
activeDeadlineSeconds
affinity {
nodeAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
nodeSelectorTerms {
id
matchExpressions {
id
key
operator
values
}
matchFields {
id
key
operator
values
}
}
}
preferredDuringSchedulingIgnoredDuringExecution {
id
weight
preference {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
podAffinityTerm {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
}
}
podAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
preferredDuringSchedulingIgnoredDuringExecution {
id
weight
preference {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
podAffinityTerm {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
}
}
podAntiAffinity {
requiredDuringSchedulingIgnoredDuringExecution {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
preferredDuringSchedulingIgnoredDuringExecution {
id
weight
preference {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
podAffinityTerm {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaceSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
namespaces
topologyKey
}
}
}
}
automountServiceAccountToken
dnsPolicy
enableServiceLinks
hostIpc
hostNetwork
hostPid
hostname
nodeName
preemptionPolicy
priority
priorityClassName
restartPolicy
runtimeClassName
schedulerName
serviceAccount
serviceAccountName
setHostnameAsFqdn
shareProcessNamespace
subdomain
terminationGracePeriodSeconds
containers {
id
args
command
env {
id
name
value
valueFrom {
configMapKeyRef {
key
name
optional
}
fieldRef {
apiVersion
fieldPath
}
resourceFieldRef {
containerName
divisor
resource
}
secretKeyRef {
key
name
optional
}
}
}
envFrom {
id
prefix
configMapRef {
key
name
optional
}
secretRef {
key
name
optional
}
}
image
imagePullPolicy
lifecycle {
postStart {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
preStop {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
}
livenessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
name
ports {
id
containerPort
hostIp
hostPort
name
protocol
}
readinessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
resources {
limits {
id
key
value
}
requests {
id
key
value
}
}
securityContext {
allowPrivilegeEscalation
capabilities {
add
drop
}
privileged
procMount
sysctls {
id
name
value
}
fsGroup
fsGroupChangePolicy
readOnlyRootFilesystem
runAsGroup
runAsNonRoot
runAsUser
supplementalGroups
seLinuxOptions {
level
role
type
user
}
seccompProfile {
localhostProfile
type
}
windowsOptions {
gmsaCredentialSpec
gmsaCredentialSpecName
hostProcess
runAsUserName
}
}
startupProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
stdin
stdinOnce
terminationMessagePath
terminationMessagePolicy
tty
volumeDevices {
id
name
devicePath
}
volumeMounts {
id
mountPath
mountPropagation
name
readOnly
subPath
subPathExpr
}
workingDir
}
ephemeralContainers {
id
args
command
env {
id
name
value
valueFrom {
configMapKeyRef {
key
name
optional
}
fieldRef {
apiVersion
fieldPath
}
resourceFieldRef {
containerName
divisor
resource
}
secretKeyRef {
key
name
optional
}
}
}
envFrom {
id
prefix
configMapRef {
key
name
optional
}
secretRef {
key
name
optional
}
}
image
imagePullPolicy
lifecycle {
postStart {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
preStop {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
}
livenessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
name
ports {
id
containerPort
hostIp
hostPort
name
protocol
}
readinessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
resources {
limits {
id
key
value
}
requests {
id
key
value
}
}
securityContext {
allowPrivilegeEscalation
capabilities {
add
drop
}
privileged
procMount
sysctls {
id
name
value
}
fsGroup
fsGroupChangePolicy
readOnlyRootFilesystem
runAsGroup
runAsNonRoot
runAsUser
supplementalGroups
seLinuxOptions {
level
role
type
user
}
seccompProfile {
localhostProfile
type
}
windowsOptions {
gmsaCredentialSpec
gmsaCredentialSpecName
hostProcess
runAsUserName
}
}
startupProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
stdin
stdinOnce
terminationMessagePath
terminationMessagePolicy
tty
volumeDevices {
id
name
devicePath
}
volumeMounts {
id
mountPath
mountPropagation
name
readOnly
subPath
subPathExpr
}
workingDir
}
initContainers {
id
args
command
env {
id
name
value
valueFrom {
configMapKeyRef {
key
name
optional
}
fieldRef {
apiVersion
fieldPath
}
resourceFieldRef {
containerName
divisor
resource
}
secretKeyRef {
key
name
optional
}
}
}
envFrom {
id
prefix
configMapRef {
key
name
optional
}
secretRef {
key
name
optional
}
}
image
imagePullPolicy
lifecycle {
postStart {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
preStop {
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
}
livenessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
name
ports {
id
containerPort
hostIp
hostPort
name
protocol
}
readinessProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
resources {
limits {
id
key
value
}
requests {
id
key
value
}
}
securityContext {
allowPrivilegeEscalation
capabilities {
add
drop
}
privileged
procMount
sysctls {
id
name
value
}
fsGroup
fsGroupChangePolicy
readOnlyRootFilesystem
runAsGroup
runAsNonRoot
runAsUser
supplementalGroups
seLinuxOptions {
level
role
type
user
}
seccompProfile {
localhostProfile
type
}
windowsOptions {
gmsaCredentialSpec
gmsaCredentialSpecName
hostProcess
runAsUserName
}
}
startupProbe {
failureThreshold
initialDelaySeconds
periodSeconds
successThreshold
terminationGracePeriodSeconds
timeoutSeconds
httpGet {
httpHeaders {
id
name
value
}
host
path
scheme
port
}
exec {
command
}
tcpSocket {
host
port
}
}
stdin
stdinOnce
terminationMessagePath
terminationMessagePolicy
tty
volumeDevices {
id
name
devicePath
}
volumeMounts {
id
mountPath
mountPropagation
name
readOnly
subPath
subPathExpr
}
workingDir
}
imagePullSecrets {
id
name
}
nodeSelector {
id
key
value
}
overhead {
id
key
value
}
readinessGates {
id
conditionType
}
securityContext {
allowPrivilegeEscalation
capabilities {
add
drop
}
privileged
procMount
sysctls {
id
name
value
}
fsGroup
fsGroupChangePolicy
readOnlyRootFilesystem
runAsGroup
runAsNonRoot
runAsUser
supplementalGroups
seLinuxOptions {
level
role
type
user
}
seccompProfile {
localhostProfile
type
}
windowsOptions {
gmsaCredentialSpec
gmsaCredentialSpecName
hostProcess
runAsUserName
}
}
dnsConfig {
nameservers
searches
options {
id
name
value
}
}
hostAliases {
id
ip
hostNames
}
tolerations {
id
effect
key
operator
tolerationSeconds
value
}
topologySpreadConstraints {
id
labelSelector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
maxSkew
topologyKey
whenUnsatisfiable
}
volumes {
id
name
awsElasticBlockStore {
fsType
partition
readOnly
volumeId
}
azureDisk {
cachingMode
diskName
diskUri
fsType
kind
readOnly
}
azureFile {
readOnly
secretName
shareName
}
cephfs {
monitors
path
readOnly
secretFile
user
secretRef {
name
}
}
cinder {
fsType
readOnly
secretRef {
name
}
volumeId
}
configMap {
defaultMode
items {
id
key
mode
path
}
name
optional
}
csi {
driver
fsType
readOnly
volumeHandle
controllerExpandSecretRef {
name
}
controllerPublishSecretRef {
name
}
volumeAttributes {
id
key
value
}
}
downwardApi {
defaultMode
items {
id
mode
path
fieldRef {
apiVersion
fieldPath
}
resourceFieldRef {
containerName
divisor
resource
}
}
}
emptyDir {
medium
sizeLimit
}
ephemeral {
volumeClaimTemplate {
metadata {
id
annotations {
id
key
value
}
clusterName
creationTimestamp
deletionGracePeriodSeconds
deletionTimestamp
finalizers
generateName
generation
labels {
id
key
value
}
ownerReferences {
id
apiVersion
blockOwnerDeletion
controller
kind
name
}
name
namespace
resourceVersion
selfLink
}
spec {
accessModes
dataSource {
apiGroup
kind
name
}
dataSourceRef {
apiGroup
kind
name
}
resources {
limits {
id
key
value
}
requests {
id
key
value
}
}
selector {
matchExpressions {
id
key
operator
values
}
matchLabels {
id
key
value
}
}
storageClassName
volumeMode
volumeName
}
}
}
flexVolume {
driver
readOnly
fsType
secretRef {
name
}
options {
id
key
value
}
}
flocker {
datasetName
datasetUuid
}
fc {
fsType
lun
readOnly
targetWWNs
wwids
}
gcePersistentDisk {
fsType
partition
pdName
readOnly
}
gitRepo {
directory
repository
revision
}
glusterfs {
endpoints
path
readOnly
}
hostPath {
path
type
}
iscsi {
chapAuthDiscovery
chapAuthSession
fsType
initiatorName
iqn
iscsiInterface
lun
portals
readOnly
secretRef {
name
}
targetPortal
}
nfs {
path
readOnly
server
}
persistentVolumeClaim {
claimName
readOnly
}
photonPersistentDisk {
fsType
pdId
}
portworxVolume {
fsType
readOnly
volumeId
}
projected {
defaultMode
sources {
configMap {
defaultMode
items {
id
key
mode
path
}
name
optional
}
downwardApi {
items {
id
mode
path
fieldRef {
apiVersion
fieldPath
}
resourceFieldRef {
containerName
divisor
resource
}
}
}
secret {
defaultMode
items {
id
key
mode
path
}
name
optional
}
serviceAccountToken {
audience
expirationSeconds
path
}
}
}
quobyte {
group
readOnly
registry
tenant
user
volume
}
rbd {
fsType
image
keyring
monitors
pool
readOnly
secretRef {
name
}
user
}
scaleIo {
fsType
gateway
protectionDomain
readOnly
secretRef {
name
}
sslEnabled
storageMode
storagePool
system
volumeName
}
secret {
defaultMode
optional
secretName
items {
id
key
mode
path
}
}
storageos {
fsType
readOnly
secretRef {
name
}
volumeName
volumeNamespace
}
vsphereVolume {
fsType
storagePolicyId
storagePolicyName
volumePath
}
}
}
}
}
status {
availableReplicas
collisionCount
conditions {
id
lastTransitionTime
lastUpdateTime
message
reason
status
type
}
observedGeneration
readyReplicas
replicas
unavailableReplicas
updatedReplicas
}
namespace {
id
context
apiVersion
kind
metadata {
id
annotations {
id
key
value
}
clusterName
creationTimestamp
deletionGracePeriodSeconds
deletionTimestamp
finalizers
generateName
generation
labels {
id
key
value
}
ownerReferences {
id
apiVersion
blockOwnerDeletion
controller
kind
name
}
name
namespace
resourceVersion
selfLink
}
spec {
finalizers
}
status {
phase
conditions {
id
lastHeartbeatTime
lastTransitionTime
message
reason
status
type
}
}
networkPolicies {
id
}
nodes {
id
}
pods {
id
}
deployments {
id
}
ingresses {
id
}
secrets {
id
}
services {
id
}
serviceAccounts {
id
}
storageClasses {
id
}
persistentVolumes {
id
}
persistentVolumeClaims {
id
}
roles {
id
}
jobs {
id
}
cronJobs {
id
}
}
}
}