From c4150670d35e36457ff5f793accae615627e55c8 Mon Sep 17 00:00:00 2001 From: Kiran Kamineni Date: Thu, 5 Apr 2018 11:54:20 -0700 Subject: renaming folder to match go executable Renaming folder from smsquorum to quorumclient Added quorumclient build as part of the makefile Will upload another patch in ci-management that will call the new parent makefile Issue-ID: AAF-213 Change-Id: Ib85ac6b9dc454fc1447cf2221a555d7a7552efa5 Signed-off-by: Kiran Kamineni --- sms-service/bin/build_quorum_image.sh | 4 +- sms-service/bin/quorumdockerfile | 8 +- sms-service/src/Makefile | 4 +- sms-service/src/quorumclient/Makefile | 25 +++++++ sms-service/src/quorumclient/config.json | 8 ++ sms-service/src/quorumclient/quorumclient.go | 106 +++++++++++++++++++++++++++ sms-service/src/sms/Gopkg.lock | 6 +- sms-service/src/smsquorum/Makefile | 25 ------- sms-service/src/smsquorum/config.json | 8 -- sms-service/src/smsquorum/quorumclient.go | 106 --------------------------- 10 files changed, 151 insertions(+), 149 deletions(-) create mode 100644 sms-service/src/quorumclient/Makefile create mode 100644 sms-service/src/quorumclient/config.json create mode 100644 sms-service/src/quorumclient/quorumclient.go delete mode 100644 sms-service/src/smsquorum/Makefile delete mode 100644 sms-service/src/smsquorum/config.json delete mode 100644 sms-service/src/smsquorum/quorumclient.go diff --git a/sms-service/bin/build_quorum_image.sh b/sms-service/bin/build_quorum_image.sh index c154764..16bb378 100755 --- a/sms-service/bin/build_quorum_image.sh +++ b/sms-service/bin/build_quorum_image.sh @@ -8,7 +8,7 @@ BUILD_ARGS="--no-cache" ORG="onap" VERSION="1.1.0" PROJECT="aaf" -IMAGE="smsquorum" +IMAGE="smsquorumclient" DOCKER_REPOSITORY="nexus3.onap.org:10003" IMAGE_NAME="${DOCKER_REPOSITORY}/${ORG}/${PROJECT}/${IMAGE}" TIMESTAMP=$(date +"%Y%m%dT%H%M%S") @@ -21,7 +21,7 @@ if [ $HTTPS_PROXY ]; then fi #Need to create makefile function generate_binary { - pushd ../src/smsquorum + pushd ../src/quorumclient make build popd cp ../target/quorumclient . diff --git a/sms-service/bin/quorumdockerfile b/sms-service/bin/quorumdockerfile index 2e1a191..08a6606 100644 --- a/sms-service/bin/quorumdockerfile +++ b/sms-service/bin/quorumdockerfile @@ -1,9 +1,9 @@ FROM alpine:3.7 -LABEL name="aaf-sms" +LABEL name="aaf-sms-quorumclient" LABEL version=1.0.0 LABEL maintainer="Girish Havaldar " -ADD quorumclient /smsquorum/bin/quorumclient -RUN chmod +x /smsquorum/bin/quorumclient -ENTRYPOINT ["/smsquorum/bin/quorumclient"] +ADD quorumclient /quorumclient/bin/quorumclient +RUN chmod +x /quorumclient/bin/quorumclient +ENTRYPOINT ["/quorumclient/bin/quorumclient"] diff --git a/sms-service/src/Makefile b/sms-service/src/Makefile index 4091a3e..6569ec1 100644 --- a/sms-service/src/Makefile +++ b/sms-service/src/Makefile @@ -1,5 +1,7 @@ build: $(MAKE) -C sms build + $(MAKE) -C quorumclient build deploy: - $(MAKE) -C sms deploy \ No newline at end of file + $(MAKE) -C sms deploy + $(MAKE) -C quorumclient deploy \ No newline at end of file diff --git a/sms-service/src/quorumclient/Makefile b/sms-service/src/quorumclient/Makefile new file mode 100644 index 0000000..720be29 --- /dev/null +++ b/sms-service/src/quorumclient/Makefile @@ -0,0 +1,25 @@ +GOPATH := $(shell realpath "$(CURDIR)/../../") +BINARY := quorumclient +PLATFORM := linux + +export GOPATH ... + +all: test build +deploy: test build + +build: format + CGO_ENABLED=0 GOOS=$(PLATFORM) go build -a \ + -ldflags '-extldflags "-static"' \ + -o $(GOPATH)/target/$(BINARY) -v quorumclient.go + +clean: + go clean + rm -f $(GOPATH)/target/$(BINARY) + +test: + @echo "Yet to Implement" + +format: + go fmt ./... + +.PHONY: test diff --git a/sms-service/src/quorumclient/config.json b/sms-service/src/quorumclient/config.json new file mode 100644 index 0000000..1b2e4df --- /dev/null +++ b/sms-service/src/quorumclient/config.json @@ -0,0 +1,8 @@ +{ + "url":"https://localhost:10443/", + "cafile": "selfsignedca.pem", + "clientcert":"client.crt", + "clientkey":"client.key", + "key":"UHFFY0l6WDhZVlErbGxvWitFVWpUL3FCV083NXRra1B2TDVBblN4VE5mYz0=", + "timeout":"60s" +} \ No newline at end of file diff --git a/sms-service/src/quorumclient/quorumclient.go b/sms-service/src/quorumclient/quorumclient.go new file mode 100644 index 0000000..3f3c70b --- /dev/null +++ b/sms-service/src/quorumclient/quorumclient.go @@ -0,0 +1,106 @@ +/* +* Copyright 2018 TechMahindra +* +* 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. + */ + +package main + +import ( + "crypto/tls" + "crypto/x509" + "encoding/base64" + "encoding/json" + "io/ioutil" + "log" + "net/http" + "os" + "strings" + "time" +) + +//This application checks the backend status and +//calls necessary initialization endpoints on the +//SMS webservice +func main() { + //Struct to read json configuration file + type config struct { + BackEndURL string `json:"url"` + CAFile string `json:"cafile"` + ClientCert string `json:"clientcert"` + ClientKey string `json:"clientkey"` + B64Key string `json:"key"` + TimeOut string `json:"timeout"` + } + //Load the config File for reading + vcf, err := os.Open("config.json") + if err != nil { + log.Fatalf("Error reading config file %v", err) + } + + cfg := config{} + decoder := json.NewDecoder(vcf) + err = decoder.Decode(&cfg) + if err != nil { + log.Fatalf("Error while parsing config file %v", err) + } + + duration, _ := time.ParseDuration(cfg.TimeOut) + ticker := time.NewTicker(duration) + + for _ = range ticker.C { + + caCert, err := ioutil.ReadFile(cfg.CAFile) + if err != nil { + log.Fatalf("Error while reading CA file %v ", err) + } + caCertPool := x509.NewCertPool() + caCertPool.AppendCertsFromPEM(caCert) + cert, err := tls.LoadX509KeyPair(cfg.ClientCert, cfg.ClientKey) + if err != nil { + log.Fatalf("Error while loading key pair %v ", err) + } + + client := &http.Client{ + Transport: &http.Transport{ + TLSClientConfig: &tls.Config{ + RootCAs: caCertPool, + Certificates: []tls.Certificate{cert}, + }, + }, + } + //URL and Port is configured in config file + response, err := client.Get(cfg.BackEndURL + "v1/sms/status") + if err != nil { + log.Fatalf("Error while connecting to SMS webservice %v", err) + } + + responseData, err := ioutil.ReadAll(response.Body) + if err != nil { + log.Fatalf("Error while reading response %v", err) + } + var data map[string]interface{} + json.Unmarshal(responseData, &data) + sealed := data["sealed"].(bool) + // Unseal the vault if sealed + if sealed { + decdB64Key, _ := base64.StdEncoding.DecodeString(cfg.B64Key) + body := strings.NewReader(`{"key":"` + string(decdB64Key) + `"}`) + //URL and PORT is configured via config file + response, err = client.Post(cfg.BackEndURL+"v1/sms/unseal", "application/json", body) + if err != nil { + log.Fatalf("Error while unsealing %v", err) + } + } + } +} diff --git a/sms-service/src/sms/Gopkg.lock b/sms-service/src/sms/Gopkg.lock index b856a81..a1f61dc 100644 --- a/sms-service/src/sms/Gopkg.lock +++ b/sms-service/src/sms/Gopkg.lock @@ -69,7 +69,7 @@ "json/scanner", "json/token" ] - revision = "f40e974e75af4e271d97ce0fc917af5898ae7bda" + revision = "ef8a98b0bbce4a65b5aa4c368430a80ddc533168" [[projects]] name = "github.com/hashicorp/vault" @@ -119,7 +119,7 @@ "openpgp/packet", "openpgp/s2k" ] - revision = "88942b9c40a4c9d203b82b3731787b672d6e809b" + revision = "b2aa35443fbc700ab74c586ae79b81c171851023" [[projects]] branch = "master" @@ -130,7 +130,7 @@ "idna", "lex/httplex" ] - revision = "6078986fec03a1dcc236c34816c71b0e05018fda" + revision = "b3c676e531a6dc479fa1b35ac961c13f5e2b4d2e" [[projects]] name = "golang.org/x/text" diff --git a/sms-service/src/smsquorum/Makefile b/sms-service/src/smsquorum/Makefile deleted file mode 100644 index 4ffeeae..0000000 --- a/sms-service/src/smsquorum/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -GOPATH := $(shell realpath "$(PWD)/../../") -BINARY := quorumclient -PLATFORM := linux - -export GOPATH ... - -all: test build -deploy: test build - -build: format - CGO_ENABLED=0 GOOS=$(PLATFORM) go build -a \ - -ldflags '-extldflags "-static"' \ - -o $(GOPATH)/target/$(BINARY) -v quorumclient.go - -clean: - go clean - rm -f $(GOPATH)/target/$(BINARY) - -test: - @echo "Yet to Implement" - -format: - go fmt ./... - -.PHONY: test diff --git a/sms-service/src/smsquorum/config.json b/sms-service/src/smsquorum/config.json deleted file mode 100644 index 1b2e4df..0000000 --- a/sms-service/src/smsquorum/config.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "url":"https://localhost:10443/", - "cafile": "selfsignedca.pem", - "clientcert":"client.crt", - "clientkey":"client.key", - "key":"UHFFY0l6WDhZVlErbGxvWitFVWpUL3FCV083NXRra1B2TDVBblN4VE5mYz0=", - "timeout":"60s" -} \ No newline at end of file diff --git a/sms-service/src/smsquorum/quorumclient.go b/sms-service/src/smsquorum/quorumclient.go deleted file mode 100644 index 3f3c70b..0000000 --- a/sms-service/src/smsquorum/quorumclient.go +++ /dev/null @@ -1,106 +0,0 @@ -/* -* Copyright 2018 TechMahindra -* -* 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. - */ - -package main - -import ( - "crypto/tls" - "crypto/x509" - "encoding/base64" - "encoding/json" - "io/ioutil" - "log" - "net/http" - "os" - "strings" - "time" -) - -//This application checks the backend status and -//calls necessary initialization endpoints on the -//SMS webservice -func main() { - //Struct to read json configuration file - type config struct { - BackEndURL string `json:"url"` - CAFile string `json:"cafile"` - ClientCert string `json:"clientcert"` - ClientKey string `json:"clientkey"` - B64Key string `json:"key"` - TimeOut string `json:"timeout"` - } - //Load the config File for reading - vcf, err := os.Open("config.json") - if err != nil { - log.Fatalf("Error reading config file %v", err) - } - - cfg := config{} - decoder := json.NewDecoder(vcf) - err = decoder.Decode(&cfg) - if err != nil { - log.Fatalf("Error while parsing config file %v", err) - } - - duration, _ := time.ParseDuration(cfg.TimeOut) - ticker := time.NewTicker(duration) - - for _ = range ticker.C { - - caCert, err := ioutil.ReadFile(cfg.CAFile) - if err != nil { - log.Fatalf("Error while reading CA file %v ", err) - } - caCertPool := x509.NewCertPool() - caCertPool.AppendCertsFromPEM(caCert) - cert, err := tls.LoadX509KeyPair(cfg.ClientCert, cfg.ClientKey) - if err != nil { - log.Fatalf("Error while loading key pair %v ", err) - } - - client := &http.Client{ - Transport: &http.Transport{ - TLSClientConfig: &tls.Config{ - RootCAs: caCertPool, - Certificates: []tls.Certificate{cert}, - }, - }, - } - //URL and Port is configured in config file - response, err := client.Get(cfg.BackEndURL + "v1/sms/status") - if err != nil { - log.Fatalf("Error while connecting to SMS webservice %v", err) - } - - responseData, err := ioutil.ReadAll(response.Body) - if err != nil { - log.Fatalf("Error while reading response %v", err) - } - var data map[string]interface{} - json.Unmarshal(responseData, &data) - sealed := data["sealed"].(bool) - // Unseal the vault if sealed - if sealed { - decdB64Key, _ := base64.StdEncoding.DecodeString(cfg.B64Key) - body := strings.NewReader(`{"key":"` + string(decdB64Key) + `"}`) - //URL and PORT is configured via config file - response, err = client.Post(cfg.BackEndURL+"v1/sms/unseal", "application/json", body) - if err != nil { - log.Fatalf("Error while unsealing %v", err) - } - } - } -} -- cgit 1.2.3-korg