Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Combine files in a multisource repo (#12471 #12485) #12508

Closed
wants to merge 64 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
d6b3094
Squashed all changes
gczuczy May 31, 2023
bc45d98
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 1, 2023
e4d510d
Removed conflicting file
gczuczy Jun 2, 2023
536a61e
Merged with master
gczuczy Jun 2, 2023
745138f
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 5, 2023
0f12068
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 6, 2023
85c565b
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 7, 2023
775ab16
mod-vendor-local rerun
gczuczy Jun 7, 2023
2a890d2
Overwrite destination files and force a hardrefresh
gczuczy Jun 7, 2023
a380375
Adjusted unit tests
gczuczy Jun 7, 2023
e99c0fe
Reverted forced hardrefresh
gczuczy Jun 7, 2023
25afe51
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 8, 2023
fbc25ab
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 9, 2023
565375b
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 12, 2023
7b0f750
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 14, 2023
488a8d2
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 16, 2023
4d446d7
Fix go.mod
gczuczy Jun 16, 2023
1aaabe6
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 16, 2023
d4d5ca0
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 19, 2023
8a0e846
mod-download-local
gczuczy Jun 19, 2023
0f74427
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 20, 2023
8de9607
Removed conflicting file
gczuczy Jun 23, 2023
7839f0a
Merge with master
gczuczy Jun 23, 2023
c7c20b3
codegen-local
gczuczy Jun 23, 2023
cff2c8c
removed conflicting file
gczuczy Jun 26, 2023
51a615d
Merge with master
gczuczy Jun 26, 2023
43b036e
codegen
gczuczy Jun 26, 2023
4757cfc
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 26, 2023
064bce5
Removed conflicting file
gczuczy Jun 28, 2023
1738156
Merge with master
gczuczy Jun 28, 2023
009fd9b
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jun 29, 2023
c382104
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 3, 2023
578d075
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 4, 2023
27e7ce0
Removed conflicting file
gczuczy Jul 10, 2023
612db26
Merge with master
gczuczy Jul 10, 2023
3019b38
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 11, 2023
e8dc655
Removed conflicting filespkg/apis/application/v1alpha1/generated.pb.go
gczuczy Jul 14, 2023
e63cabb
codegen-local
gczuczy Jul 14, 2023
2d54297
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 17, 2023
424e787
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 18, 2023
5b51c65
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 20, 2023
c1bc29e
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 24, 2023
656a7bd
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Jul 31, 2023
aa969f8
Removed conflicting file
gczuczy Aug 7, 2023
66a66db
Merge with master
gczuczy Aug 7, 2023
1123dbf
Run lint
gczuczy Aug 7, 2023
281a66a
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Aug 8, 2023
861c671
Removed conflicting file
gczuczy Aug 14, 2023
561692d
Regenerated files
gczuczy Aug 14, 2023
8e0c4e9
fmt fix
gczuczy Aug 14, 2023
f97908b
Removed conflicting file
gczuczy Aug 21, 2023
0a816ec
Regenerated files
gczuczy Aug 21, 2023
5f0d9d5
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Sep 4, 2023
313d055
Removed conflicting file
gczuczy Sep 21, 2023
d439109
fix: Cache control 404 asset requests (#15327)
sentientmonkey Sep 5, 2023
9148d2e
codegen and lint
gczuczy Dec 11, 2023
ee83c8e
Merge with master
gczuczy Dec 11, 2023
75169d4
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Dec 11, 2023
953d29e
Merge branch 'master' into multi-source-combine-signedoff
gczuczy Dec 19, 2023
07c5d50
Removed conflicting file
gczuczy Jan 8, 2024
1b8cb9f
Merge with master
gczuczy Jan 8, 2024
cce2d71
Removed conflicting files
gczuczy Mar 11, 2024
dfc9cb6
Merge with master
gczuczy Mar 11, 2024
acf443f
codegen and fix
gczuczy Mar 11, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions assets/swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -6251,6 +6251,13 @@
"directory": {
"$ref": "#/definitions/v1alpha1ApplicationSourceDirectory"
},
"from": {
"description": "From is a list of filesystem objects that is to be copied into this source's tree. Only used within a `sources` tag.",
"type": "array",
"items": {
"$ref": "#/definitions/v1alpha1CopyFromSpec"
}
},
"helm": {
"$ref": "#/definitions/v1alpha1ApplicationSourceHelm"
},
Expand Down Expand Up @@ -6987,6 +6994,24 @@
}
}
},
"v1alpha1CopyFromSpec": {
"type": "object",
"title": "CopyFromSpec defines a copy declaration from another source into this one",
"properties": {
"destinationPath": {
"description": "DestinationPath is the destination directory at the current repository where the object will be copied to.",
"type": "string"
},
"failOnOutOfBoundsSymlink": {
"type": "boolean",
"title": "FailOnOutOfBoundsSymlink mode makes the complete operation error out if a single symlink is out-of-bound within the subtree"
},
"sourcePath": {
"type": "string",
"title": "SourcePath is the path from the Ref'd repository, the source of the copy operation.\nIt's syntax is matching helmValue's, $ref/path"
}
}
},
"v1alpha1DuckTypeGenerator": {
"description": "DuckType defines a generator to match against clusters registered with ArgoCD.",
"type": "object",
Expand Down
1,010 changes: 1,010 additions & 0 deletions manifests/core-install.yaml

Large diffs are not rendered by default.

338 changes: 338 additions & 0 deletions manifests/crds/application-crd.yaml

Large diffs are not rendered by default.

672 changes: 672 additions & 0 deletions manifests/crds/applicationset-crd.yaml

Large diffs are not rendered by default.

1,010 changes: 1,010 additions & 0 deletions manifests/ha/install.yaml

Large diffs are not rendered by default.

1,010 changes: 1,010 additions & 0 deletions manifests/install.yaml

Large diffs are not rendered by default.

1,872 changes: 1,084 additions & 788 deletions pkg/apis/application/v1alpha1/generated.pb.go

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions pkg/apis/application/v1alpha1/generated.proto

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

54 changes: 53 additions & 1 deletion pkg/apis/application/v1alpha1/openapi_generated.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 19 additions & 0 deletions pkg/apis/application/v1alpha1/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,8 @@ type ApplicationSource struct {
Chart string `json:"chart,omitempty" protobuf:"bytes,12,opt,name=chart"`
// Ref is reference to another source within sources field. This field will not be used if used with a `source` tag.
Ref string `json:"ref,omitempty" protobuf:"bytes,13,opt,name=ref"`
// From is a list of filesystem objects that is to be copied into this source's tree. Only used within a `sources` tag.
From CopyFromSpecs `json:"from,omitempty" protobuf:"bytes,14,rep,name=from"`
}

// ApplicationSources contains list of required information about the sources of an application
Expand Down Expand Up @@ -905,6 +907,23 @@ func (c *ApplicationSourcePlugin) RemoveEnvEntry(key string) error {
return fmt.Errorf("unable to find env variable with key %q for plugin %q", key, c.Name)
}

// CopyFromSpec defines a copy declaration from another source into this one
type CopyFromSpec struct {
// SourcePath is the path from the Ref'd repository, the source of the copy operation.
// It's syntax is matching helmValue's, $ref/path
SourcePath string `json:"sourcePath" protobuf:"bytes,1,name=sourcePath"`
// DestinationPath is the destination directory at the current repository where the object will be copied to.
DestinationPath string `json:"destinationPath" protobuf:"bytes,2,name=destinationPath"`
// FailOnOutOfBoundsSymlink mode makes the complete operation error out if a single symlink is out-of-bound within the subtree
FailOnOutOfBoundsSymlink bool `json:"failOnOutOfBoundsSymlink,omitempty" protobuf:"bytes,3,name=failOnOutOfBoundsSymlink"`
}

type CopyFromSpecs []CopyFromSpec

func (c CopyFromSpecs) String() string {
return fmt.Sprintf("%v", []CopyFromSpec(c))
}

// ApplicationDestination holds information about the application's destination
type ApplicationDestination struct {
// Server specifies the URL of the target cluster's Kubernetes control plane API. This must be set if Name is not set.
Expand Down
41 changes: 41 additions & 0 deletions pkg/apis/application/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pkg/client/clientset/versioned/clientset.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading