external-secrets.io_clusterexternalsecrets.yaml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.12.0
  6. name: clusterexternalsecrets.external-secrets.io
  7. spec:
  8. group: external-secrets.io
  9. names:
  10. categories:
  11. - externalsecrets
  12. kind: ClusterExternalSecret
  13. listKind: ClusterExternalSecretList
  14. plural: clusterexternalsecrets
  15. shortNames:
  16. - ces
  17. singular: clusterexternalsecret
  18. scope: Cluster
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .spec.externalSecretSpec.secretStoreRef.name
  22. name: Store
  23. type: string
  24. - jsonPath: .spec.refreshTime
  25. name: Refresh Interval
  26. type: string
  27. - jsonPath: .status.conditions[?(@.type=="Ready")].status
  28. name: Ready
  29. type: string
  30. name: v1beta1
  31. schema:
  32. openAPIV3Schema:
  33. description: ClusterExternalSecret is the Schema for the clusterexternalsecrets
  34. API.
  35. properties:
  36. apiVersion:
  37. description: 'APIVersion defines the versioned schema of this representation
  38. of an object. Servers should convert recognized schemas to the latest
  39. internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
  40. type: string
  41. kind:
  42. description: 'Kind is a string value representing the REST resource this
  43. object represents. Servers may infer this from the endpoint the client
  44. submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
  45. type: string
  46. metadata:
  47. type: object
  48. spec:
  49. description: ClusterExternalSecretSpec defines the desired state of ClusterExternalSecret.
  50. properties:
  51. externalSecretMetadata:
  52. description: The metadata of the external secrets to be created
  53. properties:
  54. annotations:
  55. additionalProperties:
  56. type: string
  57. type: object
  58. labels:
  59. additionalProperties:
  60. type: string
  61. type: object
  62. type: object
  63. externalSecretName:
  64. description: The name of the external secrets to be created defaults
  65. to the name of the ClusterExternalSecret
  66. type: string
  67. externalSecretSpec:
  68. description: The spec for the ExternalSecrets to be created
  69. properties:
  70. data:
  71. description: Data defines the connection between the Kubernetes
  72. Secret keys and the Provider data
  73. items:
  74. description: ExternalSecretData defines the connection between
  75. the Kubernetes Secret key (spec.data.<key>) and the Provider
  76. data.
  77. properties:
  78. remoteRef:
  79. description: RemoteRef points to the remote secret and defines
  80. which secret (version/property/..) to fetch.
  81. properties:
  82. conversionStrategy:
  83. default: Default
  84. description: Used to define a conversion Strategy
  85. type: string
  86. decodingStrategy:
  87. default: None
  88. description: Used to define a decoding Strategy
  89. type: string
  90. key:
  91. description: Key is the key used in the Provider, mandatory
  92. type: string
  93. metadataPolicy:
  94. description: Policy for fetching tags/labels from provider
  95. secrets, possible options are Fetch, None. Defaults
  96. to None
  97. type: string
  98. property:
  99. description: Used to select a specific property of the
  100. Provider value (if a map), if supported
  101. type: string
  102. version:
  103. description: Used to select a specific version of the
  104. Provider value, if supported
  105. type: string
  106. required:
  107. - key
  108. type: object
  109. secretKey:
  110. description: SecretKey defines the key in which the controller
  111. stores the value. This is the key in the Kind=Secret
  112. type: string
  113. sourceRef:
  114. description: SourceRef allows you to override the source
  115. from which the value will pulled from.
  116. maxProperties: 1
  117. properties:
  118. generatorRef:
  119. description: GeneratorRef points to a generator custom
  120. resource in
  121. properties:
  122. apiVersion:
  123. default: generators.external-secrets.io/v1alpha1
  124. description: Specify the apiVersion of the generator
  125. resource
  126. type: string
  127. kind:
  128. description: Specify the Kind of the resource, e.g.
  129. Password, ACRAccessToken etc.
  130. type: string
  131. name:
  132. description: Specify the name of the generator resource
  133. type: string
  134. required:
  135. - kind
  136. - name
  137. type: object
  138. storeRef:
  139. description: SecretStoreRef defines which SecretStore
  140. to fetch the ExternalSecret data.
  141. properties:
  142. kind:
  143. description: Kind of the SecretStore resource (SecretStore
  144. or ClusterSecretStore) Defaults to `SecretStore`
  145. type: string
  146. name:
  147. description: Name of the SecretStore resource
  148. type: string
  149. required:
  150. - name
  151. type: object
  152. type: object
  153. required:
  154. - remoteRef
  155. - secretKey
  156. type: object
  157. type: array
  158. dataFrom:
  159. description: DataFrom is used to fetch all properties from a specific
  160. Provider data If multiple entries are specified, the Secret
  161. keys are merged in the specified order
  162. items:
  163. properties:
  164. extract:
  165. description: 'Used to extract multiple key/value pairs from
  166. one secret Note: Extract does not support sourceRef.Generator
  167. or sourceRef.GeneratorRef.'
  168. properties:
  169. conversionStrategy:
  170. default: Default
  171. description: Used to define a conversion Strategy
  172. type: string
  173. decodingStrategy:
  174. default: None
  175. description: Used to define a decoding Strategy
  176. type: string
  177. key:
  178. description: Key is the key used in the Provider, mandatory
  179. type: string
  180. metadataPolicy:
  181. description: Policy for fetching tags/labels from provider
  182. secrets, possible options are Fetch, None. Defaults
  183. to None
  184. type: string
  185. property:
  186. description: Used to select a specific property of the
  187. Provider value (if a map), if supported
  188. type: string
  189. version:
  190. description: Used to select a specific version of the
  191. Provider value, if supported
  192. type: string
  193. required:
  194. - key
  195. type: object
  196. find:
  197. description: 'Used to find secrets based on tags or regular
  198. expressions Note: Find does not support sourceRef.Generator
  199. or sourceRef.GeneratorRef.'
  200. properties:
  201. conversionStrategy:
  202. default: Default
  203. description: Used to define a conversion Strategy
  204. type: string
  205. decodingStrategy:
  206. default: None
  207. description: Used to define a decoding Strategy
  208. type: string
  209. name:
  210. description: Finds secrets based on the name.
  211. properties:
  212. regexp:
  213. description: Finds secrets base
  214. type: string
  215. type: object
  216. path:
  217. description: A root path to start the find operations.
  218. type: string
  219. tags:
  220. additionalProperties:
  221. type: string
  222. description: Find secrets based on tags.
  223. type: object
  224. type: object
  225. rewrite:
  226. description: Used to rewrite secret Keys after getting them
  227. from the secret Provider Multiple Rewrite operations can
  228. be provided. They are applied in a layered order (first
  229. to last)
  230. items:
  231. properties:
  232. regexp:
  233. description: Used to rewrite with regular expressions.
  234. The resulting key will be the output of a regexp.ReplaceAll
  235. operation.
  236. properties:
  237. source:
  238. description: Used to define the regular expression
  239. of a re.Compiler.
  240. type: string
  241. target:
  242. description: Used to define the target pattern
  243. of a ReplaceAll operation.
  244. type: string
  245. required:
  246. - source
  247. - target
  248. type: object
  249. type: object
  250. type: array
  251. sourceRef:
  252. description: SourceRef points to a store or generator which
  253. contains secret values ready to use. Use this in combination
  254. with Extract or Find pull values out of a specific SecretStore.
  255. When sourceRef points to a generator Extract or Find is
  256. not supported. The generator returns a static map of values
  257. maxProperties: 1
  258. properties:
  259. generatorRef:
  260. description: GeneratorRef points to a generator custom
  261. resource in
  262. properties:
  263. apiVersion:
  264. default: generators.external-secrets.io/v1alpha1
  265. description: Specify the apiVersion of the generator
  266. resource
  267. type: string
  268. kind:
  269. description: Specify the Kind of the resource, e.g.
  270. Password, ACRAccessToken etc.
  271. type: string
  272. name:
  273. description: Specify the name of the generator resource
  274. type: string
  275. required:
  276. - kind
  277. - name
  278. type: object
  279. storeRef:
  280. description: SecretStoreRef defines which SecretStore
  281. to fetch the ExternalSecret data.
  282. properties:
  283. kind:
  284. description: Kind of the SecretStore resource (SecretStore
  285. or ClusterSecretStore) Defaults to `SecretStore`
  286. type: string
  287. name:
  288. description: Name of the SecretStore resource
  289. type: string
  290. required:
  291. - name
  292. type: object
  293. type: object
  294. type: object
  295. type: array
  296. refreshInterval:
  297. default: 1h
  298. description: RefreshInterval is the amount of time before the
  299. values are read again from the SecretStore provider Valid time
  300. units are "ns", "us" (or "µs"), "ms", "s", "m", "h" May be set
  301. to zero to fetch and create it once. Defaults to 1h.
  302. type: string
  303. secretStoreRef:
  304. description: SecretStoreRef defines which SecretStore to fetch
  305. the ExternalSecret data.
  306. properties:
  307. kind:
  308. description: Kind of the SecretStore resource (SecretStore
  309. or ClusterSecretStore) Defaults to `SecretStore`
  310. type: string
  311. name:
  312. description: Name of the SecretStore resource
  313. type: string
  314. required:
  315. - name
  316. type: object
  317. target:
  318. default:
  319. creationPolicy: Owner
  320. deletionPolicy: Retain
  321. description: ExternalSecretTarget defines the Kubernetes Secret
  322. to be created There can be only one target per ExternalSecret.
  323. properties:
  324. creationPolicy:
  325. default: Owner
  326. description: CreationPolicy defines rules on how to create
  327. the resulting Secret Defaults to 'Owner'
  328. enum:
  329. - Owner
  330. - Orphan
  331. - Merge
  332. - None
  333. type: string
  334. deletionPolicy:
  335. default: Retain
  336. description: DeletionPolicy defines rules on how to delete
  337. the resulting Secret Defaults to 'Retain'
  338. enum:
  339. - Delete
  340. - Merge
  341. - Retain
  342. type: string
  343. immutable:
  344. description: Immutable defines if the final secret will be
  345. immutable
  346. type: boolean
  347. name:
  348. description: Name defines the name of the Secret resource
  349. to be managed This field is immutable Defaults to the .metadata.name
  350. of the ExternalSecret resource
  351. type: string
  352. template:
  353. description: Template defines a blueprint for the created
  354. Secret resource.
  355. properties:
  356. data:
  357. additionalProperties:
  358. type: string
  359. type: object
  360. engineVersion:
  361. default: v2
  362. type: string
  363. mergePolicy:
  364. default: Replace
  365. type: string
  366. metadata:
  367. description: ExternalSecretTemplateMetadata defines metadata
  368. fields for the Secret blueprint.
  369. properties:
  370. annotations:
  371. additionalProperties:
  372. type: string
  373. type: object
  374. labels:
  375. additionalProperties:
  376. type: string
  377. type: object
  378. type: object
  379. templateFrom:
  380. items:
  381. properties:
  382. configMap:
  383. properties:
  384. items:
  385. items:
  386. properties:
  387. key:
  388. type: string
  389. templateAs:
  390. default: Values
  391. type: string
  392. required:
  393. - key
  394. type: object
  395. type: array
  396. name:
  397. type: string
  398. required:
  399. - items
  400. - name
  401. type: object
  402. literal:
  403. type: string
  404. secret:
  405. properties:
  406. items:
  407. items:
  408. properties:
  409. key:
  410. type: string
  411. templateAs:
  412. default: Values
  413. type: string
  414. required:
  415. - key
  416. type: object
  417. type: array
  418. name:
  419. type: string
  420. required:
  421. - items
  422. - name
  423. type: object
  424. target:
  425. default: Data
  426. type: string
  427. type: object
  428. type: array
  429. type:
  430. type: string
  431. type: object
  432. type: object
  433. type: object
  434. namespaceSelector:
  435. description: The labels to select by to find the Namespaces to create
  436. the ExternalSecrets in.
  437. properties:
  438. matchExpressions:
  439. description: matchExpressions is a list of label selector requirements.
  440. The requirements are ANDed.
  441. items:
  442. description: A label selector requirement is a selector that
  443. contains values, a key, and an operator that relates the key
  444. and values.
  445. properties:
  446. key:
  447. description: key is the label key that the selector applies
  448. to.
  449. type: string
  450. operator:
  451. description: operator represents a key's relationship to
  452. a set of values. Valid operators are In, NotIn, Exists
  453. and DoesNotExist.
  454. type: string
  455. values:
  456. description: values is an array of string values. If the
  457. operator is In or NotIn, the values array must be non-empty.
  458. If the operator is Exists or DoesNotExist, the values
  459. array must be empty. This array is replaced during a strategic
  460. merge patch.
  461. items:
  462. type: string
  463. type: array
  464. required:
  465. - key
  466. - operator
  467. type: object
  468. type: array
  469. matchLabels:
  470. additionalProperties:
  471. type: string
  472. description: matchLabels is a map of {key,value} pairs. A single
  473. {key,value} in the matchLabels map is equivalent to an element
  474. of matchExpressions, whose key field is "key", the operator
  475. is "In", and the values array contains only "value". The requirements
  476. are ANDed.
  477. type: object
  478. type: object
  479. x-kubernetes-map-type: atomic
  480. refreshTime:
  481. description: The time in which the controller should reconcile it's
  482. objects and recheck namespaces for labels.
  483. type: string
  484. required:
  485. - externalSecretSpec
  486. - namespaceSelector
  487. type: object
  488. status:
  489. description: ClusterExternalSecretStatus defines the observed state of
  490. ClusterExternalSecret.
  491. properties:
  492. conditions:
  493. items:
  494. properties:
  495. message:
  496. type: string
  497. status:
  498. type: string
  499. type:
  500. type: string
  501. required:
  502. - status
  503. - type
  504. type: object
  505. type: array
  506. failedNamespaces:
  507. description: Failed namespaces are the namespaces that failed to apply
  508. an ExternalSecret
  509. items:
  510. description: ClusterExternalSecretNamespaceFailure represents a
  511. failed namespace deployment and it's reason.
  512. properties:
  513. namespace:
  514. description: Namespace is the namespace that failed when trying
  515. to apply an ExternalSecret
  516. type: string
  517. reason:
  518. description: Reason is why the ExternalSecret failed to apply
  519. to the namespace
  520. type: string
  521. required:
  522. - namespace
  523. type: object
  524. type: array
  525. provisionedNamespaces:
  526. description: ProvisionedNamespaces are the namespaces where the ClusterExternalSecret
  527. has secrets
  528. items:
  529. type: string
  530. type: array
  531. type: object
  532. type: object
  533. served: true
  534. storage: true
  535. subresources:
  536. status: {}