external-secrets.io_clusterexternalsecrets.yaml 25 KB

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