github.com/argoproj-labs/argocd-operator@v0.10.0/deploy/olm-catalog/argocd-operator/0.0.11/argoproj.io_appprojects_crd.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1beta1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    labels:
     5      app.kubernetes.io/name: appprojects.argoproj.io
     6      app.kubernetes.io/part-of: argocd
     7    name: appprojects.argoproj.io
     8  spec:
     9    group: argoproj.io
    10    names:
    11      kind: AppProject
    12      listKind: AppProjectList
    13      plural: appprojects
    14      shortNames:
    15      - appproj
    16      - appprojs
    17      singular: appproject
    18    scope: Namespaced
    19    validation:
    20      openAPIV3Schema:
    21        description: 'AppProject provides a logical grouping of applications, providing
    22          controls for: * where the apps may deploy to (cluster whitelist) * what may
    23          be deployed (repository whitelist, resource whitelist/blacklist) * who can
    24          access these applications (roles, OIDC group claims bindings) * and what they
    25          can do (RBAC policies) * automation access to these roles (JWT tokens)'
    26        properties:
    27          apiVersion:
    28            description: 'APIVersion defines the versioned schema of this representation
    29              of an object. Servers should convert recognized schemas to the latest
    30              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    31            type: string
    32          kind:
    33            description: 'Kind is a string value representing the REST resource this
    34              object represents. Servers may infer this from the endpoint the client
    35              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    36            type: string
    37          metadata:
    38            type: object
    39          spec:
    40            description: AppProjectSpec is the specification of an AppProject
    41            properties:
    42              clusterResourceWhitelist:
    43                description: ClusterResourceWhitelist contains list of whitelisted cluster
    44                  level resources
    45                items:
    46                  description: GroupKind specifies a Group and a Kind, but does not
    47                    force a version.  This is useful for identifying concepts during
    48                    lookup stages without having partially valid types
    49                  properties:
    50                    group:
    51                      type: string
    52                    kind:
    53                      type: string
    54                  required:
    55                  - group
    56                  - kind
    57                  type: object
    58                type: array
    59              description:
    60                description: Description contains optional project description
    61                type: string
    62              destinations:
    63                description: Destinations contains list of destinations available for
    64                  deployment
    65                items:
    66                  description: ApplicationDestination contains deployment destination
    67                    information
    68                  properties:
    69                    namespace:
    70                      description: Namespace overrides the environment namespace value
    71                        in the ksonnet app.yaml
    72                      type: string
    73                    server:
    74                      description: Server overrides the environment server value in
    75                        the ksonnet app.yaml
    76                      type: string
    77                  type: object
    78                type: array
    79              namespaceResourceBlacklist:
    80                description: NamespaceResourceBlacklist contains list of blacklisted
    81                  namespace level resources
    82                items:
    83                  description: GroupKind specifies a Group and a Kind, but does not
    84                    force a version.  This is useful for identifying concepts during
    85                    lookup stages without having partially valid types
    86                  properties:
    87                    group:
    88                      type: string
    89                    kind:
    90                      type: string
    91                  required:
    92                  - group
    93                  - kind
    94                  type: object
    95                type: array
    96              namespaceResourceWhitelist:
    97                description: NamespaceResourceWhitelist contains list of whitelisted
    98                  namespace level resources
    99                items:
   100                  description: GroupKind specifies a Group and a Kind, but does not
   101                    force a version.  This is useful for identifying concepts during
   102                    lookup stages without having partially valid types
   103                  properties:
   104                    group:
   105                      type: string
   106                    kind:
   107                      type: string
   108                  required:
   109                  - group
   110                  - kind
   111                  type: object
   112                type: array
   113              orphanedResources:
   114                description: OrphanedResources specifies if controller should monitor
   115                  orphaned resources of apps in this project
   116                properties:
   117                  warn:
   118                    description: Warn indicates if warning condition should be created
   119                      for apps which have orphaned resources
   120                    type: boolean
   121                type: object
   122              roles:
   123                description: Roles are user defined RBAC roles associated with this
   124                  project
   125                items:
   126                  description: ProjectRole represents a role that has access to a project
   127                  properties:
   128                    description:
   129                      description: Description is a description of the role
   130                      type: string
   131                    groups:
   132                      description: Groups are a list of OIDC group claims bound to this
   133                        role
   134                      items:
   135                        type: string
   136                      type: array
   137                    jwtTokens:
   138                      description: JWTTokens are a list of generated JWT tokens bound
   139                        to this role
   140                      items:
   141                        description: JWTToken holds the issuedAt and expiresAt values
   142                          of a token
   143                        properties:
   144                          exp:
   145                            format: int64
   146                            type: integer
   147                          iat:
   148                            format: int64
   149                            type: integer
   150                          id:
   151                            type: string
   152                        required:
   153                        - iat
   154                        type: object
   155                      type: array
   156                    name:
   157                      description: Name is a name for this role
   158                      type: string
   159                    policies:
   160                      description: Policies Stores a list of casbin formated strings
   161                        that define access policies for the role in the project
   162                      items:
   163                        type: string
   164                      type: array
   165                  required:
   166                  - name
   167                  type: object
   168                type: array
   169              sourceRepos:
   170                description: SourceRepos contains list of repository URLs which can
   171                  be used for deployment
   172                items:
   173                  type: string
   174                type: array
   175              syncWindows:
   176                description: SyncWindows controls when syncs can be run for apps in
   177                  this project
   178                items:
   179                  description: SyncWindow contains the kind, time, duration and attributes
   180                    that are used to assign the syncWindows to apps
   181                  properties:
   182                    applications:
   183                      description: Applications contains a list of applications that
   184                        the window will apply to
   185                      items:
   186                        type: string
   187                      type: array
   188                    clusters:
   189                      description: Clusters contains a list of clusters that the window
   190                        will apply to
   191                      items:
   192                        type: string
   193                      type: array
   194                    duration:
   195                      description: Duration is the amount of time the sync window will
   196                        be open
   197                      type: string
   198                    kind:
   199                      description: Kind defines if the window allows or blocks syncs
   200                      type: string
   201                    manualSync:
   202                      description: ManualSync enables manual syncs when they would otherwise
   203                        be blocked
   204                      type: boolean
   205                    namespaces:
   206                      description: Namespaces contains a list of namespaces that the
   207                        window will apply to
   208                      items:
   209                        type: string
   210                      type: array
   211                    schedule:
   212                      description: Schedule is the time the window will begin, specified
   213                        in cron format
   214                      type: string
   215                  type: object
   216                type: array
   217            type: object
   218        required:
   219        - metadata
   220        - spec
   221        type: object
   222    version: v1alpha1
   223    versions:
   224    - name: v1alpha1
   225      served: true
   226      storage: true