77## Releases
88
99Cloud Controller Manager follows [ semantic versioning] ( https://semver.org/ ) .
10- The current version is ** ` v0.1.27 ` ** . This means that the project is still
10+ The current version is ** ` v0.1.28 ` ** . This means that the project is still
1111under active development and may not be production-ready. The plugin will be
1212bumped to ** ` v1.0.0 ` ** once the [ DigitalOcean Kubernetes
1313product] ( https://www.digitalocean.com/products/kubernetes/ ) is released and
@@ -90,43 +90,50 @@ Please note that if you use a Kubernetes cluster created on DigitalOcean, there
9090will be a cloud controller manager running in the cluster already, so you local
9191one will compete for API access with it.
9292
93- ### Run Locally (optional features)
93+ ### Optional features
9494
9595#### Add Public Access Firewall
9696
97- If you want to add an additional firewall, that allows public access to your
98- cluster, you can run a command like this:
97+ You can have ` digitalocan-cloud-controller-manager ` manage a DigitalOcean Firewall
98+ that will dynamically adjust rules for accessing NodePorts: once a Service of type
99+ ` NodePort ` is created, the firewall controller will update the firewall to public
100+ allow access to just that NodePort. Likewise, access is automatically retracted
101+ if the Service gets deleted or changed to a different type.
102+
103+ Example invocation:
99104
100105``` bash
101106cd cloud-controller-manager/cmd/digitalocean-cloud-controller-manager
102- FAKE_REGION=fra1 DO_ACCESS_TOKEN=your_access_token \
107+ DO_ACCESS_TOKEN=< your_access_token> \
103108PUBLIC_ACCESS_FIREWALL_NAME=firewall_name \
104- PUBLIC_ACCESS_FIREWALL_TAGS=k8s,k8s: < cluster-uuid > ,k8s: worker \
105- go run main.go \
109+ PUBLIC_ACCESS_FIREWALL_TAGS=worker-droplet \
110+ digitalocean-cloud-controller-manager \
106111 --kubeconfig < path to your kubeconfig file> \
107112 --leader-elect=false --v=5 --cloud-provider=digitalocean
108113```
109114
110- The ` PUBLIC_ACCESS_FIREWALL_NAME ` environment variable allows you to pass in
111- the name of the firewall you plan to use in addition to the already existing
112- DOKS managed firewall. It is called public access because you can
113- allow access to ports in the NodePort range, whereas this isn't possible with
114- the default DOKS managed firewall. Not passing this in will cause your cluster
115- to resort to the default behavior of denying all access to ports in the
116- NodePort range.
115+ The ` PUBLIC_ACCESS_FIREWALL_NAME ` environment variable defines the name of the
116+ firewall. The firewall is created if no firewall by that name is found.
117117
118118The ` PUBLIC_ACCESS_FIREWALL_TAGS ` environment variable refers to the tags
119- associated with the public access firewall you provide.
119+ associated with the droplets that the firewall should apply to. Usually, this
120+ is a tag attached to the worker node droplets. Multiple tags are applied in
121+ a logical OR fashion.
122+
123+ No firewall is managed if the environment variables are missing or left
124+ empty. Once the firewall is created, no public access other than to the NodePorts
125+ is allowed. Users should create additional firewalls to further extend access.
120126
121127#### Expose Prometheus Metrics
122128
123- If you are interested in exposing prometheus metrics, you can pass in a metrics
129+ If you are interested in exposing Prometheus metrics, you can pass in a metrics
124130endpoint that will expose them. The command will look similar to this:
125131
126132``` bash
127133cd cloud-controller-manager/cmd/digitalocean-cloud-controller-manager
128- FAKE_REGION=fra1 DO_ACCESS_TOKEN=your_access_token \
129- METRICS_ADDR=< host> :< port> go run main.go \
134+ DO_ACCESS_TOKEN=your_access_token \
135+ METRICS_ADDR=< host> :< port> \
136+ digitalocean-cloud-controller-manager \
130137 --kubeconfig < path to your kubeconfig file> \
131138 --leader-elect=false --v=5 --cloud-provider=digitalocean
132139```
@@ -135,8 +142,8 @@ The `METRICS_ADDR` environment variable takes a valid endpoint that you'd
135142like to use to serve your Prometheus metrics. To be valid it should be in the
136143form ` <host>:<port> ` .
137144
138- After you have started up CCM , run the following curl command to view the
139- Prometheus metrics output:
145+ After you have started up ` digitalocan-cloud-controller-manager ` , run the
146+ following curl command to view the Prometheus metrics output:
140147
141148``` bash
142149curl < host> :< port> /metrics
0 commit comments