@@ -11,6 +11,8 @@ import (
11
11
"github.com/odpf/entropy/pkg/helm"
12
12
)
13
13
14
+ const firehoseConsumerIDStartingSequence = "0001"
15
+
14
16
var (
15
17
//go:embed schema/config.json
16
18
completeConfigSchema string
@@ -35,14 +37,23 @@ type moduleConfig struct {
35
37
} `json:"firehose"`
36
38
}
37
39
38
- func (mc * moduleConfig ) validate ( ) error {
40
+ func (mc * moduleConfig ) validateAndSanitize ( r resource. Resource ) error {
39
41
if mc .StopTime != nil && mc .StopTime .Before (time .Now ()) {
40
42
return errors .ErrInvalid .
41
43
WithMsgf ("value for stop_time must be greater than current time" )
42
44
}
45
+
46
+ if mc .Firehose .KafkaConsumerID == "" {
47
+ mc .Firehose .KafkaConsumerID = fmt .Sprintf ("%s-%s" , generateFirehoseName (r ), firehoseConsumerIDStartingSequence )
48
+ }
49
+
43
50
return nil
44
51
}
45
52
53
+ func generateFirehoseName (r resource.Resource ) string {
54
+ return fmt .Sprintf ("%s-%s-firehose" , r .Project , r .Name )
55
+ }
56
+
46
57
func (mc moduleConfig ) GetHelmReleaseConfig (r resource.Resource ) (* helm.ReleaseConfig , error ) {
47
58
var output Output
48
59
err := json .Unmarshal (r .State .Output , & output )
@@ -52,7 +63,7 @@ func (mc moduleConfig) GetHelmReleaseConfig(r resource.Resource) (*helm.ReleaseC
52
63
defaults := output .Defaults
53
64
54
65
rc := helm .DefaultReleaseConfig ()
55
- rc .Name = fmt . Sprintf ( "%s-%s-firehose" , r . Project , r . Name )
66
+ rc .Name = generateFirehoseName ( r )
56
67
rc .Repository = defaults .ChartRepository
57
68
rc .Chart = defaults .ChartName
58
69
rc .Namespace = defaults .Namespace
0 commit comments