generators.external-secrets.io_clustergenerators.yaml 100 KB

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