external-secrets.io_clusterexternalsecrets.yaml 25 KB

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