highlander-proxy

command module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2020 License: MIT Imports: 12 Imported by: 0

README

highlander-proxy

highlander-proxy is a simple network proxy that encapsulates leadership election and forwarding semantics.

highlander-proxy

Status

This project currently offers v1alpha1 support. This includes:

  • Preliminary functional support, not advised for production workloads
  • Initial support for Kubernetes (future support for other platforms)

Getting started on Kubernetes

Getting started on Kubernetes is trivial. The co-process was written to integrate with the Lease API for leader election.

    containers:
      - name:  leader
        image: mjpitz/highlander-proxy:latest
        imagePullPolicy: Always
        securityContext: {}
        env:
          - name: POD_IP
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: status.podIP
          - name: NAMESPACE_NAME
            valueFrom:
              fieldRef:
                apiVersion: v1
                fieldPath: metadata.namespace
        args:
          - --identity
          - $(POD_IP)
          - --routes
          - tcp://0.0.0.0:8080|tcp://[remote_address]
          - --lock-namespace
          - $(NAMESPACE_NAME)
          - --lock-name
          - [lock_name]
        ports:
          - containerPort: 8080
            name: tcp

In order to leverage this co-process, you will need to grant the process access to the Lease API.

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: [name]
rules:
- apiGroups: ['coordination.k8s.io']
  resources: ['leases']
  verbs:     ['*']
  resourceNames:
  - [lock_name]

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal

Jump to

Keyboard shortcuts

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