--- /dev/null
+docker/manifest-tool
+*.sw?
--- /dev/null
+[gerrit]
+host=gerrit.akraino.org
+port=29418
+project=validation.git
+defaultbranch=master
--- /dev/null
+##############################################################################
+# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you maynot use this file except in compliance with the License. #
+# #
+# You may obtain a copy of the License at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+SUBDIRS := $(wildcard */.)
+SUBDIRS_NAME := $(SUBDIRS:/.=)
+SUBDIRS_BUILD := $(SUBDIRS:/.=-build)
+SUBDIRS_PUSH := $(SUBDIRS:/.=-push)
+
+.PHONY: all
+all: $(SUBDIRS_NAME)
+
+.PHONY: build-all
+build-all: $(SUBDIRS_BUILD)
+
+.PHONY: $(SUBDIRS_NAME)
+$(SUBDIRS_NAME):
+ $(MAKE) -C $@
+
+.PHONY: $(SUBDIRS_BUILD)
+$(SUBDIRS_BUILD): $(SUBDIRS)
+ $(MAKE) -C $< build
+
+include build.mk
--- /dev/null
+.. ############################################################################
+.. Copyright (c) 2019 AT&T, ENEA AB, Nokia and others #
+.. #
+.. Licensed under the Apache License, Version 2.0 (the "License"); #
+.. you maynot use this file except in compliance with the License. #
+.. #
+.. You may obtain a copy of the License at #
+.. http://www.apache.org/licenses/LICENSE-2.0 #
+.. #
+.. Unless required by applicable law or agreed to in writing, software #
+.. distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+.. WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+.. See the License for the specific language governing permissions and #
+.. limitations under the License. #
+.. ############################################################################
+
+
+Overview
+========
+
+The Makefile in this directory is used to build and push all
+the validation containers. The command to do that is:
+ make all REGISTRY=<dockerhub_registry>
+To just build the containers, use the command:
+ make build-all REGISTRY=<dockerhub_registry>
+
+The k8s container
+=================
+
+To build just the k8s container, use the command:
+ make k8s-build REGISTRY=<dockerhub_registry>
+To both build and push the container, use the command:
+ make k8s REGISTRY=<dockerhub_registry>
+
+Container should be started with the admin.conf file mounted:
+docker run -ti -v /home/jenkins/admin.conf:/root/.kube/config \
+<dockerhub_registry>/akraino_validation:k8s-latest /bin/sh
--- /dev/null
+##############################################################################
+# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you maynot use this file except in compliance with the License. #
+# #
+# You may obtain a copy of the License at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+
+# declare the variables
+REGISTRY ?= # TBD
+NAME ?= akraino_validation
+TAG_PRE ?= $(notdir $(CURDIR))
+TAG_VER ?= latest
+DOCKERFILE ?= Dockerfile
+MTOOL ?= $(dir $(realpath $(lastword $(MAKEFILE_LIST))))/manifest-tool
+
+# get the architecture of the host
+HOST_ARCH = amd64
+ifeq ($(shell uname -m), aarch64)
+ HOST_ARCH = arm64
+endif
+
+$(MTOOL):
+ wget https://github.com/estesp/manifest-tool/releases/download/v0.9.0/manifest-tool-linux-$(HOST_ARCH) -O $@
+ sudo chmod +x $@
+
+.PHONY: .build
+.build:
+ docker build \
+ -t $(REGISTRY)/$(NAME):$(TAG_PRE)-$(HOST_ARCH)-$(TAG_VER) \
+ -f $(DOCKERFILE) \
+ .
+
+.PHONY: .push_image
+.push_image: .build
+ docker push $(REGISTRY)/$(NAME):$(TAG_PRE)-$(HOST_ARCH)-$(TAG_VER)
+
+.PHONY: .push_manifest
+.push_manifest: $(MTOOL)
+ $(MTOOL) push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template $(REGISTRY)/$(NAME):$(TAG_PRE)-ARCH-$(TAG_VER) \
+ --target $(REGISTRY)/$(NAME):$(TAG_PRE)-$(TAG_VER)
--- /dev/null
+##############################################################################
+# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you maynot use this file except in compliance with the License. #
+# #
+# You may obtain a copy of the License at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+# ref: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
+FROM golang:alpine3.9 as build
+
+# Sonobuoy supports Kubernetes versions 1.11, 1.12 and 1.13
+ARG K8S_TAG=v1.13.0
+
+# Install dependencies
+COPY pip-requirements.txt /wheels/requirements/pip-requirements.txt
+RUN apk --no-cache add --update \
+ openssl \
+ python3 \
+ bash \
+ findutils \
+ gcc \
+ git \
+ grep \
+ libc-dev \
+ libffi \
+ libffi-dev \
+ make \
+ openssl-dev \
+ python3-dev \
+ py3-pip \
+ rsync
+
+# Build binaries; detect the architecture automatically (default is amd64)
+RUN git clone https://github.com/kubernetes/kubernetes /src/k8s.io/kubernetes
+RUN if [ $(uname -m) == 'aarch64' ]; then HOST_ARCH=arm64; else HOST_ARCH=amd64; fi && \
+ echo "Building docker on $HOST_ARCH" && \
+ cd /src/k8s.io/kubernetes && \
+ git checkout $K8S_TAG && \
+ make kubectl ginkgo && \
+ make WHAT=test/e2e/e2e.test ARCH=$HOST_ARCH
+RUN go get -u -v github.com/heptio/sonobuoy
+
+WORKDIR /wheels
+RUN pip3 install wheel
+RUN pip3 wheel -r /wheels/requirements/pip-requirements.txt
+
+# Copy binaries in the final contaier and install robot framework
+FROM python:3.6-alpine3.9
+COPY --from=build /src/k8s.io/kubernetes/_output/bin /usr/local/bin
+COPY --from=build /go/bin/sonobuoy /bin/sonobuoy
+COPY --from=build /wheels /wheels
+
+RUN pip3 install -r /wheels/requirements/pip-requirements.txt \
+ -f /wheels && \
+ rm -rf /wheels && \
+ rm -rf /root/.cache/pip/*
--- /dev/null
+##############################################################################
+# Copyright (c) 2019 AT&T, ENEA AB, Nokia and others #
+# #
+# Licensed under the Apache License, Version 2.0 (the "License"); #
+# you maynot use this file except in compliance with the License. #
+# #
+# You may obtain a copy of the License at #
+# http://www.apache.org/licenses/LICENSE-2.0 #
+# #
+# Unless required by applicable law or agreed to in writing, software #
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT #
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
+# See the License for the specific language governing permissions and #
+# limitations under the License. #
+##############################################################################
+
+.PHONY: all
+all: .push_image .push_manifest
+
+.PHONY: build
+build: .build
+
+include ../build.mk
--- /dev/null
+robotframework
+robotframework-httplibrary
+robotframework-requests
+robotframework-sshlibrary