Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit 18efad5

Browse files
Development (#45)
* Update README.md * Redis credentials (#44) * Update issue templates * OSS (#42) * removing sensitive information for opensourcing the project * add chart for deploying phoenix * remove hardcoded port * Update README.md * Create docker-publish.yml * Update README.md * Update README.md * Create LICENSE * Update README.md * Guidelines (#43) * Create CODE_OF_CONDUCT.md * Create CONTRIBUTING.md * Update README.md * Update README.md * Create USERS.md * Update README.md * Update README.md * bump redis client version, add DB_PASSWORD for redis password, fix worker queue * typo in error checking * add new ENV to chart Co-authored-by: Niels ten Boom <[email protected]> * remove default password from tests and cli Co-authored-by: Niels ten Boom <[email protected]>
1 parent 3afa1ab commit 18efad5

File tree

18 files changed

+107
-124
lines changed

18 files changed

+107
-124
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,4 @@ In order to contribute to Phoenix, see the [CONTRIBUTING](CONTRIBUTING.md) file
3434
If your company or your product is using Phoenix, please let us know by adding yourself to the Phoenix [users](USERS.md) file.
3535

3636
## License
37-
Phoenix is licensed under MIT license as found in the [LICENSE](LICENSE.md) file.
37+
Phoenix is licensed under MIT license as found in the [LICENSE](LICENSE.md) file.

chart/values.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ internal:
2525
data:
2626
# all the env variables can be found here: https://github.com/rtlnl/phoenix/blob/master/cmd/internal.go#L64
2727
DB_HOST: "redis-master.phoenix:6379"
28+
DB_PASSWORD: ""
2829
S3_REGION: "us-west-1"
2930
S3_ENDPOINT: "s3.eu-west-1.amazonaws.com"
3031
S3_DISABLE_SSL: "false"
@@ -43,6 +44,7 @@ public:
4344

4445
data:
4546
DB_HOST: "redis-master.phoenix:6379"
47+
DB_PASSWORD: ""
4648
# Other ENV you can set in the configmap
4749
# You can find all the possible variables here: https://github.com/rtlnl/phoenix/blob/master/cmd/public.go#L102
4850
# REC_LOGS_TYPE: "kafka"
@@ -65,7 +67,8 @@ worker:
6567

6668
data:
6769
# all the env variables can be found here: https://github.com/rtlnl/phoenix/blob/master/cmd/worker.go#L79
68-
WORKER_BROKER_URL: "edis-master.phoenix:6379"
70+
WORKER_BROKER_URL: "redis-master.phoenix:6379"
71+
WORKER_PASSWORD: ""
6972

7073
resources: {}
7174
tolerations: {}

cmd/internal.go

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ var internalCmd = &cobra.Command{
2626
Run: func(cmd *cobra.Command, args []string) {
2727
addr := viper.GetString(addressInternalFlag)
2828
dbHost := viper.GetString(dbHostInternalFlag)
29+
dbPassword := viper.GetString(dbPasswordInternalFlag)
2930
s3Region := viper.GetString(s3RegionFlag)
3031
s3Endpoint := viper.GetString(s3EndpointFlag)
3132
s3DisableSSL := viper.GetBool(s3DisableSSLFlag)
@@ -38,7 +39,7 @@ var internalCmd = &cobra.Command{
3839
}
3940

4041
// instantiate Redis client
41-
redisClient, err := db.NewRedisClient(dbHost)
42+
redisClient, err := db.NewRedisClient(dbHost, db.Password(dbPassword))
4243
if err != nil {
4344
panic(err)
4445
}
@@ -48,7 +49,7 @@ var internalCmd = &cobra.Command{
4849
middlewares = append(middlewares, md.DB(redisClient))
4950
middlewares = append(middlewares, md.AWSSession(s3Region, s3Endpoint, s3DisableSSL))
5051
middlewares = append(middlewares, md.Cors())
51-
middlewares = append(middlewares, md.NewWorker(dbHost, workerProducerName, workerQueueName))
52+
middlewares = append(middlewares, md.NewWorker(redisClient, workerProducerName, workerQueueName))
5253

5354
i, err := internal.NewInternalAPI(middlewares...)
5455
if err != nil {
@@ -68,13 +69,15 @@ func init() {
6869

6970
f.String(addressInternalFlag, ":8081", "server address")
7071
f.String(dbHostInternalFlag, "127.0.0.1:6379", "database host")
72+
f.String(dbPasswordInternalFlag, "", "database password")
7173
f.String(s3RegionFlag, "eu-west-1", "s3 region")
7274
f.String(s3EndpointFlag, "localhost:4572", "s3 endpoint")
7375
f.Bool(s3DisableSSLFlag, true, "disable SSL verification for s3")
7476
f.Bool(logDebugFlag, false, "sets log level to debug")
7577

7678
viper.BindEnv(addressInternalFlag, "ADDRESS_HOST")
7779
viper.BindEnv(dbHostInternalFlag, "DB_HOST")
80+
viper.BindEnv(dbPasswordInternalFlag, "DB_PASSWORD")
7881
viper.BindEnv(s3RegionFlag, "S3_REGION")
7982
viper.BindEnv(s3EndpointFlag, "S3_ENDPOINT")
8083
viper.BindEnv(s3DisableSSLFlag, "S3_DISABLE_SSL")

cmd/public.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ APIs for serving the personalized content.`,
3939
// read parameters in input
4040
addr := viper.GetString(addressPublicFlag)
4141
dbHost := viper.GetString(dbHostPublicFlag)
42+
dbPassword := viper.GetString(dbPasswordPublicFlag)
4243
logType := viper.GetString(recommendationLogsFlag)
4344
logDebug := viper.GetBool(logDebugFlag)
4445

@@ -49,7 +50,7 @@ APIs for serving the personalized content.`,
4950
}
5051

5152
// instantiate Redis client
52-
redisClient, err := db.NewRedisClient(dbHost)
53+
redisClient, err := db.NewRedisClient(dbHost, db.Password(dbPassword))
5354
if err != nil {
5455
panic(err)
5556
}
@@ -107,6 +108,7 @@ func init() {
107108
// mandatory parameters
108109
f.StringP(addressPublicFlag, "a", ":8082", "server address")
109110
f.StringP(dbHostPublicFlag, "d", "127.0.0.1:6379", "database host")
111+
f.String(dbPasswordPublicFlag, "", "database password")
110112
f.Bool(logDebugFlag, false, "sets log level to debug")
111113

112114
// optional parameters
@@ -121,6 +123,7 @@ func init() {
121123

122124
viper.BindEnv(addressPublicFlag, "ADDRESS_HOST")
123125
viper.BindEnv(dbHostPublicFlag, "DB_HOST")
126+
viper.BindEnv(dbPasswordPublicFlag, "DB_PASSWORD")
124127
viper.BindEnv(logDebugFlag, "LOG_DEBUG")
125128
viper.BindEnv(recommendationLogsFlag, "REC_LOGS_TYPE")
126129
viper.BindEnv(recommendationKafkaBrokersFlag, "REC_LOGS_BROKERS")

cmd/root.go

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,15 @@ import (
77
)
88

99
var (
10-
addressPublicFlag = "address-host-public"
11-
dbHostPublicFlag = "db-host-public"
12-
addressInternalFlag = "address-host-internal"
13-
dbHostInternalFlag = "db-host-internal"
14-
workerBrokerFlag = "worker-broker-url"
15-
logDebugFlag = "debug"
10+
addressPublicFlag = "address-host-public"
11+
dbHostPublicFlag = "db-host-public"
12+
dbPasswordPublicFlag = "db-password-public"
13+
addressInternalFlag = "address-host-internal"
14+
dbHostInternalFlag = "db-host-internal"
15+
dbPasswordInternalFlag = "db-password-internal"
16+
workerBrokerFlag = "worker-broker-url"
17+
workerPasswordFlag = "worker-password"
18+
logDebugFlag = "debug"
1619
)
1720

1821
// rootCmd represents the base command when called without any subcommands

cmd/worker.go

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,22 +27,23 @@ var workerCmd = &cobra.Command{
2727
that will be executed one they arrive.`,
2828
Run: func(cmd *cobra.Command, args []string) {
2929
brokerWorker := viper.GetString(workerBrokerFlag)
30+
passwordWorker := viper.GetString(workerPasswordFlag)
3031

3132
// instantiate Redis client
32-
redisClient, err := db.NewRedisClient(brokerWorker)
33+
rc, err := db.NewRedisClient(brokerWorker, db.Password(passwordWorker))
3334
if err != nil {
3435
panic(err)
3536
}
3637

37-
l, err := redisClient.Lock(worker.WorkerLockKey)
38-
defer redisClient.Unlock(worker.WorkerLockKey)
38+
l, err := rc.Lock(worker.WorkerLockKey)
39+
defer rc.Unlock(worker.WorkerLockKey)
3940

4041
if l == false || err != nil {
4142
log.Error().Err(err).Msg("REDIS failed to acquire lock")
4243
os.Exit(0)
4344
}
4445

45-
w, err := worker.New(brokerWorker, workerConsumerName, workerQueueName)
46+
w, err := worker.New(rc.Client, workerConsumerName, workerQueueName)
4647
if err != nil {
4748
panic(err)
4849
}
@@ -61,7 +62,7 @@ var workerCmd = &cobra.Command{
6162
for {
6263
select {
6364
case <-ticker.C:
64-
if err := redisClient.ExtendTTL(worker.WorkerLockKey); err != nil {
65+
if err := rc.ExtendTTL(worker.WorkerLockKey); err != nil {
6566
log.Error().Msg(err.Error())
6667
w.Close()
6768
break EXITLOOP
@@ -82,8 +83,10 @@ func init() {
8283
f := workerCmd.PersistentFlags()
8384

8485
f.String(workerBrokerFlag, "127.0.0.1:6379", "broker url for the workers")
86+
f.String(workerPasswordFlag, "", "broker password")
8587

8688
viper.BindEnv(workerBrokerFlag, "WORKER_BROKER_URL")
89+
viper.BindEnv(workerPasswordFlag, "WORKER_PASSWORD")
8790

8891
viper.BindPFlags(f)
8992
}

docker-compose.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ services:
2121
restart: always
2222
command:
2323
- "redis-server"
24+
# - "--requirepass qwerty"
2425
- "--appendonly yes"
2526
ports:
2627
- "6379:6379"

go.mod

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -4,47 +4,30 @@ go 1.13
44

55
require (
66
github.com/Shopify/sarama v1.24.0
7-
github.com/adjust/gocheck v0.0.0-20131111155431-fbc315b36e0e // indirect
8-
github.com/adjust/rmq v1.0.0
9-
github.com/adjust/uniuri v0.0.0-20130923163420-498743145e60 // indirect
7+
github.com/adjust/rmq/v3 v3.0.0
108
github.com/allegro/bigcache v1.2.1
119
github.com/aws/aws-sdk-go v1.25.8
1210
github.com/banzaicloud/go-gin-prometheus v0.0.0-20190417120951-df9373ad5327
13-
github.com/bmizerany/perks v0.0.0-20141205001514-d9a9656a3a4b // indirect
1411
github.com/davecgh/go-spew v1.1.1
15-
github.com/dgryski/go-gk v0.0.0-20140819190930-201884a44051 // indirect
1612
github.com/elastic/go-elasticsearch/v7 v7.4.1
17-
github.com/garyburd/redigo v1.6.0 // indirect
1813
github.com/gin-contrib/cors v1.3.0
1914
github.com/gin-contrib/sse v0.1.0 // indirect
2015
github.com/gin-gonic/gin v1.4.0
2116
github.com/go-playground/locales v0.12.1 // indirect
2217
github.com/go-playground/universal-translator v0.16.0 // indirect
23-
github.com/go-redis/redis v6.15.6+incompatible
18+
github.com/go-redis/redis/v7 v7.4.0
2419
github.com/google/uuid v1.1.1
25-
github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9 // indirect
2620
github.com/json-iterator/go v1.1.7
2721
github.com/klauspost/cpuid v1.2.1 // indirect
2822
github.com/leodido/go-urn v1.1.0 // indirect
29-
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e // indirect
3023
github.com/mattn/go-isatty v0.0.8 // indirect
31-
github.com/onsi/ginkgo v1.10.0 // indirect
32-
github.com/onsi/gomega v1.7.0 // indirect
3324
github.com/prometheus/client_golang v1.2.1
3425
github.com/rs/zerolog v1.15.0
3526
github.com/spf13/cobra v0.0.5
3627
github.com/spf13/viper v1.4.0
37-
github.com/streadway/quantile v0.0.0-20150917103942-b0c588724d25 // indirect
38-
github.com/stretchr/testify v1.4.0
39-
github.com/tsenart/vegeta v12.7.0+incompatible
28+
github.com/stretchr/testify v1.5.1
4029
github.com/ugorji/go v1.1.7 // indirect
4130
golang.org/x/crypto v0.0.0-20191002192127-34f69633bfdc // indirect
42-
golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3 // indirect
4331
golang.org/x/net v0.0.0-20191007182048-72f939374954 // indirect
44-
golang.org/x/text v0.3.2 // indirect
45-
gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a // indirect
4632
gopkg.in/go-playground/validator.v9 v9.29.1
47-
gopkg.in/redis.v3 v3.6.4 // indirect
48-
gopkg.in/yaml.v2 v2.2.4 // indirect
49-
launchpad.net/gocheck v0.0.0-20140225173054-000000000087 // indirect
5033
)

0 commit comments

Comments
 (0)