external-secrets.io_pushsecrets.yaml 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.14.0
  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. match:
  54. description: Match a given Secret Key to be pushed to the provider.
  55. properties:
  56. remoteRef:
  57. description: Remote Refs to push to providers.
  58. properties:
  59. property:
  60. description: Name of the property in the resulting secret
  61. type: string
  62. remoteKey:
  63. description: Name of the resulting provider secret.
  64. type: string
  65. required:
  66. - remoteKey
  67. type: object
  68. secretKey:
  69. description: Secret Key to be pushed
  70. type: string
  71. required:
  72. - remoteRef
  73. type: object
  74. metadata:
  75. description: |-
  76. Metadata is metadata attached to the secret.
  77. The structure of metadata is provider specific, please look it up in the provider documentation.
  78. x-kubernetes-preserve-unknown-fields: true
  79. required:
  80. - match
  81. type: object
  82. type: array
  83. deletionPolicy:
  84. default: None
  85. description: 'Deletion Policy to handle Secrets in the provider. Possible
  86. Values: "Delete/None". Defaults to "None".'
  87. enum:
  88. - Delete
  89. - None
  90. type: string
  91. refreshInterval:
  92. description: The Interval to which External Secrets will try to push
  93. a secret definition
  94. type: string
  95. secretStoreRefs:
  96. items:
  97. properties:
  98. kind:
  99. default: SecretStore
  100. description: |-
  101. Kind of the SecretStore resource (SecretStore or ClusterSecretStore)
  102. Defaults to `SecretStore`
  103. type: string
  104. labelSelector:
  105. description: Optionally, sync to secret stores with label selector
  106. properties:
  107. matchExpressions:
  108. description: matchExpressions is a list of label selector
  109. requirements. The requirements are ANDed.
  110. items:
  111. description: |-
  112. A label selector requirement is a selector that contains values, a key, and an operator that
  113. relates the key and values.
  114. properties:
  115. key:
  116. description: key is the label key that the selector
  117. applies to.
  118. type: string
  119. operator:
  120. description: |-
  121. operator represents a key's relationship to a set of values.
  122. Valid operators are In, NotIn, Exists and DoesNotExist.
  123. type: string
  124. values:
  125. description: |-
  126. values is an array of string values. If the operator is In or NotIn,
  127. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  128. the values array must be empty. This array is replaced during a strategic
  129. merge patch.
  130. items:
  131. type: string
  132. type: array
  133. required:
  134. - key
  135. - operator
  136. type: object
  137. type: array
  138. matchLabels:
  139. additionalProperties:
  140. type: string
  141. description: |-
  142. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  143. map is equivalent to an element of matchExpressions, whose key field is "key", the
  144. operator is "In", and the values array contains only "value". The requirements are ANDed.
  145. type: object
  146. type: object
  147. x-kubernetes-map-type: atomic
  148. name:
  149. description: Optionally, sync to the SecretStore of the given
  150. name
  151. type: string
  152. type: object
  153. type: array
  154. selector:
  155. description: The Secret Selector (k8s source) for the Push Secret
  156. properties:
  157. secret:
  158. description: Select a Secret to Push.
  159. properties:
  160. name:
  161. description: Name of the Secret. The Secret must exist in
  162. the same namespace as the PushSecret manifest.
  163. type: string
  164. required:
  165. - name
  166. type: object
  167. required:
  168. - secret
  169. type: object
  170. template:
  171. description: Template defines a blueprint for the created Secret resource.
  172. properties:
  173. data:
  174. additionalProperties:
  175. type: string
  176. type: object
  177. engineVersion:
  178. default: v2
  179. description: |-
  180. EngineVersion specifies the template engine version
  181. that should be used to compile/execute the
  182. template specified in .data and .templateFrom[].
  183. enum:
  184. - v1
  185. - v2
  186. type: string
  187. mergePolicy:
  188. default: Replace
  189. enum:
  190. - Replace
  191. - Merge
  192. type: string
  193. metadata:
  194. description: ExternalSecretTemplateMetadata defines metadata fields
  195. for the Secret blueprint.
  196. properties:
  197. annotations:
  198. additionalProperties:
  199. type: string
  200. type: object
  201. labels:
  202. additionalProperties:
  203. type: string
  204. type: object
  205. type: object
  206. templateFrom:
  207. items:
  208. properties:
  209. configMap:
  210. properties:
  211. items:
  212. items:
  213. properties:
  214. key:
  215. type: string
  216. templateAs:
  217. default: Values
  218. enum:
  219. - Values
  220. - KeysAndValues
  221. type: string
  222. required:
  223. - key
  224. type: object
  225. type: array
  226. name:
  227. type: string
  228. required:
  229. - items
  230. - name
  231. type: object
  232. literal:
  233. type: string
  234. secret:
  235. properties:
  236. items:
  237. items:
  238. properties:
  239. key:
  240. type: string
  241. templateAs:
  242. default: Values
  243. enum:
  244. - Values
  245. - KeysAndValues
  246. type: string
  247. required:
  248. - key
  249. type: object
  250. type: array
  251. name:
  252. type: string
  253. required:
  254. - items
  255. - name
  256. type: object
  257. target:
  258. default: Data
  259. enum:
  260. - Data
  261. - Annotations
  262. - Labels
  263. type: string
  264. type: object
  265. type: array
  266. type:
  267. type: string
  268. type: object
  269. required:
  270. - secretStoreRefs
  271. - selector
  272. type: object
  273. status:
  274. description: PushSecretStatus indicates the history of the status of PushSecret.
  275. properties:
  276. conditions:
  277. items:
  278. description: PushSecretStatusCondition indicates the status of the
  279. PushSecret.
  280. properties:
  281. lastTransitionTime:
  282. format: date-time
  283. type: string
  284. message:
  285. type: string
  286. reason:
  287. type: string
  288. status:
  289. type: string
  290. type:
  291. description: PushSecretConditionType indicates the condition
  292. of the PushSecret.
  293. type: string
  294. required:
  295. - status
  296. - type
  297. type: object
  298. type: array
  299. refreshTime:
  300. description: |-
  301. refreshTime is the time and date the external secret was fetched and
  302. the target secret updated
  303. format: date-time
  304. nullable: true
  305. type: string
  306. syncedPushSecrets:
  307. additionalProperties:
  308. additionalProperties:
  309. properties:
  310. match:
  311. description: Match a given Secret Key to be pushed to the
  312. provider.
  313. properties:
  314. remoteRef:
  315. description: Remote Refs to push to providers.
  316. properties:
  317. property:
  318. description: Name of the property in the resulting
  319. secret
  320. type: string
  321. remoteKey:
  322. description: Name of the resulting provider secret.
  323. type: string
  324. required:
  325. - remoteKey
  326. type: object
  327. secretKey:
  328. description: Secret Key to be pushed
  329. type: string
  330. required:
  331. - remoteRef
  332. type: object
  333. metadata:
  334. description: |-
  335. Metadata is metadata attached to the secret.
  336. The structure of metadata is provider specific, please look it up in the provider documentation.
  337. x-kubernetes-preserve-unknown-fields: true
  338. required:
  339. - match
  340. type: object
  341. type: object
  342. description: Synced Push Secrets for later deletion. Matches Secret
  343. Stores to PushSecretData that was stored to that secretStore.
  344. type: object
  345. syncedResourceVersion:
  346. description: SyncedResourceVersion keeps track of the last synced
  347. version.
  348. type: string
  349. type: object
  350. type: object
  351. served: true
  352. storage: true
  353. subresources:
  354. status: {}