Skip to content

A controller creates/updates/manages PAN atop Kubernetes. 🐥🐥🐥

License

Notifications You must be signed in to change notification settings

inwinstack/pa-controller

Repository files navigation

Build Status codecov Docker Pulls Hex.pm

PA Controller

The PA controller for syncing Kubernetes CRDs to make it easy to set PAN policy and object.

Once installed, the PA controller provides the following custom resources:

  • NAT: NAT rules provide address translation, and are different from security policy rules, which allow or deny packets.
  • Security: Security policy protects network assets from threats and disruptions and aids in optimally allocating network resources for enhancing productivity and efficiency in business processes.
  • Service: When you define policies for specific applications, you can select one or more services to limit the port numbers the applications can use.

Building from Source

Clone repo into your go path under $GOPATH/src:

$ git clone https://github.com/inwinstack/pa-controller.git $GOPATH/src/github.com/inwinstack/pa-controller
$ cd $GOPATH/src/github.com/inwinstack/pa-controller
$ make

Debug out of the cluster

Run the following command to debug:

$ go run cmd/main.go \
    --kubeconfig $HOME/.kube/config \
    --logtostderr \
    -v=2 \
    --host=172.22.132.114 \
    --username=admin \
    --password=admin 

Deploy in the cluster

Run the following command to deploy the controller:

$ kubectl apply -f deploy/
$ kubectl -n kube-system get po -l app=pa-controller