api: improve validation rules and omitempty nits
Signed-off-by: Hidde Beydals <hidde@hhh.computer>
This commit is contained in:
		
							parent
							
								
									8fcfde9882
								
							
						
					
					
						commit
						f65e26173e
					
				| 
						 | 
				
			
			@ -39,7 +39,7 @@ type Artifact struct {
 | 
			
		|||
 | 
			
		||||
	// Revision is a human-readable identifier traceable in the origin source
 | 
			
		||||
	// system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.
 | 
			
		||||
	// +optional
 | 
			
		||||
	// +required
 | 
			
		||||
	Revision string `json:"revision"`
 | 
			
		||||
 | 
			
		||||
	// Digest is the digest of the file in the form of '<algorithm>:<checksum>'.
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +50,7 @@ type Artifact struct {
 | 
			
		|||
	// LastUpdateTime is the timestamp corresponding to the last update of the
 | 
			
		||||
	// Artifact.
 | 
			
		||||
	// +required
 | 
			
		||||
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`
 | 
			
		||||
	LastUpdateTime metav1.Time `json:"lastUpdateTime"`
 | 
			
		||||
 | 
			
		||||
	// Size is the number of bytes in the file.
 | 
			
		||||
	// +optional
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -96,6 +96,7 @@ type GitRepositorySpec struct {
 | 
			
		|||
 | 
			
		||||
	// Include specifies a list of GitRepository resources which Artifacts
 | 
			
		||||
	// should be included in the Artifact produced for this GitRepository.
 | 
			
		||||
	// +optional
 | 
			
		||||
	Include []GitRepositoryInclude `json:"include,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -104,17 +105,18 @@ type GitRepositorySpec struct {
 | 
			
		|||
type GitRepositoryInclude struct {
 | 
			
		||||
	// GitRepositoryRef specifies the GitRepository which Artifact contents
 | 
			
		||||
	// must be included.
 | 
			
		||||
	// +required
 | 
			
		||||
	GitRepositoryRef meta.LocalObjectReference `json:"repository"`
 | 
			
		||||
 | 
			
		||||
	// FromPath specifies the path to copy contents from, defaults to the root
 | 
			
		||||
	// of the Artifact.
 | 
			
		||||
	// +optional
 | 
			
		||||
	FromPath string `json:"fromPath"`
 | 
			
		||||
	FromPath string `json:"fromPath,omitempty"`
 | 
			
		||||
 | 
			
		||||
	// ToPath specifies the path to copy contents to, defaults to the name of
 | 
			
		||||
	// the GitRepositoryRef.
 | 
			
		||||
	// +optional
 | 
			
		||||
	ToPath string `json:"toPath"`
 | 
			
		||||
	ToPath string `json:"toPath,omitempty"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GetFromPath returns the specified FromPath.
 | 
			
		||||
| 
						 | 
				
			
			@ -169,7 +171,8 @@ type GitRepositoryVerification struct {
 | 
			
		|||
 | 
			
		||||
	// SecretRef specifies the Secret containing the public keys of trusted Git
 | 
			
		||||
	// authors.
 | 
			
		||||
	SecretRef meta.LocalObjectReference `json:"secretRef,omitempty"`
 | 
			
		||||
	// +required
 | 
			
		||||
	SecretRef meta.LocalObjectReference `json:"secretRef"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GitRepositoryStatus records the observed state of a Git repository.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
// +build !ignore_autogenerated
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2022 The Flux authors
 | 
			
		||||
Copyright 2023 The Flux authors
 | 
			
		||||
 | 
			
		||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
// +build !ignore_autogenerated
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2022 The Flux authors
 | 
			
		||||
Copyright 2023 The Flux authors
 | 
			
		||||
 | 
			
		||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -23,6 +23,7 @@ import (
 | 
			
		|||
 | 
			
		||||
	"github.com/fluxcd/pkg/apis/acl"
 | 
			
		||||
	"github.com/fluxcd/pkg/apis/meta"
 | 
			
		||||
 | 
			
		||||
	apiv1 "github.com/fluxcd/source-controller/api/v1"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -191,7 +192,7 @@ type GitRepositoryVerification struct {
 | 
			
		|||
 | 
			
		||||
	// SecretRef specifies the Secret containing the public keys of trusted Git
 | 
			
		||||
	// authors.
 | 
			
		||||
	SecretRef meta.LocalObjectReference `json:"secretRef,omitempty"`
 | 
			
		||||
	SecretRef meta.LocalObjectReference `json:"secretRef"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// GitRepositoryStatus records the observed state of a Git repository.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,7 +2,7 @@
 | 
			
		|||
// +build !ignore_autogenerated
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
Copyright 2022 The Flux authors
 | 
			
		||||
Copyright 2023 The Flux authors
 | 
			
		||||
 | 
			
		||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -411,7 +411,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -174,6 +174,7 @@ spec:
 | 
			
		|||
                    type: object
 | 
			
		||||
                required:
 | 
			
		||||
                - mode
 | 
			
		||||
                - secretRef
 | 
			
		||||
                type: object
 | 
			
		||||
            required:
 | 
			
		||||
            - interval
 | 
			
		||||
| 
						 | 
				
			
			@ -223,7 +224,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			@ -339,7 +342,9 @@ spec:
 | 
			
		|||
                        the Artifact contents.
 | 
			
		||||
                      type: string
 | 
			
		||||
                  required:
 | 
			
		||||
                  - lastUpdateTime
 | 
			
		||||
                  - path
 | 
			
		||||
                  - revision
 | 
			
		||||
                  - url
 | 
			
		||||
                  type: object
 | 
			
		||||
                type: array
 | 
			
		||||
| 
						 | 
				
			
			@ -926,6 +931,7 @@ spec:
 | 
			
		|||
                    type: object
 | 
			
		||||
                required:
 | 
			
		||||
                - mode
 | 
			
		||||
                - secretRef
 | 
			
		||||
                type: object
 | 
			
		||||
            required:
 | 
			
		||||
            - interval
 | 
			
		||||
| 
						 | 
				
			
			@ -975,7 +981,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			@ -1101,7 +1109,9 @@ spec:
 | 
			
		|||
                        the Artifact contents.
 | 
			
		||||
                      type: string
 | 
			
		||||
                  required:
 | 
			
		||||
                  - lastUpdateTime
 | 
			
		||||
                  - path
 | 
			
		||||
                  - revision
 | 
			
		||||
                  - url
 | 
			
		||||
                  type: object
 | 
			
		||||
                type: array
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -486,7 +486,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -403,7 +403,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -229,7 +229,9 @@ spec:
 | 
			
		|||
                      the Artifact contents.
 | 
			
		||||
                    type: string
 | 
			
		||||
                required:
 | 
			
		||||
                - lastUpdateTime
 | 
			
		||||
                - path
 | 
			
		||||
                - revision
 | 
			
		||||
                - url
 | 
			
		||||
                type: object
 | 
			
		||||
              conditions:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -205,6 +205,7 @@ the GitRepository as cloned from the URL, using their default settings.</p>
 | 
			
		|||
</em>
 | 
			
		||||
</td>
 | 
			
		||||
<td>
 | 
			
		||||
<em>(Optional)</em>
 | 
			
		||||
<p>Include specifies a list of GitRepository resources which Artifacts
 | 
			
		||||
should be included in the Artifact produced for this GitRepository.</p>
 | 
			
		||||
</td>
 | 
			
		||||
| 
						 | 
				
			
			@ -279,7 +280,6 @@ string
 | 
			
		|||
</em>
 | 
			
		||||
</td>
 | 
			
		||||
<td>
 | 
			
		||||
<em>(Optional)</em>
 | 
			
		||||
<p>Revision is a human-readable identifier traceable in the origin source
 | 
			
		||||
system. It can be a Git commit SHA, Git tag, a Helm chart version, etc.</p>
 | 
			
		||||
</td>
 | 
			
		||||
| 
						 | 
				
			
			@ -641,6 +641,7 @@ the GitRepository as cloned from the URL, using their default settings.</p>
 | 
			
		|||
</em>
 | 
			
		||||
</td>
 | 
			
		||||
<td>
 | 
			
		||||
<em>(Optional)</em>
 | 
			
		||||
<p>Include specifies a list of GitRepository resources which Artifacts
 | 
			
		||||
should be included in the Artifact produced for this GitRepository.</p>
 | 
			
		||||
</td>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
Copyright 2022 The Flux authors
 | 
			
		||||
Copyright 2023 The Flux authors
 | 
			
		||||
 | 
			
		||||
Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue