Skip to content

Commit e6dd7e7

Browse files
committed
FindEnvs by name
1 parent 892ac3b commit e6dd7e7

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

pkg/tanka/find.go

+7-6
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
// FindOpts are optional arguments for FindEnvs
1313
type FindOpts struct {
1414
Selector labels.Selector
15+
Name string
1516
}
1617

1718
// FindEnvs returns metadata of all environments recursively found in 'path'.
@@ -20,7 +21,7 @@ type FindOpts struct {
2021
// are not checked.
2122
func FindEnvs(path string, opts FindOpts) ([]*v1alpha1.Environment, error) {
2223
// find all environments at dir
23-
envs, err := find(path)
24+
envs, err := find(path, opts.Name)
2425
if err != nil {
2526
return nil, err
2627
}
@@ -42,9 +43,9 @@ func FindEnvs(path string, opts FindOpts) ([]*v1alpha1.Environment, error) {
4243
}
4344

4445
// 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) {
4647
// try if this has envs
47-
list, err := List(path, Opts{})
48+
list, err := List(path, Opts{Name: name})
4849
if len(list) != 0 && err == nil {
4950
// it has. don't search deeper
5051
return list, nil
@@ -77,7 +78,7 @@ func find(path string) ([]*v1alpha1.Environment, error) {
7778
}
7879

7980
routines++
80-
go findShim(filepath.Join(path, fi.Name()), ch)
81+
go findShim(filepath.Join(path, fi.Name()), name, ch)
8182
}
8283

8384
// collect parallel results
@@ -105,7 +106,7 @@ type findOut struct {
105106
err error
106107
}
107108

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)
110111
ch <- findOut{envs: envs, err: err}
111112
}

pkg/tanka/parallel.go

+2-1
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,13 @@ func parallelLoadEnvironments(paths []string, opts parallelOpts) ([]*v1alpha1.En
2121
jobsCh := make(chan parallelJob)
2222
list := make(map[string]string)
2323
for _, path := range paths {
24-
envs, err := FindEnvs(path, FindOpts{opts.Selector})
24+
envs, err := FindEnvs(path, FindOpts{Selector: opts.Selector, Name: opts.Name})
2525
if err != nil {
2626
return nil, err
2727
}
2828
for _, env := range envs {
2929
list[env.Metadata.Name] = path
30+
fmt.Println(env.Metadata.Name)
3031
}
3132
}
3233
outCh := make(chan parallelOut, len(list))

0 commit comments

Comments
 (0)