blob: ffedb11d17d392737095968f613dbe4aa6f599b4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
|
=====================
SSL endpoints check
=====================
Utility for checking if all of the ports exposed outside of Kubernetes cluster
use SSL tunnels.
Prerequisites
-------------
Configuration
~~~~~~~~~~~~~
``-kubeconfig``
Optional unless ``$HOME`` is not set. Defaults to ``$HOME/.kube/config``.
Build (local)
~~~~~~~~~~~~~
- go_ (1.11+, tested on 1.13)
.. _go: https://golang.org/doc/install
Build (Docker)
~~~~~~~~~~~~~~
- Docker_ engine
- make (optional)
.. _Docker: https://docs.docker.com/install
Test
~~~~
- Ginkgo_
- GolangCI-Lint_ (optional)
.. _Ginkgo: https://onsi.github.io/ginkgo/#getting-ginkgo
.. _GolangCI-Lint: https://github.com/golangci/golangci-lint#install
Building
--------
Command (local)
~~~~~~~~~~~~~~~
.. code-block:: shell
$ mkdir bin
$ go build -o bin/sslendpoints
Additional ``bin`` directory and specifying ``go build`` output are used to
declutter project and maintain compatibility with Docker-based process. Running
``go build`` without parameters will create ``sslendpoints`` binary in current
directory.
Command (Docker)
~~~~~~~~~~~~~~~~
.. code-block:: shell
$ make # or commands from corresponding "make" targets
Running
-------
Command (local)
~~~~~~~~~~~~~~~
.. code-block:: shell
$ bin/sslendpoints [-kubeconfig KUBECONFIG]
Command (Docker)
~~~~~~~~~~~~~~~~
.. code-block:: shell
$ docker run --rm --volume $KUBECONFIG:/.kube/config \
sslendpoints-build-img /bin/sslendpoints
$ docker run --rm --volume $KUBECONFIG:/opt/config \
sslendpoints-build-img /bin/sslendpoints -kubeconfig /opt/config
Output
~~~~~~
Testing
-------
.. code-block:: shell
$ go test ./... # basic
$ ginkgo -r # pretty
$ golangci-lint run # linters
|