apiVersion: service.aep.asag.io/v1
kind: Definition
metadata:
  name: k8s-0.0.0-484b5652
  namespace: asag
spec:
  clusters:
    - flags:
        - from: value
          key: v1_role
          to: label
          value: etcd
        - from: value
          key: delay_final_config
          to: annotation
          value: true
      name: etcd
      podspec:
        containers:
          - image: aep/base_jammy
            name: etcd
      provides:
        - exposed: false
          name: etcd
          network: direct
          servicespec:
            ports:
              - name: clients
                port: 2379
                protocol: TCP
                targetPort: 2379
              - name: peers
                port: 2380
                protocol: TCP
                targetPort: 2380
      sizing:
        increment: 1
        initial: 3
        maximum: 10
        minimum: 1
    - flags:
        - from: value
          key: v1_role
          to: label
          value: k8s-api
        - from: setting
          key: v1_service_cluster_ip_range
          setting: service_cluster_ip_range
          to: annotation
        - from: value
          key: delay_final_config
          to: annotation
          value: true
      name: k8s-api
      podspec:
        containers:
          - image: aep/base_jammy
            name: k8s-api
      provides:
        - exposed: true
          name: k8s-api-ha
          network: loadbalanced
          servicespec:
            ports:
              - name: api
                port: 6443
                protocol: TCP
                targetPort: 6443
      settings:
        - from:
            - user
            - event
          name: service_cluster_ip_range
          required: true
          schema:
            description: Virtual IP address range for services created on Kubernetes (CIDR notation)
            type: string
      sizing:
        increment: 1
        initial: 2
        maximum: 10
        minimum: 1
    - annotations:
        x-lxe-additional-lxd-config: |
          raw.lxc: lxc.mount.entry = /dev/fuse dev/fuse none bind,create=file 0 0
      flags:
        - from: value
          key: v1_role
          to: label
          value: k8s-minion
        - from: setting
          key: gateway_ip
          setting: gateway_ip
          to: annotation
        - from: value
          key: delay_final_config
          to: annotation
          value: true
      name: k8s-minion
      podspec:
        containers:
          - image: aep/base_jammy
            name: k8s-minion
            securityContext:
              privileged: true
      settings:
        - from:
            - user
          name: gateway_ip
          required: true
          schema:
            description: Virtual IP address that serves as the nexthop address for routing into Kubernetes networks.
            type: string
      sizing:
        increment: 1
        initial: 3
        maximum: 20
        minimum: 1
  dependencies:
    operator:
      name: k8s-operator
      vendor: asag
      version: 0.0.0-484b5652
  includes:
    - name: defaults-service
      vendor: asag
      version: 0.3.0
  name: k8s
  settings:
    - name: environment
      schema:
        default: k8s_prod
  version: 0.0.0-484b5652
