external-secrets.io_pushsecrets.yaml 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.16.5
  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. - Password
  192. - STSSessionToken
  193. - UUID
  194. - VaultDynamicSecret
  195. - Webhook
  196. type: string
  197. name:
  198. description: Specify the name of the generator resource
  199. maxLength: 253
  200. minLength: 1
  201. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  202. type: string
  203. required:
  204. - kind
  205. - name
  206. type: object
  207. secret:
  208. description: Select a Secret to Push.
  209. properties:
  210. name:
  211. description: |-
  212. Name of the Secret.
  213. The Secret must exist in the same namespace as the PushSecret manifest.
  214. maxLength: 253
  215. minLength: 1
  216. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  217. type: string
  218. required:
  219. - name
  220. type: object
  221. type: object
  222. template:
  223. description: Template defines a blueprint for the created Secret resource.
  224. properties:
  225. data:
  226. additionalProperties:
  227. type: string
  228. type: object
  229. engineVersion:
  230. default: v2
  231. description: |-
  232. EngineVersion specifies the template engine version
  233. that should be used to compile/execute the
  234. template specified in .data and .templateFrom[].
  235. enum:
  236. - v1
  237. - v2
  238. type: string
  239. mergePolicy:
  240. default: Replace
  241. enum:
  242. - Replace
  243. - Merge
  244. type: string
  245. metadata:
  246. description: ExternalSecretTemplateMetadata defines metadata fields
  247. for the Secret blueprint.
  248. properties:
  249. annotations:
  250. additionalProperties:
  251. type: string
  252. type: object
  253. labels:
  254. additionalProperties:
  255. type: string
  256. type: object
  257. type: object
  258. templateFrom:
  259. items:
  260. properties:
  261. configMap:
  262. properties:
  263. items:
  264. description: A list of keys in the ConfigMap/Secret
  265. to use as templates for Secret data
  266. items:
  267. properties:
  268. key:
  269. description: A key in the ConfigMap/Secret
  270. maxLength: 253
  271. minLength: 1
  272. pattern: ^[-._a-zA-Z0-9]+$
  273. type: string
  274. templateAs:
  275. default: Values
  276. enum:
  277. - Values
  278. - KeysAndValues
  279. type: string
  280. required:
  281. - key
  282. type: object
  283. type: array
  284. name:
  285. description: The name of the ConfigMap/Secret resource
  286. maxLength: 253
  287. minLength: 1
  288. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  289. type: string
  290. required:
  291. - items
  292. - name
  293. type: object
  294. literal:
  295. type: string
  296. secret:
  297. properties:
  298. items:
  299. description: A list of keys in the ConfigMap/Secret
  300. to use as templates for Secret data
  301. items:
  302. properties:
  303. key:
  304. description: A key in the ConfigMap/Secret
  305. maxLength: 253
  306. minLength: 1
  307. pattern: ^[-._a-zA-Z0-9]+$
  308. type: string
  309. templateAs:
  310. default: Values
  311. enum:
  312. - Values
  313. - KeysAndValues
  314. type: string
  315. required:
  316. - key
  317. type: object
  318. type: array
  319. name:
  320. description: The name of the ConfigMap/Secret resource
  321. maxLength: 253
  322. minLength: 1
  323. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  324. type: string
  325. required:
  326. - items
  327. - name
  328. type: object
  329. target:
  330. default: Data
  331. enum:
  332. - Data
  333. - Annotations
  334. - Labels
  335. type: string
  336. type: object
  337. type: array
  338. type:
  339. type: string
  340. type: object
  341. updatePolicy:
  342. default: Replace
  343. description: UpdatePolicy to handle Secrets in the provider.
  344. enum:
  345. - Replace
  346. - IfNotExists
  347. type: string
  348. required:
  349. - secretStoreRefs
  350. - selector
  351. type: object
  352. status:
  353. description: PushSecretStatus indicates the history of the status of PushSecret.
  354. properties:
  355. conditions:
  356. items:
  357. description: PushSecretStatusCondition indicates the status of the
  358. PushSecret.
  359. properties:
  360. lastTransitionTime:
  361. format: date-time
  362. type: string
  363. message:
  364. type: string
  365. reason:
  366. type: string
  367. status:
  368. type: string
  369. type:
  370. description: PushSecretConditionType indicates the condition
  371. of the PushSecret.
  372. type: string
  373. required:
  374. - status
  375. - type
  376. type: object
  377. type: array
  378. refreshTime:
  379. description: |-
  380. refreshTime is the time and date the external secret was fetched and
  381. the target secret updated
  382. format: date-time
  383. nullable: true
  384. type: string
  385. syncedPushSecrets:
  386. additionalProperties:
  387. additionalProperties:
  388. properties:
  389. conversionStrategy:
  390. default: None
  391. description: Used to define a conversion Strategy for the
  392. secret keys
  393. enum:
  394. - None
  395. - ReverseUnicode
  396. type: string
  397. match:
  398. description: Match a given Secret Key to be pushed to the
  399. provider.
  400. properties:
  401. remoteRef:
  402. description: Remote Refs to push to providers.
  403. properties:
  404. property:
  405. description: Name of the property in the resulting
  406. secret
  407. type: string
  408. remoteKey:
  409. description: Name of the resulting provider secret.
  410. type: string
  411. required:
  412. - remoteKey
  413. type: object
  414. secretKey:
  415. description: Secret Key to be pushed
  416. type: string
  417. required:
  418. - remoteRef
  419. type: object
  420. metadata:
  421. description: |-
  422. Metadata is metadata attached to the secret.
  423. The structure of metadata is provider specific, please look it up in the provider documentation.
  424. x-kubernetes-preserve-unknown-fields: true
  425. required:
  426. - match
  427. type: object
  428. type: object
  429. description: |-
  430. Synced PushSecrets, including secrets that already exist in provider.
  431. Matches secret stores to PushSecretData that was stored to that secret store.
  432. type: object
  433. syncedResourceVersion:
  434. description: SyncedResourceVersion keeps track of the last synced
  435. version.
  436. type: string
  437. type: object
  438. type: object
  439. served: true
  440. storage: true
  441. subresources:
  442. status: {}