2019-12-19 09:50:18 +11:00
apiVersion : apiextensions.k8s.io/v1beta1
kind : CustomResourceDefinition
metadata :
labels :
app.kubernetes.io/name : appprojects.argoproj.io
app.kubernetes.io/part-of : argocd
name : appprojects.argoproj.io
2020-04-08 17:43:40 +02:00
annotations :
helm.sh/hook : crd-install
2019-12-19 09:50:18 +11:00
spec :
group : argoproj.io
names :
kind : AppProject
2020-04-08 17:43:40 +02:00
listKind : AppProjectList
2019-12-19 09:50:18 +11:00
plural : appprojects
shortNames :
2020-04-08 17:43:40 +02:00
- appproj
- appprojs
singular : appproject
2019-12-19 09:50:18 +11:00
scope : Namespaced
validation :
openAPIV3Schema :
2020-08-29 16:42:25 -04:00
description: 'AppProject provides a logical grouping of applications, providing controls for : * where the apps may deploy to (cluster whitelist) * what may be deployed (repository whitelist, resource whitelist/blacklist) * who can access these applications (roles, OIDC group claims bindings) * and what they can do (RBAC policies) * automation access to these roles (JWT tokens)'
2019-12-19 09:50:18 +11:00
properties :
apiVersion :
2020-08-29 16:42:25 -04:00
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'
2019-12-19 09:50:18 +11:00
type : string
kind :
2020-08-29 16:42:25 -04:00
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'
2019-12-19 09:50:18 +11:00
type : string
metadata :
type : object
spec :
2020-04-08 17:43:40 +02:00
description : AppProjectSpec is the specification of an AppProject
2019-12-19 09:50:18 +11:00
properties :
2020-08-29 16:42:25 -04:00
clusterResourceBlacklist :
description : ClusterResourceBlacklist contains list of blacklisted cluster level resources
items :
description : GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
properties :
group :
type : string
kind :
type : string
required :
- group
- kind
type : object
type : array
2019-12-19 09:50:18 +11:00
clusterResourceWhitelist :
2020-08-29 16:42:25 -04:00
description : ClusterResourceWhitelist contains list of whitelisted cluster level resources
2019-12-19 09:50:18 +11:00
items :
2020-08-29 16:42:25 -04:00
description : GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
2019-12-19 09:50:18 +11:00
properties :
group :
type : string
kind :
type : string
required :
2020-04-08 17:43:40 +02:00
- group
- kind
2019-12-19 09:50:18 +11:00
type : object
type : array
description :
description : Description contains optional project description
type : string
destinations :
2020-08-29 16:42:25 -04:00
description : Destinations contains list of destinations available for deployment
2019-12-19 09:50:18 +11:00
items :
2020-08-29 16:42:25 -04:00
description : ApplicationDestination contains deployment destination information
2019-12-19 09:50:18 +11:00
properties :
2020-08-29 16:42:25 -04:00
name :
description : Name of the destination cluster which can be used instead of server (url) field
type : string
2019-12-19 09:50:18 +11:00
namespace :
2020-08-29 16:42:25 -04:00
description : Namespace overrides the environment namespace value in the ksonnet app.yaml
2019-12-19 09:50:18 +11:00
type : string
server :
2020-08-29 16:42:25 -04:00
description : Server overrides the environment server value in the ksonnet app.yaml
2019-12-19 09:50:18 +11:00
type : string
type : object
type : array
namespaceResourceBlacklist :
2020-08-29 16:42:25 -04:00
description : NamespaceResourceBlacklist contains list of blacklisted namespace level resources
2019-12-19 09:50:18 +11:00
items :
2020-08-29 16:42:25 -04:00
description : GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
2019-12-19 09:50:18 +11:00
properties :
group :
type : string
kind :
type : string
required :
2020-04-08 17:43:40 +02:00
- group
- kind
2019-12-19 09:50:18 +11:00
type : object
type : array
2020-05-14 04:16:36 +02:00
namespaceResourceWhitelist :
2020-08-29 16:42:25 -04:00
description : NamespaceResourceWhitelist contains list of whitelisted namespace level resources
2020-05-14 04:16:36 +02:00
items :
2020-08-29 16:42:25 -04:00
description : GroupKind specifies a Group and a Kind, but does not force a version. This is useful for identifying concepts during lookup stages without having partially valid types
2020-05-14 04:16:36 +02:00
properties :
group :
type : string
kind :
type : string
required :
- group
- kind
type : object
type : array
2019-12-19 09:50:18 +11:00
orphanedResources :
2020-08-29 16:42:25 -04:00
description : OrphanedResources specifies if controller should monitor orphaned resources of apps in this project
2019-12-19 09:50:18 +11:00
properties :
2020-08-29 16:42:25 -04:00
ignore :
items :
properties :
group :
type : string
kind :
type : string
name :
type : string
type : object
type : array
2019-12-19 09:50:18 +11:00
warn :
2020-08-29 16:42:25 -04:00
description : Warn indicates if warning condition should be created for apps which have orphaned resources
2019-12-19 09:50:18 +11:00
type : boolean
type : object
roles :
2020-08-29 16:42:25 -04:00
description : Roles are user defined RBAC roles associated with this project
2019-12-19 09:50:18 +11:00
items :
2020-04-08 17:43:40 +02:00
description : ProjectRole represents a role that has access to a project
2019-12-19 09:50:18 +11:00
properties :
description :
description : Description is a description of the role
type : string
groups :
2020-08-29 16:42:25 -04:00
description : Groups are a list of OIDC group claims bound to this role
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
jwtTokens :
2020-08-29 16:42:25 -04:00
description : JWTTokens are a list of generated JWT tokens bound to this role
2019-12-19 09:50:18 +11:00
items :
2020-08-29 16:42:25 -04:00
description : JWTToken holds the issuedAt and expiresAt values of a token
2019-12-19 09:50:18 +11:00
properties :
exp :
format : int64
type : integer
iat :
format : int64
type : integer
2020-05-14 04:16:36 +02:00
id :
type : string
2019-12-19 09:50:18 +11:00
required :
2020-04-08 17:43:40 +02:00
- iat
2019-12-19 09:50:18 +11:00
type : object
type : array
name :
description : Name is a name for this role
type : string
policies :
2020-08-29 16:42:25 -04:00
description : Policies Stores a list of casbin formated strings that define access policies for the role in the project
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
required :
2020-04-08 17:43:40 +02:00
- name
2019-12-19 09:50:18 +11:00
type : object
type : array
2020-08-29 16:42:25 -04:00
signatureKeys :
description : List of PGP key IDs that commits to be synced to must be signed with
items :
description : SignatureKey is the specification of a key required to verify commit signatures with
properties :
keyID :
description : The ID of the key in hexadecimal notation
type : string
required :
- keyID
type : object
type : array
2019-12-19 09:50:18 +11:00
sourceRepos :
2020-08-29 16:42:25 -04:00
description : SourceRepos contains list of repository URLs which can be used for deployment
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
syncWindows :
2020-08-29 16:42:25 -04:00
description : SyncWindows controls when syncs can be run for apps in this project
2019-12-19 09:50:18 +11:00
items :
2020-08-29 16:42:25 -04:00
description : SyncWindow contains the kind, time, duration and attributes that are used to assign the syncWindows to apps
2019-12-19 09:50:18 +11:00
properties :
applications :
2020-08-29 16:42:25 -04:00
description : Applications contains a list of applications that the window will apply to
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
clusters :
2020-08-29 16:42:25 -04:00
description : Clusters contains a list of clusters that the window will apply to
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
duration :
2020-08-29 16:42:25 -04:00
description : Duration is the amount of time the sync window will be open
2019-12-19 09:50:18 +11:00
type : string
kind :
description : Kind defines if the window allows or blocks syncs
type : string
manualSync :
2020-08-29 16:42:25 -04:00
description : ManualSync enables manual syncs when they would otherwise be blocked
2019-12-19 09:50:18 +11:00
type : boolean
namespaces :
2020-08-29 16:42:25 -04:00
description : Namespaces contains a list of namespaces that the window will apply to
2019-12-19 09:50:18 +11:00
items :
type : string
type : array
schedule :
2020-08-29 16:42:25 -04:00
description : Schedule is the time the window will begin, specified in cron format
2019-12-19 09:50:18 +11:00
type : string
type : object
type : array
type : object
required :
2020-04-08 17:43:40 +02:00
- metadata
- spec
2019-12-19 09:50:18 +11:00
type : object
2020-04-08 17:43:40 +02:00
version : v1alpha1
2019-12-19 09:50:18 +11:00
versions :
2020-04-08 17:43:40 +02:00
- name : v1alpha1
served : true
2020-08-29 16:42:25 -04:00
storage : true