k8s: Add basic structure for validation tool
This patch introduces CLI utility for checking if Kubernetes cluster
follows security recommendations. Provided Makefile simplifies setup
process by setting appropriate environment variables for the build.
Further information can be found in README. Provided symlink allows
proper document rendering on VCS hosting site.
Issue-ID: SECCOM-235
Change-Id: I4a1337c9834322ee4fd742a9ccb979b9bc505f75
Signed-off-by: Pawel Wieczorek <p.wieczorek2@samsung.com>
diff --git a/test/security/k8s/.gitignore b/test/security/k8s/.gitignore
new file mode 100644
index 0000000..3db554d
--- /dev/null
+++ b/test/security/k8s/.gitignore
@@ -0,0 +1,2 @@
+# Built binaries
+/bin/check
diff --git a/test/security/k8s/Makefile b/test/security/k8s/Makefile
new file mode 100644
index 0000000..aeb1d90
--- /dev/null
+++ b/test/security/k8s/Makefile
@@ -0,0 +1,20 @@
+PROJECT = check
+BIN_DIR = bin
+BIN = check
+
+all: run
+
+run: build
+ $(BIN_DIR)/$(BIN)
+
+build: $(BIN)
+
+$(BIN): export GOPATH = $(shell pwd)
+$(BIN):
+ go install $(PROJECT)/cmd/$(BIN)
+
+clean:
+ rm $(BIN_DIR)/$(BIN)
+ rmdir $(BIN_DIR)
+
+.PHONY: all run build clean $(BIN)
diff --git a/test/security/k8s/README b/test/security/k8s/README
new file mode 100644
index 0000000..e7ee79f
--- /dev/null
+++ b/test/security/k8s/README
@@ -0,0 +1,26 @@
+##############################
+K8s secure configuration check
+##############################
+
+Utility for checking if Kubernetes cluster configuration follows security recommendations.
+
+***************
+Getting started
+***************
+
+Prerequisites
+=============
+
+- make
+- go_
+
+.. _go: https://golang.org/doc/install
+
+Running
+=======
+
+Calling::
+
+ make run
+
+will build and run configuration check executable. It is the default target.
diff --git a/test/security/k8s/README.rst b/test/security/k8s/README.rst
new file mode 120000
index 0000000..100b938
--- /dev/null
+++ b/test/security/k8s/README.rst
@@ -0,0 +1 @@
+README
\ No newline at end of file
diff --git a/test/security/k8s/src/check/cmd/check/check.go b/test/security/k8s/src/check/cmd/check/check.go
new file mode 100644
index 0000000..18487e2
--- /dev/null
+++ b/test/security/k8s/src/check/cmd/check/check.go
@@ -0,0 +1,9 @@
+package main
+
+import (
+ "flag"
+)
+
+func main() {
+ flag.Parse()
+}