external-secrets.io_externalsecrets.yaml 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.10.0
  6. creationTimestamp: null
  7. name: externalsecrets.external-secrets.io
  8. spec:
  9. group: external-secrets.io
  10. names:
  11. categories:
  12. - externalsecrets
  13. kind: ExternalSecret
  14. listKind: ExternalSecretList
  15. plural: externalsecrets
  16. shortNames:
  17. - es
  18. singular: externalsecret
  19. scope: Namespaced
  20. versions:
  21. - additionalPrinterColumns:
  22. - jsonPath: .spec.secretStoreRef.name
  23. name: Store
  24. type: string
  25. - jsonPath: .spec.refreshInterval
  26. name: Refresh Interval
  27. type: string
  28. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  29. name: Status
  30. type: string
  31. deprecated: true
  32. name: v1alpha1
  33. schema:
  34. openAPIV3Schema:
  35. description: ExternalSecret is the Schema for the external-secrets API.
  36. properties:
  37. apiVersion:
  38. description: 'APIVersion defines the versioned schema of this representation
  39. of an object. Servers should convert recognized schemas to the latest
  40. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  41. type: string
  42. kind:
  43. description: 'Kind is a string value representing the REST resource this
  44. object represents. Servers may infer this from the endpoint the client
  45. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  46. type: string
  47. metadata:
  48. type: object
  49. spec:
  50. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  51. properties:
  52. data:
  53. description: Data defines the connection between the Kubernetes Secret
  54. keys and the Provider data
  55. items:
  56. description: ExternalSecretData defines the connection between the
  57. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  58. properties:
  59. remoteRef:
  60. description: ExternalSecretDataRemoteRef defines Provider data
  61. location.
  62. properties:
  63. conversionStrategy:
  64. default: Default
  65. description: Used to define a conversion Strategy
  66. type: string
  67. key:
  68. description: Key is the key used in the Provider, mandatory
  69. type: string
  70. property:
  71. description: Used to select a specific property of the Provider
  72. value (if a map), if supported
  73. type: string
  74. version:
  75. description: Used to select a specific version of the Provider
  76. value, if supported
  77. type: string
  78. required:
  79. - key
  80. type: object
  81. secretKey:
  82. type: string
  83. required:
  84. - remoteRef
  85. - secretKey
  86. type: object
  87. type: array
  88. dataFrom:
  89. description: DataFrom is used to fetch all properties from a specific
  90. Provider data If multiple entries are specified, the Secret keys
  91. are merged in the specified order
  92. items:
  93. description: ExternalSecretDataRemoteRef defines Provider data location.
  94. properties:
  95. conversionStrategy:
  96. default: Default
  97. description: Used to define a conversion Strategy
  98. type: string
  99. key:
  100. description: Key is the key used in the Provider, mandatory
  101. type: string
  102. property:
  103. description: Used to select a specific property of the Provider
  104. value (if a map), if supported
  105. type: string
  106. version:
  107. description: Used to select a specific version of the Provider
  108. value, if supported
  109. type: string
  110. required:
  111. - key
  112. type: object
  113. type: array
  114. refreshInterval:
  115. default: 1h
  116. description: RefreshInterval is the amount of time before the values
  117. are read again from the SecretStore provider Valid time units are
  118. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  119. fetch and create it once. Defaults to 1h.
  120. type: string
  121. secretStoreRef:
  122. description: SecretStoreRef defines which SecretStore to fetch the
  123. ExternalSecret data.
  124. properties:
  125. kind:
  126. description: Kind of the SecretStore resource (SecretStore or
  127. ClusterSecretStore) Defaults to `SecretStore`
  128. type: string
  129. name:
  130. description: Name of the SecretStore resource
  131. type: string
  132. required:
  133. - name
  134. type: object
  135. target:
  136. description: ExternalSecretTarget defines the Kubernetes Secret to
  137. be created There can be only one target per ExternalSecret.
  138. properties:
  139. creationPolicy:
  140. default: Owner
  141. description: CreationPolicy defines rules on how to create the
  142. resulting Secret Defaults to 'Owner'
  143. type: string
  144. immutable:
  145. description: Immutable defines if the final secret will be immutable
  146. type: boolean
  147. name:
  148. description: Name defines the name of the Secret resource to be
  149. managed This field is immutable Defaults to the .metadata.name
  150. of the ExternalSecret resource
  151. type: string
  152. template:
  153. description: Template defines a blueprint for the created Secret
  154. resource.
  155. properties:
  156. data:
  157. additionalProperties:
  158. type: string
  159. type: object
  160. engineVersion:
  161. default: v1
  162. description: EngineVersion specifies the template engine version
  163. that should be used to compile/execute the template specified
  164. in .data and .templateFrom[].
  165. type: string
  166. metadata:
  167. description: ExternalSecretTemplateMetadata defines metadata
  168. fields for the Secret blueprint.
  169. properties:
  170. annotations:
  171. additionalProperties:
  172. type: string
  173. type: object
  174. labels:
  175. additionalProperties:
  176. type: string
  177. type: object
  178. type: object
  179. templateFrom:
  180. items:
  181. maxProperties: 1
  182. minProperties: 1
  183. properties:
  184. configMap:
  185. properties:
  186. items:
  187. items:
  188. properties:
  189. key:
  190. type: string
  191. required:
  192. - key
  193. type: object
  194. type: array
  195. name:
  196. type: string
  197. required:
  198. - items
  199. - name
  200. type: object
  201. secret:
  202. properties:
  203. items:
  204. items:
  205. properties:
  206. key:
  207. type: string
  208. required:
  209. - key
  210. type: object
  211. type: array
  212. name:
  213. type: string
  214. required:
  215. - items
  216. - name
  217. type: object
  218. type: object
  219. type: array
  220. type:
  221. type: string
  222. type: object
  223. type: object
  224. required:
  225. - secretStoreRef
  226. - target
  227. type: object
  228. status:
  229. properties:
  230. conditions:
  231. items:
  232. properties:
  233. lastTransitionTime:
  234. format: date-time
  235. type: string
  236. message:
  237. type: string
  238. reason:
  239. type: string
  240. status:
  241. type: string
  242. type:
  243. type: string
  244. required:
  245. - status
  246. - type
  247. type: object
  248. type: array
  249. refreshTime:
  250. description: refreshTime is the time and date the external secret
  251. was fetched and the target secret updated
  252. format: date-time
  253. nullable: true
  254. type: string
  255. syncedResourceVersion:
  256. description: SyncedResourceVersion keeps track of the last synced
  257. version
  258. type: string
  259. type: object
  260. type: object
  261. served: true
  262. storage: false
  263. subresources:
  264. status: {}
  265. - additionalPrinterColumns:
  266. - jsonPath: .spec.secretStoreRef.name
  267. name: Store
  268. type: string
  269. - jsonPath: .spec.refreshInterval
  270. name: Refresh Interval
  271. type: string
  272. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  273. name: Status
  274. type: string
  275. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  276. name: Ready
  277. type: string
  278. name: v1beta1
  279. schema:
  280. openAPIV3Schema:
  281. description: ExternalSecret is the Schema for the external-secrets API.
  282. properties:
  283. apiVersion:
  284. description: 'APIVersion defines the versioned schema of this representation
  285. of an object. Servers should convert recognized schemas to the latest
  286. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  287. type: string
  288. kind:
  289. description: 'Kind is a string value representing the REST resource this
  290. object represents. Servers may infer this from the endpoint the client
  291. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  292. type: string
  293. metadata:
  294. type: object
  295. spec:
  296. description: ExternalSecretSpec defines the desired state of ExternalSecret.
  297. properties:
  298. data:
  299. description: Data defines the connection between the Kubernetes Secret
  300. keys and the Provider data
  301. items:
  302. description: ExternalSecretData defines the connection between the
  303. Kubernetes Secret key (spec.data.<key>) and the Provider data.
  304. properties:
  305. remoteRef:
  306. description: RemoteRef points to the remote secret and defines
  307. which secret (version/property/..) to fetch.
  308. properties:
  309. conversionStrategy:
  310. default: Default
  311. description: Used to define a conversion Strategy
  312. type: string
  313. decodingStrategy:
  314. default: None
  315. description: Used to define a decoding Strategy
  316. type: string
  317. key:
  318. description: Key is the key used in the Provider, mandatory
  319. type: string
  320. metadataPolicy:
  321. description: Policy for fetching tags/labels from provider
  322. secrets, possible options are Fetch, None. Defaults to
  323. None
  324. type: string
  325. property:
  326. description: Used to select a specific property of the Provider
  327. value (if a map), if supported
  328. type: string
  329. version:
  330. description: Used to select a specific version of the Provider
  331. value, if supported
  332. type: string
  333. required:
  334. - key
  335. type: object
  336. secretKey:
  337. description: SecretKey defines the key in which the controller
  338. stores the value. This is the key in the Kind=Secret
  339. type: string
  340. sourceRef:
  341. description: SourceRef allows you to override the source from
  342. which the value will pulled from.
  343. maxProperties: 1
  344. properties:
  345. generatorRef:
  346. description: GeneratorRef points to a generator custom resource
  347. in
  348. properties:
  349. apiVersion:
  350. default: generators.external-secrets.io/v1alpha1
  351. description: Specify the apiVersion of the generator
  352. resource
  353. type: string
  354. kind:
  355. description: Specify the Kind of the resource, e.g.
  356. Password, ACRAccessToken etc.
  357. type: string
  358. name:
  359. description: Specify the name of the generator resource
  360. type: string
  361. required:
  362. - kind
  363. - name
  364. type: object
  365. storeRef:
  366. description: SecretStoreRef defines which SecretStore to
  367. fetch the ExternalSecret data.
  368. properties:
  369. kind:
  370. description: Kind of the SecretStore resource (SecretStore
  371. or ClusterSecretStore) Defaults to `SecretStore`
  372. type: string
  373. name:
  374. description: Name of the SecretStore resource
  375. type: string
  376. required:
  377. - name
  378. type: object
  379. type: object
  380. required:
  381. - remoteRef
  382. - secretKey
  383. type: object
  384. type: array
  385. dataFrom:
  386. description: DataFrom is used to fetch all properties from a specific
  387. Provider data If multiple entries are specified, the Secret keys
  388. are merged in the specified order
  389. items:
  390. properties:
  391. extract:
  392. description: 'Used to extract multiple key/value pairs from
  393. one secret Note: Extract does not support sourceRef.Generator
  394. or sourceRef.GeneratorRef.'
  395. properties:
  396. conversionStrategy:
  397. default: Default
  398. description: Used to define a conversion Strategy
  399. type: string
  400. decodingStrategy:
  401. default: None
  402. description: Used to define a decoding Strategy
  403. type: string
  404. key:
  405. description: Key is the key used in the Provider, mandatory
  406. type: string
  407. metadataPolicy:
  408. description: Policy for fetching tags/labels from provider
  409. secrets, possible options are Fetch, None. Defaults to
  410. None
  411. type: string
  412. property:
  413. description: Used to select a specific property of the Provider
  414. value (if a map), if supported
  415. type: string
  416. version:
  417. description: Used to select a specific version of the Provider
  418. value, if supported
  419. type: string
  420. required:
  421. - key
  422. type: object
  423. find:
  424. description: 'Used to find secrets based on tags or regular
  425. expressions Note: Find does not support sourceRef.Generator
  426. or sourceRef.GeneratorRef.'
  427. properties:
  428. conversionStrategy:
  429. default: Default
  430. description: Used to define a conversion Strategy
  431. type: string
  432. decodingStrategy:
  433. default: None
  434. description: Used to define a decoding Strategy
  435. type: string
  436. name:
  437. description: Finds secrets based on the name.
  438. properties:
  439. regexp:
  440. description: Finds secrets base
  441. type: string
  442. type: object
  443. path:
  444. description: A root path to start the find operations.
  445. type: string
  446. tags:
  447. additionalProperties:
  448. type: string
  449. description: Find secrets based on tags.
  450. type: object
  451. type: object
  452. rewrite:
  453. description: Used to rewrite secret Keys after getting them
  454. from the secret Provider Multiple Rewrite operations can be
  455. provided. They are applied in a layered order (first to last)
  456. items:
  457. properties:
  458. regexp:
  459. description: Used to rewrite with regular expressions.
  460. The resulting key will be the output of a regexp.ReplaceAll
  461. operation.
  462. properties:
  463. source:
  464. description: Used to define the regular expression
  465. of a re.Compiler.
  466. type: string
  467. target:
  468. description: Used to define the target pattern of
  469. a ReplaceAll operation.
  470. type: string
  471. required:
  472. - source
  473. - target
  474. type: object
  475. type: object
  476. type: array
  477. sourceRef:
  478. description: SourceRef points to a store or generator which
  479. contains secret values ready to use. Use this in combination
  480. with Extract or Find pull values out of a specific SecretStore.
  481. When sourceRef points to a generator Extract or Find is not
  482. supported. The generator returns a static map of values
  483. maxProperties: 1
  484. properties:
  485. generatorRef:
  486. description: GeneratorRef points to a generator custom resource
  487. in
  488. properties:
  489. apiVersion:
  490. default: generators.external-secrets.io/v1alpha1
  491. description: Specify the apiVersion of the generator
  492. resource
  493. type: string
  494. kind:
  495. description: Specify the Kind of the resource, e.g.
  496. Password, ACRAccessToken etc.
  497. type: string
  498. name:
  499. description: Specify the name of the generator resource
  500. type: string
  501. required:
  502. - kind
  503. - name
  504. type: object
  505. storeRef:
  506. description: SecretStoreRef defines which SecretStore to
  507. fetch the ExternalSecret data.
  508. properties:
  509. kind:
  510. description: Kind of the SecretStore resource (SecretStore
  511. or ClusterSecretStore) Defaults to `SecretStore`
  512. type: string
  513. name:
  514. description: Name of the SecretStore resource
  515. type: string
  516. required:
  517. - name
  518. type: object
  519. type: object
  520. type: object
  521. type: array
  522. refreshInterval:
  523. default: 1h
  524. description: RefreshInterval is the amount of time before the values
  525. are read again from the SecretStore provider Valid time units are
  526. "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set to zero to
  527. fetch and create it once. Defaults to 1h.
  528. type: string
  529. secretStoreRef:
  530. description: SecretStoreRef defines which SecretStore to fetch the
  531. ExternalSecret data.
  532. properties:
  533. kind:
  534. description: Kind of the SecretStore resource (SecretStore or
  535. ClusterSecretStore) Defaults to `SecretStore`
  536. type: string
  537. name:
  538. description: Name of the SecretStore resource
  539. type: string
  540. required:
  541. - name
  542. type: object
  543. target:
  544. default:
  545. creationPolicy: Owner
  546. deletionPolicy: Retain
  547. description: ExternalSecretTarget defines the Kubernetes Secret to
  548. be created There can be only one target per ExternalSecret.
  549. properties:
  550. creationPolicy:
  551. default: Owner
  552. description: CreationPolicy defines rules on how to create the
  553. resulting Secret Defaults to 'Owner'
  554. enum:
  555. - Owner
  556. - Orphan
  557. - Merge
  558. - None
  559. type: string
  560. deletionPolicy:
  561. default: Retain
  562. description: DeletionPolicy defines rules on how to delete the
  563. resulting Secret Defaults to 'Retain'
  564. enum:
  565. - Delete
  566. - Merge
  567. - Retain
  568. type: string
  569. immutable:
  570. description: Immutable defines if the final secret will be immutable
  571. type: boolean
  572. name:
  573. description: Name defines the name of the Secret resource to be
  574. managed This field is immutable Defaults to the .metadata.name
  575. of the ExternalSecret resource
  576. type: string
  577. template:
  578. description: Template defines a blueprint for the created Secret
  579. resource.
  580. properties:
  581. data:
  582. additionalProperties:
  583. type: string
  584. type: object
  585. engineVersion:
  586. default: v2
  587. type: string
  588. metadata:
  589. description: ExternalSecretTemplateMetadata defines metadata
  590. fields for the Secret blueprint.
  591. properties:
  592. annotations:
  593. additionalProperties:
  594. type: string
  595. type: object
  596. labels:
  597. additionalProperties:
  598. type: string
  599. type: object
  600. type: object
  601. templateFrom:
  602. items:
  603. properties:
  604. configMap:
  605. properties:
  606. items:
  607. items:
  608. properties:
  609. key:
  610. type: string
  611. templateAs:
  612. default: Values
  613. type: string
  614. required:
  615. - key
  616. type: object
  617. type: array
  618. name:
  619. type: string
  620. required:
  621. - items
  622. - name
  623. type: object
  624. literal:
  625. type: string
  626. secret:
  627. properties:
  628. items:
  629. items:
  630. properties:
  631. key:
  632. type: string
  633. templateAs:
  634. default: Values
  635. type: string
  636. required:
  637. - key
  638. type: object
  639. type: array
  640. name:
  641. type: string
  642. required:
  643. - items
  644. - name
  645. type: object
  646. target:
  647. default: Data
  648. type: string
  649. type: object
  650. type: array
  651. type:
  652. type: string
  653. type: object
  654. type: object
  655. type: object
  656. status:
  657. properties:
  658. conditions:
  659. items:
  660. properties:
  661. lastTransitionTime:
  662. format: date-time
  663. type: string
  664. message:
  665. type: string
  666. reason:
  667. type: string
  668. status:
  669. type: string
  670. type:
  671. type: string
  672. required:
  673. - status
  674. - type
  675. type: object
  676. type: array
  677. refreshTime:
  678. description: refreshTime is the time and date the external secret
  679. was fetched and the target secret updated
  680. format: date-time
  681. nullable: true
  682. type: string
  683. syncedResourceVersion:
  684. description: SyncedResourceVersion keeps track of the last synced
  685. version
  686. type: string
  687. type: object
  688. type: object
  689. served: true
  690. storage: true
  691. subresources:
  692. status: {}