{
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "containers": {
          "items": {
            "properties": {
              "name": {
                "description": "Name of the container",
                "type": "string"
              },
              "path": {
                "description": "Path to the seccomp profile",
                "type": "string"
              },
              "spec": {
                "properties": {
                  "architectures": {
                    "description": "The architecture used for system calls",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "baseProfileName": {
                    "description": "Name of base profile to union into this profile",
                    "type": "string"
                  },
                  "defaultAction": {
                    "description": "The default action for seccomp",
                    "type": "string"
                  },
                  "disabled": {
                    "description": "Whether the profile is disabled",
                    "type": "boolean"
                  },
                  "flags": {
                    "description": "List of flags to use with seccomp(2)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "listenerMetadata": {
                    "description": "Opaque data to pass to the seccomp agent",
                    "type": "string"
                  },
                  "listenerPath": {
                    "description": "Path of UNIX domain socket to contact a seccomp agent",
                    "type": "string"
                  },
                  "syscalls": {
                    "items": {
                      "properties": {
                        "action": {
                          "description": "The action for seccomp rules",
                          "type": "string"
                        },
                        "args": {
                          "items": {
                            "properties": {
                              "index": {
                                "description": "The index for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "op": {
                                "description": "The operator for syscall arguments",
                                "type": "string"
                              },
                              "value": {
                                "description": "The value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "valueTwo": {
                                "description": "The second value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "errnoRet": {
                          "description": "The errno return code to use",
                          "format": "int64",
                          "type": "integer"
                        },
                        "names": {
                          "description": "The names of the syscalls",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true,
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "ephemeralContainers": {
          "items": {
            "properties": {
              "name": {
                "description": "Name of the ephemeral container",
                "type": "string"
              },
              "path": {
                "description": "Path to the seccomp profile",
                "type": "string"
              },
              "spec": {
                "properties": {
                  "architectures": {
                    "description": "The architecture used for system calls",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "baseProfileName": {
                    "description": "Name of base profile to union into this profile",
                    "type": "string"
                  },
                  "defaultAction": {
                    "description": "The default action for seccomp",
                    "type": "string"
                  },
                  "disabled": {
                    "description": "Whether the profile is disabled",
                    "type": "boolean"
                  },
                  "flags": {
                    "description": "List of flags to use with seccomp(2)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "listenerMetadata": {
                    "description": "Opaque data to pass to the seccomp agent",
                    "type": "string"
                  },
                  "listenerPath": {
                    "description": "Path of UNIX domain socket to contact a seccomp agent",
                    "type": "string"
                  },
                  "syscalls": {
                    "items": {
                      "properties": {
                        "action": {
                          "description": "The action for seccomp rules",
                          "type": "string"
                        },
                        "args": {
                          "items": {
                            "properties": {
                              "index": {
                                "description": "The index for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "op": {
                                "description": "The operator for syscall arguments",
                                "type": "string"
                              },
                              "value": {
                                "description": "The value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "valueTwo": {
                                "description": "The second value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "errnoRet": {
                          "description": "The errno return code to use",
                          "format": "int64",
                          "type": "integer"
                        },
                        "names": {
                          "description": "The names of the syscalls",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true,
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "initContainers": {
          "items": {
            "properties": {
              "name": {
                "description": "Name of the init container",
                "type": "string"
              },
              "path": {
                "description": "Path to the seccomp profile",
                "type": "string"
              },
              "spec": {
                "properties": {
                  "architectures": {
                    "description": "The architecture used for system calls",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "baseProfileName": {
                    "description": "Name of base profile to union into this profile",
                    "type": "string"
                  },
                  "defaultAction": {
                    "description": "The default action for seccomp",
                    "type": "string"
                  },
                  "disabled": {
                    "description": "Whether the profile is disabled",
                    "type": "boolean"
                  },
                  "flags": {
                    "description": "List of flags to use with seccomp(2)",
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  },
                  "listenerMetadata": {
                    "description": "Opaque data to pass to the seccomp agent",
                    "type": "string"
                  },
                  "listenerPath": {
                    "description": "Path of UNIX domain socket to contact a seccomp agent",
                    "type": "string"
                  },
                  "syscalls": {
                    "items": {
                      "properties": {
                        "action": {
                          "description": "The action for seccomp rules",
                          "type": "string"
                        },
                        "args": {
                          "items": {
                            "properties": {
                              "index": {
                                "description": "The index for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "op": {
                                "description": "The operator for syscall arguments",
                                "type": "string"
                              },
                              "value": {
                                "description": "The value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              },
                              "valueTwo": {
                                "description": "The second value for syscall arguments",
                                "format": "int64",
                                "type": "integer"
                              }
                            },
                            "type": "object",
                            "additionalProperties": false
                          },
                          "type": "array"
                        },
                        "errnoRet": {
                          "description": "The errno return code to use",
                          "format": "int64",
                          "type": "integer"
                        },
                        "names": {
                          "description": "The names of the syscalls",
                          "items": {
                            "type": "string"
                          },
                          "type": "array"
                        }
                      },
                      "type": "object",
                      "additionalProperties": false
                    },
                    "type": "array"
                  }
                },
                "type": "object",
                "x-kubernetes-preserve-unknown-fields": true,
                "additionalProperties": false
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "properties": {
        "containers": {
          "additionalProperties": {
            "properties": {
              "activeWorkloads": {
                "description": "Active workloads using this profile",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "conditions": {
                "items": {
                  "properties": {
                    "lastTransitionTime": {
                      "description": "Last time this condition transitioned",
                      "format": "date-time",
                      "type": "string"
                    },
                    "message": {
                      "description": "Message about this condition's last transition",
                      "type": "string"
                    },
                    "reason": {
                      "description": "Reason for this condition's last transition",
                      "type": "string"
                    },
                    "status": {
                      "description": "Status of this condition (True, False, Unknown)",
                      "type": "string"
                    },
                    "type": {
                      "description": "Type of this condition",
                      "type": "string"
                    }
                  },
                  "type": "object",
                  "additionalProperties": false
                },
                "type": "array"
              },
              "localhostProfile": {
                "description": "Path for securityContext.seccompProfile.localhostProfile",
                "type": "string"
              },
              "path": {
                "description": "Path to the seccomp profile",
                "type": "string"
              },
              "status": {
                "description": "Profile state",
                "type": "string"
              }
            },
            "type": "object",
            "additionalProperties": false
          },
          "type": "object"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
