external-secrets.io_pushsecrets.yaml 14 KB

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