generators.external-secrets.io_clustergenerators.yaml 124 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.19.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: clustergenerators.generators.external-secrets.io
  9. spec:
  10. group: generators.external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. - external-secrets-generators
  15. kind: ClusterGenerator
  16. listKind: ClusterGeneratorList
  17. plural: clustergenerators
  18. singular: clustergenerator
  19. scope: Cluster
  20. versions:
  21. - name: v1alpha1
  22. schema:
  23. openAPIV3Schema:
  24. description: ClusterGenerator represents a cluster-wide generator which can
  25. be referenced as part of `generatorRef` fields.
  26. properties:
  27. apiVersion:
  28. description: |-
  29. APIVersion defines the versioned schema of this representation of an object.
  30. Servers should convert recognized schemas to the latest internal value, and
  31. may reject unrecognized values.
  32. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  33. type: string
  34. kind:
  35. description: |-
  36. Kind is a string value representing the REST resource this object represents.
  37. Servers may infer this from the endpoint the client submits requests to.
  38. Cannot be updated.
  39. In CamelCase.
  40. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  41. type: string
  42. metadata:
  43. type: object
  44. spec:
  45. properties:
  46. generator:
  47. description: Generator the spec for this generator, must match the
  48. kind.
  49. maxProperties: 1
  50. minProperties: 1
  51. properties:
  52. acrAccessTokenSpec:
  53. description: |-
  54. ACRAccessTokenSpec defines how to generate the access token
  55. e.g. how to authenticate and which registry to use.
  56. see: https://github.com/Azure/acr/blob/main/docs/AAD-OAuth.md#overview
  57. properties:
  58. auth:
  59. properties:
  60. managedIdentity:
  61. description: ManagedIdentity uses Azure Managed Identity
  62. to authenticate with Azure.
  63. properties:
  64. identityId:
  65. description: If multiple Managed Identity is assigned
  66. to the pod, you can select the one to be used
  67. type: string
  68. type: object
  69. servicePrincipal:
  70. description: ServicePrincipal uses Azure Service Principal
  71. credentials to authenticate with Azure.
  72. properties:
  73. secretRef:
  74. description: |-
  75. Configuration used to authenticate with Azure using static
  76. credentials stored in a Kind=Secret.
  77. properties:
  78. clientId:
  79. description: The Azure clientId of the service
  80. principle used for authentication.
  81. properties:
  82. key:
  83. description: |-
  84. A key in the referenced Secret.
  85. Some instances of this field may be defaulted, in others it may be required.
  86. maxLength: 253
  87. minLength: 1
  88. pattern: ^[-._a-zA-Z0-9]+$
  89. type: string
  90. name:
  91. description: The name of the Secret resource
  92. being referred to.
  93. maxLength: 253
  94. minLength: 1
  95. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  96. type: string
  97. namespace:
  98. description: |-
  99. The namespace of the Secret resource being referred to.
  100. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  101. maxLength: 63
  102. minLength: 1
  103. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  104. type: string
  105. type: object
  106. clientSecret:
  107. description: The Azure ClientSecret of the service
  108. principle used for authentication.
  109. properties:
  110. key:
  111. description: |-
  112. A key in the referenced Secret.
  113. Some instances of this field may be defaulted, in others it may be required.
  114. maxLength: 253
  115. minLength: 1
  116. pattern: ^[-._a-zA-Z0-9]+$
  117. type: string
  118. name:
  119. description: The name of the Secret resource
  120. being referred to.
  121. maxLength: 253
  122. minLength: 1
  123. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  124. type: string
  125. namespace:
  126. description: |-
  127. The namespace of the Secret resource being referred to.
  128. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  129. maxLength: 63
  130. minLength: 1
  131. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  132. type: string
  133. type: object
  134. type: object
  135. required:
  136. - secretRef
  137. type: object
  138. workloadIdentity:
  139. description: WorkloadIdentity uses Azure Workload Identity
  140. to authenticate with Azure.
  141. properties:
  142. serviceAccountRef:
  143. description: |-
  144. ServiceAccountRef specified the service account
  145. that should be used when authenticating with WorkloadIdentity.
  146. properties:
  147. audiences:
  148. description: |-
  149. Audience specifies the `aud` claim for the service account token
  150. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  151. then this audiences will be appended to the list
  152. items:
  153. type: string
  154. type: array
  155. name:
  156. description: The name of the ServiceAccount resource
  157. being referred to.
  158. maxLength: 253
  159. minLength: 1
  160. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  161. type: string
  162. namespace:
  163. description: |-
  164. Namespace of the resource being referred to.
  165. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  166. maxLength: 63
  167. minLength: 1
  168. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  169. type: string
  170. required:
  171. - name
  172. type: object
  173. type: object
  174. type: object
  175. environmentType:
  176. default: PublicCloud
  177. description: |-
  178. EnvironmentType specifies the Azure cloud environment endpoints to use for
  179. connecting and authenticating with Azure. By default it points to the public cloud AAD endpoint.
  180. The following endpoints are available, also see here: https://github.com/Azure/go-autorest/blob/main/autorest/azure/environments.go#L152
  181. PublicCloud, USGovernmentCloud, ChinaCloud, GermanCloud
  182. enum:
  183. - PublicCloud
  184. - USGovernmentCloud
  185. - ChinaCloud
  186. - GermanCloud
  187. - AzureStackCloud
  188. type: string
  189. registry:
  190. description: |-
  191. the domain name of the ACR registry
  192. e.g. foobarexample.azurecr.io
  193. type: string
  194. scope:
  195. description: |-
  196. Define the scope for the access token, e.g. pull/push access for a repository.
  197. if not provided it will return a refresh token that has full scope.
  198. Note: you need to pin it down to the repository level, there is no wildcard available.
  199. examples:
  200. repository:my-repository:pull,push
  201. repository:my-repository:pull
  202. see docs for details: https://docs.docker.com/registry/spec/auth/scope/
  203. type: string
  204. tenantId:
  205. description: TenantID configures the Azure Tenant to send
  206. requests to. Required for ServicePrincipal auth type.
  207. type: string
  208. required:
  209. - auth
  210. - registry
  211. type: object
  212. ecrAuthorizationTokenSpec:
  213. properties:
  214. auth:
  215. description: Auth defines how to authenticate with AWS
  216. properties:
  217. jwt:
  218. description: Authenticate against AWS using service account
  219. tokens.
  220. properties:
  221. serviceAccountRef:
  222. description: A reference to a ServiceAccount resource.
  223. properties:
  224. audiences:
  225. description: |-
  226. Audience specifies the `aud` claim for the service account token
  227. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  228. then this audiences will be appended to the list
  229. items:
  230. type: string
  231. type: array
  232. name:
  233. description: The name of the ServiceAccount resource
  234. being referred to.
  235. maxLength: 253
  236. minLength: 1
  237. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  238. type: string
  239. namespace:
  240. description: |-
  241. Namespace of the resource being referred to.
  242. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  243. maxLength: 63
  244. minLength: 1
  245. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  246. type: string
  247. required:
  248. - name
  249. type: object
  250. type: object
  251. secretRef:
  252. description: |-
  253. AWSAuthSecretRef holds secret references for AWS credentials
  254. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  255. properties:
  256. accessKeyIDSecretRef:
  257. description: The AccessKeyID is used for authentication
  258. properties:
  259. key:
  260. description: |-
  261. A key in the referenced Secret.
  262. Some instances of this field may be defaulted, in others it may be required.
  263. maxLength: 253
  264. minLength: 1
  265. pattern: ^[-._a-zA-Z0-9]+$
  266. type: string
  267. name:
  268. description: The name of the Secret resource being
  269. referred to.
  270. maxLength: 253
  271. minLength: 1
  272. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  273. type: string
  274. namespace:
  275. description: |-
  276. The namespace of the Secret resource being referred to.
  277. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  278. maxLength: 63
  279. minLength: 1
  280. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  281. type: string
  282. type: object
  283. secretAccessKeySecretRef:
  284. description: The SecretAccessKey is used for authentication
  285. properties:
  286. key:
  287. description: |-
  288. A key in the referenced Secret.
  289. Some instances of this field may be defaulted, in others it may be required.
  290. maxLength: 253
  291. minLength: 1
  292. pattern: ^[-._a-zA-Z0-9]+$
  293. type: string
  294. name:
  295. description: The name of the Secret resource being
  296. referred to.
  297. maxLength: 253
  298. minLength: 1
  299. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  300. type: string
  301. namespace:
  302. description: |-
  303. The namespace of the Secret resource being referred to.
  304. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  305. maxLength: 63
  306. minLength: 1
  307. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  308. type: string
  309. type: object
  310. sessionTokenSecretRef:
  311. description: |-
  312. The SessionToken used for authentication
  313. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  314. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  315. properties:
  316. key:
  317. description: |-
  318. A key in the referenced Secret.
  319. Some instances of this field may be defaulted, in others it may be required.
  320. maxLength: 253
  321. minLength: 1
  322. pattern: ^[-._a-zA-Z0-9]+$
  323. type: string
  324. name:
  325. description: The name of the Secret resource being
  326. referred to.
  327. maxLength: 253
  328. minLength: 1
  329. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  330. type: string
  331. namespace:
  332. description: |-
  333. The namespace of the Secret resource being referred to.
  334. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  335. maxLength: 63
  336. minLength: 1
  337. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  338. type: string
  339. type: object
  340. type: object
  341. type: object
  342. region:
  343. description: Region specifies the region to operate in.
  344. type: string
  345. role:
  346. description: |-
  347. You can assume a role before making calls to the
  348. desired AWS service.
  349. type: string
  350. scope:
  351. description: |-
  352. Scope specifies the ECR service scope.
  353. Valid options are private and public.
  354. type: string
  355. required:
  356. - region
  357. type: object
  358. fakeSpec:
  359. description: FakeSpec contains the static data.
  360. properties:
  361. controller:
  362. description: |-
  363. Used to select the correct ESO controller (think: ingress.ingressClassName)
  364. The ESO controller is instantiated with a specific controller name and filters VDS based on this property
  365. type: string
  366. data:
  367. additionalProperties:
  368. type: string
  369. description: |-
  370. Data defines the static data returned
  371. by this generator.
  372. type: object
  373. type: object
  374. gcrAccessTokenSpec:
  375. properties:
  376. auth:
  377. description: Auth defines the means for authenticating with
  378. GCP
  379. properties:
  380. secretRef:
  381. properties:
  382. secretAccessKeySecretRef:
  383. description: The SecretAccessKey is used for authentication
  384. properties:
  385. key:
  386. description: |-
  387. A key in the referenced Secret.
  388. Some instances of this field may be defaulted, in others it may be required.
  389. maxLength: 253
  390. minLength: 1
  391. pattern: ^[-._a-zA-Z0-9]+$
  392. type: string
  393. name:
  394. description: The name of the Secret resource being
  395. referred to.
  396. maxLength: 253
  397. minLength: 1
  398. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  399. type: string
  400. namespace:
  401. description: |-
  402. The namespace of the Secret resource being referred to.
  403. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  404. maxLength: 63
  405. minLength: 1
  406. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  407. type: string
  408. type: object
  409. type: object
  410. workloadIdentity:
  411. properties:
  412. clusterLocation:
  413. type: string
  414. clusterName:
  415. type: string
  416. clusterProjectID:
  417. type: string
  418. serviceAccountRef:
  419. description: A reference to a ServiceAccount resource.
  420. properties:
  421. audiences:
  422. description: |-
  423. Audience specifies the `aud` claim for the service account token
  424. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  425. then this audiences will be appended to the list
  426. items:
  427. type: string
  428. type: array
  429. name:
  430. description: The name of the ServiceAccount resource
  431. being referred to.
  432. maxLength: 253
  433. minLength: 1
  434. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  435. type: string
  436. namespace:
  437. description: |-
  438. Namespace of the resource being referred to.
  439. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  440. maxLength: 63
  441. minLength: 1
  442. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  443. type: string
  444. required:
  445. - name
  446. type: object
  447. required:
  448. - clusterLocation
  449. - clusterName
  450. - serviceAccountRef
  451. type: object
  452. workloadIdentityFederation:
  453. description: GCPWorkloadIdentityFederation holds the configurations
  454. required for generating federated access tokens.
  455. properties:
  456. audience:
  457. description: |-
  458. audience is the Secure Token Service (STS) audience which contains the resource name for the workload identity pool and the provider identifier in that pool.
  459. If specified, Audience found in the external account credential config will be overridden with the configured value.
  460. audience must be provided when serviceAccountRef or awsSecurityCredentials is configured.
  461. type: string
  462. awsSecurityCredentials:
  463. description: |-
  464. awsSecurityCredentials is for configuring AWS region and credentials to use for obtaining the access token,
  465. when using the AWS metadata server is not an option.
  466. properties:
  467. awsCredentialsSecretRef:
  468. description: |-
  469. awsCredentialsSecretRef is the reference to the secret which holds the AWS credentials.
  470. Secret should be created with below names for keys
  471. - aws_access_key_id: Access Key ID, which is the unique identifier for the AWS account or the IAM user.
  472. - aws_secret_access_key: Secret Access Key, which is used to authenticate requests made to AWS services.
  473. - aws_session_token: Session Token, is the short-lived token to authenticate requests made to AWS services.
  474. properties:
  475. name:
  476. description: name of the secret.
  477. maxLength: 253
  478. minLength: 1
  479. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  480. type: string
  481. namespace:
  482. description: namespace in which the secret
  483. exists. If empty, secret will looked up
  484. in local namespace.
  485. maxLength: 63
  486. minLength: 1
  487. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  488. type: string
  489. required:
  490. - name
  491. type: object
  492. region:
  493. description: region is for configuring the AWS
  494. region to be used.
  495. example: ap-south-1
  496. maxLength: 50
  497. minLength: 1
  498. pattern: ^[a-z0-9-]+$
  499. type: string
  500. required:
  501. - awsCredentialsSecretRef
  502. - region
  503. type: object
  504. credConfig:
  505. description: |-
  506. credConfig holds the configmap reference containing the GCP external account credential configuration in JSON format and the key name containing the json data.
  507. For using Kubernetes cluster as the identity provider, use serviceAccountRef instead. Operators mounted serviceaccount token cannot be used as the token source, instead
  508. serviceAccountRef must be used by providing operators service account details.
  509. properties:
  510. key:
  511. description: key name holding the external account
  512. credential config.
  513. maxLength: 253
  514. minLength: 1
  515. pattern: ^[-._a-zA-Z0-9]+$
  516. type: string
  517. name:
  518. description: name of the configmap.
  519. maxLength: 253
  520. minLength: 1
  521. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  522. type: string
  523. namespace:
  524. description: namespace in which the configmap
  525. exists. If empty, configmap will looked up in
  526. local namespace.
  527. maxLength: 63
  528. minLength: 1
  529. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  530. type: string
  531. required:
  532. - key
  533. - name
  534. type: object
  535. externalTokenEndpoint:
  536. description: |-
  537. externalTokenEndpoint is the endpoint explicitly set up to provide tokens, which will be matched against the
  538. credential_source.url in the provided credConfig. This field is merely to double-check the external token source
  539. URL is having the expected value.
  540. type: string
  541. serviceAccountRef:
  542. description: |-
  543. serviceAccountRef is the reference to the kubernetes ServiceAccount to be used for obtaining the tokens,
  544. when Kubernetes is configured as provider in workload identity pool.
  545. properties:
  546. audiences:
  547. description: |-
  548. Audience specifies the `aud` claim for the service account token
  549. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  550. then this audiences will be appended to the list
  551. items:
  552. type: string
  553. type: array
  554. name:
  555. description: The name of the ServiceAccount resource
  556. being referred to.
  557. maxLength: 253
  558. minLength: 1
  559. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  560. type: string
  561. namespace:
  562. description: |-
  563. Namespace of the resource being referred to.
  564. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  565. maxLength: 63
  566. minLength: 1
  567. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  568. type: string
  569. required:
  570. - name
  571. type: object
  572. type: object
  573. type: object
  574. projectID:
  575. description: ProjectID defines which project to use to authenticate
  576. with
  577. type: string
  578. required:
  579. - auth
  580. - projectID
  581. type: object
  582. githubAccessTokenSpec:
  583. properties:
  584. appID:
  585. type: string
  586. auth:
  587. description: Auth configures how ESO authenticates with a
  588. Github instance.
  589. properties:
  590. privateKey:
  591. properties:
  592. secretRef:
  593. description: |-
  594. A reference to a specific 'key' within a Secret resource.
  595. In some instances, `key` is a required field.
  596. properties:
  597. key:
  598. description: |-
  599. A key in the referenced Secret.
  600. Some instances of this field may be defaulted, in others it may be required.
  601. maxLength: 253
  602. minLength: 1
  603. pattern: ^[-._a-zA-Z0-9]+$
  604. type: string
  605. name:
  606. description: The name of the Secret resource being
  607. referred to.
  608. maxLength: 253
  609. minLength: 1
  610. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  611. type: string
  612. namespace:
  613. description: |-
  614. The namespace of the Secret resource being referred to.
  615. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  616. maxLength: 63
  617. minLength: 1
  618. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  619. type: string
  620. type: object
  621. required:
  622. - secretRef
  623. type: object
  624. required:
  625. - privateKey
  626. type: object
  627. installID:
  628. type: string
  629. permissions:
  630. additionalProperties:
  631. type: string
  632. description: Map of permissions the token will have. If omitted,
  633. defaults to all permissions the GitHub App has.
  634. type: object
  635. repositories:
  636. description: |-
  637. List of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App
  638. is installed to.
  639. items:
  640. type: string
  641. type: array
  642. url:
  643. description: URL configures the Github instance URL. Defaults
  644. to https://github.com/.
  645. type: string
  646. required:
  647. - appID
  648. - auth
  649. - installID
  650. type: object
  651. grafanaSpec:
  652. description: GrafanaSpec controls the behavior of the grafana
  653. generator.
  654. properties:
  655. auth:
  656. description: |-
  657. Auth is the authentication configuration to authenticate
  658. against the Grafana instance.
  659. properties:
  660. basic:
  661. description: |-
  662. Basic auth credentials used to authenticate against the Grafana instance.
  663. Note: you need a token which has elevated permissions to create service accounts.
  664. See here for the documentation on basic roles offered by Grafana:
  665. https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
  666. properties:
  667. password:
  668. description: A basic auth password used to authenticate
  669. against the Grafana instance.
  670. properties:
  671. key:
  672. description: The key where the token is found.
  673. maxLength: 253
  674. minLength: 1
  675. pattern: ^[-._a-zA-Z0-9]+$
  676. type: string
  677. name:
  678. description: The name of the Secret resource being
  679. referred to.
  680. maxLength: 253
  681. minLength: 1
  682. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  683. type: string
  684. type: object
  685. username:
  686. description: A basic auth username used to authenticate
  687. against the Grafana instance.
  688. type: string
  689. required:
  690. - password
  691. - username
  692. type: object
  693. token:
  694. description: |-
  695. A service account token used to authenticate against the Grafana instance.
  696. Note: you need a token which has elevated permissions to create service accounts.
  697. See here for the documentation on basic roles offered by Grafana:
  698. https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
  699. properties:
  700. key:
  701. description: The key where the token is found.
  702. maxLength: 253
  703. minLength: 1
  704. pattern: ^[-._a-zA-Z0-9]+$
  705. type: string
  706. name:
  707. description: The name of the Secret resource being
  708. referred to.
  709. maxLength: 253
  710. minLength: 1
  711. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  712. type: string
  713. type: object
  714. type: object
  715. serviceAccount:
  716. description: |-
  717. ServiceAccount is the configuration for the service account that
  718. is supposed to be generated by the generator.
  719. properties:
  720. name:
  721. description: Name is the name of the service account that
  722. will be created by ESO.
  723. type: string
  724. role:
  725. description: |-
  726. Role is the role of the service account.
  727. See here for the documentation on basic roles offered by Grafana:
  728. https://grafana.com/docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
  729. type: string
  730. required:
  731. - name
  732. - role
  733. type: object
  734. url:
  735. description: URL is the URL of the Grafana instance.
  736. type: string
  737. required:
  738. - auth
  739. - serviceAccount
  740. - url
  741. type: object
  742. mfaSpec:
  743. description: MFASpec controls the behavior of the mfa generator.
  744. properties:
  745. algorithm:
  746. description: Algorithm to use for encoding. Defaults to SHA1
  747. as per the RFC.
  748. type: string
  749. length:
  750. description: Length defines the token length. Defaults to
  751. 6 characters.
  752. type: integer
  753. secret:
  754. description: Secret is a secret selector to a secret containing
  755. the seed secret to generate the TOTP value from.
  756. properties:
  757. key:
  758. description: |-
  759. A key in the referenced Secret.
  760. Some instances of this field may be defaulted, in others it may be required.
  761. maxLength: 253
  762. minLength: 1
  763. pattern: ^[-._a-zA-Z0-9]+$
  764. type: string
  765. name:
  766. description: The name of the Secret resource being referred
  767. to.
  768. maxLength: 253
  769. minLength: 1
  770. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  771. type: string
  772. namespace:
  773. description: |-
  774. The namespace of the Secret resource being referred to.
  775. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  776. maxLength: 63
  777. minLength: 1
  778. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  779. type: string
  780. type: object
  781. timePeriod:
  782. description: TimePeriod defines how long the token can be
  783. active. Defaults to 30 seconds.
  784. type: integer
  785. when:
  786. description: When defines a time parameter that can be used
  787. to pin the origin time of the generated token.
  788. format: date-time
  789. type: string
  790. required:
  791. - secret
  792. type: object
  793. passwordSpec:
  794. description: PasswordSpec controls the behavior of the password
  795. generator.
  796. properties:
  797. allowRepeat:
  798. default: false
  799. description: set AllowRepeat to true to allow repeating characters.
  800. type: boolean
  801. digits:
  802. description: |-
  803. Digits specifies the number of digits in the generated
  804. password. If omitted it defaults to 25% of the length of the password
  805. type: integer
  806. length:
  807. default: 24
  808. description: |-
  809. Length of the password to be generated.
  810. Defaults to 24
  811. type: integer
  812. noUpper:
  813. default: false
  814. description: Set NoUpper to disable uppercase characters
  815. type: boolean
  816. symbolCharacters:
  817. description: |-
  818. SymbolCharacters specifies the special characters that should be used
  819. in the generated password.
  820. type: string
  821. symbols:
  822. description: |-
  823. Symbols specifies the number of symbol characters in the generated
  824. password. If omitted it defaults to 25% of the length of the password
  825. type: integer
  826. required:
  827. - allowRepeat
  828. - length
  829. - noUpper
  830. type: object
  831. quayAccessTokenSpec:
  832. properties:
  833. robotAccount:
  834. description: Name of the robot account you are federating
  835. with
  836. type: string
  837. serviceAccountRef:
  838. description: Name of the service account you are federating
  839. with
  840. properties:
  841. audiences:
  842. description: |-
  843. Audience specifies the `aud` claim for the service account token
  844. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  845. then this audiences will be appended to the list
  846. items:
  847. type: string
  848. type: array
  849. name:
  850. description: The name of the ServiceAccount resource being
  851. referred to.
  852. maxLength: 253
  853. minLength: 1
  854. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  855. type: string
  856. namespace:
  857. description: |-
  858. Namespace of the resource being referred to.
  859. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  860. maxLength: 63
  861. minLength: 1
  862. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  863. type: string
  864. required:
  865. - name
  866. type: object
  867. url:
  868. description: URL configures the Quay instance URL. Defaults
  869. to quay.io.
  870. type: string
  871. required:
  872. - robotAccount
  873. - serviceAccountRef
  874. type: object
  875. sshKeySpec:
  876. description: SSHKeySpec controls the behavior of the ssh key generator.
  877. properties:
  878. comment:
  879. description: Comment specifies an optional comment for the
  880. SSH key
  881. type: string
  882. keySize:
  883. description: |-
  884. KeySize specifies the key size for RSA keys (default: 2048)
  885. For RSA keys: 2048, 3072, 4096
  886. Ignored for ed25519 keys
  887. maximum: 8192
  888. minimum: 256
  889. type: integer
  890. keyType:
  891. default: rsa
  892. description: KeyType specifies the SSH key type (rsa, ed25519)
  893. enum:
  894. - rsa
  895. - ed25519
  896. type: string
  897. type: object
  898. stsSessionTokenSpec:
  899. properties:
  900. auth:
  901. description: Auth defines how to authenticate with AWS
  902. properties:
  903. jwt:
  904. description: Authenticate against AWS using service account
  905. tokens.
  906. properties:
  907. serviceAccountRef:
  908. description: A reference to a ServiceAccount resource.
  909. properties:
  910. audiences:
  911. description: |-
  912. Audience specifies the `aud` claim for the service account token
  913. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  914. then this audiences will be appended to the list
  915. items:
  916. type: string
  917. type: array
  918. name:
  919. description: The name of the ServiceAccount resource
  920. being referred to.
  921. maxLength: 253
  922. minLength: 1
  923. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  924. type: string
  925. namespace:
  926. description: |-
  927. Namespace of the resource being referred to.
  928. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  929. maxLength: 63
  930. minLength: 1
  931. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  932. type: string
  933. required:
  934. - name
  935. type: object
  936. type: object
  937. secretRef:
  938. description: |-
  939. AWSAuthSecretRef holds secret references for AWS credentials
  940. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  941. properties:
  942. accessKeyIDSecretRef:
  943. description: The AccessKeyID is used for authentication
  944. properties:
  945. key:
  946. description: |-
  947. A key in the referenced Secret.
  948. Some instances of this field may be defaulted, in others it may be required.
  949. maxLength: 253
  950. minLength: 1
  951. pattern: ^[-._a-zA-Z0-9]+$
  952. type: string
  953. name:
  954. description: The name of the Secret resource being
  955. referred to.
  956. maxLength: 253
  957. minLength: 1
  958. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  959. type: string
  960. namespace:
  961. description: |-
  962. The namespace of the Secret resource being referred to.
  963. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  964. maxLength: 63
  965. minLength: 1
  966. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  967. type: string
  968. type: object
  969. secretAccessKeySecretRef:
  970. description: The SecretAccessKey is used for authentication
  971. properties:
  972. key:
  973. description: |-
  974. A key in the referenced Secret.
  975. Some instances of this field may be defaulted, in others it may be required.
  976. maxLength: 253
  977. minLength: 1
  978. pattern: ^[-._a-zA-Z0-9]+$
  979. type: string
  980. name:
  981. description: The name of the Secret resource being
  982. referred to.
  983. maxLength: 253
  984. minLength: 1
  985. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  986. type: string
  987. namespace:
  988. description: |-
  989. The namespace of the Secret resource being referred to.
  990. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  991. maxLength: 63
  992. minLength: 1
  993. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  994. type: string
  995. type: object
  996. sessionTokenSecretRef:
  997. description: |-
  998. The SessionToken used for authentication
  999. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  1000. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  1001. properties:
  1002. key:
  1003. description: |-
  1004. A key in the referenced Secret.
  1005. Some instances of this field may be defaulted, in others it may be required.
  1006. maxLength: 253
  1007. minLength: 1
  1008. pattern: ^[-._a-zA-Z0-9]+$
  1009. type: string
  1010. name:
  1011. description: The name of the Secret resource being
  1012. referred to.
  1013. maxLength: 253
  1014. minLength: 1
  1015. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1016. type: string
  1017. namespace:
  1018. description: |-
  1019. The namespace of the Secret resource being referred to.
  1020. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1021. maxLength: 63
  1022. minLength: 1
  1023. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1024. type: string
  1025. type: object
  1026. type: object
  1027. type: object
  1028. region:
  1029. description: Region specifies the region to operate in.
  1030. type: string
  1031. requestParameters:
  1032. description: RequestParameters contains parameters that can
  1033. be passed to the STS service.
  1034. properties:
  1035. serialNumber:
  1036. description: |-
  1037. SerialNumber is the identification number of the MFA device that is associated with the IAM user who is making
  1038. the GetSessionToken call.
  1039. Possible values: hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device
  1040. (such as arn:aws:iam::123456789012:mfa/user)
  1041. type: string
  1042. sessionDuration:
  1043. format: int32
  1044. type: integer
  1045. tokenCode:
  1046. description: TokenCode is the value provided by the MFA
  1047. device, if MFA is required.
  1048. type: string
  1049. type: object
  1050. role:
  1051. description: |-
  1052. You can assume a role before making calls to the
  1053. desired AWS service.
  1054. type: string
  1055. required:
  1056. - region
  1057. type: object
  1058. uuidSpec:
  1059. description: UUIDSpec controls the behavior of the uuid generator.
  1060. type: object
  1061. vaultDynamicSecretSpec:
  1062. properties:
  1063. allowEmptyResponse:
  1064. default: false
  1065. description: Do not fail if no secrets are found. Useful for
  1066. requests where no data is expected.
  1067. type: boolean
  1068. controller:
  1069. description: |-
  1070. Used to select the correct ESO controller (think: ingress.ingressClassName)
  1071. The ESO controller is instantiated with a specific controller name and filters VDS based on this property
  1072. type: string
  1073. method:
  1074. description: Vault API method to use (GET/POST/other)
  1075. type: string
  1076. parameters:
  1077. description: Parameters to pass to Vault write (for non-GET
  1078. methods)
  1079. x-kubernetes-preserve-unknown-fields: true
  1080. path:
  1081. description: Vault path to obtain the dynamic secret from
  1082. type: string
  1083. provider:
  1084. description: Vault provider common spec
  1085. properties:
  1086. auth:
  1087. description: Auth configures how secret-manager authenticates
  1088. with the Vault server.
  1089. properties:
  1090. appRole:
  1091. description: |-
  1092. AppRole authenticates with Vault using the App Role auth mechanism,
  1093. with the role and secret stored in a Kubernetes Secret resource.
  1094. properties:
  1095. path:
  1096. default: approle
  1097. description: |-
  1098. Path where the App Role authentication backend is mounted
  1099. in Vault, e.g: "approle"
  1100. type: string
  1101. roleId:
  1102. description: |-
  1103. RoleID configured in the App Role authentication backend when setting
  1104. up the authentication backend in Vault.
  1105. type: string
  1106. roleRef:
  1107. description: |-
  1108. Reference to a key in a Secret that contains the App Role ID used
  1109. to authenticate with Vault.
  1110. The `key` field must be specified and denotes which entry within the Secret
  1111. resource is used as the app role id.
  1112. properties:
  1113. key:
  1114. description: |-
  1115. A key in the referenced Secret.
  1116. Some instances of this field may be defaulted, in others it may be required.
  1117. maxLength: 253
  1118. minLength: 1
  1119. pattern: ^[-._a-zA-Z0-9]+$
  1120. type: string
  1121. name:
  1122. description: The name of the Secret resource
  1123. being referred to.
  1124. maxLength: 253
  1125. minLength: 1
  1126. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1127. type: string
  1128. namespace:
  1129. description: |-
  1130. The namespace of the Secret resource being referred to.
  1131. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1132. maxLength: 63
  1133. minLength: 1
  1134. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1135. type: string
  1136. type: object
  1137. secretRef:
  1138. description: |-
  1139. Reference to a key in a Secret that contains the App Role secret used
  1140. to authenticate with Vault.
  1141. The `key` field must be specified and denotes which entry within the Secret
  1142. resource is used as the app role secret.
  1143. properties:
  1144. key:
  1145. description: |-
  1146. A key in the referenced Secret.
  1147. Some instances of this field may be defaulted, in others it may be required.
  1148. maxLength: 253
  1149. minLength: 1
  1150. pattern: ^[-._a-zA-Z0-9]+$
  1151. type: string
  1152. name:
  1153. description: The name of the Secret resource
  1154. being referred to.
  1155. maxLength: 253
  1156. minLength: 1
  1157. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1158. type: string
  1159. namespace:
  1160. description: |-
  1161. The namespace of the Secret resource being referred to.
  1162. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1163. maxLength: 63
  1164. minLength: 1
  1165. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1166. type: string
  1167. type: object
  1168. required:
  1169. - path
  1170. - secretRef
  1171. type: object
  1172. cert:
  1173. description: |-
  1174. Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate
  1175. Cert authentication method
  1176. properties:
  1177. clientCert:
  1178. description: |-
  1179. ClientCert is a certificate to authenticate using the Cert Vault
  1180. authentication method
  1181. properties:
  1182. key:
  1183. description: |-
  1184. A key in the referenced Secret.
  1185. Some instances of this field may be defaulted, in others it may be required.
  1186. maxLength: 253
  1187. minLength: 1
  1188. pattern: ^[-._a-zA-Z0-9]+$
  1189. type: string
  1190. name:
  1191. description: The name of the Secret resource
  1192. being referred to.
  1193. maxLength: 253
  1194. minLength: 1
  1195. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1196. type: string
  1197. namespace:
  1198. description: |-
  1199. The namespace of the Secret resource being referred to.
  1200. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1201. maxLength: 63
  1202. minLength: 1
  1203. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1204. type: string
  1205. type: object
  1206. secretRef:
  1207. description: |-
  1208. SecretRef to a key in a Secret resource containing client private key to
  1209. authenticate with Vault using the Cert authentication method
  1210. properties:
  1211. key:
  1212. description: |-
  1213. A key in the referenced Secret.
  1214. Some instances of this field may be defaulted, in others it may be required.
  1215. maxLength: 253
  1216. minLength: 1
  1217. pattern: ^[-._a-zA-Z0-9]+$
  1218. type: string
  1219. name:
  1220. description: The name of the Secret resource
  1221. being referred to.
  1222. maxLength: 253
  1223. minLength: 1
  1224. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1225. type: string
  1226. namespace:
  1227. description: |-
  1228. The namespace of the Secret resource being referred to.
  1229. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1230. maxLength: 63
  1231. minLength: 1
  1232. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1233. type: string
  1234. type: object
  1235. type: object
  1236. iam:
  1237. description: |-
  1238. Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials
  1239. AWS IAM authentication method
  1240. properties:
  1241. externalID:
  1242. description: AWS External ID set on assumed IAM
  1243. roles
  1244. type: string
  1245. jwt:
  1246. description: Specify a service account with IRSA
  1247. enabled
  1248. properties:
  1249. serviceAccountRef:
  1250. description: A reference to a ServiceAccount
  1251. resource.
  1252. properties:
  1253. audiences:
  1254. description: |-
  1255. Audience specifies the `aud` claim for the service account token
  1256. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1257. then this audiences will be appended to the list
  1258. items:
  1259. type: string
  1260. type: array
  1261. name:
  1262. description: The name of the ServiceAccount
  1263. resource being referred to.
  1264. maxLength: 253
  1265. minLength: 1
  1266. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1267. type: string
  1268. namespace:
  1269. description: |-
  1270. Namespace of the resource being referred to.
  1271. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1272. maxLength: 63
  1273. minLength: 1
  1274. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1275. type: string
  1276. required:
  1277. - name
  1278. type: object
  1279. type: object
  1280. path:
  1281. description: 'Path where the AWS auth method is
  1282. enabled in Vault, e.g: "aws"'
  1283. type: string
  1284. region:
  1285. description: AWS region
  1286. type: string
  1287. role:
  1288. description: This is the AWS role to be assumed
  1289. before talking to vault
  1290. type: string
  1291. secretRef:
  1292. description: Specify credentials in a Secret object
  1293. properties:
  1294. accessKeyIDSecretRef:
  1295. description: The AccessKeyID is used for authentication
  1296. properties:
  1297. key:
  1298. description: |-
  1299. A key in the referenced Secret.
  1300. Some instances of this field may be defaulted, in others it may be required.
  1301. maxLength: 253
  1302. minLength: 1
  1303. pattern: ^[-._a-zA-Z0-9]+$
  1304. type: string
  1305. name:
  1306. description: The name of the Secret resource
  1307. being referred to.
  1308. maxLength: 253
  1309. minLength: 1
  1310. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1311. type: string
  1312. namespace:
  1313. description: |-
  1314. The namespace of the Secret resource being referred to.
  1315. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1316. maxLength: 63
  1317. minLength: 1
  1318. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1319. type: string
  1320. type: object
  1321. secretAccessKeySecretRef:
  1322. description: The SecretAccessKey is used for
  1323. authentication
  1324. properties:
  1325. key:
  1326. description: |-
  1327. A key in the referenced Secret.
  1328. Some instances of this field may be defaulted, in others it may be required.
  1329. maxLength: 253
  1330. minLength: 1
  1331. pattern: ^[-._a-zA-Z0-9]+$
  1332. type: string
  1333. name:
  1334. description: The name of the Secret resource
  1335. being referred to.
  1336. maxLength: 253
  1337. minLength: 1
  1338. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1339. type: string
  1340. namespace:
  1341. description: |-
  1342. The namespace of the Secret resource being referred to.
  1343. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1344. maxLength: 63
  1345. minLength: 1
  1346. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1347. type: string
  1348. type: object
  1349. sessionTokenSecretRef:
  1350. description: |-
  1351. The SessionToken used for authentication
  1352. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  1353. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  1354. properties:
  1355. key:
  1356. description: |-
  1357. A key in the referenced Secret.
  1358. Some instances of this field may be defaulted, in others it may be required.
  1359. maxLength: 253
  1360. minLength: 1
  1361. pattern: ^[-._a-zA-Z0-9]+$
  1362. type: string
  1363. name:
  1364. description: The name of the Secret resource
  1365. being referred to.
  1366. maxLength: 253
  1367. minLength: 1
  1368. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1369. type: string
  1370. namespace:
  1371. description: |-
  1372. The namespace of the Secret resource being referred to.
  1373. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1374. maxLength: 63
  1375. minLength: 1
  1376. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1377. type: string
  1378. type: object
  1379. type: object
  1380. vaultAwsIamServerID:
  1381. description: 'X-Vault-AWS-IAM-Server-ID is an
  1382. additional header used by Vault IAM auth method
  1383. to mitigate against different types of replay
  1384. attacks. More details here: https://developer.hashicorp.com/vault/docs/auth/aws'
  1385. type: string
  1386. vaultRole:
  1387. description: Vault Role. In vault, a role describes
  1388. an identity with a set of permissions, groups,
  1389. or policies you want to attach a user of the
  1390. secrets engine
  1391. type: string
  1392. required:
  1393. - vaultRole
  1394. type: object
  1395. jwt:
  1396. description: |-
  1397. Jwt authenticates with Vault by passing role and JWT token using the
  1398. JWT/OIDC authentication method
  1399. properties:
  1400. kubernetesServiceAccountToken:
  1401. description: |-
  1402. Optional ServiceAccountToken specifies the Kubernetes service account for which to request
  1403. a token for with the `TokenRequest` API.
  1404. properties:
  1405. audiences:
  1406. description: |-
  1407. Optional audiences field that will be used to request a temporary Kubernetes service
  1408. account token for the service account referenced by `serviceAccountRef`.
  1409. Defaults to a single audience `vault` it not specified.
  1410. Deprecated: use serviceAccountRef.Audiences instead
  1411. items:
  1412. type: string
  1413. type: array
  1414. expirationSeconds:
  1415. description: |-
  1416. Optional expiration time in seconds that will be used to request a temporary
  1417. Kubernetes service account token for the service account referenced by
  1418. `serviceAccountRef`.
  1419. Deprecated: this will be removed in the future.
  1420. Defaults to 10 minutes.
  1421. format: int64
  1422. type: integer
  1423. serviceAccountRef:
  1424. description: Service account field containing
  1425. the name of a kubernetes ServiceAccount.
  1426. properties:
  1427. audiences:
  1428. description: |-
  1429. Audience specifies the `aud` claim for the service account token
  1430. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1431. then this audiences will be appended to the list
  1432. items:
  1433. type: string
  1434. type: array
  1435. name:
  1436. description: The name of the ServiceAccount
  1437. resource being referred to.
  1438. maxLength: 253
  1439. minLength: 1
  1440. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1441. type: string
  1442. namespace:
  1443. description: |-
  1444. Namespace of the resource being referred to.
  1445. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1446. maxLength: 63
  1447. minLength: 1
  1448. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1449. type: string
  1450. required:
  1451. - name
  1452. type: object
  1453. required:
  1454. - serviceAccountRef
  1455. type: object
  1456. path:
  1457. default: jwt
  1458. description: |-
  1459. Path where the JWT authentication backend is mounted
  1460. in Vault, e.g: "jwt"
  1461. type: string
  1462. role:
  1463. description: |-
  1464. Role is a JWT role to authenticate using the JWT/OIDC Vault
  1465. authentication method
  1466. type: string
  1467. secretRef:
  1468. description: |-
  1469. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  1470. authenticate with Vault using the JWT/OIDC authentication method.
  1471. properties:
  1472. key:
  1473. description: |-
  1474. A key in the referenced Secret.
  1475. Some instances of this field may be defaulted, in others it may be required.
  1476. maxLength: 253
  1477. minLength: 1
  1478. pattern: ^[-._a-zA-Z0-9]+$
  1479. type: string
  1480. name:
  1481. description: The name of the Secret resource
  1482. being referred to.
  1483. maxLength: 253
  1484. minLength: 1
  1485. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1486. type: string
  1487. namespace:
  1488. description: |-
  1489. The namespace of the Secret resource being referred to.
  1490. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1491. maxLength: 63
  1492. minLength: 1
  1493. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1494. type: string
  1495. type: object
  1496. required:
  1497. - path
  1498. type: object
  1499. kubernetes:
  1500. description: |-
  1501. Kubernetes authenticates with Vault by passing the ServiceAccount
  1502. token stored in the named Secret resource to the Vault server.
  1503. properties:
  1504. mountPath:
  1505. default: kubernetes
  1506. description: |-
  1507. Path where the Kubernetes authentication backend is mounted in Vault, e.g:
  1508. "kubernetes"
  1509. type: string
  1510. role:
  1511. description: |-
  1512. A required field containing the Vault Role to assume. A Role binds a
  1513. Kubernetes ServiceAccount with a set of Vault policies.
  1514. type: string
  1515. secretRef:
  1516. description: |-
  1517. Optional secret field containing a Kubernetes ServiceAccount JWT used
  1518. for authenticating with Vault. If a name is specified without a key,
  1519. `token` is the default. If one is not specified, the one bound to
  1520. the controller will be used.
  1521. properties:
  1522. key:
  1523. description: |-
  1524. A key in the referenced Secret.
  1525. Some instances of this field may be defaulted, in others it may be required.
  1526. maxLength: 253
  1527. minLength: 1
  1528. pattern: ^[-._a-zA-Z0-9]+$
  1529. type: string
  1530. name:
  1531. description: The name of the Secret resource
  1532. being referred to.
  1533. maxLength: 253
  1534. minLength: 1
  1535. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1536. type: string
  1537. namespace:
  1538. description: |-
  1539. The namespace of the Secret resource being referred to.
  1540. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1541. maxLength: 63
  1542. minLength: 1
  1543. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1544. type: string
  1545. type: object
  1546. serviceAccountRef:
  1547. description: |-
  1548. Optional service account field containing the name of a kubernetes ServiceAccount.
  1549. If the service account is specified, the service account secret token JWT will be used
  1550. for authenticating with Vault. If the service account selector is not supplied,
  1551. the secretRef will be used instead.
  1552. properties:
  1553. audiences:
  1554. description: |-
  1555. Audience specifies the `aud` claim for the service account token
  1556. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1557. then this audiences will be appended to the list
  1558. items:
  1559. type: string
  1560. type: array
  1561. name:
  1562. description: The name of the ServiceAccount
  1563. resource being referred to.
  1564. maxLength: 253
  1565. minLength: 1
  1566. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1567. type: string
  1568. namespace:
  1569. description: |-
  1570. Namespace of the resource being referred to.
  1571. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1572. maxLength: 63
  1573. minLength: 1
  1574. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1575. type: string
  1576. required:
  1577. - name
  1578. type: object
  1579. required:
  1580. - mountPath
  1581. - role
  1582. type: object
  1583. ldap:
  1584. description: |-
  1585. Ldap authenticates with Vault by passing username/password pair using
  1586. the LDAP authentication method
  1587. properties:
  1588. path:
  1589. default: ldap
  1590. description: |-
  1591. Path where the LDAP authentication backend is mounted
  1592. in Vault, e.g: "ldap"
  1593. type: string
  1594. secretRef:
  1595. description: |-
  1596. SecretRef to a key in a Secret resource containing password for the LDAP
  1597. user used to authenticate with Vault using the LDAP authentication
  1598. method
  1599. properties:
  1600. key:
  1601. description: |-
  1602. A key in the referenced Secret.
  1603. Some instances of this field may be defaulted, in others it may be required.
  1604. maxLength: 253
  1605. minLength: 1
  1606. pattern: ^[-._a-zA-Z0-9]+$
  1607. type: string
  1608. name:
  1609. description: The name of the Secret resource
  1610. being referred to.
  1611. maxLength: 253
  1612. minLength: 1
  1613. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1614. type: string
  1615. namespace:
  1616. description: |-
  1617. The namespace of the Secret resource being referred to.
  1618. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1619. maxLength: 63
  1620. minLength: 1
  1621. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1622. type: string
  1623. type: object
  1624. username:
  1625. description: |-
  1626. Username is an LDAP username used to authenticate using the LDAP Vault
  1627. authentication method
  1628. type: string
  1629. required:
  1630. - path
  1631. - username
  1632. type: object
  1633. namespace:
  1634. description: |-
  1635. Name of the vault namespace to authenticate to. This can be different than the namespace your secret is in.
  1636. Namespaces is a set of features within Vault Enterprise that allows
  1637. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  1638. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  1639. This will default to Vault.Namespace field if set, or empty otherwise
  1640. type: string
  1641. tokenSecretRef:
  1642. description: TokenSecretRef authenticates with Vault
  1643. by presenting a token.
  1644. properties:
  1645. key:
  1646. description: |-
  1647. A key in the referenced Secret.
  1648. Some instances of this field may be defaulted, in others it may be required.
  1649. maxLength: 253
  1650. minLength: 1
  1651. pattern: ^[-._a-zA-Z0-9]+$
  1652. type: string
  1653. name:
  1654. description: The name of the Secret resource being
  1655. referred to.
  1656. maxLength: 253
  1657. minLength: 1
  1658. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1659. type: string
  1660. namespace:
  1661. description: |-
  1662. The namespace of the Secret resource being referred to.
  1663. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1664. maxLength: 63
  1665. minLength: 1
  1666. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1667. type: string
  1668. type: object
  1669. userPass:
  1670. description: UserPass authenticates with Vault by
  1671. passing username/password pair
  1672. properties:
  1673. path:
  1674. default: userpass
  1675. description: |-
  1676. Path where the UserPassword authentication backend is mounted
  1677. in Vault, e.g: "userpass"
  1678. type: string
  1679. secretRef:
  1680. description: |-
  1681. SecretRef to a key in a Secret resource containing password for the
  1682. user used to authenticate with Vault using the UserPass authentication
  1683. method
  1684. properties:
  1685. key:
  1686. description: |-
  1687. A key in the referenced Secret.
  1688. Some instances of this field may be defaulted, in others it may be required.
  1689. maxLength: 253
  1690. minLength: 1
  1691. pattern: ^[-._a-zA-Z0-9]+$
  1692. type: string
  1693. name:
  1694. description: The name of the Secret resource
  1695. being referred to.
  1696. maxLength: 253
  1697. minLength: 1
  1698. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1699. type: string
  1700. namespace:
  1701. description: |-
  1702. The namespace of the Secret resource being referred to.
  1703. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1704. maxLength: 63
  1705. minLength: 1
  1706. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1707. type: string
  1708. type: object
  1709. username:
  1710. description: |-
  1711. Username is a username used to authenticate using the UserPass Vault
  1712. authentication method
  1713. type: string
  1714. required:
  1715. - path
  1716. - username
  1717. type: object
  1718. type: object
  1719. caBundle:
  1720. description: |-
  1721. PEM encoded CA bundle used to validate Vault server certificate. Only used
  1722. if the Server URL is using HTTPS protocol. This parameter is ignored for
  1723. plain HTTP protocol connection. If not set the system root certificates
  1724. are used to validate the TLS connection.
  1725. format: byte
  1726. type: string
  1727. caProvider:
  1728. description: The provider for the CA bundle to use to
  1729. validate Vault server certificate.
  1730. properties:
  1731. key:
  1732. description: The key where the CA certificate can
  1733. be found in the Secret or ConfigMap.
  1734. maxLength: 253
  1735. minLength: 1
  1736. pattern: ^[-._a-zA-Z0-9]+$
  1737. type: string
  1738. name:
  1739. description: The name of the object located at the
  1740. provider type.
  1741. maxLength: 253
  1742. minLength: 1
  1743. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1744. type: string
  1745. namespace:
  1746. description: |-
  1747. The namespace the Provider type is in.
  1748. Can only be defined when used in a ClusterSecretStore.
  1749. maxLength: 63
  1750. minLength: 1
  1751. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1752. type: string
  1753. type:
  1754. description: The type of provider to use such as "Secret",
  1755. or "ConfigMap".
  1756. enum:
  1757. - Secret
  1758. - ConfigMap
  1759. type: string
  1760. required:
  1761. - name
  1762. - type
  1763. type: object
  1764. checkAndSet:
  1765. description: |-
  1766. CheckAndSet defines the Check-And-Set (CAS) settings for PushSecret operations.
  1767. Only applies to Vault KV v2 stores. When enabled, write operations must include
  1768. the current version of the secret to prevent unintentional overwrites.
  1769. properties:
  1770. required:
  1771. description: |-
  1772. Required when true, all write operations must include a check-and-set parameter.
  1773. This helps prevent unintentional overwrites of secrets.
  1774. type: boolean
  1775. type: object
  1776. forwardInconsistent:
  1777. description: |-
  1778. ForwardInconsistent tells Vault to forward read-after-write requests to the Vault
  1779. leader instead of simply retrying within a loop. This can increase performance if
  1780. the option is enabled serverside.
  1781. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  1782. type: boolean
  1783. headers:
  1784. additionalProperties:
  1785. type: string
  1786. description: Headers to be added in Vault request
  1787. type: object
  1788. namespace:
  1789. description: |-
  1790. Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows
  1791. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  1792. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  1793. type: string
  1794. path:
  1795. description: |-
  1796. Path is the mount path of the Vault KV backend endpoint, e.g:
  1797. "secret". The v2 KV secret engine version specific "/data" path suffix
  1798. for fetching secrets from Vault is optional and will be appended
  1799. if not present in specified path.
  1800. type: string
  1801. readYourWrites:
  1802. description: |-
  1803. ReadYourWrites ensures isolated read-after-write semantics by
  1804. providing discovered cluster replication states in each request.
  1805. More information about eventual consistency in Vault can be found here
  1806. https://www.vaultproject.io/docs/enterprise/consistency
  1807. type: boolean
  1808. server:
  1809. description: 'Server is the connection address for the
  1810. Vault server, e.g: "https://vault.example.com:8200".'
  1811. type: string
  1812. tls:
  1813. description: |-
  1814. The configuration used for client side related TLS communication, when the Vault server
  1815. requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
  1816. This parameter is ignored for plain HTTP protocol connection.
  1817. It's worth noting this configuration is different from the "TLS certificates auth method",
  1818. which is available under the `auth.cert` section.
  1819. properties:
  1820. certSecretRef:
  1821. description: |-
  1822. CertSecretRef is a certificate added to the transport layer
  1823. when communicating with the Vault server.
  1824. If no key for the Secret is specified, external-secret will default to 'tls.crt'.
  1825. properties:
  1826. key:
  1827. description: |-
  1828. A key in the referenced Secret.
  1829. Some instances of this field may be defaulted, in others it may be required.
  1830. maxLength: 253
  1831. minLength: 1
  1832. pattern: ^[-._a-zA-Z0-9]+$
  1833. type: string
  1834. name:
  1835. description: The name of the Secret resource being
  1836. referred to.
  1837. maxLength: 253
  1838. minLength: 1
  1839. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1840. type: string
  1841. namespace:
  1842. description: |-
  1843. The namespace of the Secret resource being referred to.
  1844. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1845. maxLength: 63
  1846. minLength: 1
  1847. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1848. type: string
  1849. type: object
  1850. keySecretRef:
  1851. description: |-
  1852. KeySecretRef to a key in a Secret resource containing client private key
  1853. added to the transport layer when communicating with the Vault server.
  1854. If no key for the Secret is specified, external-secret will default to 'tls.key'.
  1855. properties:
  1856. key:
  1857. description: |-
  1858. A key in the referenced Secret.
  1859. Some instances of this field may be defaulted, in others it may be required.
  1860. maxLength: 253
  1861. minLength: 1
  1862. pattern: ^[-._a-zA-Z0-9]+$
  1863. type: string
  1864. name:
  1865. description: The name of the Secret resource being
  1866. referred to.
  1867. maxLength: 253
  1868. minLength: 1
  1869. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1870. type: string
  1871. namespace:
  1872. description: |-
  1873. The namespace of the Secret resource being referred to.
  1874. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1875. maxLength: 63
  1876. minLength: 1
  1877. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1878. type: string
  1879. type: object
  1880. type: object
  1881. version:
  1882. default: v2
  1883. description: |-
  1884. Version is the Vault KV secret engine version. This can be either "v1" or
  1885. "v2". Version defaults to "v2".
  1886. enum:
  1887. - v1
  1888. - v2
  1889. type: string
  1890. required:
  1891. - server
  1892. type: object
  1893. resultType:
  1894. default: Data
  1895. description: |-
  1896. Result type defines which data is returned from the generator.
  1897. By default it is the "data" section of the Vault API response.
  1898. When using e.g. /auth/token/create the "data" section is empty but
  1899. the "auth" section contains the generated token.
  1900. Please refer to the vault docs regarding the result data structure.
  1901. Additionally, accessing the raw response is possibly by using "Raw" result type.
  1902. enum:
  1903. - Data
  1904. - Auth
  1905. - Raw
  1906. type: string
  1907. retrySettings:
  1908. description: Used to configure http retries if failed
  1909. properties:
  1910. maxRetries:
  1911. format: int32
  1912. type: integer
  1913. retryInterval:
  1914. type: string
  1915. type: object
  1916. required:
  1917. - path
  1918. - provider
  1919. type: object
  1920. webhookSpec:
  1921. description: WebhookSpec controls the behavior of the external
  1922. generator. Any body parameters should be passed to the server
  1923. through the parameters field.
  1924. properties:
  1925. auth:
  1926. description: Auth specifies a authorization protocol. Only
  1927. one protocol may be set.
  1928. maxProperties: 1
  1929. minProperties: 1
  1930. properties:
  1931. ntlm:
  1932. description: NTLMProtocol configures the store to use
  1933. NTLM for auth
  1934. properties:
  1935. passwordSecret:
  1936. description: |-
  1937. A reference to a specific 'key' within a Secret resource.
  1938. In some instances, `key` is a required field.
  1939. properties:
  1940. key:
  1941. description: |-
  1942. A key in the referenced Secret.
  1943. Some instances of this field may be defaulted, in others it may be required.
  1944. maxLength: 253
  1945. minLength: 1
  1946. pattern: ^[-._a-zA-Z0-9]+$
  1947. type: string
  1948. name:
  1949. description: The name of the Secret resource being
  1950. referred to.
  1951. maxLength: 253
  1952. minLength: 1
  1953. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1954. type: string
  1955. namespace:
  1956. description: |-
  1957. The namespace of the Secret resource being referred to.
  1958. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1959. maxLength: 63
  1960. minLength: 1
  1961. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1962. type: string
  1963. type: object
  1964. usernameSecret:
  1965. description: |-
  1966. A reference to a specific 'key' within a Secret resource.
  1967. In some instances, `key` is a required field.
  1968. properties:
  1969. key:
  1970. description: |-
  1971. A key in the referenced Secret.
  1972. Some instances of this field may be defaulted, in others it may be required.
  1973. maxLength: 253
  1974. minLength: 1
  1975. pattern: ^[-._a-zA-Z0-9]+$
  1976. type: string
  1977. name:
  1978. description: The name of the Secret resource being
  1979. referred to.
  1980. maxLength: 253
  1981. minLength: 1
  1982. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1983. type: string
  1984. namespace:
  1985. description: |-
  1986. The namespace of the Secret resource being referred to.
  1987. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1988. maxLength: 63
  1989. minLength: 1
  1990. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1991. type: string
  1992. type: object
  1993. required:
  1994. - passwordSecret
  1995. - usernameSecret
  1996. type: object
  1997. type: object
  1998. body:
  1999. description: Body
  2000. type: string
  2001. caBundle:
  2002. description: |-
  2003. PEM encoded CA bundle used to validate webhook server certificate. Only used
  2004. if the Server URL is using HTTPS protocol. This parameter is ignored for
  2005. plain HTTP protocol connection. If not set the system root certificates
  2006. are used to validate the TLS connection.
  2007. format: byte
  2008. type: string
  2009. caProvider:
  2010. description: The provider for the CA bundle to use to validate
  2011. webhook server certificate.
  2012. properties:
  2013. key:
  2014. description: The key where the CA certificate can be found
  2015. in the Secret or ConfigMap.
  2016. maxLength: 253
  2017. minLength: 1
  2018. pattern: ^[-._a-zA-Z0-9]+$
  2019. type: string
  2020. name:
  2021. description: The name of the object located at the provider
  2022. type.
  2023. maxLength: 253
  2024. minLength: 1
  2025. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  2026. type: string
  2027. namespace:
  2028. description: The namespace the Provider type is in.
  2029. maxLength: 63
  2030. minLength: 1
  2031. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  2032. type: string
  2033. type:
  2034. description: The type of provider to use such as "Secret",
  2035. or "ConfigMap".
  2036. enum:
  2037. - Secret
  2038. - ConfigMap
  2039. type: string
  2040. required:
  2041. - name
  2042. - type
  2043. type: object
  2044. headers:
  2045. additionalProperties:
  2046. type: string
  2047. description: Headers
  2048. type: object
  2049. method:
  2050. description: Webhook Method
  2051. type: string
  2052. result:
  2053. description: Result formatting
  2054. properties:
  2055. jsonPath:
  2056. description: Json path of return value
  2057. type: string
  2058. type: object
  2059. secrets:
  2060. description: |-
  2061. Secrets to fill in templates
  2062. These secrets will be passed to the templating function as key value pairs under the given name
  2063. items:
  2064. properties:
  2065. name:
  2066. description: Name of this secret in templates
  2067. type: string
  2068. secretRef:
  2069. description: Secret ref to fill in credentials
  2070. properties:
  2071. key:
  2072. description: The key where the token is found.
  2073. maxLength: 253
  2074. minLength: 1
  2075. pattern: ^[-._a-zA-Z0-9]+$
  2076. type: string
  2077. name:
  2078. description: The name of the Secret resource being
  2079. referred to.
  2080. maxLength: 253
  2081. minLength: 1
  2082. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  2083. type: string
  2084. type: object
  2085. required:
  2086. - name
  2087. - secretRef
  2088. type: object
  2089. type: array
  2090. timeout:
  2091. description: Timeout
  2092. type: string
  2093. url:
  2094. description: Webhook url to call
  2095. type: string
  2096. required:
  2097. - result
  2098. - url
  2099. type: object
  2100. type: object
  2101. kind:
  2102. description: Kind the kind of this generator.
  2103. enum:
  2104. - ACRAccessToken
  2105. - ECRAuthorizationToken
  2106. - Fake
  2107. - GCRAccessToken
  2108. - GithubAccessToken
  2109. - QuayAccessToken
  2110. - Password
  2111. - SSHKey
  2112. - STSSessionToken
  2113. - UUID
  2114. - VaultDynamicSecret
  2115. - Webhook
  2116. - Grafana
  2117. type: string
  2118. required:
  2119. - generator
  2120. - kind
  2121. type: object
  2122. type: object
  2123. served: true
  2124. storage: true
  2125. subresources:
  2126. status: {}