@@ -12,6 +12,7 @@ import (
12
12
// FindOpts are optional arguments for FindEnvs
13
13
type FindOpts struct {
14
14
Selector labels.Selector
15
+ Name string
15
16
}
16
17
17
18
// FindEnvs returns metadata of all environments recursively found in 'path'.
@@ -20,7 +21,7 @@ type FindOpts struct {
20
21
// are not checked.
21
22
func FindEnvs (path string , opts FindOpts ) ([]* v1alpha1.Environment , error ) {
22
23
// find all environments at dir
23
- envs , err := find (path )
24
+ envs , err := find (path , opts . Name )
24
25
if err != nil {
25
26
return nil , err
26
27
}
@@ -42,9 +43,9 @@ func FindEnvs(path string, opts FindOpts) ([]*v1alpha1.Environment, error) {
42
43
}
43
44
44
45
// find implements the actual functionality described at 'FindEnvs'
45
- func find (path string ) ([]* v1alpha1.Environment , error ) {
46
+ func find (path , name string ) ([]* v1alpha1.Environment , error ) {
46
47
// try if this has envs
47
- list , err := List (path , Opts {})
48
+ list , err := List (path , Opts {Name : name })
48
49
if len (list ) != 0 && err == nil {
49
50
// it has. don't search deeper
50
51
return list , nil
@@ -77,7 +78,7 @@ func find(path string) ([]*v1alpha1.Environment, error) {
77
78
}
78
79
79
80
routines ++
80
- go findShim (filepath .Join (path , fi .Name ()), ch )
81
+ go findShim (filepath .Join (path , fi .Name ()), name , ch )
81
82
}
82
83
83
84
// collect parallel results
@@ -105,7 +106,7 @@ type findOut struct {
105
106
err error
106
107
}
107
108
108
- func findShim (dir string , ch chan findOut ) {
109
- envs , err := find (dir )
109
+ func findShim (path , name string , ch chan findOut ) {
110
+ envs , err := find (path , name )
110
111
ch <- findOut {envs : envs , err : err }
111
112
}
0 commit comments