Skip to content

Commit db5f70b

Browse files
committed
feat: add Scheduled and UnavailableSecret Image monitoring status
1 parent b2bd000 commit db5f70b

File tree

5 files changed

+19
-10
lines changed

5 files changed

+19
-10
lines changed

api/kuik/v1alpha1/image_types.go

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,23 @@ type ReferencesWithCount struct {
3535
type ImageStatusUpstream string
3636

3737
const (
38-
ImageStatusUpstreamAvailable = ImageStatusUpstream("Available")
39-
ImageStatusUpstreamUnavailable = ImageStatusUpstream("Unavailable")
40-
ImageStatusUpstreamUnreachable = ImageStatusUpstream("Unreachable")
41-
ImageStatusUpstreamInvalidAuth = ImageStatusUpstream("InvalidAuth")
42-
ImageStatusUpstreamQuotaExceeded = ImageStatusUpstream("QuotaExceeded")
43-
ImageStatusUpstreamUnknown = ImageStatusUpstream("")
38+
ImageStatusUpstreamScheduled = ImageStatusUpstream("Scheduled")
39+
ImageStatusUpstreamAvailable = ImageStatusUpstream("Available")
40+
ImageStatusUpstreamUnavailable = ImageStatusUpstream("Unavailable")
41+
ImageStatusUpstreamUnreachable = ImageStatusUpstream("Unreachable")
42+
ImageStatusUpstreamInvalidAuth = ImageStatusUpstream("InvalidAuth")
43+
ImageStatusUpstreamUnavailableSecret = ImageStatusUpstream("UnavailableSecret")
44+
ImageStatusUpstreamQuotaExceeded = ImageStatusUpstream("QuotaExceeded")
4445
)
4546

4647
var ImageStatusUpstreamList = []ImageStatusUpstream{
48+
ImageStatusUpstreamScheduled,
4749
ImageStatusUpstreamAvailable,
4850
ImageStatusUpstreamUnavailable,
4951
ImageStatusUpstreamUnreachable,
5052
ImageStatusUpstreamInvalidAuth,
53+
ImageStatusUpstreamUnavailableSecret,
5154
ImageStatusUpstreamQuotaExceeded,
52-
ImageStatusUpstreamUnknown,
5355
}
5456

5557
type Upstream struct {
@@ -60,7 +62,8 @@ type Upstream struct {
6062
// LastError is the last error encountered while trying to monitor the upstream image
6163
LastError string `json:"lastError,omitempty"`
6264
// Status is the status of the last finished monitoring task
63-
// +kubebuilder:validation:Enum=Available;Unavailable;Unreachable;InvalidAuth;QuotaExceeded
65+
// +kubebuilder:validation:Enum=Scheduled;Available;Unavailable;Unreachable;InvalidAuth;UnavailableSecret;QuotaExceeded
66+
// +default="Scheduled"
6467
Status ImageStatusUpstream `json:"status,omitempty"`
6568
// Digest is the digest of the upstream image manifest, if available
6669
Digest string `json:"digest,omitempty"`

config/crd/bases/kuik.enix.io_images.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,16 @@ spec:
9191
format: date-time
9292
type: string
9393
status:
94+
default: Scheduled
9495
description: Status is the status of the last finished monitoring
9596
task
9697
enum:
98+
- Scheduled
9799
- Available
98100
- Unavailable
99101
- Unreachable
100102
- InvalidAuth
103+
- UnavailableSecret
101104
- QuotaExceeded
102105
type: string
103106
type: object

helm/kube-image-keeper/crds/kuik.enix.io_images.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,13 +90,16 @@ spec:
9090
format: date-time
9191
type: string
9292
status:
93+
default: Scheduled
9394
description: Status is the status of the last finished monitoring
9495
task
9596
enum:
97+
- Scheduled
9698
- Available
9799
- Unavailable
98100
- Unreachable
99101
- InvalidAuth
102+
- UnavailableSecret
100103
- QuotaExceeded
101104
type: string
102105
type: object

internal/controller/collector.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func (m *kuikMetrics) addCollector(collector prometheus.Collector) {
138138

139139
func (m *kuikMetrics) InitMonitoringTaskRegistry(registry string) {
140140
for _, status := range kuikv1alpha1.ImageStatusUpstreamList {
141-
if status != kuikv1alpha1.ImageStatusUpstreamUnknown {
141+
if status != kuikv1alpha1.ImageStatusUpstreamScheduled {
142142
m.monitoringTasks.WithLabelValues(registry, status.ToString()).Add(0)
143143
}
144144
}

internal/controller/kuik/registrymonitor_controller.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,7 @@ func (r *RegistryMonitorReconciler) monitorAnImage(ctx context.Context, image *k
165165

166166
var lastErr error
167167
if pullSecrets, err := image.GetPullSecrets(ctx, r.Client); err != nil {
168-
image.Status.Upstream.Status = kuikv1alpha1.ImageStatusUpstreamInvalidAuth
168+
image.Status.Upstream.Status = kuikv1alpha1.ImageStatusUpstreamUnavailableSecret
169169
image.Status.Upstream.LastError = err.Error()
170170
lastErr = err
171171
} else {

0 commit comments

Comments
 (0)