labels:
  io.cattle.role: project
categories:
- High Availibility
questions:
# VRRP Basic Configuration
- variable: keepalived.virtual_ip
  default: "192.168.1.1"
  description: "VRRP Virtual IP Address"
  label: Virtual IP
  type: string
  group: VRRP Configuration
  required: true
- variable: keepalived.virtual_mask
  default: 24
  description: "VRRP Virtual IP Network Mask (0-255)"
  label: Network Mask
  type: int
  group: VRRP Configuration
  required: true
- variable: keepalived.vrid
  default: 1
  description: "VRRP Virtual Router ID (0-255)"
  label: Router ID
  type: int
  group: VRRP Configuration
  required: true
- variable: keepalived.interface
  default: "eth0"
  description: "Network Interface for VRRP Packets"
  label: Network Interface
  type: string
  group: VRRP Configuration
  required: true
- variable: keepalived.auth_pass
  default: "agoodpwd"
  description: "8 characters VRRP Authentication Password"
  label: Auth Password
  type: string
  group: VRRP Configuration
  required: true

# Service Kind
- variable: haManagedService
  default: "Nginx Ingress Controller"
  description: "Which HA Service should Keepalive manage?"
  type: enum
  label: "HA Service"
  options:
    - "Nginx Ingress"
    - "Generic HTTPS"
    - "Generic HTTP"
    - "Generic TCP"
    - "Other"
  required: true
  group: Health Check

# Nginx Ingress
- variable: keepalived.check_script
  show_if: "haManagedService=Nginx Ingress"
  default: wget -q localhost\\/healthz -O -
  description: "Default Nginx Ingress healthcheck."
  label: Nginx Ingress Check Script
  type: string
  group: Hidden
  required: true
- variable: keepalived.check_script
  show_if: "haManagedService=Generic HTTPS"
  default: "ss -ltn | grep :443"
  description: "Uses SS to check if port 443 is open in localhost."
  label: Generic HTTPS Check Script
  type: string
  group: Hidden
  required: true
- variable: keepalived.check_script
  show_if: "haManagedService=Generic HTTP"
  default: "ss -ltn | grep :80"
  description: "Uses SS to check if port 80 is open in localhost."
  label: Generic HTTP Check Script
  type: string
  group: Hidden
  required: true
- variable: keepalived.check_port
  show_if: "haManagedService=Generic TCP"
  default: "80"
  description: "Specify a generic TCP Port to be checked with SS."
  label: TCP Check Port
  type: int
  group: Health Check
  required: true
- variable: keepalived.check_script
  show_if: "haManagedService=Other"
  default: ""
  description: "Custom healthcheck script (runs in the keepalived container)"
  label: Custom Check Script
  type: string
  group: Health Check
  required: true