generators.external-secrets.io_clustergenerators.yaml 106 KB

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