external-secrets.io_pushsecrets.yaml 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.16.3
  6. labels:
  7. external-secrets.io/component: controller
  8. name: pushsecrets.external-secrets.io
  9. spec:
  10. group: external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. kind: PushSecret
  15. listKind: PushSecretList
  16. plural: pushsecrets
  17. singular: pushsecret
  18. scope: Namespaced
  19. versions:
  20. - additionalPrinterColumns:
  21. - jsonPath: .metadata.creationTimestamp
  22. name: AGE
  23. type: date
  24. - jsonPath: .status.conditions[?(@.type=="Ready")].reason
  25. name: Status
  26. type: string
  27. name: v1alpha1
  28. schema:
  29. openAPIV3Schema:
  30. properties:
  31. apiVersion:
  32. description: |-
  33. APIVersion defines the versioned schema of this representation of an object.
  34. Servers should convert recognized schemas to the latest internal value, and
  35. may reject unrecognized values.
  36. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  37. type: string
  38. kind:
  39. description: |-
  40. Kind is a string value representing the REST resource this object represents.
  41. Servers may infer this from the endpoint the client submits requests to.
  42. Cannot be updated.
  43. In CamelCase.
  44. 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: PushSecretSpec configures the behavior of the PushSecret.
  50. properties:
  51. data:
  52. description: Secret Data that should be pushed to providers
  53. items:
  54. properties:
  55. conversionStrategy:
  56. default: None
  57. description: Used to define a conversion Strategy for the secret
  58. keys
  59. enum:
  60. - None
  61. - ReverseUnicode
  62. type: string
  63. match:
  64. description: Match a given Secret Key to be pushed to the provider.
  65. properties:
  66. remoteRef:
  67. description: Remote Refs to push to providers.
  68. properties:
  69. property:
  70. description: Name of the property in the resulting secret
  71. type: string
  72. remoteKey:
  73. description: Name of the resulting provider secret.
  74. type: string
  75. required:
  76. - remoteKey
  77. type: object
  78. secretKey:
  79. description: Secret Key to be pushed
  80. type: string
  81. required:
  82. - remoteRef
  83. type: object
  84. metadata:
  85. description: |-
  86. Metadata is metadata attached to the secret.
  87. The structure of metadata is provider specific, please look it up in the provider documentation.
  88. x-kubernetes-preserve-unknown-fields: true
  89. required:
  90. - match
  91. type: object
  92. type: array
  93. deletionPolicy:
  94. default: None
  95. description: 'Deletion Policy to handle Secrets in the provider. Possible
  96. Values: "Delete/None". Defaults to "None".'
  97. enum:
  98. - Delete
  99. - None
  100. type: string
  101. refreshInterval:
  102. description: The Interval to which External Secrets will try to push
  103. a secret definition
  104. type: string
  105. secretStoreRefs:
  106. items:
  107. properties:
  108. kind:
  109. default: SecretStore
  110. description: |-
  111. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  112. Defaults to `SecretStore`
  113. type: string
  114. labelSelector:
  115. description: Optionally, sync to secret stores with label selector
  116. properties:
  117. matchExpressions:
  118. description: matchExpressions is a list of label selector
  119. requirements. The requirements are ANDed.
  120. items:
  121. description: |-
  122. A label selector requirement is a selector that contains values, a key, and an operator that
  123. relates the key and values.
  124. properties:
  125. key:
  126. description: key is the label key that the selector
  127. applies to.
  128. type: string
  129. operator:
  130. description: |-
  131. operator represents a key's relationship to a set of values.
  132. Valid operators are In, NotIn, Exists and DoesNotExist.
  133. type: string
  134. values:
  135. description: |-
  136. values is an array of string values. If the operator is In or NotIn,
  137. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  138. the values array must be empty. This array is replaced during a strategic
  139. merge patch.
  140. items:
  141. type: string
  142. type: array
  143. x-kubernetes-list-type: atomic
  144. required:
  145. - key
  146. - operator
  147. type: object
  148. type: array
  149. x-kubernetes-list-type: atomic
  150. matchLabels:
  151. additionalProperties:
  152. type: string
  153. description: |-
  154. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  155. map is equivalent to an element of matchExpressions, whose key field is "key", the
  156. operator is "In", and the values array contains only "value". The requirements are ANDed.
  157. type: object
  158. type: object
  159. x-kubernetes-map-type: atomic
  160. name:
  161. description: Optionally, sync to the SecretStore of the given
  162. name
  163. type: string
  164. type: object
  165. type: array
  166. selector:
  167. description: The Secret Selector (k8s source) for the Push Secret
  168. maxProperties: 1
  169. minProperties: 1
  170. properties:
  171. generatorRef:
  172. description: Point to a generator to create a Secret.
  173. properties:
  174. apiVersion:
  175. default: generators.external-secrets.io/v1alpha1
  176. description: Specify the apiVersion of the generator resource
  177. type: string
  178. kind:
  179. description: Specify the Kind of the resource, e.g. Password,
  180. ACRAccessToken etc.
  181. type: string
  182. name:
  183. description: Specify the name of the generator resource
  184. type: string
  185. required:
  186. - kind
  187. - name
  188. type: object
  189. secret:
  190. description: Select a Secret to Push.
  191. properties:
  192. name:
  193. description: Name of the Secret. The Secret must exist in
  194. the same namespace as the PushSecret manifest.
  195. type: string
  196. required:
  197. - name
  198. type: object
  199. type: object
  200. template:
  201. description: Template defines a blueprint for the created Secret resource.
  202. properties:
  203. data:
  204. additionalProperties:
  205. type: string
  206. type: object
  207. engineVersion:
  208. default: v2
  209. description: |-
  210. EngineVersion specifies the template engine version
  211. that should be used to compile/execute the
  212. template specified in .data and .templateFrom[].
  213. enum:
  214. - v1
  215. - v2
  216. type: string
  217. mergePolicy:
  218. default: Replace
  219. enum:
  220. - Replace
  221. - Merge
  222. type: string
  223. metadata:
  224. description: ExternalSecretTemplateMetadata defines metadata fields
  225. for the Secret blueprint.
  226. properties:
  227. annotations:
  228. additionalProperties:
  229. type: string
  230. type: object
  231. labels:
  232. additionalProperties:
  233. type: string
  234. type: object
  235. type: object
  236. templateFrom:
  237. items:
  238. properties:
  239. configMap:
  240. properties:
  241. items:
  242. items:
  243. properties:
  244. key:
  245. type: string
  246. templateAs:
  247. default: Values
  248. enum:
  249. - Values
  250. - KeysAndValues
  251. type: string
  252. required:
  253. - key
  254. type: object
  255. type: array
  256. name:
  257. type: string
  258. required:
  259. - items
  260. - name
  261. type: object
  262. literal:
  263. type: string
  264. secret:
  265. properties:
  266. items:
  267. items:
  268. properties:
  269. key:
  270. type: string
  271. templateAs:
  272. default: Values
  273. enum:
  274. - Values
  275. - KeysAndValues
  276. type: string
  277. required:
  278. - key
  279. type: object
  280. type: array
  281. name:
  282. type: string
  283. required:
  284. - items
  285. - name
  286. type: object
  287. target:
  288. default: Data
  289. enum:
  290. - Data
  291. - Annotations
  292. - Labels
  293. type: string
  294. type: object
  295. type: array
  296. type:
  297. type: string
  298. type: object
  299. updatePolicy:
  300. default: Replace
  301. description: 'UpdatePolicy to handle Secrets in the provider. Possible
  302. Values: "Replace/IfNotExists". Defaults to "Replace".'
  303. enum:
  304. - Replace
  305. - IfNotExists
  306. type: string
  307. required:
  308. - secretStoreRefs
  309. - selector
  310. type: object
  311. status:
  312. description: PushSecretStatus indicates the history of the status of PushSecret.
  313. properties:
  314. conditions:
  315. items:
  316. description: PushSecretStatusCondition indicates the status of the
  317. PushSecret.
  318. properties:
  319. lastTransitionTime:
  320. format: date-time
  321. type: string
  322. message:
  323. type: string
  324. reason:
  325. type: string
  326. status:
  327. type: string
  328. type:
  329. description: PushSecretConditionType indicates the condition
  330. of the PushSecret.
  331. type: string
  332. required:
  333. - status
  334. - type
  335. type: object
  336. type: array
  337. refreshTime:
  338. description: |-
  339. refreshTime is the time and date the external secret was fetched and
  340. the target secret updated
  341. format: date-time
  342. nullable: true
  343. type: string
  344. syncedPushSecrets:
  345. additionalProperties:
  346. additionalProperties:
  347. properties:
  348. conversionStrategy:
  349. default: None
  350. description: Used to define a conversion Strategy for the
  351. secret keys
  352. enum:
  353. - None
  354. - ReverseUnicode
  355. type: string
  356. match:
  357. description: Match a given Secret Key to be pushed to the
  358. provider.
  359. properties:
  360. remoteRef:
  361. description: Remote Refs to push to providers.
  362. properties:
  363. property:
  364. description: Name of the property in the resulting
  365. secret
  366. type: string
  367. remoteKey:
  368. description: Name of the resulting provider secret.
  369. type: string
  370. required:
  371. - remoteKey
  372. type: object
  373. secretKey:
  374. description: Secret Key to be pushed
  375. type: string
  376. required:
  377. - remoteRef
  378. type: object
  379. metadata:
  380. description: |-
  381. Metadata is metadata attached to the secret.
  382. The structure of metadata is provider specific, please look it up in the provider documentation.
  383. x-kubernetes-preserve-unknown-fields: true
  384. required:
  385. - match
  386. type: object
  387. type: object
  388. description: |-
  389. Synced PushSecrets, including secrets that already exist in provider.
  390. Matches secret stores to PushSecretData that was stored to that secret store.
  391. type: object
  392. syncedResourceVersion:
  393. description: SyncedResourceVersion keeps track of the last synced
  394. version.
  395. type: string
  396. type: object
  397. type: object
  398. served: true
  399. storage: true
  400. subresources:
  401. status: {}