external-secrets.io_pushsecrets.yaml 19 KB

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