Skip to content

Commit a972604

Browse files
Merge branch 'argoproj:master' into master
2 parents f53882e + d33caac commit a972604

File tree

68 files changed

+2367
-729
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

68 files changed

+2367
-729
lines changed

Makefile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ DIST_DIR=${CURRENT_DIR}/dist
44
CLI_NAME=argocd
55
BIN_NAME=argocd
66

7+
GEN_RESOURCES_CLI_NAME=argocd-resources-gen
8+
79
HOST_OS:=$(shell go env GOOS)
810
HOST_ARCH:=$(shell go env GOARCH)
911

@@ -222,6 +224,10 @@ cli: test-tools-image
222224
cli-local: clean-debug
223225
CGO_ENABLED=0 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${CLI_NAME} ./cmd
224226

227+
.PHONY: gen-resources-cli-local
228+
gen-resources-cli-local: clean-debug
229+
CGO_ENABLED=0 go build -v -ldflags '${LDFLAGS}' -o ${DIST_DIR}/${GEN_RESOURCES_CLI_NAME} ./hack/gen-resources/cmd
230+
225231
.PHONY: release-cli
226232
release-cli: clean-debug
227233
make BIN_NAME=argocd-darwin-amd64 GOOS=darwin argocd-all

assets/swagger.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4974,6 +4974,10 @@
49744974
"type": "string",
49754975
"title": "ReleaseName is the Helm release name to use. If omitted it will use the application name"
49764976
},
4977+
"skipCrds": {
4978+
"type": "boolean",
4979+
"title": "SkipCrds skips custom resource definition installation step (Helm's --skip-crds)"
4980+
},
49774981
"valueFiles": {
49784982
"type": "array",
49794983
"title": "ValuesFiles is a list of Helm value files to use when generating a template",

cmd/argocd/commands/admin/notifications.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ func NewNotificationsCommand() *cobra.Command {
2727

2828
var argocdService service.Service
2929
toolsCommand := cmd.NewToolsCommand(
30-
"argocd-notifications",
31-
"argocd-notifications",
30+
"notifications",
31+
"notifications",
3232
applications,
3333
settings.GetFactorySettings(argocdService, "argocd-notifications-secret", "argocd-notifications-cm"), func(clientConfig clientcmd.ClientConfig) {
3434
k8sCfg, err := clientConfig.ClientConfig()

cmd/util/app.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ type AppOptions struct {
4444
helmSetFiles []string
4545
helmVersion string
4646
helmPassCredentials bool
47+
helmSkipCrds bool
4748
project string
4849
syncPolicy string
4950
syncOptions []string
@@ -95,6 +96,7 @@ func AddAppFlags(command *cobra.Command, opts *AppOptions) {
9596
command.Flags().StringArrayVar(&opts.helmSets, "helm-set", []string{}, "Helm set values on the command line (can be repeated to set several values: --helm-set key1=val1 --helm-set key2=val2)")
9697
command.Flags().StringArrayVar(&opts.helmSetStrings, "helm-set-string", []string{}, "Helm set STRING values on the command line (can be repeated to set several values: --helm-set-string key1=val1 --helm-set-string key2=val2)")
9798
command.Flags().StringArrayVar(&opts.helmSetFiles, "helm-set-file", []string{}, "Helm set values from respective files specified via the command line (can be repeated to set several values: --helm-set-file key1=path1 --helm-set-file key2=path2)")
99+
command.Flags().BoolVar(&opts.helmSkipCrds, "helm-skip-crds", false, "Skip helm crd installation step")
98100
command.Flags().StringVar(&opts.project, "project", "", "Application project name")
99101
command.Flags().StringVar(&opts.syncPolicy, "sync-policy", "", "Set the sync policy (one of: none, automated (aliases of automated: auto, automatic))")
100102
command.Flags().StringArrayVar(&opts.syncOptions, "sync-option", []string{}, "Add or remove a sync option, e.g add `Prune=false`. Remove using `!` prefix, e.g. `!Prune=false`")
@@ -175,6 +177,8 @@ func SetAppSpecOptions(flags *pflag.FlagSet, spec *argoappv1.ApplicationSpec, ap
175177
setHelmOpt(&spec.Source, helmOpts{helmSetStrings: appOpts.helmSetStrings})
176178
case "helm-set-file":
177179
setHelmOpt(&spec.Source, helmOpts{helmSetFiles: appOpts.helmSetFiles})
180+
case "helm-skip-crds":
181+
setHelmOpt(&spec.Source, helmOpts{skipCrds: appOpts.helmSkipCrds})
178182
case "directory-recurse":
179183
if spec.Source.Directory != nil {
180184
spec.Source.Directory.Recurse = appOpts.directoryRecurse
@@ -394,6 +398,7 @@ type helmOpts struct {
394398
helmSetStrings []string
395399
helmSetFiles []string
396400
passCredentials bool
401+
skipCrds bool
397402
}
398403

399404
func setHelmOpt(src *argoappv1.ApplicationSource, opts helmOpts) {
@@ -418,6 +423,9 @@ func setHelmOpt(src *argoappv1.ApplicationSource, opts helmOpts) {
418423
if opts.passCredentials {
419424
src.Helm.PassCredentials = opts.passCredentials
420425
}
426+
if opts.skipCrds {
427+
src.Helm.SkipCrds = opts.skipCrds
428+
}
421429
for _, text := range opts.helmSets {
422430
p, err := argoappv1.NewHelmParameter(text, false)
423431
if err != nil {

cmd/util/app_test.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,11 @@ func Test_setHelmOpt(t *testing.T) {
5959
setHelmOpt(&src, helmOpts{passCredentials: true})
6060
assert.Equal(t, true, src.Helm.PassCredentials)
6161
})
62+
t.Run("HelmSkipCrds", func(t *testing.T) {
63+
src := v1alpha1.ApplicationSource{}
64+
setHelmOpt(&src, helmOpts{skipCrds: true})
65+
assert.Equal(t, true, src.Helm.SkipCrds)
66+
})
6267
}
6368

6469
func Test_setKustomizeOpt(t *testing.T) {

docs/operator-manual/notifications/troubleshooting-commands.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
## argocd-notifications template get
1+
## notifications template get
22

33
Prints information about configured templates
44

55
```
6-
argocd-notifications template get [flags]
6+
notifications template get [flags]
77
```
88

99
### Examples
1010

1111
```
1212
1313
# prints all templates
14-
argocd-notifications template get
14+
notifications template get
1515
# print YAML formatted app-sync-succeeded template definition
16-
argocd-notifications template get app-sync-succeeded -o=yaml
16+
notifications template get app-sync-succeeded -o=yaml
1717
1818
```
1919

@@ -51,23 +51,23 @@ argocd-notifications template get app-sync-succeeded -o=yaml
5151
--username string Username for basic authentication to the API server
5252
```
5353

54-
## argocd-notifications template notify
54+
## notifications template notify
5555

5656
Generates notification using the specified template and send it to specified recipients
5757

5858
```
59-
argocd-notifications template notify NAME RESOURCE_NAME [flags]
59+
notifications template notify NAME RESOURCE_NAME [flags]
6060
```
6161

6262
### Examples
6363

6464
```
6565
6666
# Trigger notification using in-cluster config map and secret
67-
argocd-notifications template notify app-sync-succeeded guestbook --recipient slack:my-slack-channel
67+
notifications template notify app-sync-succeeded guestbook --recipient slack:my-slack-channel
6868
6969
# Render notification render generated notification in console
70-
argocd-notifications template notify app-sync-succeeded guestbook
70+
notifications template notify app-sync-succeeded guestbook
7171
7272
```
7373

@@ -105,22 +105,22 @@ argocd-notifications template notify app-sync-succeeded guestbook
105105
--username string Username for basic authentication to the API server
106106
```
107107

108-
## argocd-notifications trigger get
108+
## notifications trigger get
109109

110110
Prints information about configured triggers
111111

112112
```
113-
argocd-notifications trigger get [flags]
113+
notifications trigger get [flags]
114114
```
115115

116116
### Examples
117117

118118
```
119119
120120
# prints all triggers
121-
argocd-notifications trigger get
121+
notifications trigger get
122122
# print YAML formatted on-sync-failed trigger definition
123-
argocd-notifications trigger get on-sync-failed -o=yaml
123+
notifications trigger get on-sync-failed -o=yaml
124124
125125
```
126126

@@ -158,23 +158,23 @@ argocd-notifications trigger get on-sync-failed -o=yaml
158158
--username string Username for basic authentication to the API server
159159
```
160160

161-
## argocd-notifications trigger run
161+
## notifications trigger run
162162

163163
Evaluates specified trigger condition and prints the result
164164

165165
```
166-
argocd-notifications trigger run NAME RESOURCE_NAME [flags]
166+
notifications trigger run NAME RESOURCE_NAME [flags]
167167
```
168168

169169
### Examples
170170

171171
```
172172
173173
# Execute trigger configured in 'argocd-notification-cm' ConfigMap
174-
argocd-notifications trigger run on-sync-status-unknown ./sample-app.yaml
174+
notifications trigger run on-sync-status-unknown ./sample-app.yaml
175175
176176
# Execute trigger using my-config-map.yaml instead of 'argocd-notifications-cm' ConfigMap
177-
argocd-notifications trigger run on-sync-status-unknown ./sample-app.yaml \
177+
notifications trigger run on-sync-status-unknown ./sample-app.yaml \
178178
--config-map ./my-config-map.yaml
179179
```
180180

docs/roadmap.md

Lines changed: 32 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@
33
- [Roadmap](#roadmap)
44
- [v2.3](#v23)
55
- [Merge Argo CD Notifications into Argo CD](#merge-argo-cd-notifications-into-argo-cd)
6-
- [Input Forms UI Refresh](#input-forms-ui-refresh)
6+
- [Merge ApplicationSet controller into Argo CD](#merge-applicationset-controller-into-argo-cd)
77
- [Compact resources tree](#compact-resources-tree)
88
- [Maintain difference in cluster and git values for specific fields](#maintain-difference-in-cluster-and-git-values-for-specific-fields)
9-
- [Web Shell](#web-shell)
10-
- [Helm values from external repo](#helm-values-from-external-repo)
9+
- [ARM images and CLI binary](#arm-images-and-cli-binary)
10+
- [Server side apply](#server-side-apply)
1111
- [v2.4 and beyond](#v24-and-beyond)
12-
- [Merge ApplicationSet controller into Argo CD](#merge-applicationset-controller-into-argo-cd)
12+
- [First class support for ApplicationSet resources](#first-class-support-for-applicationset-resources)
13+
- [Input Forms UI Refresh](#input-forms-ui-refresh)
1314
- [Merge Argo CD Image Updater into Argo CD](#merge-argo-cd-image-updater-into-argo-cd)
15+
- [Web Shell](#web-shell)
16+
- [Helm values from external repo](#helm-values-from-external-repo)
17+
- [Add support for secrets in Application parameters](#add-support-for-secrets-in-application-parameters)
1418
- [Config Management Tools Integrations UI/CLI](#config-management-tools-integrations-uicli)
1519
- [Allow specifying parent/child relationships in config](#allow-specifying-parentchild-relationships-in-config)
1620
- [Dependencies between applications](#dependencies-between-applications)
@@ -32,13 +36,15 @@
3236

3337
## v2.3
3438

39+
> ETA: Feb 2021
40+
3541
### Merge Argo CD Notifications into Argo CD
3642

3743
The [Argo CD Notifications](https://github.com/argoproj-labs/argocd-notifications) should be merged into Argo CD and available out-of-the-box: [#7350](https://github.com/argoproj/argo-cd/issues/7350)
3844

39-
### Input Forms UI Refresh
45+
### Merge ApplicationSet controller into Argo CD
4046

41-
Improved design of the input forms in Argo CD Web UI: https://www.figma.com/file/IIlsFqqmM5UhqMVul9fQNq/Argo-CD?node-id=0%3A1
47+
The ApplicationSet functionality is available in Argo CD out-of-the-box ([#7351](https://github.com/argoproj/argo-cd/issues/7351)).
4248

4349
### Compact resources tree
4450

@@ -48,28 +54,40 @@ An ability to collaps leaf resources tree to improve visualization of very large
4854

4955
The feature allows to avoid updating fields excluded from diffing ([#2913](https://github.com/argoproj/argo-cd/issues/2913)).
5056

51-
### Web Shell
57+
### ARM images and CLI binary
5258

53-
Exec into the Kubernetes Pod right from Argo CD Web UI! [#4351](https://github.com/argoproj/argo-cd/issues/4351)
59+
The release workflow should build and publish ARM images and CLI binaries: ([#4211](https://github.com/argoproj/argo-cd/issues/4211))
5460

55-
### Helm values from external repo
56-
57-
The feature allows combining of-the-shelf Helm chart and value file in Git repository ([#2789](https://github.com/argoproj/argo-cd/issues/2789))
61+
### Server side apply
5862

63+
Support using [server side apply](https://kubernetes.io/docs/reference/using-api/server-side-apply/) during application syncing
64+
[#2267](https://github.com/argoproj/argo-cd/issues/2267)
5965

6066
## v2.4 and beyond
6167

68+
### First class support for ApplicationSet resources
6269

63-
### Merge ApplicationSet controller into Argo CD
64-
65-
The ApplicationSet functionality is available in Argo CD out-of-the-box ([#7351](https://github.com/argoproj/argo-cd/issues/7351)).
6670
The Argo CD UI/CLI/API allows to manage ApplicationSet resources same as Argo CD Applications ([#7352](https://github.com/argoproj/argo-cd/issues/7352)).
6771

72+
### Input Forms UI Refresh
73+
74+
Improved design of the input forms in Argo CD Web UI: https://www.figma.com/file/IIlsFqqmM5UhqMVul9fQNq/Argo-CD?node-id=0%3A1
6875

6976
### Merge Argo CD Image Updater into Argo CD
7077

7178
The [Argo CD Image Updater](https://github.com/argoproj-labs/argocd-image-updater) should be merged into Argo CD and available out-of-the-box: [#7385](https://github.com/argoproj/argo-cd/issues/7385)
7279

80+
### Web Shell
81+
82+
Exec into the Kubernetes Pod right from Argo CD Web UI! [#4351](https://github.com/argoproj/argo-cd/issues/4351)
83+
84+
### Helm values from external repo
85+
86+
The feature allows combining of-the-shelf Helm chart and value file in Git repository ([#2789](https://github.com/argoproj/argo-cd/issues/2789))
87+
88+
### Add support for secrets in Application parameters
89+
90+
The feature allows referencing secrets in Application parameters. [#1786](https://github.com/argoproj/argo-cd/issues/1786).
7391

7492
### Config Management Tools Integrations UI/CLI
7593

docs/user-guide/commands/argocd_admin.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ argocd admin [flags]
3838

3939
* [argocd](argocd.md) - argocd controls a Argo CD server
4040
* [argocd admin app](argocd_admin_app.md) - Manage applications configuration
41-
* [argocd admin argocd-notifications](argocd_admin_argocd-notifications.md) - Set of CLI commands that helps manage notifications settings
4241
* [argocd admin cluster](argocd_admin_cluster.md) - Manage clusters configuration
4342
* [argocd admin dashboard](argocd_admin_dashboard.md) - Starts Argo CD Web UI locally
4443
* [argocd admin export](argocd_admin_export.md) - Export all Argo CD data to stdout (default) or a file
4544
* [argocd admin import](argocd_admin_import.md) - Import Argo CD data from stdin (specify `-') or a file
45+
* [argocd admin notifications](argocd_admin_notifications.md) - Set of CLI commands that helps manage notifications settings
4646
* [argocd admin proj](argocd_admin_proj.md) - Manage projects configuration
4747
* [argocd admin repo](argocd_admin_repo.md) - Manage repositories configuration
4848
* [argocd admin settings](argocd_admin_settings.md) - Provides set of commands for settings validation and troubleshooting

docs/user-guide/commands/argocd_admin_app_generate-spec.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ argocd admin app generate-spec APPNAME [flags]
5050
--helm-set stringArray Helm set values on the command line (can be repeated to set several values: --helm-set key1=val1 --helm-set key2=val2)
5151
--helm-set-file stringArray Helm set values from respective files specified via the command line (can be repeated to set several values: --helm-set-file key1=path1 --helm-set-file key2=path2)
5252
--helm-set-string stringArray Helm set STRING values on the command line (can be repeated to set several values: --helm-set-string key1=val1 --helm-set-string key2=val2)
53+
--helm-skip-crds Skip helm crd installation step
5354
--helm-version string Helm version
5455
-h, --help help for generate-spec
5556
--ignore-missing-value-files Ignore locally missing valueFiles when setting helm template --values

docs/user-guide/commands/argocd_admin_argocd-notifications.md renamed to docs/user-guide/commands/argocd_admin_notifications.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
## argocd admin argocd-notifications
1+
## argocd admin notifications
22

33
Set of CLI commands that helps manage notifications settings
44

55
```
6-
argocd admin argocd-notifications [flags]
6+
argocd admin notifications [flags]
77
```
88

99
### Options
@@ -20,7 +20,7 @@ argocd admin argocd-notifications [flags]
2020
--cluster string The name of the kubeconfig cluster to use
2121
--config-map string argocd-notifications-cm.yaml file path
2222
--context string The name of the kubeconfig context to use
23-
-h, --help help for argocd-notifications
23+
-h, --help help for notifications
2424
--insecure-skip-tls-verify If true, the server's certificate will not be checked for validity. This will make your HTTPS connections insecure
2525
--kubeconfig string Path to a kube config. Only required if out-of-cluster
2626
-n, --namespace string If present, the namespace scope for this CLI request
@@ -58,6 +58,6 @@ argocd admin argocd-notifications [flags]
5858
### SEE ALSO
5959

6060
* [argocd admin](argocd_admin.md) - Contains a set of commands useful for Argo CD administrators and requires direct Kubernetes access
61-
* [argocd admin argocd-notifications template](argocd_admin_argocd-notifications_template.md) - Notification templates related commands
62-
* [argocd admin argocd-notifications trigger](argocd_admin_argocd-notifications_trigger.md) - Notification triggers related commands
61+
* [argocd admin notifications template](argocd_admin_notifications_template.md) - Notification templates related commands
62+
* [argocd admin notifications trigger](argocd_admin_notifications_trigger.md) - Notification triggers related commands
6363

0 commit comments

Comments
 (0)