Skip to content
Snippets Groups Projects
Commit f74c9ed6 authored by Alexey Kuklin's avatar Alexey Kuklin
Browse files

Merge branch 'localbuild' into '16-refactor-deprecated-functions'

Localbuild

See merge request !53
parents 1a3120d5 8bab9d00
No related branches found
No related tags found
1 merge request!53Localbuild
...@@ -32,7 +32,7 @@ ppc64le: ...@@ -32,7 +32,7 @@ ppc64le:
tags: tags:
- ppc64le - ppc64le
script: script:
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE_ppc64le -f Dockerfile . - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE_ppc64le -f Dockerfile .
- docker push $IMAGE_ppc64le - docker push $IMAGE_ppc64le
amd64: amd64:
...@@ -41,7 +41,7 @@ amd64: ...@@ -41,7 +41,7 @@ amd64:
tags: tags:
- amd64 - amd64
script: script:
- docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg CI_JOB_TOKEN=$CI_JOB_TOKEN --pull -t $IMAGE_amd64 -f Dockerfile . - docker build --build-arg CI_COMMIT_SHA=$CI_COMMIT_SHA --build-arg CI_COMMIT_REF_NAME=$CI_COMMIT_REF_NAME --build-arg CI_PROJECT_NAME=$CI_PROJECT_NAME --build-arg GITLAB_LOGIN=gitlab-ci-token --build-arg GITLAB_PASSWORD=$CI_JOB_TOKEN --pull -t $IMAGE_amd64 -f Dockerfile .
- docker push $IMAGE_amd64 - docker push $IMAGE_amd64
manifest: manifest:
...@@ -63,8 +63,9 @@ deploy: ...@@ -63,8 +63,9 @@ deploy:
- master - master
script: script:
- apk add curl - apk add curl
- for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done - for ref in $DEPLOYENVS; do curl -X POST -F token=$TRIGGER_TOKEN -F ref=$ref -F variables[branch]=$CI_COMMIT_REF_NAME $TRIGGER_CODE_BUILD; done
- curl -X POST -F token=$TRIGGER_TOKEN_VCL -F ref=$CI_COMMIT_REF_NAME $TRIGGER_CODE_VCL
duplicate: duplicate:
stage: tech_registry stage: tech_registry
tags: tags:
......
FROM registry.vereign.com/docker/go-with-dep:master FROM registry.vereign.com/docker/go-with-dep:with-codecgen
#RUN echo deb http://deb.debian.org/debian buster main > /etc/apt/sources.list.d/buster.list \ ARG GITLAB_LOGIN
# && apt-get update \ ARG GITLAB_PASSWORD
# && apt-get install -y --no-install-recommends npm zlib1g-dev
ENV GOPATH /srv/ ENV GOPATH /srv/
ENV SERVER_OUT "bin/server"
ENV SERVER_PKG_BUILD ${PKG}
ENV PATH "$PATH:/srv/bin/" ENV PATH "$PATH:/srv/bin/"
ARG CI_JOB_TOKEN
ARG CI_PROJECT_NAME ARG CI_PROJECT_NAME
ARG CI_COMMIT_REF_NAME ARG CI_COMMIT_REF_NAME
ARG CI_COMMIT_SHA ARG CI_COMMIT_SHA
ENV CI_PROJECT_NAME ${CI_PROJECT_NAME} ENV CI_PROJECT_NAME ${CI_PROJECT_NAME}
RUN echo project is $CI_PROJECT_NAME && mkdir -p /srv/src/code.vereign.com/code/$CI_PROJECT_NAME RUN mkdir -p /srv/src/code.vereign.com/code/$CI_PROJECT_NAME
COPY . /srv/src/code.vereign.com/code/$CI_PROJECT_NAME/ COPY . /srv/src/code.vereign.com/code/$CI_PROJECT_NAME/
RUN cd /srv/src/code.vereign.com/code/$CI_PROJECT_NAME && \ RUN cd /srv/src/code.vereign.com/code/$CI_PROJECT_NAME && \
git config --global credential.https://code.vereign.com.username gitlab-ci-token && \ git config --global url."https://$GITLAB_LOGIN:$GITLAB_PASSWORD@code.vereign.com".insteadOf "https://code.vereign.com" && \
git config --global credential.helper "store --file /tmp/store" && \ dep ensure && \
echo https://gitlab-ci-token:$CI_JOB_TOKEN@code.vereign.com > /tmp/store && cat /tmp/store && \ go generate vendor/github.com/coreos/etcd/client/keys.go && \
export PKG=code.vereign.com/code/$CI_PROJECT_NAME && \ go build -ldflags="-X code.vereign.com/code/${CI_PROJECT_NAME}/handler.version=${CI_COMMIT_REF_NAME}.${CI_COMMIT_SHA}" -i -v -o /srv/${CI_PROJECT_NAME} code.vereign.com/code/${CI_PROJECT_NAME}
go get -u github.com/ugorji/go/codec/codecgen && \
echo PATH $PATH && \ FROM buildpack-deps:buster-curl
make && rm /tmp/store
ARG CI_PROJECT_NAME
#FROM debian:stretch ENV CI_PROJECT_NAME ${CI_PROJECT_NAME}
#RUN mkdir -p /srv/src/code.vereign.com/code/
#COPY --from=0 /srv/src/code.vereign.com/code/data-storage-agent /srv/src/code.vereign.com/code/ COPY --from=0 /srv/${CI_PROJECT_NAME} /srv/${CI_PROJECT_NAME}
#RUN find /srv/src/code.vereign.com/code/
WORKDIR /srv
ENTRYPOINT /srv/src/code.vereign.com/code/$CI_PROJECT_NAME/bin/server
RUN mkdir -p /srv/src/code.vereign.com/code/key-storage-agent/bin/ && ln /srv/key-storage-agent /srv/src/code.vereign.com/code/key-storage-agent/bin/server && ln -s /srv/ /go
ENTRYPOINT ["/srv/key-storage-agent"]
FROM registry.vereign.com/docker/go-with-dep:master-x86
#RUN echo deb http://deb.debian.org/debian buster main > /etc/apt/sources.list.d/buster.list \
# && apt-get update \
# && apt-get install -y --no-install-recommends npm zlib1g-dev
ENV GOPATH /srv/
ENV SERVER_OUT "bin/server"
ENV SERVER_PKG_BUILD ${PKG}
ARG CI_JOB_TOKEN
ARG CI_PROJECT_NAME
ARG CI_COMMIT_REF_NAME
ARG CI_COMMIT_SHA
ENV CI_PROJECT_NAME ${CI_PROJECT_NAME}
RUN echo project is $CI_PROJECT_NAME && mkdir -p /srv/src/code.vereign.com/code/$CI_PROJECT_NAME
COPY . /srv/src/code.vereign.com/code/$CI_PROJECT_NAME/
RUN cd /srv/src/code.vereign.com/code/$CI_PROJECT_NAME && \
git config --global credential.https://code.vereign.com.username gitlab-ci-token && \
git config --global credential.helper "store --file /tmp/store" && \
echo https://gitlab-ci-token:$CI_JOB_TOKEN@code.vereign.com > /tmp/store && cat /tmp/store && \
export PKG=code.vereign.com/code/$CI_PROJECT_NAME && \
make && rm /tmp/store
#FROM debian:stretch
#RUN mkdir -p /srv/src/code.vereign.com/code/
#COPY --from=0 /srv/src/code.vereign.com/code/data-storage-agent /srv/src/code.vereign.com/code/
#RUN find /srv/src/code.vereign.com/code/
ENTRYPOINT /srv/src/code.vereign.com/code/$CI_PROJECT_NAME/bin/server
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
dataStorageUrl: localhost:7777 dataStorageUrl: localhost:7777
grpcListenAddress: localhost:7877 grpcListenAddress: localhost:7877
restListenAddress: localhost:7878 restListenAddress: localhost:7878
# This one using by rest-gateway. Must contain the same domain name with issued certificate
grpcURL: key-storage-agent:7877
# VIAM Variables # VIAM Variables
viamUUID: viam-system viamUUID: viam-system
......
...@@ -29,6 +29,7 @@ var MaxMessageSize int ...@@ -29,6 +29,7 @@ var MaxMessageSize int
var GrpcListenAddress string var GrpcListenAddress string
var RestListenAddress string var RestListenAddress string
var GrpcURL string
var DataStorageUrl string var DataStorageUrl string
var EntitiesManagerUrl string var EntitiesManagerUrl string
var CertDir string var CertDir string
...@@ -37,10 +38,11 @@ func SetConfigValues(configFile, etcdURL string) { ...@@ -37,10 +38,11 @@ func SetConfigValues(configFile, etcdURL string) {
// Set Default Values For Config Variables // Set Default Values For Config Variables
// Vereign API Related // Vereign API Related
viper.SetDefault("grpcListenAddress", "localhost:7877") viper.SetDefault("grpcListenAddress", ":7877")
viper.SetDefault("restListenAddress", "localhost:7878") viper.SetDefault("restListenAddress", ":7878")
viper.SetDefault("dataStorageUrl", "localhost:7777") viper.SetDefault("dataStorageUrl", "data-storage-agent:7777")
viper.SetDefault("entitiesManagerUrl", "localhost:7779") viper.SetDefault("entitiesManagerUrl", "entities-management-agent:7779")
viper.SetDefault("grpcURL", "key-storage-agent:7877")
viper.SetDefault("viamUUID", "viam-system") viper.SetDefault("viamUUID", "viam-system")
viper.SetDefault("viamSession", "viam-session") viper.SetDefault("viamSession", "viam-session")
...@@ -122,6 +124,7 @@ func SetConfigValues(configFile, etcdURL string) { ...@@ -122,6 +124,7 @@ func SetConfigValues(configFile, etcdURL string) {
} }
GrpcListenAddress = viper.GetString("grpcListenAddress") GrpcListenAddress = viper.GetString("grpcListenAddress")
GrpcURL = viper.GetString("grpcURL")
RestListenAddress = viper.GetString("restListenAddress") RestListenAddress = viper.GetString("restListenAddress")
DataStorageUrl = viper.GetString("dataStorageUrl") DataStorageUrl = viper.GetString("dataStorageUrl")
......
...@@ -42,6 +42,7 @@ func main() { ...@@ -42,6 +42,7 @@ func main() {
grpcAddress := config.GrpcListenAddress grpcAddress := config.GrpcListenAddress
restAddress := config.RestListenAddress restAddress := config.RestListenAddress
grpcURL := config.GrpcURL
dataStorageAddress := config.DataStorageUrl dataStorageAddress := config.DataStorageUrl
certPem := config.CertificatePEM certPem := config.CertificatePEM
keyPem := config.PrivateKeyPEM keyPem := config.PrivateKeyPEM
...@@ -62,7 +63,7 @@ func main() { ...@@ -62,7 +63,7 @@ func main() {
// fire the REST server in a goroutine // fire the REST server in a goroutine
go func() { go func() {
err := server.StartRESTServer(restAddress, grpcAddress, certPem) err := server.StartRESTServer(restAddress, grpcURL, certPem, keyPem)
if err != nil { if err != nil {
log.Fatalf("failed to start gRPC server: %s", err) log.Fatalf("failed to start gRPC server: %s", err)
} }
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
[ -d cert ] || mkdir cert [ -d cert ] || mkdir cert
openssl genrsa -out cert/server.key 2048 openssl genrsa -out cert/server.key 2048
openssl req -new -key cert/server.key -out cert/server.csr -subj "/CN=localhost" openssl req -new -key cert/server.key -out cert/server.csr -subj "/CN=key-storage-agent"
openssl x509 -req -days 365 -in cert/server.csr -signkey cert/server.key -out cert/server.crt openssl x509 -req -days 365 -in cert/server.csr -signkey cert/server.key -out cert/server.crt
......
...@@ -54,6 +54,9 @@ func credMatcher(headerName string) (mdName string, ok bool) { ...@@ -54,6 +54,9 @@ func credMatcher(headerName string) (mdName string, ok bool) {
if headerName == "Session" { if headerName == "Session" {
return headerName, true return headerName, true
} }
if headerName == "Uuid" {
return headerName, true
}
return "", false return "", false
} }
...@@ -177,7 +180,8 @@ func StartGRPCServer(address string, certPEM, privateKeyPEM, caCertPEM, vereignC ...@@ -177,7 +180,8 @@ func StartGRPCServer(address string, certPEM, privateKeyPEM, caCertPEM, vereignC
return nil return nil
} }
func StartRESTServer(address, grpcAddress string, certPEM []byte) error { func StartRESTServer(address, grpcURL string, certPEM, keyPEM []byte) error {
log.Println("grpcAddress: ", grpcURL)
ctx := context.Background() ctx := context.Background()
ctx, cancel := context.WithCancel(ctx) ctx, cancel := context.WithCancel(ctx)
defer cancel() defer cancel()
...@@ -200,14 +204,31 @@ func StartRESTServer(address, grpcAddress string, certPEM []byte) error { ...@@ -200,14 +204,31 @@ func StartRESTServer(address, grpcAddress string, certPEM []byte) error {
opts := []grpc.DialOption{grpc.WithTransportCredentials(creds)} opts := []grpc.DialOption{grpc.WithTransportCredentials(creds)}
// Register RedisStorageServer // Register RedisStorageServer
err = api.RegisterKeyStorageHandlerFromEndpoint(ctx, mux, grpcAddress, opts) err = api.RegisterKeyStorageHandlerFromEndpoint(ctx, mux, grpcURL, opts)
if err != nil { if err != nil {
log.Printf("Error: %v", err) log.Printf("Error: %v", err)
return fmt.Errorf("could not register service RedisStorageServer: %s", err) return fmt.Errorf("could not register service RedisStorageServer: %s", err)
} }
log.Printf("starting HTTP/1.1 REST server on %s", address) // server certificate
http.ListenAndServe(address, mux) certificate, err := tls.X509KeyPair(certPEM, keyPEM)
if err != nil {
log.Printf("Error: %v", err)
return fmt.Errorf("could not load server key pair: %s", err)
}
serverTLSConfig := &tls.Config{
Certificates: []tls.Certificate{certificate},
}
tlsServer := &http.Server{
Addr: address,
Handler: mux,
TLSConfig: serverTLSConfig,
}
log.Printf("starting HTTP/1.1 REST server on %s", address)
tlsServer.ListenAndServeTLS("","")
return nil return nil
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment