external-secrets.io_pushsecrets.yaml 16 KB

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