<commit_before># kube-apiproxy

If you ever had to set up a Kubernetes cluster you know that it is a fairly
simple task, apart from one thing - if API server goes away, you have to bring
it back and tell other components where it is. Some people use an ELB with a
persistent DNS entry which they update if kubernetes API service is moved
somewhere else, others use config management tools to update configuration and
restart Kubernetes components, etc.

A lot of people deploy Kubernetes on CoreOS using fleet which is a really great
way.

This proxy service talks to fleet daemon to find which node runs Kubernetes API
and proxies traffic through to the API server. When that node goes down, fleet
will then start the API service on another node which is automatically
discovered by `kube-apiproxy`.

This means that Kubernetes API is always accessible on `localhost:8081` by default.

## Configuration

Configuration is done via command line arguments.

```bash
$ kube-apiproxy --help
Usage of bin/kube-apiproxy:
  -api-port="8080": kubernetes api port
  -fleet-endpoint="unix:///run/fleet.sock": fleet endpoint
  -proxy-listen="localhost:8081": proxy listen ip:port
  -unit-name="kube-apiserver.service": fleet unit name for kubernetes api server
```

## Contribution

Please feel free to send PRs and issues my way. I am very new to Go
programming, I am sure that the code can be improved a lot by keeping the core<commit_msg>README: add building section<commit_after># kube-apiproxy

If you ever had to set up a Kubernetes cluster you know that it is a fairly
simple task, apart from one thing - if API server goes away, you have to bring
it back and tell other components where it is. Some people use an ELB with a
persistent DNS entry which they update if kubernetes API service is moved
somewhere else, others use config management tools to update configuration and
restart Kubernetes components, etc.

A lot of people deploy Kubernetes on CoreOS using fleet which is a really great
way.

This proxy service talks to fleet daemon to find which node runs Kubernetes API
and proxies traffic through to the API server. When that node goes down, fleet
will then start the API service on another node which is automatically
discovered by `kube-apiproxy`.

This means that Kubernetes API is always accessible on `localhost:8081` by default.

## Building

You will need `gb` tool - http://getgb.io/.

```
git clone https://github.com/vaijab/kube-apiproxy.git
cd kube-apiproxy
gb build all
```

## Configuration

Configuration is done via command line arguments.

```bash
$ kube-apiproxy --help
Usage of bin/kube-apiproxy:
  -api-port="8080": kubernetes api port
  -fleet-endpoint="unix:///run/fleet.sock": fleet endpoint
  -proxy-listen="localhost:8081": proxy listen ip:port
  -unit-name="kube-apiserver.service": fleet unit name for kubernetes api server
```

## Contribution

Please feel free to send PRs and issues my way. I am very new to Go
programming, I am sure that the code can be improved a lot by keeping the core
{'fraction_non_alphanumeric': 0.05981493721083939, 'fraction_numerical': 0.007931262392597489, 'mean_word_length': 4.291958041958042, 'pattern_counts': {'":': 8, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2907145', 'n_tokens_mistral': 857, 'n_tokens_neox': 804, 'n_words': 445}