• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mendersoftware / mender-server / 1961830404

01 Aug 2025 06:29PM UTC coverage: 65.815% (+0.3%) from 65.555%
1961830404

Pull #849

gitlab-ci

web-flow
chore: bump the backend-docker-dependencies group across 10 directories with 2 updates

Bumps the backend-docker-dependencies group with 2 updates in the /backend/services/create-artifact-worker directory: golang and alpine.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/deployments directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/deviceauth directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/deviceconfig directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/deviceconnect directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/inventory directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/iot-manager directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/reporting directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/useradm directory: golang.
Bumps the backend-docker-dependencies group with 1 update in the /backend/services/workflows directory: golang.


Updates `golang` from 1.24.4 to 1.24.5

Updates `alpine` from 3.22.0 to 3.22.1

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

Updates `golang` from 1.24.4 to 1.24.5

---
updated-dependencies:
- dependency-name: golang
  dependency-version: 1.24.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: backend-docker-dependencies
- dependency-name: alpine
  dependency-version: 3.22.1
  dependency-type: direct:production... (continued)
Pull Request #849: chore: bump the backend-docker-dependencies group across 10 directories with 2 updates

29335 of 44572 relevant lines covered (65.81%)

1.44 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

77.78
/backend/pkg/config/config.go
1
// Copyright 2023 Northern.tech AS
2
//
3
//        Licensed under the Apache License, Version 2.0 (the "License");
4
//        you may not use this file except in compliance with the License.
5
//        You may obtain a copy of the License at
6
//
7
//            http://www.apache.org/licenses/LICENSE-2.0
8
//
9
//        Unless required by applicable law or agreed to in writing, software
10
//        distributed under the License is distributed on an "AS IS" BASIS,
11
//        WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
//        See the License for the specific language governing permissions and
13
//        limitations under the License.
14
package config
15

16
import (
17
        "time"
18

19
        "github.com/pkg/errors"
20
        "github.com/spf13/viper"
21
)
22

23
var (
24
        Config = viper.New()
25
)
26

27
func FromConfigFile(filePath string,
28
        defaults []Default,
29
        configValidators ...Validator) error {
8✔
30

8✔
31
        // Set default values for config
8✔
32
        SetDefaults(Config, defaults)
8✔
33

8✔
34
        // Find and read the config file
8✔
35
        if filePath != "" {
16✔
36
                Config.SetConfigFile(filePath)
8✔
37
                if err := Config.ReadInConfig(); err != nil {
8✔
38
                        return errors.Wrap(err, "failed to read configuration")
×
39
                }
×
40
        }
41

42
        // Validate config
43
        if err := ValidateConfig(Config, configValidators...); err != nil {
8✔
44
                return errors.Wrap(err, "failed to validate configuration")
×
45
        }
×
46

47
        return nil
8✔
48
}
49

50
type Reader interface {
51
        Get(key string) interface{}
52
        GetBool(key string) bool
53
        GetFloat64(key string) float64
54
        GetInt(key string) int
55
        GetString(key string) string
56
        GetStringMap(key string) map[string]interface{}
57
        GetStringMapString(key string) map[string]string
58
        GetStringSlice(key string) []string
59
        GetTime(key string) time.Time
60
        GetDuration(key string) time.Duration
61
        IsSet(key string) bool
62
}
63

64
type Writer interface {
65
        SetDefault(key string, val interface{})
66
        Set(key string, val interface{})
67
}
68

69
type Handler interface {
70
        Reader
71
        Writer
72
}
73

74
type Default struct {
75
        Key   string
76
        Value interface{}
77
}
78

79
type Validator func(c Reader) error
80

81
// ValidateConfig validates conifg accroding to provided validators.
82
func ValidateConfig(c Reader, validators ...Validator) error {
8✔
83

8✔
84
        for _, validator := range validators {
10✔
85
                err := validator(c)
2✔
86
                if err != nil {
2✔
87
                        return err
×
88
                }
×
89
        }
90

91
        return nil
8✔
92
}
93

94
func SetDefaults(c Writer, defaults []Default) {
8✔
95
        for _, def := range defaults {
16✔
96
                c.SetDefault(def.Key, def.Value)
8✔
97
        }
8✔
98
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc