external-secrets.io_pushsecrets.yaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.17.1
  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.
  96. enum:
  97. - Delete
  98. - None
  99. type: string
  100. refreshInterval:
  101. description: The Interval to which External Secrets will try to push
  102. a secret definition
  103. type: string
  104. secretStoreRefs:
  105. items:
  106. properties:
  107. kind:
  108. default: SecretStore
  109. description: Kind of the SecretStore resource (SecretStore or
  110. ClusterSecretStore)
  111. enum:
  112. - SecretStore
  113. - ClusterSecretStore
  114. type: string
  115. labelSelector:
  116. description: Optionally, sync to secret stores with label selector
  117. properties:
  118. matchExpressions:
  119. description: matchExpressions is a list of label selector
  120. requirements. The requirements are ANDed.
  121. items:
  122. description: |-
  123. A label selector requirement is a selector that contains values, a key, and an operator that
  124. relates the key and values.
  125. properties:
  126. key:
  127. description: key is the label key that the selector
  128. applies to.
  129. type: string
  130. operator:
  131. description: |-
  132. operator represents a key's relationship to a set of values.
  133. Valid operators are In, NotIn, Exists and DoesNotExist.
  134. type: string
  135. values:
  136. description: |-
  137. values is an array of string values. If the operator is In or NotIn,
  138. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  139. the values array must be empty. This array is replaced during a strategic
  140. merge patch.
  141. items:
  142. type: string
  143. type: array
  144. x-kubernetes-list-type: atomic
  145. required:
  146. - key
  147. - operator
  148. type: object
  149. type: array
  150. x-kubernetes-list-type: atomic
  151. matchLabels:
  152. additionalProperties:
  153. type: string
  154. description: |-
  155. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  156. map is equivalent to an element of matchExpressions, whose key field is "key", the
  157. operator is "In", and the values array contains only "value". The requirements are ANDed.
  158. type: object
  159. type: object
  160. x-kubernetes-map-type: atomic
  161. name:
  162. description: Optionally, sync to the SecretStore of the given
  163. name
  164. maxLength: 253
  165. minLength: 1
  166. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  167. type: string
  168. type: object
  169. type: array
  170. selector:
  171. description: The Secret Selector (k8s source) for the Push Secret
  172. maxProperties: 1
  173. minProperties: 1
  174. properties:
  175. generatorRef:
  176. description: Point to a generator to create a Secret.
  177. properties:
  178. apiVersion:
  179. default: generators.external-secrets.io/v1alpha1
  180. description: Specify the apiVersion of the generator resource
  181. type: string
  182. kind:
  183. description: Specify the Kind of the generator resource
  184. enum:
  185. - ACRAccessToken
  186. - ClusterGenerator
  187. - ECRAuthorizationToken
  188. - Fake
  189. - GCRAccessToken
  190. - GithubAccessToken
  191. - QuayAccessToken
  192. - Password
  193. - STSSessionToken
  194. - UUID
  195. - VaultDynamicSecret
  196. - Webhook
  197. type: string
  198. name:
  199. description: Specify the name of the generator resource
  200. maxLength: 253
  201. minLength: 1
  202. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  203. type: string
  204. required:
  205. - kind
  206. - name
  207. type: object
  208. secret:
  209. description: Select a Secret to Push.
  210. properties:
  211. name:
  212. description: |-
  213. Name of the Secret.
  214. The Secret must exist in the same namespace as the PushSecret manifest.
  215. maxLength: 253
  216. minLength: 1
  217. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  218. type: string
  219. required:
  220. - name
  221. type: object
  222. type: object
  223. template:
  224. description: Template defines a blueprint for the created Secret resource.
  225. properties:
  226. data:
  227. additionalProperties:
  228. type: string
  229. type: object
  230. engineVersion:
  231. default: v2
  232. description: |-
  233. EngineVersion specifies the template engine version
  234. that should be used to compile/execute the
  235. template specified in .data and .templateFrom[].
  236. enum:
  237. - v1
  238. - v2
  239. type: string
  240. mergePolicy:
  241. default: Replace
  242. enum:
  243. - Replace
  244. - Merge
  245. type: string
  246. metadata:
  247. description: ExternalSecretTemplateMetadata defines metadata fields
  248. for the Secret blueprint.
  249. properties:
  250. annotations:
  251. additionalProperties:
  252. type: string
  253. type: object
  254. labels:
  255. additionalProperties:
  256. type: string
  257. type: object
  258. type: object
  259. templateFrom:
  260. items:
  261. properties:
  262. configMap:
  263. properties:
  264. items:
  265. description: A list of keys in the ConfigMap/Secret
  266. to use as templates for Secret data
  267. items:
  268. properties:
  269. key:
  270. description: A key in the ConfigMap/Secret
  271. maxLength: 253
  272. minLength: 1
  273. pattern: ^[-._a-zA-Z0-9]+$
  274. type: string
  275. templateAs:
  276. default: Values
  277. enum:
  278. - Values
  279. - KeysAndValues
  280. type: string
  281. required:
  282. - key
  283. type: object
  284. type: array
  285. name:
  286. description: The name of the ConfigMap/Secret resource
  287. maxLength: 253
  288. minLength: 1
  289. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  290. type: string
  291. required:
  292. - items
  293. - name
  294. type: object
  295. literal:
  296. type: string
  297. secret:
  298. properties:
  299. items:
  300. description: A list of keys in the ConfigMap/Secret
  301. to use as templates for Secret data
  302. items:
  303. properties:
  304. key:
  305. description: A key in the ConfigMap/Secret
  306. maxLength: 253
  307. minLength: 1
  308. pattern: ^[-._a-zA-Z0-9]+$
  309. type: string
  310. templateAs:
  311. default: Values
  312. enum:
  313. - Values
  314. - KeysAndValues
  315. type: string
  316. required:
  317. - key
  318. type: object
  319. type: array
  320. name:
  321. description: The name of the ConfigMap/Secret resource
  322. maxLength: 253
  323. minLength: 1
  324. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  325. type: string
  326. required:
  327. - items
  328. - name
  329. type: object
  330. target:
  331. default: Data
  332. enum:
  333. - Data
  334. - Annotations
  335. - Labels
  336. type: string
  337. type: object
  338. type: array
  339. type:
  340. type: string
  341. type: object
  342. updatePolicy:
  343. default: Replace
  344. description: UpdatePolicy to handle Secrets in the provider.
  345. enum:
  346. - Replace
  347. - IfNotExists
  348. type: string
  349. required:
  350. - secretStoreRefs
  351. - selector
  352. type: object
  353. status:
  354. description: PushSecretStatus indicates the history of the status of PushSecret.
  355. properties:
  356. conditions:
  357. items:
  358. description: PushSecretStatusCondition indicates the status of the
  359. PushSecret.
  360. properties:
  361. lastTransitionTime:
  362. format: date-time
  363. type: string
  364. message:
  365. type: string
  366. reason:
  367. type: string
  368. status:
  369. type: string
  370. type:
  371. description: PushSecretConditionType indicates the condition
  372. of the PushSecret.
  373. type: string
  374. required:
  375. - status
  376. - type
  377. type: object
  378. type: array
  379. refreshTime:
  380. description: |-
  381. refreshTime is the time and date the external secret was fetched and
  382. the target secret updated
  383. format: date-time
  384. nullable: true
  385. type: string
  386. syncedPushSecrets:
  387. additionalProperties:
  388. additionalProperties:
  389. properties:
  390. conversionStrategy:
  391. default: None
  392. description: Used to define a conversion Strategy for the
  393. secret keys
  394. enum:
  395. - None
  396. - ReverseUnicode
  397. type: string
  398. match:
  399. description: Match a given Secret Key to be pushed to the
  400. provider.
  401. properties:
  402. remoteRef:
  403. description: Remote Refs to push to providers.
  404. properties:
  405. property:
  406. description: Name of the property in the resulting
  407. secret
  408. type: string
  409. remoteKey:
  410. description: Name of the resulting provider secret.
  411. type: string
  412. required:
  413. - remoteKey
  414. type: object
  415. secretKey:
  416. description: Secret Key to be pushed
  417. type: string
  418. required:
  419. - remoteRef
  420. type: object
  421. metadata:
  422. description: |-
  423. Metadata is metadata attached to the secret.
  424. The structure of metadata is provider specific, please look it up in the provider documentation.
  425. x-kubernetes-preserve-unknown-fields: true
  426. required:
  427. - match
  428. type: object
  429. type: object
  430. description: |-
  431. Synced PushSecrets, including secrets that already exist in provider.
  432. Matches secret stores to PushSecretData that was stored to that secret store.
  433. type: object
  434. syncedResourceVersion:
  435. description: SyncedResourceVersion keeps track of the last synced
  436. version.
  437. type: string
  438. type: object
  439. type: object
  440. served: true
  441. storage: true
  442. subresources:
  443. status: {}