generators.external-secrets.io_clustergenerators.yaml 100 KB

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