generated from replicatedhq/krew-plugin-template
/
helpers.go
51 lines (40 loc) · 1.03 KB
/
helpers.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package plugin
import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"regexp"
)
func skipNamespace(namespace string, excluded []string) (isExcluded bool) {
isExcluded = false
for _, excludedNs := range excluded {
if match, err := regexp.Match(excludedNs, []byte(namespace)); match && err == nil {
isExcluded = true
return
}
}
return
}
func processMetadata(metadata metav1.ObjectMeta) (data Metadata) {
if val, ok := metadata.Labels["app.kubernetes.io/managed-by"]; ok {
data.ManagedBy = val
}
if val, ok := metadata.Labels["helm.sh/chart"]; ok && data.ManagedBy == "Helm" {
data.HelmChart = val
}
if val, ok := metadata.Labels["argocd.argoproj.io/instance"]; ok && data.ManagedBy != "" {
data.ArgoCDApp = val
}
return
}
func processContainers(containers []corev1.Container) (result []ContainerImage) {
for _, c := range containers {
if c.Name == "" || c.Image == "" {
continue
}
result = append(result, ContainerImage{
Name: c.Name,
Image: c.Image,
})
}
return
}