external-secrets.io_pushsecrets.yaml 19 KB

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