Advanced configuration

Juju Kubernetes applications support Kubernets specific configuration knobs to control how Juju deploys the application on Kubernetes. The following are supported (these names are the Juju config attribute names; the k8s meaning should be obvious):

    kubernetes-service-type                         default ClusterIP
    kubernetes-service-annotations          default {}
    kubernetes-service-external-ips                 default []
    kubernetes-service-target-port                  default <container port>
    kubernetes-service-loadbalancer-ip              default ""
    kubernetes-service-loadbalancer-sourceranges    default []
    kubernetes-service-externalname                 default ""

    kubernetes-ingress-class                        default "nginx"
    kubernetes-ingress-ssl-redirect                 default false
    kubernetes-ingress-ssl-passthrough              default false
    kubernetes-ingress-allow-http                   default false

The above must be set at the time of deploy, eg

juju deploy mariadb-k8s --config kubernetes-service-loadbalancer-ip=10.1.1.1

There are also 2 other configuration attributes which are not Kubernetes specific:

    juju-external-hostname           default ""
    juju-application-path            default "/"

The last 2 attributes above control how the application is exposed externally using a Kubernetes Ingress Resource in conjunction with the configured ingress controller (default nginx).

Do these options require a layer-caas-base or are they in some sense built into Juju?

Can these knobs be set in a bundle file?

@tvansteenburgh Yes, they are handled client side like all the other config and are split out server side.