Skip to content

Commit f4dbc94

Browse files
preliminary PR
1 parent eefd1a5 commit f4dbc94

File tree

3 files changed

+90
-7
lines changed

3 files changed

+90
-7
lines changed

api/v1beta1/modulebuildsignconfig_types.go

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,51 @@ limitations under the License.
1717
package v1beta1
1818

1919
import (
20+
v1 "k8s.io/api/core/v1"
2021
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2122
)
2223

24+
type BuildOrSignAction string
25+
26+
const (
27+
// BuildImage means that image needs to be built
28+
BuildImage BuildOrSignAction = "BuildImage"
29+
30+
// SignImage means that image needs to be built
31+
SignImage BuildOrSignAction = "SignImage"
32+
33+
// ImageBuildFailed means that image does not exists and the Build failed
34+
ImageBuildFailed ImageState = "BuildFailed"
35+
36+
// ImageBuildSucceeded means that image has been built and pushed succesfully
37+
ImageBuildSucceeded ImageState = "BuildSucceeded"
38+
39+
// ImageSignFailed means that image does not exists and the Sign failed
40+
ImageSignFailed ImageState = "SignFailed"
41+
42+
// ImageSignSucceeded means that image has been signed and pushed succesfully
43+
ImageSignSucceeded ImageState = "SignSucceeded"
44+
)
45+
46+
// ModuleImageSpec describes the image whose state needs to be queried
47+
type ModuleBuildSignSpec struct {
48+
ModuleImageSpec
49+
50+
// Action to take on the image, either build or sign
51+
Action BuildOrSignAction `json:"action"`
52+
}
53+
54+
// ModuleBuildSignConfigSpec describes the images that need to be built/signed
55+
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
56+
// +kubebuilder:validation:Required
57+
type ModuleBuildSignConfigSpec struct {
58+
Images []ModuleBuildSignSpec `json:"images"`
59+
60+
// ImageRepoSecret contains pull secret for the image's repo, if needed
61+
// +optional
62+
ImageRepoSecret *v1.LocalObjectReference `json:"imageRepoSecret,omitempty"`
63+
}
64+
2365
// +kubebuilder:object:root=true
2466
// +kubebuilder:subresource:status
2567

@@ -30,8 +72,8 @@ type ModuleBuildSignConfig struct {
3072
metav1.TypeMeta `json:",inline"`
3173
metav1.ObjectMeta `json:"metadata,omitempty"`
3274

33-
Spec ModuleImagesConfigSpec `json:"spec,omitempty"`
34-
Status ModuleImagesConfigStatus `json:"status,omitempty"`
75+
Spec ModuleBuildSignConfigSpec `json:"spec,omitempty"`
76+
Status ModuleImagesConfigStatus `json:"status,omitempty"`
3577
}
3678

3779
// +kubebuilder:object:root=true

api/v1beta1/moduleimagesconfig_types.go

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,10 @@ const (
2828
ImageExists ImageState = "Exists"
2929
// ImageDoesNotExist means that image does not exist in the specified repo
3030
ImageDoesNotExist ImageState = "DoesNotExist"
31-
// ImageNeedsBuilding means that image does not exists, but has Build/Sign sections and can be built
31+
// ImageNeedsBuilding means that image does not exists, but has Build section and can be built
3232
ImageNeedsBuilding ImageState = "NeedsBuilding"
33-
// ImageBuildFailed means that image does not exists and the Build/Sign failed
34-
ImageBuildFailed ImageState = "BuildFailed"
35-
// ImageBuildSucceeded means that image has been built and pushed succesfully
36-
ImageBuildSucceeded ImageState = "BuildSucceeded"
33+
// ImageNeedsSigning means that images needs signing, because it was pre-built, or in-cluster build succeeded
34+
ImageNeedsSigning ImageState = "NeedsSigning"
3735
)
3836

3937
// ModuleImageSpec describes the image whose state needs to be queried

api/v1beta1/zz_generated.deepcopy.go

Lines changed: 43 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)