diff options
author | Shashank Kumar Shankar <shashank.kumar.shankar@intel.com> | 2018-08-20 15:50:50 -0700 |
---|---|---|
committer | Victor Morales <victor.morales@intel.com> | 2018-08-24 15:51:16 -0700 |
commit | a1373742a2c3f980360e4980f3b23b0ff3480ae6 (patch) | |
tree | ce2fb583dea15b8a546d794d21786fdf0f666539 /deployments | |
parent | 6ff216219ccb4567baeb34c9dba73daabb60f629 (diff) |
Seed code for k8s multicloud plugin
This patch provides the initial seed code for the multicloud Kubernetes
plugin and also provides the plugin feature to add new Kubernetes
kinds.
Change-Id: Ie5ee414656665070cde2834c4855ac2ebc179a9a
Issue-ID: MULTICLOUD-301
Signed-off-by: Shashank Kumar Shankar <shashank.kumar.shankar@intel.com>
Signed-off-by: Victor Morales <victor.morales@intel.com>
Diffstat (limited to 'deployments')
-rw-r--r-- | deployments/Dockerfile | 21 | ||||
-rwxr-xr-x | deployments/build.sh | 32 | ||||
-rw-r--r-- | deployments/docker-compose.yml | 41 |
3 files changed, 94 insertions, 0 deletions
diff --git a/deployments/Dockerfile b/deployments/Dockerfile new file mode 100644 index 00000000..407af509 --- /dev/null +++ b/deployments/Dockerfile @@ -0,0 +1,21 @@ +FROM debian:jessie + +ARG HTTP_PROXY=${HTTP_PROXY} +ARG HTTPS_PROXY=${HTTPS_PROXY} + +ENV http_proxy $HTTP_PROXY +ENV https_proxy $HTTPS_PROXY +ENV no_proxy $NO_PROXY + +ENV CSAR_DIR "/opt/csar" +ENV KUBE_CONFIG_DIR "/opt/kubeconfig" +ENV DATABASE_TYPE "consul" +ENV DATABASE_IP "127.0.0.1" + +EXPOSE 8081 + +WORKDIR /opt/multicloud/k8s +ADD ./k8plugin ./ +ADD ./*.so ./ + +CMD ["./k8plugin"] diff --git a/deployments/build.sh b/deployments/build.sh new file mode 100755 index 00000000..667be5f5 --- /dev/null +++ b/deployments/build.sh @@ -0,0 +1,32 @@ +#!/bin/bash +# SPDX-license-identifier: Apache-2.0 +############################################################################## +# Copyright (c) 2018 Intel Corporation +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## + +set -o nounset +set -o pipefail +set -o xtrace + +function generate_binary { + GOPATH=$(go env GOPATH) + rm -f k8plugin + rm -f *.so + $GOPATH/bin/dep ensure -v + for plugin in deployment namespace service; do + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -buildmode=plugin -a -tags netgo -o ./$plugin.so ../src/k8splugin/plugins/$plugin/plugin.go + done + CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build -a -tags netgo -o ./k8plugin ../src/k8splugin/cmd/main.go +} + +function build_image { + echo "Start build docker image." + docker-compose build --no-cache +} + +generate_binary +build_image diff --git a/deployments/docker-compose.yml b/deployments/docker-compose.yml new file mode 100644 index 00000000..0d347b13 --- /dev/null +++ b/deployments/docker-compose.yml @@ -0,0 +1,41 @@ +# Copyright 2018 Intel Corporation. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not 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. + +version: '3' + +services: + multicloud-k8s: + image: nexus3.onap.org:10003/onap/multicloud/k8plugin + build: + context: ./ + args: + - HTTP_PROXY=$HTTP_PROXY + - HTTPS_PROXY=$HTTPS_PROXY + ports: + - "8081:8081" + environment: + - CSAR_DIR=/opt/csar + - KUBE_CONFIG_DIR=/opt/kubeconfig + - DATABASE_TYPE=consul + - DATABASE_IP=consul-svr + depends_on: + - "consul" + volumes: + - /opt/csar:/opt/csar + - /opt/kubeconfig:/opt/kubeconfig + consul: + image: consul + hostname: consul-svr + environment: + - CONSUL_LOCAL_CONFIG={"datacenter":"us_west","server":true} + command: ["agent", "-server", "-bootstrap-expect=1"] + volumes: + - /opt/consul/config:/consul/config |