crds.yaml 3.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. apiVersion: apiextensions.k8s.io/v1
  2. kind: CustomResourceDefinition
  3. metadata:
  4. annotations:
  5. controller-gen.kubebuilder.io/version: v0.14.0
  6. name: peers.kilo.squat.ai
  7. spec:
  8. group: kilo.squat.ai
  9. names:
  10. kind: Peer
  11. listKind: PeerList
  12. plural: peers
  13. singular: peer
  14. scope: Cluster
  15. versions:
  16. - name: v1alpha1
  17. schema:
  18. openAPIV3Schema:
  19. description: Peer is a WireGuard peer that should have access to the VPN.
  20. properties:
  21. apiVersion:
  22. description: |-
  23. APIVersion defines the versioned schema of this representation of an object.
  24. Servers should convert recognized schemas to the latest internal value, and
  25. may reject unrecognized values.
  26. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
  27. type: string
  28. kind:
  29. description: |-
  30. Kind is a string value representing the REST resource this object represents.
  31. Servers may infer this from the endpoint the client submits requests to.
  32. Cannot be updated.
  33. In CamelCase.
  34. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
  35. type: string
  36. metadata:
  37. type: object
  38. spec:
  39. description: |-
  40. Specification of the desired behavior of the Kilo Peer. More info:
  41. https://github.com/kubernetes/community/blob/master/contributors/devel/api-conventions.md#spec-and-status
  42. properties:
  43. allowedIPs:
  44. description: |-
  45. AllowedIPs is the list of IP addresses that are allowed
  46. for the given peer's tunnel.
  47. items:
  48. type: string
  49. type: array
  50. endpoint:
  51. description: Endpoint is the initial endpoint for connections to the peer.
  52. properties:
  53. dnsOrIP:
  54. description: DNSOrIP is a DNS name or an IP address.
  55. properties:
  56. dns:
  57. description: DNS must be a valid RFC 1123 subdomain.
  58. type: string
  59. ip:
  60. description: IP must be a valid IP address.
  61. type: string
  62. type: object
  63. port:
  64. description: Port must be a valid port number.
  65. format: int32
  66. type: integer
  67. required:
  68. - dnsOrIP
  69. - port
  70. type: object
  71. persistentKeepalive:
  72. description: |-
  73. PersistentKeepalive is the interval in seconds of the emission
  74. of keepalive packets by the peer. This defaults to 0, which
  75. disables the feature.
  76. type: integer
  77. presharedKey:
  78. description: PresharedKey is the optional symmetric encryption key for the peer.
  79. type: string
  80. publicKey:
  81. description: PublicKey is the WireGuard public key for the peer.
  82. type: string
  83. required:
  84. - allowedIPs
  85. - publicKey
  86. type: object
  87. required:
  88. - spec
  89. type: object
  90. served: true
  91. storage: true