generators.external-secrets.io_clustergenerators.yaml 102 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.17.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. type: string
  188. registry:
  189. description: |-
  190. the domain name of the ACR registry
  191. e.g. foobarexample.azurecr.io
  192. type: string
  193. scope:
  194. description: |-
  195. Define the scope for the access token, e.g. pull/push access for a repository.
  196. if not provided it will return a refresh token that has full scope.
  197. Note: you need to pin it down to the repository level, there is no wildcard available.
  198. examples:
  199. repository:my-repository:pull,push
  200. repository:my-repository:pull
  201. see docs for details: https://docs.docker.com/registry/spec/auth/scope/
  202. type: string
  203. tenantId:
  204. description: TenantID configures the Azure Tenant to send
  205. requests to. Required for ServicePrincipal auth type.
  206. type: string
  207. required:
  208. - auth
  209. - registry
  210. type: object
  211. ecrAuthorizationTokenSpec:
  212. properties:
  213. auth:
  214. description: Auth defines how to authenticate with AWS
  215. properties:
  216. jwt:
  217. description: Authenticate against AWS using service account
  218. tokens.
  219. properties:
  220. serviceAccountRef:
  221. description: A reference to a ServiceAccount resource.
  222. properties:
  223. audiences:
  224. description: |-
  225. Audience specifies the `aud` claim for the service account token
  226. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  227. then this audiences will be appended to the list
  228. items:
  229. type: string
  230. type: array
  231. name:
  232. description: The name of the ServiceAccount resource
  233. being referred to.
  234. maxLength: 253
  235. minLength: 1
  236. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  237. type: string
  238. namespace:
  239. description: |-
  240. Namespace of the resource being referred to.
  241. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  242. maxLength: 63
  243. minLength: 1
  244. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  245. type: string
  246. required:
  247. - name
  248. type: object
  249. type: object
  250. secretRef:
  251. description: |-
  252. AWSAuthSecretRef holds secret references for AWS credentials
  253. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  254. properties:
  255. accessKeyIDSecretRef:
  256. description: The AccessKeyID is used for authentication
  257. properties:
  258. key:
  259. description: |-
  260. A key in the referenced Secret.
  261. Some instances of this field may be defaulted, in others it may be required.
  262. maxLength: 253
  263. minLength: 1
  264. pattern: ^[-._a-zA-Z0-9]+$
  265. type: string
  266. name:
  267. description: The name of the Secret resource being
  268. referred to.
  269. maxLength: 253
  270. minLength: 1
  271. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  272. type: string
  273. namespace:
  274. description: |-
  275. The namespace of the Secret resource being referred to.
  276. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  277. maxLength: 63
  278. minLength: 1
  279. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  280. type: string
  281. type: object
  282. secretAccessKeySecretRef:
  283. description: The SecretAccessKey is used for authentication
  284. properties:
  285. key:
  286. description: |-
  287. A key in the referenced Secret.
  288. Some instances of this field may be defaulted, in others it may be required.
  289. maxLength: 253
  290. minLength: 1
  291. pattern: ^[-._a-zA-Z0-9]+$
  292. type: string
  293. name:
  294. description: The name of the Secret resource being
  295. referred to.
  296. maxLength: 253
  297. minLength: 1
  298. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  299. type: string
  300. namespace:
  301. description: |-
  302. The namespace of the Secret resource being referred to.
  303. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  304. maxLength: 63
  305. minLength: 1
  306. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  307. type: string
  308. type: object
  309. sessionTokenSecretRef:
  310. description: |-
  311. The SessionToken used for authentication
  312. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  313. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  314. properties:
  315. key:
  316. description: |-
  317. A key in the referenced Secret.
  318. Some instances of this field may be defaulted, in others it may be required.
  319. maxLength: 253
  320. minLength: 1
  321. pattern: ^[-._a-zA-Z0-9]+$
  322. type: string
  323. name:
  324. description: The name of the Secret resource being
  325. referred to.
  326. maxLength: 253
  327. minLength: 1
  328. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  329. type: string
  330. namespace:
  331. description: |-
  332. The namespace of the Secret resource being referred to.
  333. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  334. maxLength: 63
  335. minLength: 1
  336. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  337. type: string
  338. type: object
  339. type: object
  340. type: object
  341. region:
  342. description: Region specifies the region to operate in.
  343. type: string
  344. role:
  345. description: |-
  346. You can assume a role before making calls to the
  347. desired AWS service.
  348. type: string
  349. scope:
  350. description: |-
  351. Scope specifies the ECR service scope.
  352. Valid options are private and public.
  353. type: string
  354. required:
  355. - region
  356. type: object
  357. fakeSpec:
  358. description: FakeSpec contains the static data.
  359. properties:
  360. controller:
  361. description: |-
  362. Used to select the correct ESO controller (think: ingress.ingressClassName)
  363. The ESO controller is instantiated with a specific controller name and filters VDS based on this property
  364. type: string
  365. data:
  366. additionalProperties:
  367. type: string
  368. description: |-
  369. Data defines the static data returned
  370. by this generator.
  371. type: object
  372. type: object
  373. gcrAccessTokenSpec:
  374. properties:
  375. auth:
  376. description: Auth defines the means for authenticating with
  377. GCP
  378. properties:
  379. secretRef:
  380. properties:
  381. secretAccessKeySecretRef:
  382. description: The SecretAccessKey is used for authentication
  383. properties:
  384. key:
  385. description: |-
  386. A key in the referenced Secret.
  387. Some instances of this field may be defaulted, in others it may be required.
  388. maxLength: 253
  389. minLength: 1
  390. pattern: ^[-._a-zA-Z0-9]+$
  391. type: string
  392. name:
  393. description: The name of the Secret resource being
  394. referred to.
  395. maxLength: 253
  396. minLength: 1
  397. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  398. type: string
  399. namespace:
  400. description: |-
  401. The namespace of the Secret resource being referred to.
  402. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  403. maxLength: 63
  404. minLength: 1
  405. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  406. type: string
  407. type: object
  408. type: object
  409. workloadIdentity:
  410. properties:
  411. clusterLocation:
  412. type: string
  413. clusterName:
  414. type: string
  415. clusterProjectID:
  416. type: string
  417. serviceAccountRef:
  418. description: A reference to a ServiceAccount resource.
  419. properties:
  420. audiences:
  421. description: |-
  422. Audience specifies the `aud` claim for the service account token
  423. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  424. then this audiences will be appended to the list
  425. items:
  426. type: string
  427. type: array
  428. name:
  429. description: The name of the ServiceAccount resource
  430. being referred to.
  431. maxLength: 253
  432. minLength: 1
  433. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  434. type: string
  435. namespace:
  436. description: |-
  437. Namespace of the resource being referred to.
  438. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  439. maxLength: 63
  440. minLength: 1
  441. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  442. type: string
  443. required:
  444. - name
  445. type: object
  446. required:
  447. - clusterLocation
  448. - clusterName
  449. - serviceAccountRef
  450. type: object
  451. type: object
  452. projectID:
  453. description: ProjectID defines which project to use to authenticate
  454. with
  455. type: string
  456. required:
  457. - auth
  458. - projectID
  459. type: object
  460. githubAccessTokenSpec:
  461. properties:
  462. appID:
  463. type: string
  464. auth:
  465. description: Auth configures how ESO authenticates with a
  466. Github instance.
  467. properties:
  468. privateKey:
  469. properties:
  470. secretRef:
  471. description: |-
  472. A reference to a specific 'key' within a Secret resource.
  473. In some instances, `key` is a required field.
  474. properties:
  475. key:
  476. description: |-
  477. A key in the referenced Secret.
  478. Some instances of this field may be defaulted, in others it may be required.
  479. maxLength: 253
  480. minLength: 1
  481. pattern: ^[-._a-zA-Z0-9]+$
  482. type: string
  483. name:
  484. description: The name of the Secret resource being
  485. referred to.
  486. maxLength: 253
  487. minLength: 1
  488. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  489. type: string
  490. namespace:
  491. description: |-
  492. The namespace of the Secret resource being referred to.
  493. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  494. maxLength: 63
  495. minLength: 1
  496. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  497. type: string
  498. type: object
  499. required:
  500. - secretRef
  501. type: object
  502. required:
  503. - privateKey
  504. type: object
  505. installID:
  506. type: string
  507. permissions:
  508. additionalProperties:
  509. type: string
  510. description: Map of permissions the token will have. If omitted,
  511. defaults to all permissions the GitHub App has.
  512. type: object
  513. repositories:
  514. description: |-
  515. List of repositories the token will have access to. If omitted, defaults to all repositories the GitHub App
  516. is installed to.
  517. items:
  518. type: string
  519. type: array
  520. url:
  521. description: URL configures the Github instance URL. Defaults
  522. to https://github.com/.
  523. type: string
  524. required:
  525. - appID
  526. - auth
  527. - installID
  528. type: object
  529. passwordSpec:
  530. description: PasswordSpec controls the behavior of the password
  531. generator.
  532. properties:
  533. allowRepeat:
  534. default: false
  535. description: set AllowRepeat to true to allow repeating characters.
  536. type: boolean
  537. digits:
  538. description: |-
  539. Digits specifies the number of digits in the generated
  540. password. If omitted it defaults to 25% of the length of the password
  541. type: integer
  542. length:
  543. default: 24
  544. description: |-
  545. Length of the password to be generated.
  546. Defaults to 24
  547. type: integer
  548. noUpper:
  549. default: false
  550. description: Set NoUpper to disable uppercase characters
  551. type: boolean
  552. symbolCharacters:
  553. description: |-
  554. SymbolCharacters specifies the special characters that should be used
  555. in the generated password.
  556. type: string
  557. symbols:
  558. description: |-
  559. Symbols specifies the number of symbol characters in the generated
  560. password. If omitted it defaults to 25% of the length of the password
  561. type: integer
  562. required:
  563. - allowRepeat
  564. - length
  565. - noUpper
  566. type: object
  567. quayAccessTokenSpec:
  568. properties:
  569. robotAccount:
  570. description: Name of the robot account you are federating
  571. with
  572. type: string
  573. serviceAccountRef:
  574. description: Name of the service account you are federating
  575. with
  576. properties:
  577. audiences:
  578. description: |-
  579. Audience specifies the `aud` claim for the service account token
  580. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  581. then this audiences will be appended to the list
  582. items:
  583. type: string
  584. type: array
  585. name:
  586. description: The name of the ServiceAccount resource being
  587. referred to.
  588. maxLength: 253
  589. minLength: 1
  590. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  591. type: string
  592. namespace:
  593. description: |-
  594. Namespace of the resource being referred to.
  595. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  596. maxLength: 63
  597. minLength: 1
  598. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  599. type: string
  600. required:
  601. - name
  602. type: object
  603. url:
  604. description: URL configures the Quay instance URL. Defaults
  605. to quay.io.
  606. type: string
  607. required:
  608. - robotAccount
  609. - serviceAccountRef
  610. type: object
  611. stsSessionTokenSpec:
  612. properties:
  613. auth:
  614. description: Auth defines how to authenticate with AWS
  615. properties:
  616. jwt:
  617. description: Authenticate against AWS using service account
  618. tokens.
  619. properties:
  620. serviceAccountRef:
  621. description: A reference to a ServiceAccount resource.
  622. properties:
  623. audiences:
  624. description: |-
  625. Audience specifies the `aud` claim for the service account token
  626. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  627. then this audiences will be appended to the list
  628. items:
  629. type: string
  630. type: array
  631. name:
  632. description: The name of the ServiceAccount resource
  633. being referred to.
  634. maxLength: 253
  635. minLength: 1
  636. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  637. type: string
  638. namespace:
  639. description: |-
  640. Namespace of the resource being referred to.
  641. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  642. maxLength: 63
  643. minLength: 1
  644. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  645. type: string
  646. required:
  647. - name
  648. type: object
  649. type: object
  650. secretRef:
  651. description: |-
  652. AWSAuthSecretRef holds secret references for AWS credentials
  653. both AccessKeyID and SecretAccessKey must be defined in order to properly authenticate.
  654. properties:
  655. accessKeyIDSecretRef:
  656. description: The AccessKeyID is used for authentication
  657. properties:
  658. key:
  659. description: |-
  660. A key in the referenced Secret.
  661. Some instances of this field may be defaulted, in others it may be required.
  662. maxLength: 253
  663. minLength: 1
  664. pattern: ^[-._a-zA-Z0-9]+$
  665. type: string
  666. name:
  667. description: The name of the Secret resource being
  668. referred to.
  669. maxLength: 253
  670. minLength: 1
  671. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  672. type: string
  673. namespace:
  674. description: |-
  675. The namespace of the Secret resource being referred to.
  676. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  677. maxLength: 63
  678. minLength: 1
  679. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  680. type: string
  681. type: object
  682. secretAccessKeySecretRef:
  683. description: The SecretAccessKey is used for authentication
  684. properties:
  685. key:
  686. description: |-
  687. A key in the referenced Secret.
  688. Some instances of this field may be defaulted, in others it may be required.
  689. maxLength: 253
  690. minLength: 1
  691. pattern: ^[-._a-zA-Z0-9]+$
  692. type: string
  693. name:
  694. description: The name of the Secret resource being
  695. referred to.
  696. maxLength: 253
  697. minLength: 1
  698. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  699. type: string
  700. namespace:
  701. description: |-
  702. The namespace of the Secret resource being referred to.
  703. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  704. maxLength: 63
  705. minLength: 1
  706. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  707. type: string
  708. type: object
  709. sessionTokenSecretRef:
  710. description: |-
  711. The SessionToken used for authentication
  712. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  713. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  714. properties:
  715. key:
  716. description: |-
  717. A key in the referenced Secret.
  718. Some instances of this field may be defaulted, in others it may be required.
  719. maxLength: 253
  720. minLength: 1
  721. pattern: ^[-._a-zA-Z0-9]+$
  722. type: string
  723. name:
  724. description: The name of the Secret resource being
  725. referred to.
  726. maxLength: 253
  727. minLength: 1
  728. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  729. type: string
  730. namespace:
  731. description: |-
  732. The namespace of the Secret resource being referred to.
  733. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  734. maxLength: 63
  735. minLength: 1
  736. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  737. type: string
  738. type: object
  739. type: object
  740. type: object
  741. region:
  742. description: Region specifies the region to operate in.
  743. type: string
  744. requestParameters:
  745. description: RequestParameters contains parameters that can
  746. be passed to the STS service.
  747. properties:
  748. serialNumber:
  749. description: |-
  750. SerialNumber is the identification number of the MFA device that is associated with the IAM user who is making
  751. the GetSessionToken call.
  752. Possible values: hardware device (such as GAHT12345678) or an Amazon Resource Name (ARN) for a virtual device
  753. (such as arn:aws:iam::123456789012:mfa/user)
  754. type: string
  755. sessionDuration:
  756. description: |-
  757. SessionDuration The duration, in seconds, that the credentials should remain valid. Acceptable durations for
  758. IAM user sessions range from 900 seconds (15 minutes) to 129,600 seconds (36 hours), with 43,200 seconds
  759. (12 hours) as the default.
  760. format: int64
  761. type: integer
  762. tokenCode:
  763. description: TokenCode is the value provided by the MFA
  764. device, if MFA is required.
  765. type: string
  766. type: object
  767. role:
  768. description: |-
  769. You can assume a role before making calls to the
  770. desired AWS service.
  771. type: string
  772. required:
  773. - region
  774. type: object
  775. uuidSpec:
  776. description: UUIDSpec controls the behavior of the uuid generator.
  777. type: object
  778. vaultDynamicSecretSpec:
  779. properties:
  780. allowEmptyResponse:
  781. default: false
  782. description: Do not fail if no secrets are found. Useful for
  783. requests where no data is expected.
  784. type: boolean
  785. controller:
  786. description: |-
  787. Used to select the correct ESO controller (think: ingress.ingressClassName)
  788. The ESO controller is instantiated with a specific controller name and filters VDS based on this property
  789. type: string
  790. method:
  791. description: Vault API method to use (GET/POST/other)
  792. type: string
  793. parameters:
  794. description: Parameters to pass to Vault write (for non-GET
  795. methods)
  796. x-kubernetes-preserve-unknown-fields: true
  797. path:
  798. description: Vault path to obtain the dynamic secret from
  799. type: string
  800. provider:
  801. description: Vault provider common spec
  802. properties:
  803. auth:
  804. description: Auth configures how secret-manager authenticates
  805. with the Vault server.
  806. properties:
  807. appRole:
  808. description: |-
  809. AppRole authenticates with Vault using the App Role auth mechanism,
  810. with the role and secret stored in a Kubernetes Secret resource.
  811. properties:
  812. path:
  813. default: approle
  814. description: |-
  815. Path where the App Role authentication backend is mounted
  816. in Vault, e.g: "approle"
  817. type: string
  818. roleId:
  819. description: |-
  820. RoleID configured in the App Role authentication backend when setting
  821. up the authentication backend in Vault.
  822. type: string
  823. roleRef:
  824. description: |-
  825. Reference to a key in a Secret that contains the App Role ID used
  826. to authenticate with Vault.
  827. The `key` field must be specified and denotes which entry within the Secret
  828. resource is used as the app role id.
  829. properties:
  830. key:
  831. description: |-
  832. A key in the referenced Secret.
  833. Some instances of this field may be defaulted, in others it may be required.
  834. maxLength: 253
  835. minLength: 1
  836. pattern: ^[-._a-zA-Z0-9]+$
  837. type: string
  838. name:
  839. description: The name of the Secret resource
  840. being referred to.
  841. maxLength: 253
  842. minLength: 1
  843. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  844. type: string
  845. namespace:
  846. description: |-
  847. The namespace of the Secret resource being referred to.
  848. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  849. maxLength: 63
  850. minLength: 1
  851. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  852. type: string
  853. type: object
  854. secretRef:
  855. description: |-
  856. Reference to a key in a Secret that contains the App Role secret used
  857. to authenticate with Vault.
  858. The `key` field must be specified and denotes which entry within the Secret
  859. resource is used as the app role secret.
  860. properties:
  861. key:
  862. description: |-
  863. A key in the referenced Secret.
  864. Some instances of this field may be defaulted, in others it may be required.
  865. maxLength: 253
  866. minLength: 1
  867. pattern: ^[-._a-zA-Z0-9]+$
  868. type: string
  869. name:
  870. description: The name of the Secret resource
  871. being referred to.
  872. maxLength: 253
  873. minLength: 1
  874. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  875. type: string
  876. namespace:
  877. description: |-
  878. The namespace of the Secret resource being referred to.
  879. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  880. maxLength: 63
  881. minLength: 1
  882. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  883. type: string
  884. type: object
  885. required:
  886. - path
  887. - secretRef
  888. type: object
  889. cert:
  890. description: |-
  891. Cert authenticates with TLS Certificates by passing client certificate, private key and ca certificate
  892. Cert authentication method
  893. properties:
  894. clientCert:
  895. description: |-
  896. ClientCert is a certificate to authenticate using the Cert Vault
  897. authentication method
  898. properties:
  899. key:
  900. description: |-
  901. A key in the referenced Secret.
  902. Some instances of this field may be defaulted, in others it may be required.
  903. maxLength: 253
  904. minLength: 1
  905. pattern: ^[-._a-zA-Z0-9]+$
  906. type: string
  907. name:
  908. description: The name of the Secret resource
  909. being referred to.
  910. maxLength: 253
  911. minLength: 1
  912. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  913. type: string
  914. namespace:
  915. description: |-
  916. The namespace of the Secret resource being referred to.
  917. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  918. maxLength: 63
  919. minLength: 1
  920. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  921. type: string
  922. type: object
  923. secretRef:
  924. description: |-
  925. SecretRef to a key in a Secret resource containing client private key to
  926. authenticate with Vault using the Cert authentication method
  927. properties:
  928. key:
  929. description: |-
  930. A key in the referenced Secret.
  931. Some instances of this field may be defaulted, in others it may be required.
  932. maxLength: 253
  933. minLength: 1
  934. pattern: ^[-._a-zA-Z0-9]+$
  935. type: string
  936. name:
  937. description: The name of the Secret resource
  938. being referred to.
  939. maxLength: 253
  940. minLength: 1
  941. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  942. type: string
  943. namespace:
  944. description: |-
  945. The namespace of the Secret resource being referred to.
  946. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  947. maxLength: 63
  948. minLength: 1
  949. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  950. type: string
  951. type: object
  952. type: object
  953. iam:
  954. description: |-
  955. Iam authenticates with vault by passing a special AWS request signed with AWS IAM credentials
  956. AWS IAM authentication method
  957. properties:
  958. externalID:
  959. description: AWS External ID set on assumed IAM
  960. roles
  961. type: string
  962. jwt:
  963. description: Specify a service account with IRSA
  964. enabled
  965. properties:
  966. serviceAccountRef:
  967. description: A reference to a ServiceAccount
  968. resource.
  969. properties:
  970. audiences:
  971. description: |-
  972. Audience specifies the `aud` claim for the service account token
  973. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  974. then this audiences will be appended to the list
  975. items:
  976. type: string
  977. type: array
  978. name:
  979. description: The name of the ServiceAccount
  980. resource being referred to.
  981. maxLength: 253
  982. minLength: 1
  983. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  984. type: string
  985. namespace:
  986. description: |-
  987. Namespace of the resource being referred to.
  988. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  989. maxLength: 63
  990. minLength: 1
  991. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  992. type: string
  993. required:
  994. - name
  995. type: object
  996. type: object
  997. path:
  998. description: 'Path where the AWS auth method is
  999. enabled in Vault, e.g: "aws"'
  1000. type: string
  1001. region:
  1002. description: AWS region
  1003. type: string
  1004. role:
  1005. description: This is the AWS role to be assumed
  1006. before talking to vault
  1007. type: string
  1008. secretRef:
  1009. description: Specify credentials in a Secret object
  1010. properties:
  1011. accessKeyIDSecretRef:
  1012. description: The AccessKeyID is used for authentication
  1013. properties:
  1014. key:
  1015. description: |-
  1016. A key in the referenced Secret.
  1017. Some instances of this field may be defaulted, in others it may be required.
  1018. maxLength: 253
  1019. minLength: 1
  1020. pattern: ^[-._a-zA-Z0-9]+$
  1021. type: string
  1022. name:
  1023. description: The name of the Secret resource
  1024. being referred to.
  1025. maxLength: 253
  1026. minLength: 1
  1027. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1028. type: string
  1029. namespace:
  1030. description: |-
  1031. The namespace of the Secret resource being referred to.
  1032. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1033. maxLength: 63
  1034. minLength: 1
  1035. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1036. type: string
  1037. type: object
  1038. secretAccessKeySecretRef:
  1039. description: The SecretAccessKey is used for
  1040. authentication
  1041. properties:
  1042. key:
  1043. description: |-
  1044. A key in the referenced Secret.
  1045. Some instances of this field may be defaulted, in others it may be required.
  1046. maxLength: 253
  1047. minLength: 1
  1048. pattern: ^[-._a-zA-Z0-9]+$
  1049. type: string
  1050. name:
  1051. description: The name of the Secret resource
  1052. being referred to.
  1053. maxLength: 253
  1054. minLength: 1
  1055. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1056. type: string
  1057. namespace:
  1058. description: |-
  1059. The namespace of the Secret resource being referred to.
  1060. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1061. maxLength: 63
  1062. minLength: 1
  1063. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1064. type: string
  1065. type: object
  1066. sessionTokenSecretRef:
  1067. description: |-
  1068. The SessionToken used for authentication
  1069. This must be defined if AccessKeyID and SecretAccessKey are temporary credentials
  1070. see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_use-resources.html
  1071. properties:
  1072. key:
  1073. description: |-
  1074. A key in the referenced Secret.
  1075. Some instances of this field may be defaulted, in others it may be required.
  1076. maxLength: 253
  1077. minLength: 1
  1078. pattern: ^[-._a-zA-Z0-9]+$
  1079. type: string
  1080. name:
  1081. description: The name of the Secret resource
  1082. being referred to.
  1083. maxLength: 253
  1084. minLength: 1
  1085. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1086. type: string
  1087. namespace:
  1088. description: |-
  1089. The namespace of the Secret resource being referred to.
  1090. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1091. maxLength: 63
  1092. minLength: 1
  1093. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1094. type: string
  1095. type: object
  1096. type: object
  1097. vaultAwsIamServerID:
  1098. description: 'X-Vault-AWS-IAM-Server-ID is an
  1099. additional header used by Vault IAM auth method
  1100. to mitigate against different types of replay
  1101. attacks. More details here: https://developer.hashicorp.com/vault/docs/auth/aws'
  1102. type: string
  1103. vaultRole:
  1104. description: Vault Role. In vault, a role describes
  1105. an identity with a set of permissions, groups,
  1106. or policies you want to attach a user of the
  1107. secrets engine
  1108. type: string
  1109. required:
  1110. - vaultRole
  1111. type: object
  1112. jwt:
  1113. description: |-
  1114. Jwt authenticates with Vault by passing role and JWT token using the
  1115. JWT/OIDC authentication method
  1116. properties:
  1117. kubernetesServiceAccountToken:
  1118. description: |-
  1119. Optional ServiceAccountToken specifies the Kubernetes service account for which to request
  1120. a token for with the `TokenRequest` API.
  1121. properties:
  1122. audiences:
  1123. description: |-
  1124. Optional audiences field that will be used to request a temporary Kubernetes service
  1125. account token for the service account referenced by `serviceAccountRef`.
  1126. Defaults to a single audience `vault` it not specified.
  1127. Deprecated: use serviceAccountRef.Audiences instead
  1128. items:
  1129. type: string
  1130. type: array
  1131. expirationSeconds:
  1132. description: |-
  1133. Optional expiration time in seconds that will be used to request a temporary
  1134. Kubernetes service account token for the service account referenced by
  1135. `serviceAccountRef`.
  1136. Deprecated: this will be removed in the future.
  1137. Defaults to 10 minutes.
  1138. format: int64
  1139. type: integer
  1140. serviceAccountRef:
  1141. description: Service account field containing
  1142. the name of a kubernetes ServiceAccount.
  1143. properties:
  1144. audiences:
  1145. description: |-
  1146. Audience specifies the `aud` claim for the service account token
  1147. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1148. then this audiences will be appended to the list
  1149. items:
  1150. type: string
  1151. type: array
  1152. name:
  1153. description: The name of the ServiceAccount
  1154. resource 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. Namespace of the 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. required:
  1168. - name
  1169. type: object
  1170. required:
  1171. - serviceAccountRef
  1172. type: object
  1173. path:
  1174. default: jwt
  1175. description: |-
  1176. Path where the JWT authentication backend is mounted
  1177. in Vault, e.g: "jwt"
  1178. type: string
  1179. role:
  1180. description: |-
  1181. Role is a JWT role to authenticate using the JWT/OIDC Vault
  1182. authentication method
  1183. type: string
  1184. secretRef:
  1185. description: |-
  1186. Optional SecretRef that refers to a key in a Secret resource containing JWT token to
  1187. authenticate with Vault using the JWT/OIDC authentication method.
  1188. properties:
  1189. key:
  1190. description: |-
  1191. A key in the referenced Secret.
  1192. Some instances of this field may be defaulted, in others it may be required.
  1193. maxLength: 253
  1194. minLength: 1
  1195. pattern: ^[-._a-zA-Z0-9]+$
  1196. type: string
  1197. name:
  1198. description: The name of the Secret resource
  1199. being referred to.
  1200. maxLength: 253
  1201. minLength: 1
  1202. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1203. type: string
  1204. namespace:
  1205. description: |-
  1206. The namespace of the Secret resource being referred to.
  1207. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1208. maxLength: 63
  1209. minLength: 1
  1210. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1211. type: string
  1212. type: object
  1213. required:
  1214. - path
  1215. type: object
  1216. kubernetes:
  1217. description: |-
  1218. Kubernetes authenticates with Vault by passing the ServiceAccount
  1219. token stored in the named Secret resource to the Vault server.
  1220. properties:
  1221. mountPath:
  1222. default: kubernetes
  1223. description: |-
  1224. Path where the Kubernetes authentication backend is mounted in Vault, e.g:
  1225. "kubernetes"
  1226. type: string
  1227. role:
  1228. description: |-
  1229. A required field containing the Vault Role to assume. A Role binds a
  1230. Kubernetes ServiceAccount with a set of Vault policies.
  1231. type: string
  1232. secretRef:
  1233. description: |-
  1234. Optional secret field containing a Kubernetes ServiceAccount JWT used
  1235. for authenticating with Vault. If a name is specified without a key,
  1236. `token` is the default. If one is not specified, the one bound to
  1237. the controller will be used.
  1238. properties:
  1239. key:
  1240. description: |-
  1241. A key in the referenced Secret.
  1242. Some instances of this field may be defaulted, in others it may be required.
  1243. maxLength: 253
  1244. minLength: 1
  1245. pattern: ^[-._a-zA-Z0-9]+$
  1246. type: string
  1247. name:
  1248. description: The name of the Secret resource
  1249. being referred to.
  1250. maxLength: 253
  1251. minLength: 1
  1252. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1253. type: string
  1254. namespace:
  1255. description: |-
  1256. The namespace of the Secret resource being referred to.
  1257. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1258. maxLength: 63
  1259. minLength: 1
  1260. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1261. type: string
  1262. type: object
  1263. serviceAccountRef:
  1264. description: |-
  1265. Optional service account field containing the name of a kubernetes ServiceAccount.
  1266. If the service account is specified, the service account secret token JWT will be used
  1267. for authenticating with Vault. If the service account selector is not supplied,
  1268. the secretRef will be used instead.
  1269. properties:
  1270. audiences:
  1271. description: |-
  1272. Audience specifies the `aud` claim for the service account token
  1273. If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity
  1274. then this audiences will be appended to the list
  1275. items:
  1276. type: string
  1277. type: array
  1278. name:
  1279. description: The name of the ServiceAccount
  1280. resource being referred to.
  1281. maxLength: 253
  1282. minLength: 1
  1283. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1284. type: string
  1285. namespace:
  1286. description: |-
  1287. Namespace of the resource being referred to.
  1288. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1289. maxLength: 63
  1290. minLength: 1
  1291. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1292. type: string
  1293. required:
  1294. - name
  1295. type: object
  1296. required:
  1297. - mountPath
  1298. - role
  1299. type: object
  1300. ldap:
  1301. description: |-
  1302. Ldap authenticates with Vault by passing username/password pair using
  1303. the LDAP authentication method
  1304. properties:
  1305. path:
  1306. default: ldap
  1307. description: |-
  1308. Path where the LDAP authentication backend is mounted
  1309. in Vault, e.g: "ldap"
  1310. type: string
  1311. secretRef:
  1312. description: |-
  1313. SecretRef to a key in a Secret resource containing password for the LDAP
  1314. user used to authenticate with Vault using the LDAP authentication
  1315. method
  1316. properties:
  1317. key:
  1318. description: |-
  1319. A key in the referenced Secret.
  1320. Some instances of this field may be defaulted, in others it may be required.
  1321. maxLength: 253
  1322. minLength: 1
  1323. pattern: ^[-._a-zA-Z0-9]+$
  1324. type: string
  1325. name:
  1326. description: The name of the Secret resource
  1327. being referred to.
  1328. maxLength: 253
  1329. minLength: 1
  1330. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1331. type: string
  1332. namespace:
  1333. description: |-
  1334. The namespace of the Secret resource being referred to.
  1335. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1336. maxLength: 63
  1337. minLength: 1
  1338. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1339. type: string
  1340. type: object
  1341. username:
  1342. description: |-
  1343. Username is a LDAP user name used to authenticate using the LDAP Vault
  1344. authentication method
  1345. type: string
  1346. required:
  1347. - path
  1348. - username
  1349. type: object
  1350. namespace:
  1351. description: |-
  1352. Name of the vault namespace to authenticate to. This can be different than the namespace your secret is in.
  1353. Namespaces is a set of features within Vault Enterprise that allows
  1354. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  1355. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  1356. This will default to Vault.Namespace field if set, or empty otherwise
  1357. type: string
  1358. tokenSecretRef:
  1359. description: TokenSecretRef authenticates with Vault
  1360. by presenting a token.
  1361. properties:
  1362. key:
  1363. description: |-
  1364. A key in the referenced Secret.
  1365. Some instances of this field may be defaulted, in others it may be required.
  1366. maxLength: 253
  1367. minLength: 1
  1368. pattern: ^[-._a-zA-Z0-9]+$
  1369. type: string
  1370. name:
  1371. description: The name of the Secret resource being
  1372. referred to.
  1373. maxLength: 253
  1374. minLength: 1
  1375. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1376. type: string
  1377. namespace:
  1378. description: |-
  1379. The namespace of the Secret resource being referred to.
  1380. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1381. maxLength: 63
  1382. minLength: 1
  1383. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1384. type: string
  1385. type: object
  1386. userPass:
  1387. description: UserPass authenticates with Vault by
  1388. passing username/password pair
  1389. properties:
  1390. path:
  1391. default: user
  1392. description: |-
  1393. Path where the UserPassword authentication backend is mounted
  1394. in Vault, e.g: "user"
  1395. type: string
  1396. secretRef:
  1397. description: |-
  1398. SecretRef to a key in a Secret resource containing password for the
  1399. user used to authenticate with Vault using the UserPass authentication
  1400. method
  1401. properties:
  1402. key:
  1403. description: |-
  1404. A key in the referenced Secret.
  1405. Some instances of this field may be defaulted, in others it may be required.
  1406. maxLength: 253
  1407. minLength: 1
  1408. pattern: ^[-._a-zA-Z0-9]+$
  1409. type: string
  1410. name:
  1411. description: The name of the Secret resource
  1412. being referred to.
  1413. maxLength: 253
  1414. minLength: 1
  1415. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1416. type: string
  1417. namespace:
  1418. description: |-
  1419. The namespace of the Secret resource being referred to.
  1420. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1421. maxLength: 63
  1422. minLength: 1
  1423. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1424. type: string
  1425. type: object
  1426. username:
  1427. description: |-
  1428. Username is a user name used to authenticate using the UserPass Vault
  1429. authentication method
  1430. type: string
  1431. required:
  1432. - path
  1433. - username
  1434. type: object
  1435. type: object
  1436. caBundle:
  1437. description: |-
  1438. PEM encoded CA bundle used to validate Vault server certificate. Only used
  1439. if the Server URL is using HTTPS protocol. This parameter is ignored for
  1440. plain HTTP protocol connection. If not set the system root certificates
  1441. are used to validate the TLS connection.
  1442. format: byte
  1443. type: string
  1444. caProvider:
  1445. description: The provider for the CA bundle to use to
  1446. validate Vault server certificate.
  1447. properties:
  1448. key:
  1449. description: The key where the CA certificate can
  1450. be found in the Secret or ConfigMap.
  1451. maxLength: 253
  1452. minLength: 1
  1453. pattern: ^[-._a-zA-Z0-9]+$
  1454. type: string
  1455. name:
  1456. description: The name of the object located at the
  1457. provider type.
  1458. maxLength: 253
  1459. minLength: 1
  1460. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1461. type: string
  1462. namespace:
  1463. description: |-
  1464. The namespace the Provider type is in.
  1465. Can only be defined when used in a ClusterSecretStore.
  1466. maxLength: 63
  1467. minLength: 1
  1468. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1469. type: string
  1470. type:
  1471. description: The type of provider to use such as "Secret",
  1472. or "ConfigMap".
  1473. enum:
  1474. - Secret
  1475. - ConfigMap
  1476. type: string
  1477. required:
  1478. - name
  1479. - type
  1480. type: object
  1481. forwardInconsistent:
  1482. description: |-
  1483. ForwardInconsistent tells Vault to forward read-after-write requests to the Vault
  1484. leader instead of simply retrying within a loop. This can increase performance if
  1485. the option is enabled serverside.
  1486. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  1487. type: boolean
  1488. headers:
  1489. additionalProperties:
  1490. type: string
  1491. description: Headers to be added in Vault request
  1492. type: object
  1493. namespace:
  1494. description: |-
  1495. Name of the vault namespace. Namespaces is a set of features within Vault Enterprise that allows
  1496. Vault environments to support Secure Multi-tenancy. e.g: "ns1".
  1497. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces
  1498. type: string
  1499. path:
  1500. description: |-
  1501. Path is the mount path of the Vault KV backend endpoint, e.g:
  1502. "secret". The v2 KV secret engine version specific "/data" path suffix
  1503. for fetching secrets from Vault is optional and will be appended
  1504. if not present in specified path.
  1505. type: string
  1506. readYourWrites:
  1507. description: |-
  1508. ReadYourWrites ensures isolated read-after-write semantics by
  1509. providing discovered cluster replication states in each request.
  1510. More information about eventual consistency in Vault can be found here
  1511. https://www.vaultproject.io/docs/enterprise/consistency
  1512. type: boolean
  1513. server:
  1514. description: 'Server is the connection address for the
  1515. Vault server, e.g: "https://vault.example.com:8200".'
  1516. type: string
  1517. tls:
  1518. description: |-
  1519. The configuration used for client side related TLS communication, when the Vault server
  1520. requires mutual authentication. Only used if the Server URL is using HTTPS protocol.
  1521. This parameter is ignored for plain HTTP protocol connection.
  1522. It's worth noting this configuration is different from the "TLS certificates auth method",
  1523. which is available under the `auth.cert` section.
  1524. properties:
  1525. certSecretRef:
  1526. description: |-
  1527. CertSecretRef is a certificate added to the transport layer
  1528. when communicating with the Vault server.
  1529. If no key for the Secret is specified, external-secret will default to 'tls.crt'.
  1530. properties:
  1531. key:
  1532. description: |-
  1533. A key in the referenced Secret.
  1534. Some instances of this field may be defaulted, in others it may be required.
  1535. maxLength: 253
  1536. minLength: 1
  1537. pattern: ^[-._a-zA-Z0-9]+$
  1538. type: string
  1539. name:
  1540. description: The name of the Secret resource being
  1541. referred to.
  1542. maxLength: 253
  1543. minLength: 1
  1544. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1545. type: string
  1546. namespace:
  1547. description: |-
  1548. The namespace of the Secret resource being referred to.
  1549. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1550. maxLength: 63
  1551. minLength: 1
  1552. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1553. type: string
  1554. type: object
  1555. keySecretRef:
  1556. description: |-
  1557. KeySecretRef to a key in a Secret resource containing client private key
  1558. added to the transport layer when communicating with the Vault server.
  1559. If no key for the Secret is specified, external-secret will default to 'tls.key'.
  1560. properties:
  1561. key:
  1562. description: |-
  1563. A key in the referenced Secret.
  1564. Some instances of this field may be defaulted, in others it may be required.
  1565. maxLength: 253
  1566. minLength: 1
  1567. pattern: ^[-._a-zA-Z0-9]+$
  1568. type: string
  1569. name:
  1570. description: The name of the Secret resource being
  1571. referred to.
  1572. maxLength: 253
  1573. minLength: 1
  1574. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1575. type: string
  1576. namespace:
  1577. description: |-
  1578. The namespace of the Secret resource being referred to.
  1579. Ignored if referent is not cluster-scoped, otherwise defaults to the namespace of the referent.
  1580. maxLength: 63
  1581. minLength: 1
  1582. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1583. type: string
  1584. type: object
  1585. type: object
  1586. version:
  1587. default: v2
  1588. description: |-
  1589. Version is the Vault KV secret engine version. This can be either "v1" or
  1590. "v2". Version defaults to "v2".
  1591. enum:
  1592. - v1
  1593. - v2
  1594. type: string
  1595. required:
  1596. - auth
  1597. - server
  1598. type: object
  1599. resultType:
  1600. default: Data
  1601. description: |-
  1602. Result type defines which data is returned from the generator.
  1603. By default it is the "data" section of the Vault API response.
  1604. When using e.g. /auth/token/create the "data" section is empty but
  1605. the "auth" section contains the generated token.
  1606. Please refer to the vault docs regarding the result data structure.
  1607. enum:
  1608. - Data
  1609. - Auth
  1610. type: string
  1611. retrySettings:
  1612. description: Used to configure http retries if failed
  1613. properties:
  1614. maxRetries:
  1615. format: int32
  1616. type: integer
  1617. retryInterval:
  1618. type: string
  1619. type: object
  1620. required:
  1621. - path
  1622. - provider
  1623. type: object
  1624. webhookSpec:
  1625. description: WebhookSpec controls the behavior of the external
  1626. generator. Any body parameters should be passed to the server
  1627. through the parameters field.
  1628. properties:
  1629. body:
  1630. description: Body
  1631. type: string
  1632. caBundle:
  1633. description: |-
  1634. PEM encoded CA bundle used to validate webhook server certificate. Only used
  1635. if the Server URL is using HTTPS protocol. This parameter is ignored for
  1636. plain HTTP protocol connection. If not set the system root certificates
  1637. are used to validate the TLS connection.
  1638. format: byte
  1639. type: string
  1640. caProvider:
  1641. description: The provider for the CA bundle to use to validate
  1642. webhook server certificate.
  1643. properties:
  1644. key:
  1645. description: The key where the CA certificate can be found
  1646. in the Secret or ConfigMap.
  1647. maxLength: 253
  1648. minLength: 1
  1649. pattern: ^[-._a-zA-Z0-9]+$
  1650. type: string
  1651. name:
  1652. description: The name of the object located at the provider
  1653. type.
  1654. maxLength: 253
  1655. minLength: 1
  1656. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1657. type: string
  1658. namespace:
  1659. description: The namespace the Provider type is in.
  1660. maxLength: 63
  1661. minLength: 1
  1662. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?$
  1663. type: string
  1664. type:
  1665. description: The type of provider to use such as "Secret",
  1666. or "ConfigMap".
  1667. enum:
  1668. - Secret
  1669. - ConfigMap
  1670. type: string
  1671. required:
  1672. - name
  1673. - type
  1674. type: object
  1675. headers:
  1676. additionalProperties:
  1677. type: string
  1678. description: Headers
  1679. type: object
  1680. method:
  1681. description: Webhook Method
  1682. type: string
  1683. result:
  1684. description: Result formatting
  1685. properties:
  1686. jsonPath:
  1687. description: Json path of return value
  1688. type: string
  1689. type: object
  1690. secrets:
  1691. description: |-
  1692. Secrets to fill in templates
  1693. These secrets will be passed to the templating function as key value pairs under the given name
  1694. items:
  1695. properties:
  1696. name:
  1697. description: Name of this secret in templates
  1698. type: string
  1699. secretRef:
  1700. description: Secret ref to fill in credentials
  1701. properties:
  1702. key:
  1703. description: The key where the token is found.
  1704. maxLength: 253
  1705. minLength: 1
  1706. pattern: ^[-._a-zA-Z0-9]+$
  1707. type: string
  1708. name:
  1709. description: The name of the Secret resource being
  1710. referred to.
  1711. maxLength: 253
  1712. minLength: 1
  1713. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  1714. type: string
  1715. type: object
  1716. required:
  1717. - name
  1718. - secretRef
  1719. type: object
  1720. type: array
  1721. timeout:
  1722. description: Timeout
  1723. type: string
  1724. url:
  1725. description: Webhook url to call
  1726. type: string
  1727. required:
  1728. - result
  1729. - url
  1730. type: object
  1731. type: object
  1732. kind:
  1733. description: Kind the kind of this generator.
  1734. enum:
  1735. - ACRAccessToken
  1736. - ECRAuthorizationToken
  1737. - Fake
  1738. - GCRAccessToken
  1739. - GithubAccessToken
  1740. - QuayAccessToken
  1741. - Password
  1742. - STSSessionToken
  1743. - UUID
  1744. - VaultDynamicSecret
  1745. - Webhook
  1746. type: string
  1747. required:
  1748. - generator
  1749. - kind
  1750. type: object
  1751. type: object
  1752. served: true
  1753. storage: true
  1754. subresources:
  1755. status: {}