Skip to content

Commit c6f1b31

Browse files
committed
moved resource selector and label selctor methods
1 parent 9457135 commit c6f1b31

File tree

2 files changed

+59
-60
lines changed

2 files changed

+59
-60
lines changed

internal/pkg/util/util.go

Lines changed: 0 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,11 @@ import (
88
"sort"
99
"strings"
1010

11-
"github.com/sirupsen/logrus"
1211
"github.com/spf13/cobra"
1312
"github.com/stakater/Reloader/internal/pkg/constants"
1413
"github.com/stakater/Reloader/internal/pkg/crypto"
1514
"github.com/stakater/Reloader/internal/pkg/options"
1615
v1 "k8s.io/api/core/v1"
17-
"k8s.io/apimachinery/pkg/labels"
1816
)
1917

2018
// ConvertToEnvVarName converts the given text into a usable env var
@@ -98,64 +96,6 @@ func ConfigureReloaderFlags(cmd *cobra.Command) {
9896
cmd.PersistentFlags().StringVar(&options.PProfAddr, "pprof-addr", ":6060", "Address to start pprof server on. Default is :6060")
9997
}
10098

101-
func GetNamespaceLabelSelector(slice []string) (string, error) {
102-
for i, kv := range slice {
103-
// Legacy support for ":" as a delimiter and "*" for wildcard.
104-
if strings.Contains(kv, ":") {
105-
split := strings.Split(kv, ":")
106-
if split[1] == "*" {
107-
slice[i] = split[0]
108-
} else {
109-
slice[i] = split[0] + "=" + split[1]
110-
}
111-
}
112-
// Convert wildcard to valid apimachinery operator
113-
if strings.Contains(kv, "=") {
114-
split := strings.Split(kv, "=")
115-
if split[1] == "*" {
116-
slice[i] = split[0]
117-
}
118-
}
119-
}
120-
121-
namespaceLabelSelector := strings.Join(slice[:], ",")
122-
_, err := labels.Parse(namespaceLabelSelector)
123-
if err != nil {
124-
logrus.Fatal(err)
125-
}
126-
127-
return namespaceLabelSelector, nil
128-
}
129-
130-
func GetResourceLabelSelector(slice []string) (string, error) {
131-
for i, kv := range slice {
132-
// Legacy support for ":" as a delimiter and "*" for wildcard.
133-
if strings.Contains(kv, ":") {
134-
split := strings.Split(kv, ":")
135-
if split[1] == "*" {
136-
slice[i] = split[0]
137-
} else {
138-
slice[i] = split[0] + "=" + split[1]
139-
}
140-
}
141-
// Convert wildcard to valid apimachinery operator
142-
if strings.Contains(kv, "=") {
143-
split := strings.Split(kv, "=")
144-
if split[1] == "*" {
145-
slice[i] = split[0]
146-
}
147-
}
148-
}
149-
150-
resourceLabelSelector := strings.Join(slice[:], ",")
151-
_, err := labels.Parse(resourceLabelSelector)
152-
if err != nil {
153-
logrus.Fatal(err)
154-
}
155-
156-
return resourceLabelSelector, nil
157-
}
158-
15999
func GetIgnoredResourcesList() (List, error) {
160100

161101
ignoredResourcesList := options.ResourcesToIgnore // getStringSliceFromFlags(cmd, "resources-to-ignore")

pkg/common/common.go

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111
"github.com/stakater/Reloader/internal/pkg/constants"
1212
"github.com/stakater/Reloader/internal/pkg/options"
1313
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
14+
"k8s.io/apimachinery/pkg/labels"
1415
"k8s.io/client-go/kubernetes"
1516
)
1617

@@ -120,6 +121,64 @@ func PublishMetaInfoConfigmap(clientset kubernetes.Interface) {
120121
}
121122
}
122123

124+
func GetNamespaceLabelSelector(slice []string) (string, error) {
125+
for i, kv := range slice {
126+
// Legacy support for ":" as a delimiter and "*" for wildcard.
127+
if strings.Contains(kv, ":") {
128+
split := strings.Split(kv, ":")
129+
if split[1] == "*" {
130+
slice[i] = split[0]
131+
} else {
132+
slice[i] = split[0] + "=" + split[1]
133+
}
134+
}
135+
// Convert wildcard to valid apimachinery operator
136+
if strings.Contains(kv, "=") {
137+
split := strings.Split(kv, "=")
138+
if split[1] == "*" {
139+
slice[i] = split[0]
140+
}
141+
}
142+
}
143+
144+
namespaceLabelSelector := strings.Join(slice[:], ",")
145+
_, err := labels.Parse(namespaceLabelSelector)
146+
if err != nil {
147+
logrus.Fatal(err)
148+
}
149+
150+
return namespaceLabelSelector, nil
151+
}
152+
153+
func GetResourceLabelSelector(slice []string) (string, error) {
154+
for i, kv := range slice {
155+
// Legacy support for ":" as a delimiter and "*" for wildcard.
156+
if strings.Contains(kv, ":") {
157+
split := strings.Split(kv, ":")
158+
if split[1] == "*" {
159+
slice[i] = split[0]
160+
} else {
161+
slice[i] = split[0] + "=" + split[1]
162+
}
163+
}
164+
// Convert wildcard to valid apimachinery operator
165+
if strings.Contains(kv, "=") {
166+
split := strings.Split(kv, "=")
167+
if split[1] == "*" {
168+
slice[i] = split[0]
169+
}
170+
}
171+
}
172+
173+
resourceLabelSelector := strings.Join(slice[:], ",")
174+
_, err := labels.Parse(resourceLabelSelector)
175+
if err != nil {
176+
logrus.Fatal(err)
177+
}
178+
179+
return resourceLabelSelector, nil
180+
}
181+
123182
// ShouldReload checks if a resource should be reloaded based on its annotations and the provided options.
124183
// It will be called from Reloader OSS only has the checks that Reloader OSS needs to perform.
125184
func ShouldReload(config Config, resourceType string, annotations Map, podAnnotations Map, options *ReloaderOptions) ReloadCheckResult {

0 commit comments

Comments
 (0)