external-secrets.io_secretstores.yaml 63 KB

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