Skip to content

Commit

Permalink
configurable rule ids
Browse files Browse the repository at this point in the history
  • Loading branch information
GregHanson committed Mar 7, 2017
1 parent 4fb3708 commit 39df357
Show file tree
Hide file tree
Showing 11 changed files with 23 additions and 13 deletions.
4 changes: 3 additions & 1 deletion controller/rules/memorymanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,9 @@ func (m *memory) deleteRulesByFilter(namespace string, filter api.RuleFilter) er

func (m *memory) generateRuleIDs(rules []api.Rule) {
for i := range rules {
rules[i].ID = uuid.New() // Generate an ID for each rule
if rules[i].ID == "" {
rules[i].ID = uuid.New() // Generate an ID for each rule
}
}
}

Expand Down
7 changes: 4 additions & 3 deletions controller/rules/redismanager.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,14 +51,15 @@ func (r *redisManager) AddRules(namespace string, rules []api.Rule) (NewRules, e

entries := make(map[string]string)
for i := range rules {
id := uuid.New() // Generate an ID for each rule
rules[i].ID = id
if rules[i].ID == "" {
rules[i].ID = uuid.New() // Generate an ID for each rule
}
data, err := json.Marshal(&rules[i])
if err != nil {
return NewRules{}, &JSONMarshalError{Message: err.Error()}
}

entries[id] = string(data)
entries[rules[i].ID] = string(data)
}

if err := r.db.InsertEntries(namespace, entries); err != nil {
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-default-route-details.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 1
- id: bookinfo-default-route-details
priority: 1
destination: details
route:
backends:
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-default-route-productpage.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 1
- id: bookinfo-default-route-productpage
priority: 1
destination: productpage
route:
backends:
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-default-route-ratings.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 1
- id: bookinfo-default-route-ratings
priority: 1
destination: ratings
route:
backends:
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-default-route-reviews.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 1
- id: bookinfo-default-route-reviews
priority: 1
destination: reviews
route:
backends:
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-jason-7s-delay.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 10
- id: bookinfo-jason-7s-delay
priority: 10
destination: ratings
match:
source:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 2
- id: bookinfo-jason-reviews-v2-route-rules
priority: 2
destination: reviews
match:
headers:
Expand Down
3 changes: 2 additions & 1 deletion testing/test-scripts/bookinfo-reviews-routing.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
rules:
- priority: 1
- id: bookinfo-reviews-routing
priority: 1
destination: reviews
route:
backends:
Expand Down
2 changes: 1 addition & 1 deletion testing/test-scripts/helloworld-default-route-rules.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
{"rules": [{"priority": 1, "route": {"backends": [{"tags": ["version=v1"]}]}, "destination": "helloworld"}]}
{"rules": [{"id": "helloworld-default-route-rules", "priority": 1, "route": {"backends": [{"tags": ["version=v1"]}]}, "destination": "helloworld"}]}

2 changes: 1 addition & 1 deletion testing/test-scripts/helloworld-v1-v2-route-rules.json
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
{"rules": [{"priority": 1, "route": {"backends": [{"weight": 0.25, "tags": ["version=v2"]},{"tags":["version=v1"]}]}, "destination": "helloworld"}]}
{"rules": [{"id": "helloworld-v1-v2-route-rules", "priority": 1, "route": {"backends": [{"weight": 0.25, "tags": ["version=v2"]},{"tags":["version=v1"]}]}, "destination": "helloworld"}]}

0 comments on commit 39df357

Please sign in to comment.