external-secrets.io_clusterpushsecrets.yaml 38 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.19.0
  6. labels:
  7. external-secrets.io/component: controller
  8. name: clusterpushsecrets.external-secrets.io
  9. spec:
  10. group: external-secrets.io
  11. names:
  12. categories:
  13. - external-secrets
  14. kind: ClusterPushSecret
  15. listKind: ClusterPushSecretList
  16. plural: clusterpushsecrets
  17. singular: clusterpushsecret
  18. scope: Cluster
  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. description: ClusterPushSecret is the Schema for the ClusterPushSecrets API
  31. that enables cluster-wide management of pushing Kubernetes secrets to external
  32. providers.
  33. properties:
  34. apiVersion:
  35. description: |-
  36. APIVersion defines the versioned schema of this representation of an object.
  37. Servers should convert recognized schemas to the latest internal value, and
  38. may reject unrecognized values.
  39. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  40. type: string
  41. kind:
  42. description: |-
  43. Kind is a string value representing the REST resource this object represents.
  44. Servers may infer this from the endpoint the client submits requests to.
  45. Cannot be updated.
  46. In CamelCase.
  47. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  48. type: string
  49. metadata:
  50. type: object
  51. spec:
  52. description: ClusterPushSecretSpec defines the configuration for a ClusterPushSecret
  53. resource.
  54. properties:
  55. namespaceSelectors:
  56. description: A list of labels to select by to find the Namespaces
  57. to create the ExternalSecrets in. The selectors are ORed.
  58. items:
  59. description: |-
  60. A label selector is a label query over a set of resources. The result of matchLabels and
  61. matchExpressions are ANDed. An empty label selector matches all objects. A null
  62. label selector matches no objects.
  63. properties:
  64. matchExpressions:
  65. description: matchExpressions is a list of label selector requirements.
  66. The requirements are ANDed.
  67. items:
  68. description: |-
  69. A label selector requirement is a selector that contains values, a key, and an operator that
  70. relates the key and values.
  71. properties:
  72. key:
  73. description: key is the label key that the selector applies
  74. to.
  75. type: string
  76. operator:
  77. description: |-
  78. operator represents a key's relationship to a set of values.
  79. Valid operators are In, NotIn, Exists and DoesNotExist.
  80. type: string
  81. values:
  82. description: |-
  83. values is an array of string values. If the operator is In or NotIn,
  84. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  85. the values array must be empty. This array is replaced during a strategic
  86. merge patch.
  87. items:
  88. type: string
  89. type: array
  90. x-kubernetes-list-type: atomic
  91. required:
  92. - key
  93. - operator
  94. type: object
  95. type: array
  96. x-kubernetes-list-type: atomic
  97. matchLabels:
  98. additionalProperties:
  99. type: string
  100. description: |-
  101. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  102. map is equivalent to an element of matchExpressions, whose key field is "key", the
  103. operator is "In", and the values array contains only "value". The requirements are ANDed.
  104. type: object
  105. type: object
  106. x-kubernetes-map-type: atomic
  107. type: array
  108. pushSecretMetadata:
  109. description: The metadata of the external secrets to be created
  110. properties:
  111. annotations:
  112. additionalProperties:
  113. type: string
  114. type: object
  115. labels:
  116. additionalProperties:
  117. type: string
  118. type: object
  119. type: object
  120. pushSecretName:
  121. description: |-
  122. The name of the push secrets to be created.
  123. Defaults to the name of the ClusterPushSecret
  124. maxLength: 253
  125. minLength: 1
  126. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  127. type: string
  128. pushSecretSpec:
  129. description: PushSecretSpec defines what to do with the secrets.
  130. properties:
  131. data:
  132. description: Secret Data that should be pushed to providers
  133. items:
  134. description: PushSecretData defines data to be pushed to the
  135. provider and associated metadata.
  136. properties:
  137. conversionStrategy:
  138. default: None
  139. description: Used to define a conversion Strategy for the
  140. secret keys
  141. enum:
  142. - None
  143. - ReverseUnicode
  144. type: string
  145. match:
  146. description: Match a given Secret Key to be pushed to the
  147. provider.
  148. properties:
  149. remoteRef:
  150. description: Remote Refs to push to providers.
  151. properties:
  152. property:
  153. description: Name of the property in the resulting
  154. secret
  155. type: string
  156. remoteKey:
  157. description: Name of the resulting provider secret.
  158. type: string
  159. required:
  160. - remoteKey
  161. type: object
  162. secretKey:
  163. description: Secret Key to be pushed
  164. type: string
  165. required:
  166. - remoteRef
  167. type: object
  168. metadata:
  169. description: |-
  170. Metadata is metadata attached to the secret.
  171. The structure of metadata is provider specific, please look it up in the provider documentation.
  172. x-kubernetes-preserve-unknown-fields: true
  173. required:
  174. - match
  175. type: object
  176. type: array
  177. dataTo:
  178. description: DataTo defines bulk push rules that expand source
  179. Secret keys into provider entries.
  180. items:
  181. description: PushSecretDataTo defines how to bulk-push secrets
  182. to providers without explicit per-key mappings.
  183. properties:
  184. conversionStrategy:
  185. default: None
  186. description: Used to define a conversion Strategy for the
  187. secret keys
  188. enum:
  189. - None
  190. - ReverseUnicode
  191. type: string
  192. match:
  193. description: |-
  194. Match pattern for selecting keys from the source Secret.
  195. If not specified, all keys are selected.
  196. properties:
  197. regexp:
  198. description: |-
  199. Regexp matches keys by regular expression.
  200. If not specified, all keys are matched.
  201. type: string
  202. type: object
  203. metadata:
  204. description: |-
  205. Metadata is metadata attached to the secret.
  206. The structure of metadata is provider specific, please look it up in the provider documentation.
  207. x-kubernetes-preserve-unknown-fields: true
  208. remoteKey:
  209. description: |-
  210. RemoteKey is the name of the single provider secret that will receive ALL
  211. matched keys bundled as a JSON object (e.g. {"DB_HOST":"...","DB_USER":"..."}).
  212. When set, per-key expansion is skipped and a single push is performed.
  213. The provider's store prefix (if any) is still prepended to this value.
  214. When not set, each matched key is pushed as its own individual provider secret.
  215. type: string
  216. rewrite:
  217. description: |-
  218. Rewrite operations to transform keys before pushing to the provider.
  219. Operations are applied sequentially.
  220. items:
  221. description: PushSecretRewrite defines how to transform
  222. secret keys before pushing.
  223. properties:
  224. regexp:
  225. description: Used to rewrite with regular expressions.
  226. properties:
  227. source:
  228. description: Used to define the regular expression
  229. of a re.Compiler.
  230. type: string
  231. target:
  232. description: Used to define the target pattern
  233. of a ReplaceAll operation.
  234. type: string
  235. required:
  236. - source
  237. - target
  238. type: object
  239. transform:
  240. description: Used to apply string transformation on
  241. the secrets.
  242. properties:
  243. template:
  244. description: |-
  245. Used to define the template to apply on the secret name.
  246. `.value ` will specify the secret name in the template.
  247. type: string
  248. required:
  249. - template
  250. type: object
  251. type: object
  252. x-kubernetes-validations:
  253. - message: exactly one of regexp or transform must be
  254. set
  255. rule: (has(self.regexp) && !has(self.transform)) ||
  256. (!has(self.regexp) && has(self.transform))
  257. type: array
  258. storeRef:
  259. description: StoreRef specifies which SecretStore to push
  260. to. Required.
  261. properties:
  262. apiVersion:
  263. default: external-secrets.io/v1
  264. description: APIVersion of the SecretStore resource
  265. (external-secrets.io/v1 or secretstore.external-secrets.io/v2alpha1)
  266. type: string
  267. kind:
  268. description: Kind of the SecretStore resource (SecretStore,
  269. ClusterSecretStore, Provider, or ClusterProvider)
  270. enum:
  271. - SecretStore
  272. - ClusterSecretStore
  273. - Provider
  274. - ClusterProvider
  275. type: string
  276. labelSelector:
  277. description: Optionally, sync to secret stores with
  278. label selector
  279. properties:
  280. matchExpressions:
  281. description: matchExpressions is a list of label
  282. selector requirements. The requirements are ANDed.
  283. items:
  284. description: |-
  285. A label selector requirement is a selector that contains values, a key, and an operator that
  286. relates the key and values.
  287. properties:
  288. key:
  289. description: key is the label key that the
  290. selector applies to.
  291. type: string
  292. operator:
  293. description: |-
  294. operator represents a key's relationship to a set of values.
  295. Valid operators are In, NotIn, Exists and DoesNotExist.
  296. type: string
  297. values:
  298. description: |-
  299. values is an array of string values. If the operator is In or NotIn,
  300. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  301. the values array must be empty. This array is replaced during a strategic
  302. merge patch.
  303. items:
  304. type: string
  305. type: array
  306. x-kubernetes-list-type: atomic
  307. required:
  308. - key
  309. - operator
  310. type: object
  311. type: array
  312. x-kubernetes-list-type: atomic
  313. matchLabels:
  314. additionalProperties:
  315. type: string
  316. description: |-
  317. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  318. map is equivalent to an element of matchExpressions, whose key field is "key", the
  319. operator is "In", and the values array contains only "value". The requirements are ANDed.
  320. type: object
  321. type: object
  322. x-kubernetes-map-type: atomic
  323. name:
  324. description: Optionally, sync to the SecretStore of
  325. the given name
  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. type: object
  331. type: object
  332. x-kubernetes-validations:
  333. - message: storeRef must specify either name or labelSelector
  334. rule: has(self.storeRef) && (has(self.storeRef.name) || has(self.storeRef.labelSelector))
  335. - message: 'remoteKey and rewrite are mutually exclusive: rewrite
  336. is only supported in per-key mode (without remoteKey)'
  337. rule: '!has(self.remoteKey) || !has(self.rewrite) || size(self.rewrite)
  338. == 0'
  339. type: array
  340. deletionPolicy:
  341. default: None
  342. description: Deletion Policy to handle Secrets in the provider.
  343. enum:
  344. - Delete
  345. - None
  346. type: string
  347. refreshInterval:
  348. default: 1h0m0s
  349. description: The Interval to which External Secrets will try to
  350. push a secret definition
  351. type: string
  352. secretStoreRefs:
  353. items:
  354. description: PushSecretStoreRef contains a reference on how
  355. to sync to a SecretStore.
  356. properties:
  357. apiVersion:
  358. default: external-secrets.io/v1
  359. description: APIVersion of the SecretStore resource (external-secrets.io/v1
  360. or secretstore.external-secrets.io/v2alpha1)
  361. type: string
  362. kind:
  363. description: Kind of the SecretStore resource (SecretStore,
  364. ClusterSecretStore, Provider, or ClusterProvider)
  365. enum:
  366. - SecretStore
  367. - ClusterSecretStore
  368. - Provider
  369. - ClusterProvider
  370. type: string
  371. labelSelector:
  372. description: Optionally, sync to secret stores with label
  373. selector
  374. properties:
  375. matchExpressions:
  376. description: matchExpressions is a list of label selector
  377. requirements. The requirements are ANDed.
  378. items:
  379. description: |-
  380. A label selector requirement is a selector that contains values, a key, and an operator that
  381. relates the key and values.
  382. properties:
  383. key:
  384. description: key is the label key that the selector
  385. applies to.
  386. type: string
  387. operator:
  388. description: |-
  389. operator represents a key's relationship to a set of values.
  390. Valid operators are In, NotIn, Exists and DoesNotExist.
  391. type: string
  392. values:
  393. description: |-
  394. values is an array of string values. If the operator is In or NotIn,
  395. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  396. the values array must be empty. This array is replaced during a strategic
  397. merge patch.
  398. items:
  399. type: string
  400. type: array
  401. x-kubernetes-list-type: atomic
  402. required:
  403. - key
  404. - operator
  405. type: object
  406. type: array
  407. x-kubernetes-list-type: atomic
  408. matchLabels:
  409. additionalProperties:
  410. type: string
  411. description: |-
  412. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  413. map is equivalent to an element of matchExpressions, whose key field is "key", the
  414. operator is "In", and the values array contains only "value". The requirements are ANDed.
  415. type: object
  416. type: object
  417. x-kubernetes-map-type: atomic
  418. name:
  419. description: Optionally, sync to the SecretStore of the
  420. given name
  421. maxLength: 253
  422. minLength: 1
  423. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  424. type: string
  425. type: object
  426. type: array
  427. selector:
  428. description: The Secret Selector (k8s source) for the Push Secret
  429. maxProperties: 1
  430. minProperties: 1
  431. properties:
  432. generatorRef:
  433. description: Point to a generator to create a Secret.
  434. properties:
  435. apiVersion:
  436. default: generators.external-secrets.io/v1alpha1
  437. description: Specify the apiVersion of the generator resource
  438. type: string
  439. kind:
  440. description: Specify the Kind of the generator resource
  441. enum:
  442. - ACRAccessToken
  443. - ClusterGenerator
  444. - CloudsmithAccessToken
  445. - ECRAuthorizationToken
  446. - Fake
  447. - GCRAccessToken
  448. - GithubAccessToken
  449. - QuayAccessToken
  450. - Password
  451. - SSHKey
  452. - STSSessionToken
  453. - UUID
  454. - VaultDynamicSecret
  455. - Webhook
  456. - Grafana
  457. - MFA
  458. type: string
  459. name:
  460. description: Specify the name of the generator resource
  461. maxLength: 253
  462. minLength: 1
  463. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  464. type: string
  465. required:
  466. - kind
  467. - name
  468. type: object
  469. secret:
  470. description: Select a Secret to Push.
  471. properties:
  472. name:
  473. description: |-
  474. Name of the Secret.
  475. The Secret must exist in the same namespace as the PushSecret manifest.
  476. maxLength: 253
  477. minLength: 1
  478. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  479. type: string
  480. selector:
  481. description: Selector chooses secrets using a labelSelector.
  482. properties:
  483. matchExpressions:
  484. description: matchExpressions is a list of label selector
  485. requirements. The requirements are ANDed.
  486. items:
  487. description: |-
  488. A label selector requirement is a selector that contains values, a key, and an operator that
  489. relates the key and values.
  490. properties:
  491. key:
  492. description: key is the label key that the selector
  493. applies to.
  494. type: string
  495. operator:
  496. description: |-
  497. operator represents a key's relationship to a set of values.
  498. Valid operators are In, NotIn, Exists and DoesNotExist.
  499. type: string
  500. values:
  501. description: |-
  502. values is an array of string values. If the operator is In or NotIn,
  503. the values array must be non-empty. If the operator is Exists or DoesNotExist,
  504. the values array must be empty. This array is replaced during a strategic
  505. merge patch.
  506. items:
  507. type: string
  508. type: array
  509. x-kubernetes-list-type: atomic
  510. required:
  511. - key
  512. - operator
  513. type: object
  514. type: array
  515. x-kubernetes-list-type: atomic
  516. matchLabels:
  517. additionalProperties:
  518. type: string
  519. description: |-
  520. matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
  521. map is equivalent to an element of matchExpressions, whose key field is "key", the
  522. operator is "In", and the values array contains only "value". The requirements are ANDed.
  523. type: object
  524. type: object
  525. x-kubernetes-map-type: atomic
  526. type: object
  527. type: object
  528. template:
  529. description: Template defines a blueprint for the created Secret
  530. resource.
  531. properties:
  532. data:
  533. additionalProperties:
  534. type: string
  535. type: object
  536. engineVersion:
  537. default: v2
  538. description: |-
  539. EngineVersion specifies the template engine version
  540. that should be used to compile/execute the
  541. template specified in .data and .templateFrom[].
  542. enum:
  543. - v2
  544. type: string
  545. mergePolicy:
  546. default: Replace
  547. description: TemplateMergePolicy defines how the rendered
  548. template should be merged with the existing Secret data.
  549. enum:
  550. - Replace
  551. - Merge
  552. type: string
  553. metadata:
  554. description: ExternalSecretTemplateMetadata defines metadata
  555. fields for the Secret blueprint.
  556. properties:
  557. annotations:
  558. additionalProperties:
  559. type: string
  560. type: object
  561. finalizers:
  562. items:
  563. type: string
  564. type: array
  565. labels:
  566. additionalProperties:
  567. type: string
  568. type: object
  569. type: object
  570. templateFrom:
  571. items:
  572. description: |-
  573. TemplateFrom specifies a source for templates.
  574. Each item in the list can either reference a ConfigMap or a Secret resource.
  575. properties:
  576. configMap:
  577. description: TemplateRef specifies a reference to either
  578. a ConfigMap or a Secret resource.
  579. properties:
  580. items:
  581. description: A list of keys in the ConfigMap/Secret
  582. to use as templates for Secret data
  583. items:
  584. description: TemplateRefItem specifies a key in
  585. the ConfigMap/Secret to use as a template for
  586. Secret data.
  587. properties:
  588. key:
  589. description: A key in the ConfigMap/Secret
  590. maxLength: 253
  591. minLength: 1
  592. pattern: ^[-._a-zA-Z0-9]+$
  593. type: string
  594. templateAs:
  595. default: Values
  596. description: TemplateScope specifies how the
  597. template keys should be interpreted.
  598. enum:
  599. - Values
  600. - KeysAndValues
  601. type: string
  602. required:
  603. - key
  604. type: object
  605. type: array
  606. name:
  607. description: The name of the ConfigMap/Secret resource
  608. maxLength: 253
  609. minLength: 1
  610. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  611. type: string
  612. required:
  613. - items
  614. - name
  615. type: object
  616. literal:
  617. type: string
  618. secret:
  619. description: TemplateRef specifies a reference to either
  620. a ConfigMap or a Secret resource.
  621. properties:
  622. items:
  623. description: A list of keys in the ConfigMap/Secret
  624. to use as templates for Secret data
  625. items:
  626. description: TemplateRefItem specifies a key in
  627. the ConfigMap/Secret to use as a template for
  628. Secret data.
  629. properties:
  630. key:
  631. description: A key in the ConfigMap/Secret
  632. maxLength: 253
  633. minLength: 1
  634. pattern: ^[-._a-zA-Z0-9]+$
  635. type: string
  636. templateAs:
  637. default: Values
  638. description: TemplateScope specifies how the
  639. template keys should be interpreted.
  640. enum:
  641. - Values
  642. - KeysAndValues
  643. type: string
  644. required:
  645. - key
  646. type: object
  647. type: array
  648. name:
  649. description: The name of the ConfigMap/Secret resource
  650. maxLength: 253
  651. minLength: 1
  652. pattern: ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$
  653. type: string
  654. required:
  655. - items
  656. - name
  657. type: object
  658. target:
  659. default: Data
  660. description: |-
  661. Target specifies where to place the template result.
  662. For Secret resources, common values are: "Data", "Annotations", "Labels".
  663. For custom resources (when spec.target.manifest is set), this supports
  664. nested paths like "spec.database.config" or "data".
  665. type: string
  666. type: object
  667. type: array
  668. type:
  669. type: string
  670. type: object
  671. updatePolicy:
  672. default: Replace
  673. description: UpdatePolicy to handle Secrets in the provider.
  674. enum:
  675. - Replace
  676. - IfNotExists
  677. type: string
  678. required:
  679. - secretStoreRefs
  680. - selector
  681. type: object
  682. refreshTime:
  683. description: The time in which the controller should reconcile its
  684. objects and recheck namespaces for labels.
  685. type: string
  686. required:
  687. - pushSecretSpec
  688. type: object
  689. status:
  690. description: ClusterPushSecretStatus contains the status information for
  691. the ClusterPushSecret resource.
  692. properties:
  693. conditions:
  694. items:
  695. description: PushSecretStatusCondition indicates the status of the
  696. PushSecret.
  697. properties:
  698. lastTransitionTime:
  699. format: date-time
  700. type: string
  701. message:
  702. type: string
  703. reason:
  704. type: string
  705. status:
  706. type: string
  707. type:
  708. description: PushSecretConditionType indicates the condition
  709. of the PushSecret.
  710. type: string
  711. required:
  712. - status
  713. - type
  714. type: object
  715. type: array
  716. failedNamespaces:
  717. description: Failed namespaces are the namespaces that failed to apply
  718. an PushSecret
  719. items:
  720. description: ClusterPushSecretNamespaceFailure represents a failed
  721. namespace deployment and it's reason.
  722. properties:
  723. namespace:
  724. description: Namespace is the namespace that failed when trying
  725. to apply an PushSecret
  726. type: string
  727. reason:
  728. description: Reason is why the PushSecret failed to apply to
  729. the namespace
  730. type: string
  731. required:
  732. - namespace
  733. type: object
  734. type: array
  735. provisionedNamespaces:
  736. description: ProvisionedNamespaces are the namespaces where the ClusterPushSecret
  737. has secrets
  738. items:
  739. type: string
  740. type: array
  741. pushSecretName:
  742. type: string
  743. type: object
  744. type: object
  745. served: true
  746. storage: true
  747. subresources:
  748. status: {}