This commit is contained in:
yevhenvolchenko 2026-04-21 02:43:04 +00:00 committed by GitHub
commit 528c781aa1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 84 additions and 13 deletions

13
assets/swagger.json generated
View file

@ -7029,7 +7029,7 @@
},
"roles": {
"type": "array",
"title": "Roles are user defined RBAC roles associated with this project",
"title": "Roles are user defined RBAC roles associated with this project\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1ProjectRole"
}
@ -7659,7 +7659,7 @@
},
"fileParameters": {
"type": "array",
"title": "FileParameters are file parameters to the helm template",
"title": "FileParameters are file parameters to the helm template\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1HelmFileParameter"
}
@ -7678,7 +7678,7 @@
},
"parameters": {
"type": "array",
"title": "Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation",
"title": "Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1HelmParameter"
}
@ -7729,7 +7729,7 @@
"properties": {
"extVars": {
"type": "array",
"title": "ExtVars is a list of Jsonnet External Variables",
"title": "ExtVars is a list of Jsonnet External Variables\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1JsonnetVar"
}
@ -7743,7 +7743,7 @@
},
"tlas": {
"type": "array",
"title": "TLAS is a list of Jsonnet Top-level Arguments",
"title": "TLAS is a list of Jsonnet Top-level Arguments\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1JsonnetVar"
}
@ -7913,7 +7913,7 @@
},
"info": {
"type": "array",
"title": "Info contains a list of information (URLs, email addresses, and plain text) that relates to the application",
"title": "Info contains a list of information (URLs, email addresses, and plain text) that relates to the application\n+patchMergeKey=name\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1Info"
}
@ -8855,6 +8855,7 @@
"properties": {
"items": {
"type": "array",
"title": "+patchMergeKey=id\n+patchStrategy=merge",
"items": {
"$ref": "#/definitions/v1alpha1JWTToken"
}

View file

@ -80,6 +80,8 @@ message AppProjectSpec {
optional string description = 3;
// Roles are user defined RBAC roles associated with this project
// +patchMergeKey=name
// +patchStrategy=merge
repeated ProjectRole roles = 4;
// ClusterResourceWhitelist contains list of whitelisted cluster level resources
@ -530,6 +532,8 @@ message ApplicationSourceHelm {
repeated string valueFiles = 1;
// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
// +patchMergeKey=name
// +patchStrategy=merge
repeated HelmParameter parameters = 2;
// ReleaseName is the Helm release name to use. If omitted it will use the application name
@ -540,6 +544,8 @@ message ApplicationSourceHelm {
optional string values = 4;
// FileParameters are file parameters to the helm template
// +patchMergeKey=name
// +patchStrategy=merge
repeated HelmFileParameter fileParameters = 5;
// Version is the Helm version to use for templating ("3")
@ -579,9 +585,13 @@ message ApplicationSourceHelm {
// ApplicationSourceJsonnet holds options specific to applications of type Jsonnet
message ApplicationSourceJsonnet {
// ExtVars is a list of Jsonnet External Variables
// +patchMergeKey=name
// +patchStrategy=merge
repeated JsonnetVar extVars = 1;
// TLAS is a list of Jsonnet Top-level Arguments
// +patchMergeKey=name
// +patchStrategy=merge
repeated JsonnetVar tlas = 2;
// Additional library search dirs
@ -689,6 +699,8 @@ message ApplicationSpec {
repeated ResourceIgnoreDifferences ignoreDifferences = 5;
// Info contains a list of information (URLs, email addresses, and plain text) that relates to the application
// +patchMergeKey=name
// +patchStrategy=merge
repeated Info info = 6;
// RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions.
@ -1323,6 +1335,8 @@ message JWTToken {
// JWTTokens represents a list of JWT tokens
message JWTTokens {
// +patchMergeKey=id
// +patchStrategy=merge
repeated JWTToken items = 1;
}

View file

@ -356,6 +356,12 @@ func schema_pkg_apis_application_v1alpha1_AppProjectSpec(ref common.ReferenceCal
},
},
"roles": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "Roles are user defined RBAC roles associated with this project",
Type: []string{"array"},
@ -1810,6 +1816,12 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceHelm(ref common.Refer
},
},
"parameters": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation",
Type: []string{"array"},
@ -1843,6 +1855,12 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceHelm(ref common.Refer
},
},
"fileParameters": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "FileParameters are file parameters to the helm template",
Type: []string{"array"},
@ -1935,6 +1953,12 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceJsonnet(ref common.Re
Type: []string{"object"},
Properties: map[string]spec.Schema{
"extVars": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "ExtVars is a list of Jsonnet External Variables",
Type: []string{"array"},
@ -1949,6 +1973,12 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSourceJsonnet(ref common.Re
},
},
"tlas": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "TLAS is a list of Jsonnet Top-level Arguments",
Type: []string{"array"},
@ -2289,6 +2319,12 @@ func schema_pkg_apis_application_v1alpha1_ApplicationSpec(ref common.ReferenceCa
},
},
"info": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "name",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Description: "Info contains a list of information (URLs, email addresses, and plain text) that relates to the application",
Type: []string{"array"},
@ -4171,6 +4207,12 @@ func schema_pkg_apis_application_v1alpha1_JWTTokens(ref common.ReferenceCallback
Type: []string{"object"},
Properties: map[string]spec.Schema{
"items": {
VendorExtensible: spec.VendorExtensible{
Extensions: spec.Extensions{
"x-kubernetes-patch-merge-key": "id",
"x-kubernetes-patch-strategy": "merge",
},
},
SchemaProps: spec.SchemaProps{
Type: []string{"array"},
Items: &spec.SchemaOrArray{

View file

@ -87,7 +87,9 @@ type ApplicationSpec struct {
// IgnoreDifferences is a list of resources and their fields which should be ignored during comparison
IgnoreDifferences IgnoreDifferences `json:"ignoreDifferences,omitempty" protobuf:"bytes,5,name=ignoreDifferences"`
// Info contains a list of information (URLs, email addresses, and plain text) that relates to the application
Info []Info `json:"info,omitempty" protobuf:"bytes,6,name=info"`
// +patchMergeKey=name
// +patchStrategy=merge
Info []Info `json:"info,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,6,name=info"`
// RevisionHistoryLimit limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions.
// This should only be changed in exceptional circumstances.
// Setting to zero will store no history. This will reduce storage used.
@ -539,14 +541,18 @@ type ApplicationSourceHelm struct {
// ValuesFiles is a list of Helm value files to use when generating a template
ValueFiles []string `json:"valueFiles,omitempty" protobuf:"bytes,1,opt,name=valueFiles"`
// Parameters is a list of Helm parameters which are passed to the helm template command upon manifest generation
Parameters []HelmParameter `json:"parameters,omitempty" protobuf:"bytes,2,opt,name=parameters"`
// +patchMergeKey=name
// +patchStrategy=merge
Parameters []HelmParameter `json:"parameters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,opt,name=parameters"`
// ReleaseName is the Helm release name to use. If omitted it will use the application name
ReleaseName string `json:"releaseName,omitempty" protobuf:"bytes,3,opt,name=releaseName"`
// Values specifies Helm values to be passed to helm template, typically defined as a block. ValuesObject takes precedence over Values, so use one or the other.
// +patchStrategy=replace
Values string `json:"values,omitempty" patchStrategy:"replace" protobuf:"bytes,4,opt,name=values"`
// FileParameters are file parameters to the helm template
FileParameters []HelmFileParameter `json:"fileParameters,omitempty" protobuf:"bytes,5,opt,name=fileParameters"`
// +patchMergeKey=name
// +patchStrategy=merge
FileParameters []HelmFileParameter `json:"fileParameters,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,5,opt,name=fileParameters"`
// Version is the Helm version to use for templating ("3")
Version string `json:"version,omitempty" protobuf:"bytes,6,opt,name=version"`
// PassCredentials pass credentials to all domains (Helm's --pass-credentials)
@ -886,9 +892,13 @@ func NewJsonnetVar(s string, code bool) JsonnetVar {
// ApplicationSourceJsonnet holds options specific to applications of type Jsonnet
type ApplicationSourceJsonnet struct {
// ExtVars is a list of Jsonnet External Variables
ExtVars []JsonnetVar `json:"extVars,omitempty" protobuf:"bytes,1,opt,name=extVars"`
// +patchMergeKey=name
// +patchStrategy=merge
ExtVars []JsonnetVar `json:"extVars,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,1,opt,name=extVars"`
// TLAS is a list of Jsonnet Top-level Arguments
TLAs []JsonnetVar `json:"tlas,omitempty" protobuf:"bytes,2,opt,name=tlas"`
// +patchMergeKey=name
// +patchStrategy=merge
TLAs []JsonnetVar `json:"tlas,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,2,opt,name=tlas"`
// Additional library search dirs
Libs []string `json:"libs,omitempty" protobuf:"bytes,3,opt,name=libs"`
}
@ -1301,7 +1311,9 @@ func (spec *ApplicationSpec) BuildComparedToStatus(sources []ApplicationSource)
// JWTTokens represents a list of JWT tokens
type JWTTokens struct {
Items []JWTToken `json:"items,omitempty" protobuf:"bytes,1,opt,name=items"`
// +patchMergeKey=id
// +patchStrategy=merge
Items []JWTToken `json:"items,omitempty" patchStrategy:"merge" patchMergeKey:"id" protobuf:"bytes,1,opt,name=items"`
}
// OperationInitiator contains information about the initiator of an operation
@ -2780,7 +2792,9 @@ type AppProjectSpec struct {
// +kubebuilder:validation:MaxLength=255
Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"`
// Roles are user defined RBAC roles associated with this project
Roles []ProjectRole `json:"roles,omitempty" protobuf:"bytes,4,rep,name=roles"`
// +patchMergeKey=name
// +patchStrategy=merge
Roles []ProjectRole `json:"roles,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,4,rep,name=roles"`
// ClusterResourceWhitelist contains list of whitelisted cluster level resources
ClusterResourceWhitelist []ClusterResourceRestrictionItem `json:"clusterResourceWhitelist,omitempty" protobuf:"bytes,5,opt,name=clusterResourceWhitelist"`
// NamespaceResourceBlacklist contains list of blacklisted namespace level resources