external-secrets.io_pushsecrets.yaml 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  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. properties:
  169. secret:
  170. description: Select a Secret to Push.
  171. properties:
  172. name:
  173. description: Name of the Secret. The Secret must exist in
  174. the same namespace as the PushSecret manifest.
  175. type: string
  176. required:
  177. - name
  178. type: object
  179. required:
  180. - secret
  181. type: object
  182. template:
  183. description: Template defines a blueprint for the created Secret resource.
  184. properties:
  185. data:
  186. additionalProperties:
  187. type: string
  188. type: object
  189. engineVersion:
  190. default: v2
  191. description: |-
  192. EngineVersion specifies the template engine version
  193. that should be used to compile/execute the
  194. template specified in .data and .templateFrom[].
  195. enum:
  196. - v1
  197. - v2
  198. type: string
  199. mergePolicy:
  200. default: Replace
  201. enum:
  202. - Replace
  203. - Merge
  204. type: string
  205. metadata:
  206. description: ExternalSecretTemplateMetadata defines metadata fields
  207. for the Secret blueprint.
  208. properties:
  209. annotations:
  210. additionalProperties:
  211. type: string
  212. type: object
  213. labels:
  214. additionalProperties:
  215. type: string
  216. type: object
  217. type: object
  218. templateFrom:
  219. items:
  220. properties:
  221. configMap:
  222. properties:
  223. items:
  224. items:
  225. properties:
  226. key:
  227. type: string
  228. templateAs:
  229. default: Values
  230. enum:
  231. - Values
  232. - KeysAndValues
  233. type: string
  234. required:
  235. - key
  236. type: object
  237. type: array
  238. name:
  239. type: string
  240. required:
  241. - items
  242. - name
  243. type: object
  244. literal:
  245. type: string
  246. secret:
  247. properties:
  248. items:
  249. items:
  250. properties:
  251. key:
  252. type: string
  253. templateAs:
  254. default: Values
  255. enum:
  256. - Values
  257. - KeysAndValues
  258. type: string
  259. required:
  260. - key
  261. type: object
  262. type: array
  263. name:
  264. type: string
  265. required:
  266. - items
  267. - name
  268. type: object
  269. target:
  270. default: Data
  271. enum:
  272. - Data
  273. - Annotations
  274. - Labels
  275. type: string
  276. type: object
  277. type: array
  278. type:
  279. type: string
  280. type: object
  281. updatePolicy:
  282. default: Replace
  283. description: 'UpdatePolicy to handle Secrets in the provider. Possible
  284. Values: "Replace/IfNotExists". Defaults to "Replace".'
  285. enum:
  286. - Replace
  287. - IfNotExists
  288. type: string
  289. required:
  290. - secretStoreRefs
  291. - selector
  292. type: object
  293. status:
  294. description: PushSecretStatus indicates the history of the status of PushSecret.
  295. properties:
  296. conditions:
  297. items:
  298. description: PushSecretStatusCondition indicates the status of the
  299. PushSecret.
  300. properties:
  301. lastTransitionTime:
  302. format: date-time
  303. type: string
  304. message:
  305. type: string
  306. reason:
  307. type: string
  308. status:
  309. type: string
  310. type:
  311. description: PushSecretConditionType indicates the condition
  312. of the PushSecret.
  313. type: string
  314. required:
  315. - status
  316. - type
  317. type: object
  318. type: array
  319. refreshTime:
  320. description: |-
  321. refreshTime is the time and date the external secret was fetched and
  322. the target secret updated
  323. format: date-time
  324. nullable: true
  325. type: string
  326. syncedPushSecrets:
  327. additionalProperties:
  328. additionalProperties:
  329. properties:
  330. conversionStrategy:
  331. default: None
  332. description: Used to define a conversion Strategy for the
  333. secret keys
  334. enum:
  335. - None
  336. - ReverseUnicode
  337. type: string
  338. match:
  339. description: Match a given Secret Key to be pushed to the
  340. provider.
  341. properties:
  342. remoteRef:
  343. description: Remote Refs to push to providers.
  344. properties:
  345. property:
  346. description: Name of the property in the resulting
  347. secret
  348. type: string
  349. remoteKey:
  350. description: Name of the resulting provider secret.
  351. type: string
  352. required:
  353. - remoteKey
  354. type: object
  355. secretKey:
  356. description: Secret Key to be pushed
  357. type: string
  358. required:
  359. - remoteRef
  360. type: object
  361. metadata:
  362. description: |-
  363. Metadata is metadata attached to the secret.
  364. The structure of metadata is provider specific, please look it up in the provider documentation.
  365. x-kubernetes-preserve-unknown-fields: true
  366. required:
  367. - match
  368. type: object
  369. type: object
  370. description: |-
  371. Synced PushSecrets, including secrets that already exist in provider.
  372. Matches secret stores to PushSecretData that was stored to that secret store.
  373. type: object
  374. syncedResourceVersion:
  375. description: SyncedResourceVersion keeps track of the last synced
  376. version.
  377. type: string
  378. type: object
  379. type: object
  380. served: true
  381. storage: true
  382. subresources:
  383. status: {}