...
1
2
3
4 package statusreaders
5
6 import (
7 "context"
8
9 appsv1 "k8s.io/api/apps/v1"
10 "k8s.io/apimachinery/pkg/api/meta"
11 "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
12 "k8s.io/apimachinery/pkg/runtime/schema"
13 "sigs.k8s.io/cli-utils/pkg/kstatus/polling/engine"
14 "sigs.k8s.io/cli-utils/pkg/kstatus/polling/event"
15 )
16
17 func NewStatefulSetResourceReader(mapper meta.RESTMapper, podResourceReader resourceTypeStatusReader) engine.StatusReader {
18 return &baseStatusReader{
19 mapper: mapper,
20 resourceStatusReader: &statefulSetResourceReader{
21 mapper: mapper,
22 podResourceReader: podResourceReader,
23 },
24 }
25 }
26
27
28
29
30 type statefulSetResourceReader struct {
31 mapper meta.RESTMapper
32
33 podResourceReader resourceTypeStatusReader
34 }
35
36 var _ resourceTypeStatusReader = &statefulSetResourceReader{}
37
38 func (s *statefulSetResourceReader) Supports(gk schema.GroupKind) bool {
39 return gk == appsv1.SchemeGroupVersion.WithKind("StatefulSet").GroupKind()
40 }
41
42 func (s *statefulSetResourceReader) ReadStatusForObject(ctx context.Context, reader engine.ClusterReader,
43 statefulSet *unstructured.Unstructured) (*event.ResourceStatus, error) {
44 return newPodControllerStatusReader(s.mapper, s.podResourceReader).readStatus(ctx, reader, statefulSet)
45 }
46
View as plain text