farva/

directory
v0.10.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 29, 2017 License: Apache-2.0, Apache-2.0

README

farva

This is the start to a Kubernetes Ingress Controller. Start by building the code:

% ./build
Building bin/darwin_amd64/farva...done
Building bin/linux_amd64/farva...done

Now, assuming you've got a Kubernetes cluster with a single service, you can run farva:

% ./bin/darwin_amd64/farva --kubeconfig=<KUBECONFIG>

http {

    server default__nginx {
        listen 30190;
    }
    upstream default__nginx {

        server 10.1.2.5;  # nginx-aheok
        server 10.1.2.7;  # nginx-avop9
        server 10.1.2.6;  # nginx-bguu4
    }

}

Canonincal hostnames

When farva generates server directives for http services, it automatically derives a hostname from the ingress's name, ingress's namespace, and the cluster-zone configuration provided at startup.

E.g. with an ingress named my-service in the default namespace, and with farva launched using --cluster-zone=k8s.example.com the "canonical" hostname generated by farva would be my-service.default.gateway.k8s.example.com.

Vanity hostnames

With default configuration, farva will find klondike.gateway/hostname-aliases annotations on a given ingress object and use them to populate server_name directives with additional hosts for host-based routing, in addition to the canonical hostname already mentioned.

kubectl annotate ing my-service klondike.gateway/hostname-aliases=maximumwizardry.com

Directories

Path Synopsis
cmd
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL