external-secrets.io_clusterexternalsecrets.yaml 20 KB

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