...

Text file src/github.com/openshift/api/security/v1/0000_03_security-openshift_01_scc.crd.yaml

Documentation: github.com/openshift/api/security/v1

     1apiVersion: apiextensions.k8s.io/v1
     2kind: CustomResourceDefinition
     3metadata:
     4  annotations:
     5    api-approved.openshift.io: https://github.com/openshift/api/pull/470
     6    include.release.openshift.io/ibm-cloud-managed: "true"
     7    include.release.openshift.io/self-managed-high-availability: "true"
     8    include.release.openshift.io/single-node-developer: "true"
     9  name: securitycontextconstraints.security.openshift.io
    10spec:
    11  group: security.openshift.io
    12  names:
    13    kind: SecurityContextConstraints
    14    listKind: SecurityContextConstraintsList
    15    plural: securitycontextconstraints
    16    singular: securitycontextconstraints
    17  scope: Cluster
    18  versions:
    19    - additionalPrinterColumns:
    20        - description: Determines if a container can request to be run as privileged
    21          jsonPath: .allowPrivilegedContainer
    22          name: Priv
    23          type: string
    24        - description: A list of capabilities that can be requested to add to the container
    25          jsonPath: .allowedCapabilities
    26          name: Caps
    27          type: string
    28        - description: Strategy that will dictate what labels will be set in the SecurityContext
    29          jsonPath: .seLinuxContext.type
    30          name: SELinux
    31          type: string
    32        - description: Strategy that will dictate what RunAsUser is used in the SecurityContext
    33          jsonPath: .runAsUser.type
    34          name: RunAsUser
    35          type: string
    36        - description: Strategy that will dictate what fs group is used by the SecurityContext
    37          jsonPath: .fsGroup.type
    38          name: FSGroup
    39          type: string
    40        - description: Strategy that will dictate what supplemental groups are used by the SecurityContext
    41          jsonPath: .supplementalGroups.type
    42          name: SupGroup
    43          type: string
    44        - description: Sort order of SCCs
    45          jsonPath: .priority
    46          name: Priority
    47          type: string
    48        - description: Force containers to run with a read only root file system
    49          jsonPath: .readOnlyRootFilesystem
    50          name: ReadOnlyRootFS
    51          type: string
    52        - description: White list of allowed volume plugins
    53          jsonPath: .volumes
    54          name: Volumes
    55          type: string
    56      name: v1
    57      schema:
    58        openAPIV3Schema:
    59          description: "SecurityContextConstraints governs the ability to make requests that affect the SecurityContext that will be applied to a container. For historical reasons SCC was exposed under the core Kubernetes API group. That exposure is deprecated and will be removed in a future release - users should instead use the security.openshift.io group to manage SecurityContextConstraints. \n Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer)."
    60          type: object
    61          required:
    62            - allowHostDirVolumePlugin
    63            - allowHostIPC
    64            - allowHostNetwork
    65            - allowHostPID
    66            - allowHostPorts
    67            - allowPrivilegedContainer
    68            - allowedCapabilities
    69            - defaultAddCapabilities
    70            - priority
    71            - readOnlyRootFilesystem
    72            - requiredDropCapabilities
    73            - volumes
    74          properties:
    75            allowHostDirVolumePlugin:
    76              description: AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin
    77              type: boolean
    78            allowHostIPC:
    79              description: AllowHostIPC determines if the policy allows host ipc in the containers.
    80              type: boolean
    81            allowHostNetwork:
    82              description: AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec.
    83              type: boolean
    84            allowHostPID:
    85              description: AllowHostPID determines if the policy allows host pid in the containers.
    86              type: boolean
    87            allowHostPorts:
    88              description: AllowHostPorts determines if the policy allows host ports in the containers.
    89              type: boolean
    90            allowPrivilegeEscalation:
    91              description: AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.
    92              type: boolean
    93              nullable: true
    94            allowPrivilegedContainer:
    95              description: AllowPrivilegedContainer determines if a container can request to be run as privileged.
    96              type: boolean
    97            allowedCapabilities:
    98              description: AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field maybe added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. To allow all capabilities you may use '*'.
    99              type: array
   100              items:
   101                description: Capability represent POSIX capabilities type
   102                type: string
   103              nullable: true
   104            allowedFlexVolumes:
   105              description: AllowedFlexVolumes is a whitelist of allowed Flexvolumes.  Empty or nil indicates that all Flexvolumes may be used.  This parameter is effective only when the usage of the Flexvolumes is allowed in the "Volumes" field.
   106              type: array
   107              items:
   108                description: AllowedFlexVolume represents a single Flexvolume that is allowed to be used.
   109                type: object
   110                required:
   111                  - driver
   112                properties:
   113                  driver:
   114                    description: Driver is the name of the Flexvolume driver.
   115                    type: string
   116              nullable: true
   117            allowedUnsafeSysctls:
   118              description: "AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. \n Examples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc."
   119              type: array
   120              items:
   121                type: string
   122              nullable: true
   123            apiVersion:
   124              description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
   125              type: string
   126            defaultAddCapabilities:
   127              description: DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability.  You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.
   128              type: array
   129              items:
   130                description: Capability represent POSIX capabilities type
   131                type: string
   132              nullable: true
   133            defaultAllowPrivilegeEscalation:
   134              description: DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.
   135              type: boolean
   136              nullable: true
   137            forbiddenSysctls:
   138              description: "ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden. \n Examples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc."
   139              type: array
   140              items:
   141                type: string
   142              nullable: true
   143            fsGroup:
   144              description: FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.
   145              type: object
   146              properties:
   147                ranges:
   148                  description: Ranges are the allowed ranges of fs groups.  If you would like to force a single fs group then supply a single range with the same start and end.
   149                  type: array
   150                  items:
   151                    description: 'IDRange provides a min/max of an allowed range of IDs. TODO: this could be reused for UIDs.'
   152                    type: object
   153                    properties:
   154                      max:
   155                        description: Max is the end of the range, inclusive.
   156                        type: integer
   157                        format: int64
   158                      min:
   159                        description: Min is the start of the range, inclusive.
   160                        type: integer
   161                        format: int64
   162                type:
   163                  description: Type is the strategy that will dictate what FSGroup is used in the SecurityContext.
   164                  type: string
   165              nullable: true
   166            groups:
   167              description: The groups that have permission to use this security context constraints
   168              type: array
   169              items:
   170                type: string
   171              nullable: true
   172            kind:
   173              description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
   174              type: string
   175            metadata:
   176              type: object
   177            priority:
   178              description: Priority influences the sort order of SCCs when evaluating which SCCs to try first for a given pod request based on access in the Users and Groups fields.  The higher the int, the higher priority. An unset value is considered a 0 priority. If scores for multiple SCCs are equal they will be sorted from most restrictive to least restrictive. If both priorities and restrictions are equal the SCCs will be sorted by name.
   179              type: integer
   180              format: int32
   181              nullable: true
   182            readOnlyRootFilesystem:
   183              description: ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system.  If the container specifically requests to run with a non-read only root file system the SCC should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.
   184              type: boolean
   185            requiredDropCapabilities:
   186              description: RequiredDropCapabilities are the capabilities that will be dropped from the container.  These are required to be dropped and cannot be added.
   187              type: array
   188              items:
   189                description: Capability represent POSIX capabilities type
   190                type: string
   191              nullable: true
   192            runAsUser:
   193              description: RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext.
   194              type: object
   195              properties:
   196                type:
   197                  description: Type is the strategy that will dictate what RunAsUser is used in the SecurityContext.
   198                  type: string
   199                uid:
   200                  description: UID is the user id that containers must run as.  Required for the MustRunAs strategy if not using namespace/service account allocated uids.
   201                  type: integer
   202                  format: int64
   203                uidRangeMax:
   204                  description: UIDRangeMax defines the max value for a strategy that allocates by range.
   205                  type: integer
   206                  format: int64
   207                uidRangeMin:
   208                  description: UIDRangeMin defines the min value for a strategy that allocates by range.
   209                  type: integer
   210                  format: int64
   211              nullable: true
   212            seLinuxContext:
   213              description: SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext.
   214              type: object
   215              properties:
   216                seLinuxOptions:
   217                  description: seLinuxOptions required to run as; required for MustRunAs
   218                  type: object
   219                  properties:
   220                    level:
   221                      description: Level is SELinux level label that applies to the container.
   222                      type: string
   223                    role:
   224                      description: Role is a SELinux role label that applies to the container.
   225                      type: string
   226                    type:
   227                      description: Type is a SELinux type label that applies to the container.
   228                      type: string
   229                    user:
   230                      description: User is a SELinux user label that applies to the container.
   231                      type: string
   232                type:
   233                  description: Type is the strategy that will dictate what SELinux context is used in the SecurityContext.
   234                  type: string
   235              nullable: true
   236            seccompProfiles:
   237              description: "SeccompProfiles lists the allowed profiles that may be set for the pod or container's seccomp annotations.  An unset (nil) or empty value means that no profiles may be specifid by the pod or container.\tThe wildcard '*' may be used to allow all profiles.  When used to generate a value for a pod the first non-wildcard profile will be used as the default."
   238              type: array
   239              items:
   240                type: string
   241              nullable: true
   242            supplementalGroups:
   243              description: SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.
   244              type: object
   245              properties:
   246                ranges:
   247                  description: Ranges are the allowed ranges of supplemental groups.  If you would like to force a single supplemental group then supply a single range with the same start and end.
   248                  type: array
   249                  items:
   250                    description: 'IDRange provides a min/max of an allowed range of IDs. TODO: this could be reused for UIDs.'
   251                    type: object
   252                    properties:
   253                      max:
   254                        description: Max is the end of the range, inclusive.
   255                        type: integer
   256                        format: int64
   257                      min:
   258                        description: Min is the start of the range, inclusive.
   259                        type: integer
   260                        format: int64
   261                type:
   262                  description: Type is the strategy that will dictate what supplemental groups is used in the SecurityContext.
   263                  type: string
   264              nullable: true
   265            users:
   266              description: The users who have permissions to use this security context constraints
   267              type: array
   268              items:
   269                type: string
   270              nullable: true
   271            volumes:
   272              description: Volumes is a white list of allowed volume plugins.  FSType corresponds directly with the field names of a VolumeSource (azureFile, configMap, emptyDir).  To allow all volumes you may use "*". To allow no volumes, set to ["none"].
   273              type: array
   274              items:
   275                description: FS Type gives strong typing to different file systems that are used by volumes.
   276                type: string
   277              nullable: true
   278      served: true
   279      storage: true

View as plain text