template.yaml 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. ---
  2. kind: kubernetes
  3. metadata:
  4. icon:
  5. provider: selfh
  6. id: kubernetes
  7. name: Kubernetes Service
  8. description: >
  9. Kubernetes Service resource for exposing applications running on a set of Pods.
  10. Services provide stable network endpoints and load balancing.
  11. Documentation: https://kubernetes.io/docs/concepts/services-networking/service/
  12. version: 1.31.0
  13. author: Christian Lempa
  14. date: '2025-01-11'
  15. schema: "1.2"
  16. spec:
  17. general:
  18. vars:
  19. resource_name:
  20. default: app-service
  21. namespace:
  22. default: default
  23. service_type:
  24. type: enum
  25. description: Service type
  26. options:
  27. - ClusterIP
  28. - NodePort
  29. - LoadBalancer
  30. - ExternalName
  31. default: ClusterIP
  32. service_port:
  33. type: int
  34. description: Service port
  35. default: 80
  36. target_port:
  37. type: int
  38. description: Target port on pods
  39. default: 8080
  40. protocol:
  41. type: enum
  42. description: Protocol
  43. options:
  44. - TCP
  45. - UDP
  46. - SCTP
  47. default: TCP
  48. resources:
  49. title: Resource Limits
  50. toggle: resources_enabled
  51. vars:
  52. resources_enabled:
  53. type: bool
  54. description: Enable resource limits and requests
  55. default: false
  56. resources_cpu_limit:
  57. type: str
  58. description: CPU limit
  59. default: 100m
  60. resources_cpu_request:
  61. type: str
  62. description: CPU request
  63. default: 50m
  64. resources_memory_limit:
  65. type: str
  66. description: Memory limit
  67. default: 128Mi
  68. resources_memory_request:
  69. type: str
  70. description: Memory request
  71. default: 64Mi
  72. traefik:
  73. title: Traefik Integration
  74. toggle: traefik_enabled
  75. vars:
  76. traefik_enabled:
  77. type: bool
  78. description: Enable Traefik integration
  79. default: false
  80. traefik_host:
  81. type: hostname
  82. description: Traefik host
  83. traefik_domain:
  84. type: str
  85. description: Traefik domain
  86. traefik_tls_enabled:
  87. type: bool
  88. description: Enable TLS
  89. default: true
  90. traefik_tls_certresolver:
  91. type: str
  92. description: TLS certificate resolver
  93. default: letsencrypt-prod
  94. app_selector:
  95. type: str
  96. description: App label selector (e.g., app.kubernetes.io/name value)