...
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 NewReplicaSetStatusReader(mapper meta.RESTMapper, podStatusReader resourceTypeStatusReader) engine.StatusReader {
18 return &baseStatusReader{
19 mapper: mapper,
20 resourceStatusReader: &replicaSetStatusReader{
21 mapper: mapper,
22 podStatusReader: podStatusReader,
23 },
24 }
25 }
26
27
28
29
30 type replicaSetStatusReader struct {
31 mapper meta.RESTMapper
32
33 podStatusReader resourceTypeStatusReader
34 }
35
36 var _ resourceTypeStatusReader = &replicaSetStatusReader{}
37
38 func (r *replicaSetStatusReader) Supports(gk schema.GroupKind) bool {
39 return gk == appsv1.SchemeGroupVersion.WithKind("ReplicaSet").GroupKind()
40 }
41
42 func (r *replicaSetStatusReader) ReadStatusForObject(ctx context.Context, reader engine.ClusterReader, rs *unstructured.Unstructured) (*event.ResourceStatus, error) {
43 return newPodControllerStatusReader(r.mapper, r.podStatusReader).readStatus(ctx, reader, rs)
44 }
45
View as plain text