external-secrets.io_clustersecretstores.yaml 69 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297
  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. gcpsm:
  384. description: GCPSM configures this store to sync secrets using
  385. Google Cloud Platform Secret Manager provider
  386. properties:
  387. auth:
  388. description: Auth defines the information necessary to authenticate
  389. against GCP
  390. properties:
  391. secretRef:
  392. properties:
  393. secretAccessKeySecretRef:
  394. description: The SecretAccessKey is used for authentication
  395. properties:
  396. key:
  397. description: The key of the entry in the Secret
  398. resource's `data` field to be used. Some instances
  399. of this field may be defaulted, in others it
  400. may be required.
  401. type: string
  402. name:
  403. description: The name of the Secret resource being
  404. referred to.
  405. type: string
  406. namespace:
  407. description: Namespace of the resource being referred
  408. to. Ignored if referent is not cluster-scoped.
  409. cluster-scoped defaults to the namespace of
  410. the referent.
  411. type: string
  412. type: object
  413. type: object
  414. workloadIdentity:
  415. properties:
  416. clusterLocation:
  417. type: string
  418. clusterName:
  419. type: string
  420. serviceAccountRef:
  421. description: A reference to a ServiceAccount resource.
  422. properties:
  423. name:
  424. description: The name of the ServiceAccount resource
  425. being referred to.
  426. type: string
  427. namespace:
  428. description: Namespace of the resource being referred
  429. to. Ignored if referent is not cluster-scoped.
  430. cluster-scoped defaults to the namespace of
  431. the referent.
  432. type: string
  433. required:
  434. - name
  435. type: object
  436. required:
  437. - clusterLocation
  438. - clusterName
  439. - serviceAccountRef
  440. type: object
  441. type: object
  442. projectID:
  443. description: ProjectID project where secret is located
  444. type: string
  445. type: object
  446. gitlab:
  447. description: GItlab configures this store to sync secrets using
  448. Gitlab Variables provider
  449. properties:
  450. auth:
  451. description: Auth configures how secret-manager authenticates
  452. with a GitLab instance.
  453. properties:
  454. SecretRef:
  455. properties:
  456. accessToken:
  457. description: AccessToken is used for authentication.
  458. properties:
  459. key:
  460. description: The key of the entry in the Secret
  461. resource's `data` field to be used. Some instances
  462. of this field may be defaulted, in others it
  463. may be required.
  464. type: string
  465. name:
  466. description: The name of the Secret resource being
  467. referred to.
  468. type: string
  469. namespace:
  470. description: Namespace of the resource being referred
  471. to. Ignored if referent is not cluster-scoped.
  472. cluster-scoped defaults to the namespace of
  473. the referent.
  474. type: string
  475. type: object
  476. type: object
  477. required:
  478. - SecretRef
  479. type: object
  480. projectID:
  481. description: ProjectID specifies a project where secrets are
  482. located.
  483. type: string
  484. url:
  485. description: URL configures the GitLab instance URL. Defaults
  486. to https://gitlab.com/.
  487. type: string
  488. required:
  489. - auth
  490. type: object
  491. ibm:
  492. description: IBM configures this store to sync secrets using IBM
  493. Cloud provider
  494. properties:
  495. auth:
  496. description: Auth configures how secret-manager authenticates
  497. with the IBM secrets manager.
  498. properties:
  499. secretRef:
  500. properties:
  501. secretApiKeySecretRef:
  502. description: The SecretAccessKey is used for authentication
  503. properties:
  504. key:
  505. description: The key of the entry in the Secret
  506. resource's `data` field to be used. Some instances
  507. of this field may be defaulted, in others it
  508. may be required.
  509. type: string
  510. name:
  511. description: The name of the Secret resource being
  512. referred to.
  513. type: string
  514. namespace:
  515. description: Namespace of the resource being referred
  516. to. Ignored if referent is not cluster-scoped.
  517. cluster-scoped defaults to the namespace of
  518. the referent.
  519. type: string
  520. type: object
  521. type: object
  522. required:
  523. - secretRef
  524. type: object
  525. serviceUrl:
  526. description: ServiceURL is the Endpoint URL that is specific
  527. to the Secrets Manager service instance
  528. type: string
  529. required:
  530. - auth
  531. type: object
  532. kubernetes:
  533. description: Kubernetes configures this store to sync secrets
  534. using a Kubernetes cluster provider
  535. properties:
  536. auth:
  537. description: Auth configures how secret-manager authenticates
  538. with a Kubernetes instance.
  539. properties:
  540. cert:
  541. description: has both clientCert and clientKey as secretKeySelector
  542. properties:
  543. cert:
  544. description: A reference to a specific 'key' within
  545. a Secret resource, In some instances, `key` is a
  546. required field.
  547. properties:
  548. key:
  549. description: The key of the entry in the Secret
  550. resource's `data` field to be used. Some instances
  551. of this field may be defaulted, in others it
  552. may be required.
  553. type: string
  554. name:
  555. description: The name of the Secret resource being
  556. referred to.
  557. type: string
  558. namespace:
  559. description: Namespace of the resource being referred
  560. to. Ignored if referent is not cluster-scoped.
  561. cluster-scoped defaults to the namespace of
  562. the referent.
  563. type: string
  564. type: object
  565. key:
  566. description: A reference to a specific 'key' within
  567. a Secret resource, In some instances, `key` is a
  568. required field.
  569. properties:
  570. key:
  571. description: The key of the entry in the Secret
  572. resource's `data` field to be used. Some instances
  573. of this field may be defaulted, in others it
  574. may be required.
  575. type: string
  576. name:
  577. description: The name of the Secret resource being
  578. referred to.
  579. type: string
  580. namespace:
  581. description: Namespace of the resource being referred
  582. to. Ignored if referent is not cluster-scoped.
  583. cluster-scoped defaults to the namespace of
  584. the referent.
  585. type: string
  586. type: object
  587. type: object
  588. serviceAccount:
  589. description: points to a service account that should be
  590. used for authentication
  591. properties:
  592. serviceAccount:
  593. description: A reference to a ServiceAccount resource.
  594. properties:
  595. name:
  596. description: The name of the ServiceAccount resource
  597. being referred to.
  598. type: string
  599. namespace:
  600. description: Namespace of the resource being referred
  601. to. Ignored if referent is not cluster-scoped.
  602. cluster-scoped defaults to the namespace of
  603. the referent.
  604. type: string
  605. required:
  606. - name
  607. type: object
  608. type: object
  609. token:
  610. description: use static token to authenticate with
  611. properties:
  612. bearerToken:
  613. description: A reference to a specific 'key' within
  614. a Secret resource, In some instances, `key` is a
  615. required field.
  616. properties:
  617. key:
  618. description: The key of the entry in the Secret
  619. resource's `data` field to be used. Some instances
  620. of this field may be defaulted, in others it
  621. may be required.
  622. type: string
  623. name:
  624. description: The name of the Secret resource being
  625. referred to.
  626. type: string
  627. namespace:
  628. description: Namespace of the resource being referred
  629. to. Ignored if referent is not cluster-scoped.
  630. cluster-scoped defaults to the namespace of
  631. the referent.
  632. type: string
  633. type: object
  634. type: object
  635. type: object
  636. remoteNamespace:
  637. default: default
  638. description: Remote namespace to fetch the secrets from
  639. type: string
  640. server:
  641. default: kubernetes.default
  642. description: configures the Kubernetes server Address.
  643. properties:
  644. caBundle:
  645. description: CABundle is a base64-encoded CA certificate
  646. format: byte
  647. type: string
  648. caProvider:
  649. description: 'see: https://external-secrets.io/v0.4.1/spec/#external-secrets.io/v1alpha1.CAProvider'
  650. properties:
  651. key:
  652. description: The key the value inside of the provider
  653. type to use, only used with "Secret" type
  654. type: string
  655. name:
  656. description: The name of the object located at the
  657. provider type.
  658. type: string
  659. namespace:
  660. description: The namespace the Provider type is in.
  661. type: string
  662. type:
  663. description: The type of provider to use such as "Secret",
  664. or "ConfigMap".
  665. enum:
  666. - Secret
  667. - ConfigMap
  668. type: string
  669. required:
  670. - name
  671. - type
  672. type: object
  673. url:
  674. default: kubernetes.default
  675. description: configures the Kubernetes server Address.
  676. type: string
  677. type: object
  678. required:
  679. - auth
  680. type: object
  681. oracle:
  682. description: Oracle configures this store to sync secrets using
  683. Oracle Vault provider
  684. properties:
  685. auth:
  686. description: Auth configures how secret-manager authenticates
  687. with the Oracle Vault.
  688. properties:
  689. secretRef:
  690. description: SecretRef to pass through sensitive information.
  691. properties:
  692. fingerprint:
  693. description: Fingerprint is the fingerprint of the
  694. API private key.
  695. properties:
  696. key:
  697. description: The key of the entry in the Secret
  698. resource's `data` field to be used. Some instances
  699. of this field may be defaulted, in others it
  700. may be required.
  701. type: string
  702. name:
  703. description: The name of the Secret resource being
  704. referred to.
  705. type: string
  706. namespace:
  707. description: Namespace of the resource being referred
  708. to. Ignored if referent is not cluster-scoped.
  709. cluster-scoped defaults to the namespace of
  710. the referent.
  711. type: string
  712. type: object
  713. privatekey:
  714. description: PrivateKey is the user's API Signing
  715. Key in PEM format, used for authentication.
  716. properties:
  717. key:
  718. description: The key of the entry in the Secret
  719. resource's `data` field to be used. Some instances
  720. of this field may be defaulted, in others it
  721. may be required.
  722. type: string
  723. name:
  724. description: The name of the Secret resource being
  725. referred to.
  726. type: string
  727. namespace:
  728. description: Namespace of the resource being referred
  729. to. Ignored if referent is not cluster-scoped.
  730. cluster-scoped defaults to the namespace of
  731. the referent.
  732. type: string
  733. type: object
  734. type: object
  735. required:
  736. - secretRef
  737. type: object
  738. region:
  739. description: Region is the region where secret is located.
  740. type: string
  741. tenancy:
  742. description: Tenancy is the tenancy OCID where secret is located.
  743. type: string
  744. user:
  745. description: User is an access OCID specific to the account.
  746. type: string
  747. vault:
  748. description: Vault is the vault's OCID of the specific vault
  749. where secret is located.
  750. type: string
  751. required:
  752. - auth
  753. type: object
  754. vault:
  755. description: Vault configures this store to sync secrets using
  756. Hashi provider
  757. properties:
  758. auth:
  759. description: Auth configures how secret-manager authenticates
  760. with the Vault server.
  761. properties:
  762. appRole:
  763. description: AppRole authenticates with Vault using the
  764. App Role auth mechanism, with the role and secret stored
  765. in a Kubernetes Secret resource.
  766. properties:
  767. path:
  768. default: approle
  769. description: 'Path where the App Role authentication
  770. backend is mounted in Vault, e.g: "approle"'
  771. type: string
  772. roleId:
  773. description: RoleID configured in the App Role authentication
  774. backend when setting up the authentication backend
  775. in Vault.
  776. type: string
  777. secretRef:
  778. description: Reference to a key in a Secret that contains
  779. the App Role secret used to authenticate with Vault.
  780. The `key` field must be specified and denotes which
  781. entry within the Secret resource is used as the
  782. app role secret.
  783. properties:
  784. key:
  785. description: The key of the entry in the Secret
  786. resource's `data` field to be used. Some instances
  787. of this field may be defaulted, in others it
  788. may be required.
  789. type: string
  790. name:
  791. description: The name of the Secret resource being
  792. referred to.
  793. type: string
  794. namespace:
  795. description: Namespace of the resource being referred
  796. to. Ignored if referent is not cluster-scoped.
  797. cluster-scoped defaults to the namespace of
  798. the referent.
  799. type: string
  800. type: object
  801. required:
  802. - path
  803. - roleId
  804. - secretRef
  805. type: object
  806. cert:
  807. description: Cert authenticates with TLS Certificates
  808. by passing client certificate, private key and ca certificate
  809. Cert authentication method
  810. properties:
  811. clientCert:
  812. description: ClientCert is a certificate to authenticate
  813. using the Cert Vault authentication method
  814. properties:
  815. key:
  816. description: The key of the entry in the Secret
  817. resource's `data` field to be used. Some instances
  818. of this field may be defaulted, in others it
  819. may be required.
  820. type: string
  821. name:
  822. description: The name of the Secret resource being
  823. referred to.
  824. type: string
  825. namespace:
  826. description: Namespace of the resource being referred
  827. to. Ignored if referent is not cluster-scoped.
  828. cluster-scoped defaults to the namespace of
  829. the referent.
  830. type: string
  831. type: object
  832. secretRef:
  833. description: SecretRef to a key in a Secret resource
  834. containing client private key to authenticate with
  835. Vault using the Cert authentication method
  836. properties:
  837. key:
  838. description: The key of the entry in the Secret
  839. resource's `data` field to be used. Some instances
  840. of this field may be defaulted, in others it
  841. may be required.
  842. type: string
  843. name:
  844. description: The name of the Secret resource being
  845. referred to.
  846. type: string
  847. namespace:
  848. description: Namespace of the resource being referred
  849. to. Ignored if referent is not cluster-scoped.
  850. cluster-scoped defaults to the namespace of
  851. the referent.
  852. type: string
  853. type: object
  854. type: object
  855. jwt:
  856. description: Jwt authenticates with Vault by passing role
  857. and JWT token using the JWT/OIDC authentication method
  858. properties:
  859. path:
  860. default: jwt
  861. description: 'Path where the JWT authentication backend
  862. is mounted in Vault, e.g: "jwt"'
  863. type: string
  864. role:
  865. description: Role is a JWT role to authenticate using
  866. the JWT/OIDC Vault authentication method
  867. type: string
  868. secretRef:
  869. description: SecretRef to a key in a Secret resource
  870. containing JWT token to authenticate with Vault
  871. using the JWT/OIDC authentication method
  872. properties:
  873. key:
  874. description: The key of the entry in the Secret
  875. resource's `data` field to be used. Some instances
  876. of this field may be defaulted, in others it
  877. may be required.
  878. type: string
  879. name:
  880. description: The name of the Secret resource being
  881. referred to.
  882. type: string
  883. namespace:
  884. description: Namespace of the resource being referred
  885. to. Ignored if referent is not cluster-scoped.
  886. cluster-scoped defaults to the namespace of
  887. the referent.
  888. type: string
  889. type: object
  890. required:
  891. - path
  892. type: object
  893. kubernetes:
  894. description: Kubernetes authenticates with Vault by passing
  895. the ServiceAccount token stored in the named Secret
  896. resource to the Vault server.
  897. properties:
  898. mountPath:
  899. default: kubernetes
  900. description: 'Path where the Kubernetes authentication
  901. backend is mounted in Vault, e.g: "kubernetes"'
  902. type: string
  903. role:
  904. description: A required field containing the Vault
  905. Role to assume. A Role binds a Kubernetes ServiceAccount
  906. with a set of Vault policies.
  907. type: string
  908. secretRef:
  909. description: Optional secret field containing a Kubernetes
  910. ServiceAccount JWT used for authenticating with
  911. Vault. If a name is specified without a key, `token`
  912. is the default. If one is not specified, the one
  913. bound to the controller will be used.
  914. properties:
  915. key:
  916. description: The key of the entry in the Secret
  917. resource's `data` field to be used. Some instances
  918. of this field may be defaulted, in others it
  919. may be required.
  920. type: string
  921. name:
  922. description: The name of the Secret resource being
  923. referred to.
  924. type: string
  925. namespace:
  926. description: Namespace of the resource being referred
  927. to. Ignored if referent is not cluster-scoped.
  928. cluster-scoped defaults to the namespace of
  929. the referent.
  930. type: string
  931. type: object
  932. serviceAccountRef:
  933. description: Optional service account field containing
  934. the name of a kubernetes ServiceAccount. If the
  935. service account is specified, the service account
  936. secret token JWT will be used for authenticating
  937. with Vault. If the service account selector is not
  938. supplied, the secretRef will be used instead.
  939. properties:
  940. name:
  941. description: The name of the ServiceAccount resource
  942. being referred to.
  943. type: string
  944. namespace:
  945. description: Namespace of the resource being referred
  946. to. Ignored if referent is not cluster-scoped.
  947. cluster-scoped defaults to the namespace of
  948. the referent.
  949. type: string
  950. required:
  951. - name
  952. type: object
  953. required:
  954. - mountPath
  955. - role
  956. type: object
  957. ldap:
  958. description: Ldap authenticates with Vault by passing
  959. username/password pair using the LDAP authentication
  960. method
  961. properties:
  962. path:
  963. default: ldap
  964. description: 'Path where the LDAP authentication backend
  965. is mounted in Vault, e.g: "ldap"'
  966. type: string
  967. secretRef:
  968. description: SecretRef to a key in a Secret resource
  969. containing password for the LDAP user used to authenticate
  970. with Vault using the LDAP authentication method
  971. properties:
  972. key:
  973. description: The key of the entry in the Secret
  974. resource's `data` field to be used. Some instances
  975. of this field may be defaulted, in others it
  976. may be required.
  977. type: string
  978. name:
  979. description: The name of the Secret resource being
  980. referred to.
  981. type: string
  982. namespace:
  983. description: Namespace of the resource being referred
  984. to. Ignored if referent is not cluster-scoped.
  985. cluster-scoped defaults to the namespace of
  986. the referent.
  987. type: string
  988. type: object
  989. username:
  990. description: Username is a LDAP user name used to
  991. authenticate using the LDAP Vault authentication
  992. method
  993. type: string
  994. required:
  995. - path
  996. - username
  997. type: object
  998. tokenSecretRef:
  999. description: TokenSecretRef authenticates with Vault by
  1000. presenting a token.
  1001. properties:
  1002. key:
  1003. description: The key of the entry in the Secret resource's
  1004. `data` field to be used. Some instances of this
  1005. field may be defaulted, in others it may be required.
  1006. type: string
  1007. name:
  1008. description: The name of the Secret resource being
  1009. referred to.
  1010. type: string
  1011. namespace:
  1012. description: Namespace of the resource being referred
  1013. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1014. defaults to the namespace of the referent.
  1015. type: string
  1016. type: object
  1017. type: object
  1018. caBundle:
  1019. description: PEM encoded CA bundle used to validate Vault
  1020. server certificate. Only used if the Server URL is using
  1021. HTTPS protocol. This parameter is ignored for plain HTTP
  1022. protocol connection. If not set the system root certificates
  1023. are used to validate the TLS connection.
  1024. format: byte
  1025. type: string
  1026. caProvider:
  1027. description: The provider for the CA bundle to use to validate
  1028. Vault server certificate.
  1029. properties:
  1030. key:
  1031. description: The key the value inside of the provider
  1032. type to use, only used with "Secret" type
  1033. type: string
  1034. name:
  1035. description: The name of the object located at the provider
  1036. type.
  1037. type: string
  1038. namespace:
  1039. description: The namespace the Provider type is in.
  1040. type: string
  1041. type:
  1042. description: The type of provider to use such as "Secret",
  1043. or "ConfigMap".
  1044. enum:
  1045. - Secret
  1046. - ConfigMap
  1047. type: string
  1048. required:
  1049. - name
  1050. - type
  1051. type: object
  1052. forwardInconsistent:
  1053. description: ForwardInconsistent tells Vault to forward read-after-write
  1054. requests to the Vault leader instead of simply retrying
  1055. within a loop. This can increase performance if the option
  1056. is enabled serverside. https://www.vaultproject.io/docs/configuration/replication#allow_forwarding_via_header
  1057. type: boolean
  1058. namespace:
  1059. description: 'Name of the vault namespace. Namespaces is a
  1060. set of features within Vault Enterprise that allows Vault
  1061. environments to support Secure Multi-tenancy. e.g: "ns1".
  1062. More about namespaces can be found here https://www.vaultproject.io/docs/enterprise/namespaces'
  1063. type: string
  1064. path:
  1065. description: 'Path is the mount path of the Vault KV backend
  1066. endpoint, e.g: "secret". The v2 KV secret engine version
  1067. specific "/data" path suffix for fetching secrets from Vault
  1068. is optional and will be appended if not present in specified
  1069. path.'
  1070. type: string
  1071. readYourWrites:
  1072. description: ReadYourWrites ensures isolated read-after-write
  1073. semantics by providing discovered cluster replication states
  1074. in each request. More information about eventual consistency
  1075. in Vault can be found here https://www.vaultproject.io/docs/enterprise/consistency
  1076. type: boolean
  1077. server:
  1078. description: 'Server is the connection address for the Vault
  1079. server, e.g: "https://vault.example.com:8200".'
  1080. type: string
  1081. version:
  1082. default: v2
  1083. description: Version is the Vault KV secret engine version.
  1084. This can be either "v1" or "v2". Version defaults to "v2".
  1085. enum:
  1086. - v1
  1087. - v2
  1088. type: string
  1089. required:
  1090. - auth
  1091. - server
  1092. type: object
  1093. webhook:
  1094. description: Webhook configures this store to sync secrets using
  1095. a generic templated webhook
  1096. properties:
  1097. body:
  1098. description: Body
  1099. type: string
  1100. caBundle:
  1101. description: PEM encoded CA bundle used to validate webhook
  1102. server certificate. Only used if the Server URL is using
  1103. HTTPS protocol. This parameter is ignored for plain HTTP
  1104. protocol connection. If not set the system root certificates
  1105. are used to validate the TLS connection.
  1106. format: byte
  1107. type: string
  1108. caProvider:
  1109. description: The provider for the CA bundle to use to validate
  1110. webhook server certificate.
  1111. properties:
  1112. key:
  1113. description: The key the value inside of the provider
  1114. type to use, only used with "Secret" type
  1115. type: string
  1116. name:
  1117. description: The name of the object located at the provider
  1118. type.
  1119. type: string
  1120. namespace:
  1121. description: The namespace the Provider type is in.
  1122. type: string
  1123. type:
  1124. description: The type of provider to use such as "Secret",
  1125. or "ConfigMap".
  1126. enum:
  1127. - Secret
  1128. - ConfigMap
  1129. type: string
  1130. required:
  1131. - name
  1132. - type
  1133. type: object
  1134. headers:
  1135. additionalProperties:
  1136. type: string
  1137. description: Headers
  1138. type: object
  1139. method:
  1140. description: Webhook Method
  1141. type: string
  1142. result:
  1143. description: Result formatting
  1144. properties:
  1145. jsonPath:
  1146. description: Json path of return value
  1147. type: string
  1148. type: object
  1149. secrets:
  1150. description: Secrets to fill in templates These secrets will
  1151. be passed to the templating function as key value pairs
  1152. under the given name
  1153. items:
  1154. properties:
  1155. name:
  1156. description: Name of this secret in templates
  1157. type: string
  1158. secretRef:
  1159. description: Secret ref to fill in credentials
  1160. properties:
  1161. key:
  1162. description: The key of the entry in the Secret
  1163. resource's `data` field to be used. Some instances
  1164. of this field may be defaulted, in others it may
  1165. be required.
  1166. type: string
  1167. name:
  1168. description: The name of the Secret resource being
  1169. referred to.
  1170. type: string
  1171. namespace:
  1172. description: Namespace of the resource being referred
  1173. to. Ignored if referent is not cluster-scoped.
  1174. cluster-scoped defaults to the namespace of the
  1175. referent.
  1176. type: string
  1177. type: object
  1178. required:
  1179. - name
  1180. - secretRef
  1181. type: object
  1182. type: array
  1183. timeout:
  1184. description: Timeout
  1185. type: string
  1186. url:
  1187. description: Webhook url to call
  1188. type: string
  1189. required:
  1190. - result
  1191. - url
  1192. type: object
  1193. yandexlockbox:
  1194. description: YandexLockbox configures this store to sync secrets
  1195. using Yandex Lockbox provider
  1196. properties:
  1197. apiEndpoint:
  1198. description: Yandex.Cloud API endpoint (e.g. 'api.cloud.yandex.net:443')
  1199. type: string
  1200. auth:
  1201. description: Auth defines the information necessary to authenticate
  1202. against Yandex Lockbox
  1203. properties:
  1204. authorizedKeySecretRef:
  1205. description: The authorized key used for authentication
  1206. properties:
  1207. key:
  1208. description: The key of the entry in the Secret resource's
  1209. `data` field to be used. Some instances of this
  1210. field may be defaulted, in others it may be required.
  1211. type: string
  1212. name:
  1213. description: The name of the Secret resource being
  1214. referred to.
  1215. type: string
  1216. namespace:
  1217. description: Namespace of the resource being referred
  1218. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1219. defaults to the namespace of the referent.
  1220. type: string
  1221. type: object
  1222. type: object
  1223. caProvider:
  1224. description: The provider for the CA bundle to use to validate
  1225. Yandex.Cloud server certificate.
  1226. properties:
  1227. certSecretRef:
  1228. description: A reference to a specific 'key' within a
  1229. Secret resource, In some instances, `key` is a required
  1230. field.
  1231. properties:
  1232. key:
  1233. description: The key of the entry in the Secret resource's
  1234. `data` field to be used. Some instances of this
  1235. field may be defaulted, in others it may be required.
  1236. type: string
  1237. name:
  1238. description: The name of the Secret resource being
  1239. referred to.
  1240. type: string
  1241. namespace:
  1242. description: Namespace of the resource being referred
  1243. to. Ignored if referent is not cluster-scoped. cluster-scoped
  1244. defaults to the namespace of the referent.
  1245. type: string
  1246. type: object
  1247. type: object
  1248. required:
  1249. - auth
  1250. type: object
  1251. type: object
  1252. retrySettings:
  1253. description: Used to configure http retries if failed
  1254. properties:
  1255. maxRetries:
  1256. format: int32
  1257. type: integer
  1258. retryInterval:
  1259. type: string
  1260. type: object
  1261. required:
  1262. - provider
  1263. type: object
  1264. status:
  1265. description: SecretStoreStatus defines the observed state of the SecretStore.
  1266. properties:
  1267. conditions:
  1268. items:
  1269. properties:
  1270. lastTransitionTime:
  1271. format: date-time
  1272. type: string
  1273. message:
  1274. type: string
  1275. reason:
  1276. type: string
  1277. status:
  1278. type: string
  1279. type:
  1280. type: string
  1281. required:
  1282. - status
  1283. - type
  1284. type: object
  1285. type: array
  1286. type: object
  1287. type: object
  1288. served: true
  1289. storage: true
  1290. subresources:
  1291. status: {}
  1292. status:
  1293. acceptedNames:
  1294. kind: ""
  1295. plural: ""
  1296. conditions: []
  1297. storedVersions: []