| 22 | ) |
| 23 | |
| 24 | type Project struct { |
| 25 | // Project name |
| 26 | // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ |
| 27 | // +kubebuilder:validation:MaxLength=63 |
| 28 | Name string `json:"name"` |
| 29 | |
| 30 | // Map of implementation-dependant free-form YAML attributes. |
| 31 | // +optional |
| 32 | // +kubebuilder:validation:Type=object |
| 33 | // +kubebuilder:pruning:PreserveUnknownFields |
| 34 | // +kubebuilder:validation:Schemaless |
| 35 | Attributes attributes.Attributes `json:"attributes,omitempty"` |
| 36 | |
| 37 | // Path relative to the root of the projects to which this project should be cloned into. This is a unix-style relative path (i.e. uses forward slashes). The path is invalid if it is absolute or tries to escape the project root through the usage of '..'. If not specified, defaults to the project name. |
| 38 | // +optional |
| 39 | ClonePath string `json:"clonePath,omitempty"` |
| 40 | |
| 41 | ProjectSource `json:",inline"` |
| 42 | } |
| 43 | |
| 44 | type StarterProject struct { |
| 45 | // Project name |
nothing calls this directly
no outgoing calls
no test coverage detected