external-secrets.io_clustersecretstores.yaml 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.8.0
  6. creationTimestamp: null
  7. name: clustersecretstores.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: ClusterSecretStore
  14. listKind: ClusterSecretStoreList
  15. plural: clustersecretstores
  16. shortNames:
  17. - css
  18. singular: clustersecretstore
  19. scope: Cluster
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .metadata.creationTimestamp
  23. name: AGE
  24. type: date
  25. name: v1alpha1
  26. schema:
  27. openAPIV3Schema:
  28. description: ClusterSecretStore represents a secure external location for
  29. storing secrets, which can be referenced as part of `storeRef` fields.
  30. properties:
  31. apiVersion:
  32. description: 'APIVersion defines the versioned schema of this representation
  33. of an object. Servers should convert recognized schemas to the latest
  34. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  35. type: string
  36. kind:
  37. description: 'Kind is a string value representing the REST resource this
  38. object represents. Servers may infer this from the endpoint the client
  39. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  40. type: string
  41. metadata:
  42. type: object
  43. spec:
  44. description: SecretStoreSpec defines the desired state of SecretStore.
  45. properties:
  46. controller:
  47. description: 'Used to select the correct KES controller (think: ingress.ingressClassName)
  48. The KES controller is instantiated with a specific controller name
  49. and filters ES based on this property'
  50. type: string
  51. provider:
  52. description: Used to configure the provider. Only one provider may
  53. be set
  54. maxProperties: 1
  55. minProperties: 1
  56. properties:
  57. akeyless:
  58. description: Akeyless configures this store to sync secrets using
  59. Akeyless Vault provider
  60. properties:
  61. akeylessGWApiURL:
  62. description: Akeyless GW API Url from which the secrets to
  63. be fetched from.
  64. type: string
  65. authSecretRef:
  66. description: Auth configures how the operator authenticates
  67. with Akeyless.
  68. properties:
  69. secretRef:
  70. description: 'AkeylessAuthSecretRef AKEYLESS_ACCESS_TYPE_PARAM:
  71. AZURE_OBJ_ID OR GCP_AUDIENCE OR ACCESS_KEY OR KUB_CONFIG_NAME.'
  72. properties:
  73. accessID:
  74. description: The SecretAccessID is used for authentication
  75. properties:
  76. key:
  77. description: The key of the entry in the Secret
  78. resource's `data` field to be used. Some instances
  79. of this field may be defaulted, in others it
  80. may be required.
  81. type: string
  82. name:
  83. description: The name of the Secret resource being
  84. referred to.
  85. type: string
  86. namespace:
  87. description: Namespace of the resource being referred
  88. to. Ignored if referent is not cluster-scoped.
  89. cluster-scoped defaults to the namespace of
  90. the referent.
  91. type: string
  92. type: object
  93. accessType:
  94. description: A reference to a specific 'key' within
  95. a Secret resource, In some instances, `key` is a
  96. required field.
  97. properties:
  98. key:
  99. description: The key of the entry in the Secret
  100. resource's `data` field to be used. Some instances
  101. of this field may be defaulted, in others it
  102. may be required.
  103. type: string
  104. name:
  105. description: The name of the Secret resource being
  106. referred to.
  107. type: string
  108. namespace:
  109. description: Namespace of the resource being referred
  110. to. Ignored if referent is not cluster-scoped.
  111. cluster-scoped defaults to the namespace of
  112. the referent.
  113. type: string
  114. type: object
  115. accessTypeParam:
  116. description: A reference to a specific 'key' within
  117. a Secret resource, In some instances, `key` is a
  118. required field.
  119. properties:
  120. key:
  121. description: The key of the entry in the Secret
  122. resource's `data` field to be used. Some instances
  123. of this field may be defaulted, in others it
  124. may be required.
  125. type: string
  126. name:
  127. description: The name of the Secret resource being
  128. referred to.
  129. type: string
  130. namespace:
  131. description: Namespace of the resource being referred
  132. to. Ignored if referent is not cluster-scoped.
  133. cluster-scoped defaults to the namespace of
  134. the referent.
  135. type: string
  136. type: object
  137. type: object
  138. required:
  139. - secretRef
  140. type: object
  141. required:
  142. - akeylessGWApiURL
  143. - authSecretRef
  144. type: object
  145. alibaba:
  146. description: Alibaba configures this store to sync secrets using
  147. Alibaba Cloud provider
  148. properties:
  149. auth:
  150. description: AlibabaAuth contains a secretRef for credentials.
  151. properties:
  152. secretRef:
  153. description: AlibabaAuthSecretRef holds secret references
  154. for Alibaba credentials.
  155. properties:
  156. accessKeyIDSecretRef:
  157. description: The AccessKeyID is used for authentication
  158. properties:
  159. key:
  160. description: The key of the entry in the Secret
  161. resource's `data` field to be used. Some instances
  162. of this field may be defaulted, in others it
  163. may be required.
  164. type: string
  165. name:
  166. description: The name of the Secret resource being
  167. referred to.
  168. type: string
  169. namespace:
  170. description: Namespace of the resource being referred
  171. to. Ignored if referent is not cluster-scoped.
  172. cluster-scoped defaults to the namespace of
  173. the referent.
  174. type: string
  175. type: object
  176. accessKeySecretSecretRef:
  177. description: The AccessKeySecret is used for authentication
  178. properties:
  179. key:
  180. description: The key of the entry in the Secret
  181. resource's `data` field to be used. Some instances
  182. of this field may be defaulted, in others it
  183. may be required.
  184. type: string
  185. name:
  186. description: The name of the Secret resource being
  187. referred to.
  188. type: string
  189. namespace:
  190. description: Namespace of the resource being referred
  191. to. Ignored if referent is not cluster-scoped.
  192. cluster-scoped defaults to the namespace of
  193. the referent.
  194. type: string
  195. type: object
  196. required:
  197. - accessKeyIDSecretRef
  198. - accessKeySecretSecretRef
  199. type: object
  200. required:
  201. - secretRef
  202. type: object
  203. endpoint:
  204. type: string
  205. regionID:
  206. description: Alibaba Region to be used for the provider
  207. type: string
  208. required:
  209. - auth
  210. - regionID
  211. type: object
  212. aws:
  213. description: AWS configures this store to sync secrets using AWS
  214. Secret Manager provider
  215. properties:
  216. auth:
  217. description: 'Auth defines the information necessary to authenticate
  218. against AWS if not set aws sdk will infer credentials from
  219. your environment see: https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials'
  220. properties:
  221. jwt:
  222. description: Authenticate against AWS using service account
  223. tokens.
  224. properties:
  225. serviceAccountRef:
  226. description: A reference to a ServiceAccount resource.
  227. properties:
  228. name:
  229. description: The name of the ServiceAccount resource
  230. being referred to.
  231. type: string
  232. namespace:
  233. description: Namespace of the resource being referred
  234. to. Ignored if referent is not cluster-scoped.
  235. cluster-scoped defaults to the namespace of
  236. the referent.
  237. type: string
  238. required:
  239. - name
  240. type: object
  241. type: object
  242. secretRef:
  243. description: AWSAuthSecretRef holds secret references
  244. for AWS credentials both AccessKeyID and SecretAccessKey
  245. must be defined in order to properly authenticate.
  246. properties:
  247. accessKeyIDSecretRef:
  248. description: The AccessKeyID is used for authentication
  249. properties:
  250. key:
  251. description: The key of the entry in the Secret
  252. resource's `data` field to be used. Some instances
  253. of this field may be defaulted, in others it
  254. may be required.
  255. type: string
  256. name:
  257. description: The name of the Secret resource being
  258. referred to.
  259. type: string
  260. namespace:
  261. description: Namespace of the resource being referred
  262. to. Ignored if referent is not cluster-scoped.
  263. cluster-scoped defaults to the namespace of
  264. the referent.
  265. type: string
  266. type: object
  267. secretAccessKeySecretRef:
  268. description: The SecretAccessKey is used for authentication
  269. properties:
  270. key:
  271. description: The key of the entry in the Secret
  272. resource's `data` field to be used. Some instances
  273. of this field may be defaulted, in others it
  274. may be required.
  275. type: string
  276. name:
  277. description: The name of the Secret resource being
  278. referred to.
  279. type: string
  280. namespace:
  281. description: Namespace of the resource being referred
  282. to. Ignored if referent is not cluster-scoped.
  283. cluster-scoped defaults to the namespace of
  284. the referent.
  285. type: string
  286. type: object
  287. type: object
  288. type: object
  289. region:
  290. description: AWS Region to be used for the provider
  291. type: string
  292. role:
  293. description: Role is a Role ARN which the SecretManager provider
  294. will assume
  295. type: string
  296. service:
  297. description: Service defines which service should be used
  298. to fetch the secrets
  299. enum:
  300. - SecretsManager
  301. - ParameterStore
  302. type: string
  303. required:
  304. - region
  305. - service
  306. type: object
  307. azurekv:
  308. description: AzureKV configures this store to sync secrets using
  309. Azure Key Vault provider
  310. properties:
  311. authSecretRef:
  312. description: Auth configures how the operator authenticates
  313. with Azure. Required for ServicePrincipal auth type.
  314. properties:
  315. clientId:
  316. description: The Azure clientId of the service principle
  317. used for authentication.
  318. properties:
  319. key:
  320. description: The key of the entry in the Secret resource's
  321. `data` field to be used. Some instances of this
  322. field may be defaulted, in others it may be required.
  323. type: string
  324. name:
  325. description: The name of the Secret resource being
  326. referred to.
  327. type: string
  328. namespace:
  329. description: Namespace of the resource being referred
  330. to. Ignored if referent is not cluster-scoped. cluster-scoped
  331. defaults to the namespace of the referent.
  332. type: string
  333. type: object
  334. clientSecret:
  335. description: The Azure ClientSecret of the service principle
  336. used for authentication.
  337. properties:
  338. key:
  339. description: The key of the entry in the Secret resource's
  340. `data` field to be used. Some instances of this
  341. field may be defaulted, in others it may be required.
  342. type: string
  343. name:
  344. description: The name of the Secret resource being
  345. referred to.
  346. type: string
  347. namespace:
  348. description: Namespace of the resource being referred
  349. to. Ignored if referent is not cluster-scoped. cluster-scoped
  350. defaults to the namespace of the referent.
  351. type: string
  352. type: object
  353. required:
  354. - clientId
  355. - clientSecret
  356. type: object
  357. authType:
  358. default: ServicePrincipal
  359. description: 'Auth type defines how to authenticate to the
  360. keyvault service. Valid values are: - "ServicePrincipal"
  361. (default): Using a service principal (tenantId, clientId,
  362. clientSecret) - "ManagedIdentity": Using Managed Identity
  363. assigned to the pod (see aad-pod-identity)'
  364. enum:
  365. - ServicePrincipal
  366. - ManagedIdentity
  367. type: string
  368. identityId:
  369. description: If multiple Managed Identity is assigned to the
  370. pod, you can select the one to be used
  371. type: string
  372. tenantId:
  373. description: TenantID configures the Azure Tenant to send
  374. requests to. Required for ServicePrincipal auth type.
  375. type: string
  376. vaultUrl:
  377. description: Vault Url from which the secrets to be fetched
  378. from.
  379. type: string
  380. required:
  381. - vaultUrl
  382. type: object
  383. fake:
  384. description: Fake configures a store with static key/value pairs
  385. properties:
  386. data:
  387. items:
  388. properties:
  389. key:
  390. type: string
  391. value:
  392. type: string
  393. valueMap:
  394. additionalProperties:
  395. type: string
  396. type: object
  397. version:
  398. type: string
  399. required:
  400. - key
  401. type: object
  402. type: array
  403. required:
  404. - data
  405. type: object
  406. gcpsm:
  407. description: GCPSM configures this store to sync secrets using
  408. Google Cloud Platform Secret Manager provider
  409. properties:
  410. auth:
  411. description: Auth defines the information necessary to authenticate
  412. against GCP
  413. properties:
  414. secretRef:
  415. properties:
  416. secretAccessKeySecretRef:
  417. description: The SecretAccessKey is used for authentication
  418. properties:
  419. key:
  420. description: The key of the entry in the Secret
  421. resource's `data` field to be used. Some instances
  422. of this field may be defaulted, in others it
  423. may be required.
  424. type: string
  425. name:
  426. description: The name of the Secret resource being
  427. referred to.
  428. type: string
  429. namespace:
  430. description: Namespace of the resource being referred
  431. to. Ignored if referent is not cluster-scoped.
  432. cluster-scoped defaults to the namespace of
  433. the referent.
  434. type: string
  435. type: object
  436. type: object
  437. workloadIdentity:
  438. properties:
  439. clusterLocation:
  440. type: string
  441. clusterName:
  442. type: string
  443. serviceAccountRef:
  444. description: A reference to a ServiceAccount resource.
  445. properties:
  446. name:
  447. description: The name of the ServiceAccount resource
  448. being referred to.
  449. type: string
  450. namespace:
  451. description: Namespace of the resource being referred
  452. to. Ignored if referent is not cluster-scoped.
  453. cluster-scoped defaults to the namespace of
  454. the referent.
  455. type: string
  456. required:
  457. - name
  458. type: object
  459. required:
  460. - clusterLocation
  461. - clusterName
  462. - serviceAccountRef
  463. type: object
  464. type: object
  465. projectID:
  466. description: ProjectID project where secret is located
  467. type: string
  468. type: object
  469. gitlab:
  470. description: GItlab configures this store to sync secrets using
  471. Gitlab Variables provider
  472. properties:
  473. auth:
  474. description: Auth configures how secret-manager authenticates
  475. with a GitLab instance.
  476. properties:
  477. SecretRef:
  478. properties:
  479. accessToken:
  480. description: AccessToken is used for authentication.
  481. properties:
  482. key:
  483. description: The key of the entry in the Secret
  484. resource's `data` field to be used. Some instances
  485. of this field may be defaulted, in others it
  486. may be required.
  487. type: string
  488. name:
  489. description: The name of the Secret resource being
  490. referred to.
  491. type: string
  492. namespace:
  493. description: Namespace of the resource being referred
  494. to. Ignored if referent is not cluster-scoped.
  495. cluster-scoped defaults to the namespace of
  496. the referent.
  497. type: string
  498. type: object
  499. type: object
  500. required:
  501. - SecretRef
  502. type: object
  503. projectID:
  504. description: ProjectID specifies a project where secrets are
  505. located.
  506. type: string
  507. url:
  508. description: URL configures the GitLab instance URL. Defaults
  509. to https://gitlab.com/.
  510. type: string
  511. required:
  512. - auth
  513. type: object
  514. ibm:
  515. description: IBM configures this store to sync secrets using IBM
  516. Cloud provider
  517. properties:
  518. auth:
  519. description: Auth configures how secret-manager authenticates
  520. with the IBM secrets manager.
  521. properties:
  522. secretRef:
  523. properties:
  524. secretApiKeySecretRef:
  525. description: The SecretAccessKey is used for authentication
  526. properties:
  527. key:
  528. description: The key of the entry in the Secret
  529. resource's `data` field to be used. Some instances
  530. of this field may be defaulted, in others it
  531. may be required.
  532. type: string
  533. name:
  534. description: The name of the Secret resource being
  535. referred to.
  536. type: string
  537. namespace:
  538. description: Namespace of the resource being referred
  539. to. Ignored if referent is not cluster-scoped.
  540. cluster-scoped defaults to the namespace of
  541. the referent.
  542. type: string
  543. type: object
  544. type: object
  545. required:
  546. - secretRef
  547. type: object
  548. serviceUrl:
  549. description: ServiceURL is the Endpoint URL that is specific
  550. to the Secrets Manager service instance
  551. type: string
  552. required:
  553. - auth
  554. type: object
  555. oracle:
  556. description: Oracle configures this store to sync secrets using
  557. Oracle Vault provider
  558. properties:
  559. auth:
  560. description: Auth configures how secret-manager authenticates
  561. with the Oracle Vault. If empty, use the instance principal,
  562. otherwise the user credentials specified in Auth.
  563. properties:
  564. secretRef:
  565. description: SecretRef to pass through sensitive information.
  566. properties:
  567. fingerprint:
  568. description: Fingerprint is the fingerprint of the
  569. API private key.
  570. properties:
  571. key:
  572. description: The key of the entry in the Secret
  573. resource's `data` field to be used. Some instances
  574. of this field may be defaulted, in others it
  575. may be required.
  576. type: string
  577. name:
  578. description: The name of the Secret resource being
  579. referred to.
  580. type: string
  581. namespace:
  582. description: Namespace of the resource being referred
  583. to. Ignored if referent is not cluster-scoped.
  584. cluster-scoped defaults to the namespace of
  585. the referent.
  586. type: string
  587. type: object
  588. privatekey:
  589. description: PrivateKey is the user's API Signing
  590. Key in PEM format, used for authentication.
  591. properties:
  592. key:
  593. description: The key of the entry in the Secret
  594. resource's `data` field to be used. Some instances
  595. of this field may be defaulted, in others it
  596. may be required.
  597. type: string
  598. name:
  599. description: The name of the Secret resource being
  600. referred to.
  601. type: string
  602. namespace:
  603. description: Namespace of the resource being referred
  604. to. Ignored if referent is not cluster-scoped.
  605. cluster-scoped defaults to the namespace of
  606. the referent.
  607. type: string
  608. type: object
  609. required:
  610. - fingerprint
  611. - privatekey
  612. type: object
  613. tenancy:
  614. description: Tenancy is the tenancy OCID where user is
  615. located.
  616. type: string
  617. user:
  618. description: User is an access OCID specific to the account.
  619. type: string
  620. required:
  621. - secretRef
  622. - tenancy
  623. - user
  624. type: object
  625. region:
  626. description: Region is the region where vault is located.
  627. type: string
  628. vault:
  629. description: Vault is the vault's OCID of the specific vault
  630. where secret is located.
  631. type: string
  632. required:
  633. - region
  634. - vault
  635. type: object
  636. vault:
  637. description: Vault configures this store to sync secrets using
  638. Hashi provider
  639. properties:
  640. auth:
  641. description: Auth configures how secret-manager authenticates
  642. with the Vault server.
  643. properties:
  644. appRole:
  645. description: AppRole authenticates with Vault using the
  646. App Role auth mechanism, with the role and secret stored
  647. in a Kubernetes Secret resource.
  648. properties:
  649. path:
  650. default: approle
  651. description: 'Path where the App Role authentication
  652. backend is mounted in Vault, e.g: "approle"'
  653. type: string
  654. roleId:
  655. description: RoleID configured in the App Role authentication
  656. backend when setting up the authentication backend
  657. in Vault.
  658. type: string
  659. secretRef:
  660. description: Reference to a key in a Secret that contains
  661. the App Role secret used to authenticate with Vault.
  662. The `key` field must be specified and denotes which
  663. entry within the Secret resource is used as the
  664. app role secret.
  665. properties:
  666. key:
  667. description: The key of the entry in the Secret
  668. resource's `data` field to be used. Some instances
  669. of this field may be defaulted, in others it
  670. may be required.
  671. type: string
  672. name:
  673. description: The name of the Secret resource being
  674. referred to.
  675. type: string
  676. namespace:
  677. description: Namespace of the resource being referred
  678. to. Ignored if referent is not cluster-scoped.
  679. cluster-scoped defaults to the namespace of
  680. the referent.
  681. type: string
  682. type: object
  683. required:
  684. - path
  685. - roleId
  686. - secretRef
  687. type: object
  688. cert:
  689. description: Cert authenticates with TLS Certificates
  690. by passing client certificate, private key and ca certificate
  691. Cert authentication method
  692. properties:
  693. clientCert:
  694. description: ClientCert is a certificate to authenticate
  695. using the Cert Vault authentication method
  696. properties:
  697. key:
  698. description: The key of the entry in the Secret
  699. resource's `data` field to be used. Some instances
  700. of this field may be defaulted, in others it
  701. may be required.
  702. type: string
  703. name:
  704. description: The name of the Secret resource being
  705. referred to.
  706. type: string
  707. namespace:
  708. description: Namespace of the resource being referred
  709. to. Ignored if referent is not cluster-scoped.
  710. cluster-scoped defaults to the namespace of
  711. the referent.
  712. type: string
  713. type: object
  714. secretRef:
  715. description: SecretRef to a key in a Secret resource
  716. containing client private key to authenticate with
  717. Vault using the Cert authentication method
  718. properties:
  719. key:
  720. description: The key of the entry in the Secret
  721. resource's `data` field to be used. Some instances
  722. of this field may be defaulted, in others it
  723. may be required.
  724. type: string
  725. name:
  726. description: The name of the Secret resource being
  727. referred to.
  728. type: string
  729. namespace:
  730. description: Namespace of the resource being referred
  731. to. Ignored if referent is not cluster-scoped.
  732. cluster-scoped defaults to the namespace of
  733. the referent.
  734. type: string
  735. type: object
  736. type: object
  737. jwt:
  738. description: Jwt authenticates with Vault by passing role
  739. and JWT token using the JWT/OIDC authentication method
  740. properties:
  741. path:
  742. default: jwt
  743. description: 'Path where the JWT authentication backend
  744. is mounted in Vault, e.g: "jwt"'
  745. type: string
  746. role:
  747. description: Role is a JWT role to authenticate using
  748. the JWT/OIDC Vault authentication method
  749. type: string
  750. secretRef:
  751. description: SecretRef to a key in a Secret resource
  752. containing JWT token to authenticate with Vault
  753. using the JWT/OIDC authentication method
  754. properties:
  755. key:
  756. description: The key of the entry in the Secret
  757. resource's `data` field to be used. Some instances
  758. of this field may be defaulted, in others it
  759. may be required.
  760. type: string
  761. name:
  762. description: The name of the Secret resource being
  763. referred to.
  764. type: string
  765. namespace:
  766. description: Namespace of the resource being referred
  767. to. Ignored if referent is not cluster-scoped.
  768. cluster-scoped defaults to the namespace of
  769. the referent.
  770. type: string
  771. type: object
  772. required:
  773. - path
  774. type: object
  775. kubernetes:
  776. description: Kubernetes authenticates with Vault by passing
  777. the ServiceAccount token stored in the named Secret
  778. resource to the Vault server.
  779. properties:
  780. mountPath:
  781. default: kubernetes
  782. description: 'Path where the Kubernetes authentication
  783. backend is mounted in Vault, e.g: "kubernetes"'
  784. type: string
  785. role:
  786. description: A required field containing the Vault
  787. Role to assume. A Role binds a Kubernetes ServiceAccount
  788. with a set of Vault policies.
  789. type: string
  790. secretRef:
  791. description: Optional secret field containing a Kubernetes
  792. ServiceAccount JWT used for authenticating with
  793. Vault. If a name is specified without a key, `token`
  794. is the default. If one is not specified, the one
  795. bound to the controller will be used.
  796. properties:
  797. key:
  798. description: The key of the entry in the Secret
  799. resource's `data` field to be used. Some instances
  800. of this field may be defaulted, in others it
  801. may be required.
  802. type: string
  803. name:
  804. description: The name of the Secret resource being
  805. referred to.
  806. type: string
  807. namespace:
  808. description: Namespace of the resource being referred
  809. to. Ignored if referent is not cluster-scoped.
  810. cluster-scoped defaults to the namespace of
  811. the referent.
  812. type: string
  813. type: object
  814. serviceAccountRef:
  815. description: Optional service account field containing
  816. the name of a kubernetes ServiceAccount. If the
  817. service account is specified, the service account
  818. secret token JWT will be used for authenticating
  819. with Vault. If the service account selector is not
  820. supplied, the secretRef will be used instead.
  821. properties:
  822. name:
  823. description: The name of the ServiceAccount resource
  824. being referred to.
  825. type: string
  826. namespace:
  827. description: Namespace of the resource being referred
  828. to. Ignored if referent is not cluster-scoped.
  829. cluster-scoped defaults to the namespace of
  830. the referent.
  831. type: string
  832. required:
  833. - name
  834. type: object
  835. required:
  836. - mountPath
  837. - role
  838. type: object
  839. ldap:
  840. description: Ldap authenticates with Vault by passing
  841. username/password pair using the LDAP authentication
  842. method
  843. properties:
  844. path:
  845. default: ldap
  846. description: 'Path where the LDAP authentication backend
  847. is mounted in Vault, e.g: "ldap"'
  848. type: string
  849. secretRef:
  850. description: SecretRef to a key in a Secret resource
  851. containing password for the LDAP user used to authenticate
  852. with Vault using the LDAP authentication method
  853. properties:
  854. key:
  855. description: The key of the entry in the Secret
  856. resource's `data` field to be used. Some instances
  857. of this field may be defaulted, in others it
  858. may be required.
  859. type: string
  860. name:
  861. description: The name of the Secret resource being
  862. referred to.
  863. type: string
  864. namespace:
  865. description: Namespace of the resource being referred
  866. to. Ignored if referent is not cluster-scoped.
  867. cluster-scoped defaults to the namespace of
  868. the referent.
  869. type: string
  870. type: object
  871. username:
  872. description: Username is a LDAP user name used to
  873. authenticate using the LDAP Vault authentication
  874. method
  875. type: string
  876. required:
  877. - path
  878. - username
  879. type: object
  880. tokenSecretRef:
  881. description: TokenSecretRef authenticates with Vault by
  882. presenting a token.
  883. properties:
  884. key:
  885. description: The key of the entry in the Secret resource's
  886. `data` field to be used. Some instances of this
  887. field may be defaulted, in others it may be required.
  888. type: string
  889. name:
  890. description: The name of the Secret resource being
  891. referred to.
  892. type: string
  893. namespace:
  894. description: Namespace of the resource being referred
  895. to. Ignored if referent is not cluster-scoped. cluster-scoped
  896. defaults to the namespace of the referent.
  897. type: string
  898. type: object
  899. type: object
  900. caBundle:
  901. description: PEM encoded CA bundle used to validate Vault
  902. server certificate. Only used if the Server URL is using
  903. HTTPS protocol. This parameter is ignored for plain HTTP
  904. protocol connection. If not set the system root certificates
  905. are used to validate the TLS connection.
  906. format: byte
  907. type: string
  908. caProvider:
  909. description: The provider for the CA bundle to use to validate
  910. Vault server certificate.
  911. properties:
  912. key:
  913. description: The key the value inside of the provider
  914. type to use, only used with "Secret" type
  915. type: string
  916. name:
  917. description: The name of the object located at the provider
  918. type.
  919. type: string
  920. namespace:
  921. description: The namespace the Provider type is in.
  922. type: string
  923. type:
  924. description: The type of provider to use such as "Secret",
  925. or "ConfigMap".
  926. enum:
  927. - Secret
  928. - ConfigMap
  929. type: string
  930. required:
  931. - name
  932. - type
  933. type: object
  934. forwardInconsistent:
  935. description: ForwardInconsistent tells Vault to forward read-after-write
  936. requests to the Vault leader instead of simply retrying
  937. within a loop. This can increase performance if the option
  938. is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  939. type: boolean
  940. namespace:
  941. description: 'Name of the vault namespace. Namespaces is a
  942. set of features within Vault Enterprise that allows Vault
  943. environments to support Secure Multi-tenancy. e.g: "ns1".
  944. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  945. type: string
  946. path:
  947. description: 'Path is the mount path of the Vault KV backend
  948. endpoint, e.g: "secret". The v2 KV secret engine version
  949. specific "/data" path suffix for fetching secrets from Vault
  950. is optional and will be appended if not present in specified
  951. path.'
  952. type: string
  953. readYourWrites:
  954. description: ReadYourWrites ensures isolated read-after-write
  955. semantics by providing discovered cluster replication states
  956. in each request. More information about eventual consistency
  957. in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
  958. type: boolean
  959. server:
  960. description: 'Server is the connection address for the Vault
  961. server, e.g: "https://vault.example.com:8200".'
  962. type: string
  963. version:
  964. default: v2
  965. description: Version is the Vault KV secret engine version.
  966. This can be either "v1" or "v2". Version defaults to "v2".
  967. enum:
  968. - v1
  969. - v2
  970. type: string
  971. required:
  972. - auth
  973. - server
  974. type: object
  975. webhook:
  976. description: Webhook configures this store to sync secrets using
  977. a generic templated webhook
  978. properties:
  979. body:
  980. description: Body
  981. type: string
  982. caBundle:
  983. description: PEM encoded CA bundle used to validate webhook
  984. server certificate. Only used if the Server URL is using
  985. HTTPS protocol. This parameter is ignored for plain HTTP
  986. protocol connection. If not set the system root certificates
  987. are used to validate the TLS connection.
  988. format: byte
  989. type: string
  990. caProvider:
  991. description: The provider for the CA bundle to use to validate
  992. webhook server certificate.
  993. properties:
  994. key:
  995. description: The key the value inside of the provider
  996. type to use, only used with "Secret" type
  997. type: string
  998. name:
  999. description: The name of the object located at the provider
  1000. type.
  1001. type: string
  1002. namespace:
  1003. description: The namespace the Provider type is in.
  1004. type: string
  1005. type:
  1006. description: The type of provider to use such as "Secret",
  1007. or "ConfigMap".
  1008. enum:
  1009. - Secret
  1010. - ConfigMap
  1011. type: string
  1012. required:
  1013. - name
  1014. - type
  1015. type: object
  1016. headers:
  1017. additionalProperties:
  1018. type: string
  1019. description: Headers
  1020. type: object
  1021. method:
  1022. description: Webhook Method
  1023. type: string
  1024. result:
  1025. description: Result formatting
  1026. properties:
  1027. jsonPath:
  1028. description: Json path of return value
  1029. type: string
  1030. type: object
  1031. secrets:
  1032. description: Secrets to fill in templates These secrets will
  1033. be passed to the templating function as key value pairs
  1034. under the given name
  1035. items:
  1036. properties:
  1037. name:
  1038. description: Name of this secret in templates
  1039. type: string
  1040. secretRef:
  1041. description: Secret ref to fill in credentials
  1042. properties:
  1043. key:
  1044. description: The key of the entry in the Secret
  1045. resource's `data` field to be used. Some instances
  1046. of this field may be defaulted, in others it may
  1047. be required.
  1048. type: string
  1049. name:
  1050. description: The name of the Secret resource being
  1051. referred to.
  1052. type: string
  1053. namespace:
  1054. description: Namespace of the resource being referred
  1055. to. Ignored if referent is not cluster-scoped.
  1056. cluster-scoped defaults to the namespace of the
  1057. referent.
  1058. type: string
  1059. type: object
  1060. required:
  1061. - name
  1062. - secretRef
  1063. type: object
  1064. type: array
  1065. timeout:
  1066. description: Timeout
  1067. type: string
  1068. url:
  1069. description: Webhook url to call
  1070. type: string
  1071. required:
  1072. - result
  1073. - url
  1074. type: object
  1075. yandexlockbox:
  1076. description: YandexLockbox configures this store to sync secrets
  1077. using Yandex Lockbox provider
  1078. properties:
  1079. apiEndpoint:
  1080. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  1081. type: string
  1082. auth:
  1083. description: Auth defines the information necessary to authenticate
  1084. against Yandex Lockbox
  1085. properties:
  1086. authorizedKeySecretRef:
  1087. description: The authorized key used for authentication
  1088. properties:
  1089. key:
  1090. description: The key of the entry in the Secret resource's
  1091. `data` field to be used. Some instances of this
  1092. field may be defaulted, in others it may be required.
  1093. type: string
  1094. name:
  1095. description: The name of the Secret resource being
  1096. referred to.
  1097. type: string
  1098. namespace:
  1099. description: Namespace of the resource being referred
  1100. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1101. defaults to the namespace of the referent.
  1102. type: string
  1103. type: object
  1104. type: object
  1105. caProvider:
  1106. description: The provider for the CA bundle to use to validate
  1107. Yandex.Cloud server certificate.
  1108. properties:
  1109. certSecretRef:
  1110. description: A reference to a specific 'key' within a
  1111. Secret resource, In some instances, `key` is a required
  1112. field.
  1113. properties:
  1114. key:
  1115. description: The key of the entry in the Secret resource's
  1116. `data` field to be used. Some instances of this
  1117. field may be defaulted, in others it may be required.
  1118. type: string
  1119. name:
  1120. description: The name of the Secret resource being
  1121. referred to.
  1122. type: string
  1123. namespace:
  1124. description: Namespace of the resource being referred
  1125. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1126. defaults to the namespace of the referent.
  1127. type: string
  1128. type: object
  1129. type: object
  1130. required:
  1131. - auth
  1132. type: object
  1133. type: object
  1134. retrySettings:
  1135. description: Used to configure http retries if failed
  1136. properties:
  1137. maxRetries:
  1138. format: int32
  1139. type: integer
  1140. retryInterval:
  1141. type: string
  1142. type: object
  1143. required:
  1144. - provider
  1145. type: object
  1146. status:
  1147. description: SecretStoreStatus defines the observed state of the SecretStore.
  1148. properties:
  1149. conditions:
  1150. items:
  1151. properties:
  1152. lastTransitionTime:
  1153. format: date-time
  1154. type: string
  1155. message:
  1156. type: string
  1157. reason:
  1158. type: string
  1159. status:
  1160. type: string
  1161. type:
  1162. type: string
  1163. required:
  1164. - status
  1165. - type
  1166. type: object
  1167. type: array
  1168. type: object
  1169. type: object
  1170. served: true
  1171. storage: true
  1172. subresources:
  1173. status: {}
  1174. status:
  1175. acceptedNames:
  1176. kind: ""
  1177. plural: ""
  1178. conditions: []
  1179. storedVersions: []