Commit 38f42e13 authored by Yakubov, Sergey's avatar Yakubov, Sergey
Browse files

add default settings

parent ae9f3459
Loading
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ service-build:
    - docker tag remote-data-broker $CONTAINER_RDM_URL:$TAG
    - docker push $CONTAINER_RDM_URL:$CI_COMMIT_SHORT_SHA
    - docker push $CONTAINER_RDM_URL:$TAG
  when: manual
  tags:
    - rse-multi-builder

@@ -40,5 +41,6 @@ build-packages:
    - docker run --rm -v `pwd`:/tmp remote-data-broker bash -c "cp /rdb/build/*.deb /tmp"
    - fname=`ls *.deb | head -n 1`
    - 'curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file $fname "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/deb/${TAG}/$fname"'
  when: manual
  tags:
    - rse-multi-builder
+15 −5
Original line number Diff line number Diff line
package common

import (
	"errors"
	"github.com/spf13/viper"
	log "remote_data_broker/logger"
	"strings"
@@ -11,6 +10,7 @@ type serverSettings struct {
	CatCommand  string
	TestCommand string
	Auth        struct {
		Enabled  bool
		JwksUrl  string
		UserList []string
	}
@@ -34,6 +34,20 @@ type serverSettings struct {
var Settings serverSettings

func ReadConfig(fname string) (log.Level, error) {

	viper.SetDefault("CatCommand", "cat $filename")
	viper.SetDefault("TestCommand", "test -r $filename")
	viper.SetDefault("Http.Enabled", true)
	viper.SetDefault("Http.Host", "http://localhost")
	viper.SetDefault("Http.Port", 7000)
	viper.SetDefault("Http.ChunkSize", 100000)
	viper.SetDefault("Http.Timeout", 3)
	viper.SetDefault("Rmq.Url", "amqp://guest:guest@localhost:5672")
	viper.SetDefault("Rmq.Queue", "test")
	viper.SetDefault("RmqClient.Enabled", true)
	viper.SetDefault("LogLevel", "debug")
	viper.SetDefault("Auth.Enabled", false)

	if fname != "" {
		viper.SetConfigFile(fname)
		viper.ReadInConfig()
@@ -45,10 +59,6 @@ func ReadConfig(fname string) (log.Level, error) {
		return log.FatalLevel, err
	}

	if Settings.Http.Port == 0 {
		return log.FatalLevel, errors.New("Server port not set")
	}

	level, err := log.LevelFromString(Settings.LogLevel)

	return level, err
+1 −1
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ var version string
// Default build-time variable for library-import.
// This file is overridden on build with build-time informations.
func init() {
	version = "23.06"
	version = "0.1.0"
	rdbApiVersion = "v0.1"
}

+14 −10
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ import (
)

func downloadFromLocal(w http.ResponseWriter, r *http.Request, downloadRequest fileDownloadRequest) {
	if common.Settings.Auth.Enabled {
		_, err := auth.CheckAndGetContent(downloadRequest.Token)
		if err != nil {
			log.WithFields(map[string]interface{}{
@@ -22,13 +23,15 @@ func downloadFromLocal(w http.ResponseWriter, r *http.Request, downloadRequest f
			http.Error(w, "Authorization failed", http.StatusUnauthorized)
			return
		}
	}

	_, file := path.Split(downloadRequest.FileName)
	w.Header().Set("Content-Disposition", "attachment; filename=\""+file+"\"")

	log.WithFields(map[string]interface{}{
		"name": downloadRequest.FileName,
	}).Debug("transferring file")
		"mode": "as rdb user",
	}).Debug("Transferring file")

	http.ServeFile(w, r, downloadRequest.FileName)
}
@@ -105,5 +108,6 @@ func downloadFromLocalAsUser(w http.ResponseWriter, downloadRequest fileDownload
	w.Header().Set("Content-Disposition", "attachment; filename=\""+file+"\"")
	log.WithFields(map[string]interface{}{
		"name": downloadRequest.FileName,
	}).Debug("file sent successfully")
		"mode": "as user",
	}).Debug("File sent successfully")
}
+8 −1
Original line number Diff line number Diff line
@@ -85,12 +85,19 @@ func downloadFromRemote(w http.ResponseWriter, downloadRequest fileDownloadReque
		select {
		case data := <-channel:
			if data == nil {
				log.WithFields(map[string]interface{}{
					"name": downloadRequest.FileName,
					"mode": "as user, from remote",
				}).Debug("File sent successfully")
				return
			}
			w.Write(data)
			timer.Reset(timeout)
		case <-timer.C:
			fmt.Println("Timeout occurred")
			log.WithFields(map[string]interface{}{
				"name": downloadRequest.FileName,
				"mode": "as user, from remote",
			}).Error("File sent timeout")
			utils.WriteServerError(w, errors.New("request timeout"), http.StatusInternalServerError)
			return
		}
Loading