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(artifacts): add feature flag to turn on artifactsRewrite #1398

Merged
merged 4 commits into from
Aug 21, 2019

Conversation

Jammy-Louie
Copy link

add the ability to turn on the artifacts rewrite through halyard

@Jammy-Louie
Copy link
Author

depends on: spinnaker/deck#7347

@maggieneterval maggieneterval self-requested a review August 20, 2019 18:25
docs/commands.md Outdated Show resolved Hide resolved
@Jammy-Louie Jammy-Louie merged commit 345c0ac into spinnaker:master Aug 21, 2019
@Jammy-Louie Jammy-Louie deleted the artifactsRewrite branch August 21, 2019 12:59
ncknt pushed a commit to armory-io/halyard that referenced this pull request Sep 11, 2019
* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(localfiles): Support relative local files to hal config home

Usually when referencing local files in main hal config with a relative
path, halyard throws this error:

Problems in Global:
! ERROR Failed to backup user file: default/files/kubeconfig-main

- Failed to generate config.

With this change, relative files will be automatically resolved relative
from hal config home.

* feat(localfiles): Only prefix files in subdirectories of input prefix

* feat(halyard/localfiles): Use getter for hal config directory

* feat(halyard/localfiles): Error on relative files escaping hal home

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* feat(operator): Save referenced files to hal config root

* feat(operator): Exception if relative file paths resolve outside root
Malinskiy pushed a commit to atlassian-forks/halyard that referenced this pull request Sep 19, 2019
german-muzquiz pushed a commit to armory-io/halyard that referenced this pull request Nov 5, 2019
* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

*  fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts
german-muzquiz pushed a commit to armory-io/halyard that referenced this pull request Nov 8, 2019
* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

*  fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts

* fix(config): fix anonymous Google storage credentials (spinnaker#1462)
ncknt pushed a commit to armory-io/halyard that referenced this pull request Dec 10, 2019
* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

*  fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts

* fix(config): fix anonymous Google storage credentials (spinnaker#1462)

* fix(build): Missing Ubuntu image dependency (spinnaker#1464)

* fix(build): `spinnaker` user/group id=1000 in Ubuntu image (spinnaker#1465)

The slim/alpine image uses 1000/1000 as the uid and gid for the `spinnaker` user. Doing the same thing for the Ubuntu image makes it simpler for installers like the Helm chart to use either image variant.

* fix(saml): get saml file path instead of file contents in saml validator (spinnaker#1455)

* fix(saml): get saml file path instead of file contents in saml validator

* remove redundant SecretSessionManager

* fix(artifacts/gitrepo): use Boolean class instead of primitive (spinnaker#1466)

* feat(halyard/localfiles): Support relative local files in hal config (spinnaker#1416)

* feat(localfiles): Support relative local files to hal config home

Usually when referencing local files in main hal config with a relative
path, halyard throws this error:

Problems in Global:
! ERROR Failed to backup user file: default/files/kubeconfig-main

- Failed to generate config.

With this change, relative files will be automatically resolved relative
from hal config home.

* feat(localfiles): Only prefix files in subdirectories of input prefix

* feat(halyard/localfiles): Use getter for hal config directory

* feat(halyard/localfiles): Error on relative files escaping hal home

* feat(localfiles): Normalize path on comparison for removing prefix

* chore(localfiles): Paths for building a path instead of string concat

* chore(localfiles): Save field references to child nodes

* chore(localfiles): Removed {%halconfig-dir%}, moved some code to parser

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Using java Path instead of string handling

* chore(localfiles): New FileService for getting file paths and contents

* chore(localfiles): Use FileService for getting files

* chore(dependencies): Autobump korkVersion (spinnaker#1460)

* feat(mergify): Allow OSS approvers to autosubmit (spinnaker#1470)

* chore(dependencies): Autobump korkVersion (spinnaker#1469)

* chore(dependencies): Autobump korkVersion (spinnaker#1471)

* feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* Revert "feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)" (spinnaker#1473)

This reverts commit d35767d.

* fix(deployments): Fixed k8s manifests templates generating invalid yaml (spinnaker#1456)

manifest templates were adding unnecessary commas when podAnnotations, podLabels, or serviceLabels were supplied causing deployments to fail.

* chore(dependencies): Autobump korkVersion (spinnaker#1475)

* chore(dependencies): Autobump korkVersion (spinnaker#1477)

* feat(huaweicloud): add provider of huaweicloud (spinnaker#1476)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* fix(huaweicloud): fix the bakery validate exception

* chore(dependencies): Autobump korkVersion (spinnaker#1478)

* chore(tools): Pulled latest changes from upstream master

* chore(logging): Log validation problems
ncknt added a commit to armory-io/halyard that referenced this pull request Jan 23, 2020
… "new" (#34)

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

*  fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts

* fix(config): fix anonymous Google storage credentials (spinnaker#1462)

* fix(build): Missing Ubuntu image dependency (spinnaker#1464)

* fix(build): `spinnaker` user/group id=1000 in Ubuntu image (spinnaker#1465)

The slim/alpine image uses 1000/1000 as the uid and gid for the `spinnaker` user. Doing the same thing for the Ubuntu image makes it simpler for installers like the Helm chart to use either image variant.

* fix(saml): get saml file path instead of file contents in saml validator (spinnaker#1455)

* fix(saml): get saml file path instead of file contents in saml validator

* remove redundant SecretSessionManager

* fix(artifacts/gitrepo): use Boolean class instead of primitive (spinnaker#1466)

* feat(halyard/localfiles): Support relative local files in hal config (spinnaker#1416)

* feat(localfiles): Support relative local files to hal config home

Usually when referencing local files in main hal config with a relative
path, halyard throws this error:

Problems in Global:
! ERROR Failed to backup user file: default/files/kubeconfig-main

- Failed to generate config.

With this change, relative files will be automatically resolved relative
from hal config home.

* feat(localfiles): Only prefix files in subdirectories of input prefix

* feat(halyard/localfiles): Use getter for hal config directory

* feat(halyard/localfiles): Error on relative files escaping hal home

* feat(localfiles): Normalize path on comparison for removing prefix

* chore(localfiles): Paths for building a path instead of string concat

* chore(localfiles): Save field references to child nodes

* chore(localfiles): Removed {%halconfig-dir%}, moved some code to parser

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Using java Path instead of string handling

* chore(localfiles): New FileService for getting file paths and contents

* chore(localfiles): Use FileService for getting files

* chore(dependencies): Autobump korkVersion (spinnaker#1460)

* feat(mergify): Allow OSS approvers to autosubmit (spinnaker#1470)

* chore(dependencies): Autobump korkVersion (spinnaker#1469)

* chore(dependencies): Autobump korkVersion (spinnaker#1471)

* feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* Revert "feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)" (spinnaker#1473)

This reverts commit d35767d.

* fix(deployments): Fixed k8s manifests templates generating invalid yaml (spinnaker#1456)

manifest templates were adding unnecessary commas when podAnnotations, podLabels, or serviceLabels were supplied causing deployments to fail.

* chore(dependencies): Autobump korkVersion (spinnaker#1475)

* chore(dependencies): Autobump korkVersion (spinnaker#1477)

* feat(huaweicloud): add provider of huaweicloud (spinnaker#1476)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* fix(huaweicloud): fix the bakery validate exception

* chore(dependencies): Autobump korkVersion (spinnaker#1478)

* chore(tools): Pulled latest changes from upstream master

* chore(logging): Log validation problems

* fix(validations): Request prototype bean from spring instead of using "new"

Co-authored-by: Michael Plump <plumpy@gmail.com>
Co-authored-by: spinnakerbot <spinbot@spinnaker.io>
Co-authored-by: Scott Frederick <scottyfred@gmail.com>
Co-authored-by: Kathryn Lewis <kathryn.lewis@armory.io>
Co-authored-by: Eric Zimanyi <ezimanyi@google.com>
Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>
Co-authored-by: Loïs Postula <lois@postu.la>
Co-authored-by: Rohit Verma <38323616+rverma-nikiai@users.noreply.github.com>
Co-authored-by: Jammy Louie <jlouie@pivotal.io>
Co-authored-by: Michael Tweten <mtweten@gmail.com>
Co-authored-by: Pierre Delagrave <pdelagrave@pivotal.io>
Co-authored-by: Matthew Sneeden <matthew.sneeden@gmail.com>
Co-authored-by: Jason <mcintoshj@gmail.com>
Co-authored-by: Justin Lee <justin.r.lee@gmail.com>
Co-authored-by: Stacie Graves <stacie.graves@gmail.com>
Co-authored-by: Costi Muraru <costimuraru@gmail.com>
Co-authored-by: Travis Tomsu <ttomsu@google.com>
Co-authored-by: Chris Gruel <chris_gruel@homedepot.com>
Co-authored-by: Derek Miller <8096201+derekmiller@users.noreply.github.com>
Co-authored-by: Julien Breux <julien.breux@gmail.com>
Co-authored-by: Anton Malinskiy <anton@malinskiy.com>
Co-authored-by: Jared Welch <jwelch92@users.noreply.github.com>
Co-authored-by: Lars Wander <lwander@users.noreply.github.com>
Co-authored-by: Matt Duftler <duftler@google.com>
Co-authored-by: Maggie Neterval <mneterval@google.com>
Co-authored-by: Ryuzo Yamamoto <ryuzo.yamamoto@gmail.com>
Co-authored-by: Jorge Dias <jorge@mrdias.com>
Co-authored-by: Nicolas Cohen <ncknt@users.noreply.github.com>
Co-authored-by: zengchen <chenzeng2@huawei.com>
Co-authored-by: Greg North <gregnorth@gmail.com>
german-muzquiz added a commit to armory-io/halyard that referenced this pull request Mar 13, 2020
* fix(config): parse 'oauthScopes' stanzas that were incorrectly written (spinnaker#1376)

* refactor(config): remove a pointless try/catch block

* refactor(tests): remove an unused import

* fix(config): parse 'oauthScopes' stanzas that were incorrectly written

The old version of Lombok used in Halyard <=1.21 didn't copy
@JsonProperty annotations to the generated methods. This means Jackson
was seeing the field as 'oAuthScopes' and the getter/setter as a
separate 'oauthScopes' property. The same data would be written to both
properties, and during parsing whichever came last in the file would be
persisted into the object.

With new versions of Lombok (>=1.18.8), the @JsonProperty annotation is
copied to the bean methods, so the 'oauthScopes' property disappears and
Jackson can no longer parse those old files.

This commit adds some methods to support parsing the files generated by
previous versions of Halyard, but will no longer write out the
incorrect duplicate data.

* chore(copyright): add a missing copyright header

* chore(dependencies): Autobump korkVersion (spinnaker#1375)

* fix(core): Fix reading of external files as binary instead of text (spinnaker#1380)

* feat(secret): decrypt secrets before sending to deck (spinnaker#1379)

* feat(secret): decrypt secrets before sending to deck

* code review changes

* chore(dependencies): Autobump korkVersion (spinnaker#1383)

* fix(build): remove old usage of korkVersion (spinnaker#1385)

* chore(dependencies): Autobump korkVersion (spinnaker#1384)

* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

* fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts

* fix(config): fix anonymous Google storage credentials (spinnaker#1462)

* fix(build): Missing Ubuntu image dependency (spinnaker#1464)

* fix(build): `spinnaker` user/group id=1000 in Ubuntu image (spinnaker#1465)

The slim/alpine image uses 1000/1000 as the uid and gid for the `spinnaker` user. Doing the same thing for the Ubuntu image makes it simpler for installers like the Helm chart to use either image variant.

* fix(saml): get saml file path instead of file contents in saml validator (spinnaker#1455)

* fix(saml): get saml file path instead of file contents in saml validator

* remove redundant SecretSessionManager

* fix(artifacts/gitrepo): use Boolean class instead of primitive (spinnaker#1466)

* feat(halyard/localfiles): Support relative local files in hal config (spinnaker#1416)

* feat(localfiles): Support relative local files to hal config home

Usually when referencing local files in main hal config with a relative
path, halyard throws this error:

Problems in Global:
! ERROR Failed to backup user file: default/files/kubeconfig-main

- Failed to generate config.

With this change, relative files will be automatically resolved relative
from hal config home.

* feat(localfiles): Only prefix files in subdirectories of input prefix

* feat(halyard/localfiles): Use getter for hal config directory

* feat(halyard/localfiles): Error on relative files escaping hal home

* feat(localfiles): Normalize path on comparison for removing prefix

* chore(localfiles): Paths for building a path instead of string concat

* chore(localfiles): Save field references to child nodes

* chore(localfiles): Removed {%halconfig-dir%}, moved some code to parser

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Using java Path instead of string handling

* chore(localfiles): New FileService for getting file paths and contents

* chore(localfiles): Use FileService for getting files

* chore(dependencies): Autobump korkVersion (spinnaker#1460)

* feat(mergify): Allow OSS approvers to autosubmit (spinnaker#1470)

* chore(dependencies): Autobump korkVersion (spinnaker#1469)

* chore(dependencies): Autobump korkVersion (spinnaker#1471)

* feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* Revert "feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)" (spinnaker#1473)

This reverts commit d35767d.

* fix(deployments): Fixed k8s manifests templates generating invalid yaml (spinnaker#1456)

manifest templates were adding unnecessary commas when podAnnotations, podLabels, or serviceLabels were supplied causing deployments to fail.

* chore(dependencies): Autobump korkVersion (spinnaker#1475)

* chore(dependencies): Autobump korkVersion (spinnaker#1477)

* feat(huaweicloud): add provider of huaweicloud (spinnaker#1476)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* fix(huaweicloud): fix the bakery validate exception

* chore(dependencies): Autobump korkVersion (spinnaker#1478)

* chore(dependencies): Autobump korkVersion (spinnaker#1480)

* chore(dependencies): Autobump korkVersion (spinnaker#1481)

* feat(stats): Adds Telemetry validator, which prints a new Info level message that will get printed during all hal config telemetry enable|disable and hal deploy apply invocations (spinnaker#1479)

* chore(dependencies): Autobump korkVersion (spinnaker#1482)

* chore(dependencies): Autobump korkVersion (spinnaker#1483)

* chore(dependencies): Autobump korkVersion (spinnaker#1484)

* feat(halyard): Add support for the new java8 containers (spinnaker#1485)

* feat(halyard): Add support for the new java8 containers

* docs(halyard): update docs

* chore(release): Use the alpine containers instead of openjdk (spinnaker#1486)

The container we had been using hasn't been updated in months. See
spinnaker/spinnaker#5204.

* fix(container): Fix the slim container (spinnaker#1487)

And clean up the Dockerfile a little while I'm in there.

* feat(Artifactory Search): Add new search fields to support multiple reps (spinnaker#1472)

* feat(Artifactory Search): Add new search fields to support multiple repo types

Co-authored-by: Jonathan Haeden<Jonathan.haeden@outlook.com

* Remove field searchPattern as it is resolved based on repoType

* Add repotype to search commands for addd and edit

* Edit repoType field name in cli

* Updating commands reference with repo-type optional value

* Made groupId conditionally required

as the value is not required for Helm type repository

* fix(container): set the spinnaker user to uid 1000 (spinnaker#1488)

You can't specify a username in a k8s securityContext, only a uid. So
the uid 1000 is special and we need to keep the `spinnaker` user with
that ID.

* fix(java11): remove deprecated JVM flags (spinnaker#1489)

-XX:UseCGroupMemoryLimitForHeap was deprecated in Java 8u191. It's
functionality is now enabled by default. -XX:MaxRAMFraction was also
replaced by the (more flexible) -XX:MaxRAMPercentage.
https://www.oracle.com/technetwork/java/javase/8u191-relnotes-5032181.html

Java 8 will still launch with the old flags, but >10 will not.

We've been using Java >8u191 in every service since Spinnaker 1.14.0. So
this version of Halyard will still successfully deploy 1.14.0, but not
1.13.0 or earlier. (Because we we're hardcoding the version of the JDK
in Echo to 8u111 until then, probably accidentally.)

* chore(release): update the containers to Alpine 3.11 (spinnaker#1491)

* chore(dependencies): Autobump korkVersion (spinnaker#1492)

* chore(dependencies): Autobump korkVersion (spinnaker#1494)

* chore(dependencies): Autobump korkVersion (spinnaker#1495)

* chore(dependencies): Autobump korkVersion (spinnaker#1496)

* chore(dependencies): Autobump korkVersion (spinnaker#1497)

* chore(dependencies): Autobump korkVersion (spinnaker#1499)

* chore(dependencies): Autobump korkVersion (spinnaker#1500)

* chore(dependencies): Autobump korkVersion (spinnaker#1503)

* chore(dependencies): Autobump korkVersion (spinnaker#1504)

* chore(dependencies): Autobump korkVersion (spinnaker#1505)

* feat(plugins): able to add plugin repositories (spinnaker#1498)

* feat(plugins): able to add plugin repositories

* chore(plugins): hal configs for plugin repositories match service configs

* chore(dependencies): Autobump korkVersion (spinnaker#1506)

* chore(dependencies): Autobump korkVersion (spinnaker#1508)

* chore(dependencies): Autobump korkVersion (spinnaker#1509)

* config(core): Remove MPTV2 UI feature flag (spinnaker#1510)

* fix(versions): reenable version checking (spinnaker#1511)

This was accidentally removed in spinnaker#936.

* fix(container): leave Python and curl installed (spinnaker#1512)

* fix(kubernetes): Only load kubeconfig if it's a local file (#33) (spinnaker#1507)

* chore(dependencies): Autobump korkVersion (spinnaker#1513)

* feat(build): Enable local Maven repo when detecting SNAPSHOT dependency (spinnaker#1514)

* chore(dependencies): Spring Boot 2.2.4 upgrade

* feat(build): Enable local Maven repo when detecting SNAPSHOT dependency

* chore(dependencies): Autobump korkVersion (spinnaker#1516)

* chore(containers): Upgrade the bundled tools (spinnaker#1515)

* chore(dependencies): Autobump korkVersion (spinnaker#1518)

* chore(dependencies): Autobump korkVersion (spinnaker#1519)

* chore(dependencies): Autobump korkVersion (spinnaker#1521)

* feat(deployment): Overwrite deploy command's timeout value (spinnaker#1502)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* fix(plugins): Ignore extraneous pluginConfigurations when parsing config file. (spinnaker#1522)

* chore(dependencies): Autobump korkVersion (spinnaker#1523)

* chore(builds): Add GHActions build on PR, master, and release branches (spinnaker#1524)

* feat(provider/tencentcloud): Add TencentCloud account configuration support to Halyard (spinnaker#1501)

* chore(dependencies): Autobump korkVersion (spinnaker#1526)

* chore(dependencies): Autobump korkVersion (spinnaker#1527)

* refactor(ci): Make AbstractAccountCommand reusable (spinnaker#1525)

GoogleCloudBuildAccountCommand directly implements AbstractHasAccountCommand. This is ok currently since
Google Cloud Build is the only CI service that uses account instead of master. However, it blocks adding
new account-based CI service to halyard since a lot of logics need to be duplicated across packages. This
commit is aimming to abstract some common parts for account-based commands which makes adding a new CI
service much easier.

* chore(dependencies): Autobump korkVersion (spinnaker#1529)

* feat(codebuild): Add support for manipulating AWS CodeBuild accounts (spinnaker#1528)

* fix(flags): Revert "config(core): Remove MPTV2 UI feature flag (spinnaker#1510)" (spinnaker#1530)

This reverts commit 759e988.

* chore(dependencies): Autobump korkVersion (spinnaker#1532)

* chore(dependencies): Autobump korkVersion (spinnaker#1533)

* chore(dependencies): Autobump korkVersion (spinnaker#1534)

* chore(dependencies): Autobump korkVersion (spinnaker#1535)

* chore(dependencies): Autobump korkVersion (spinnaker#1536)

* chore(dependencies): Autobump korkVersion (spinnaker#1537)

* feat(plugins): deploy PF4J plugins to orca (spinnaker#1520)

* chore(dependencies): Autobump korkVersion (spinnaker#1540)

* chore(dependencies): Autobump korkVersion (spinnaker#1541)

* feat(kubernetes): Enable TCP probe for containers (spinnaker#1542)

* feat(kubernetes): Enable TCP probe for containers

* fix code readability

* fix not not

* feat(features): add support for Cloud Formation (spinnaker#1493)

* feat(features): add support for Cloud Formation

* name fixes

* name fixes

* fixed documentation

* feat(features): add support for Cloud Formation

* feat(features): add support for Cloud Formation

* feat(features): add support for Cloud Formation

* chore(dependencies): Autobump korkVersion (spinnaker#1544)

* feat(telemetry): add ability to report deploy method (spinnaker#1543)

* feat(telemetry): add ability to report deploy method to "echo" via telemetry

* feat(telemetry): code formatting

* chore(dependencies): Autobump korkVersion (spinnaker#1546)

* fix(gate): apply the JVM flags to gate (spinnaker#1547)

It looks like gate and deck were overriding `buildServiceSettings` just to avoid calling `setAddress`. But then when the JVM flags got added to that method, they both got skipped. Since `deck` doesn't use a JVM, that's no big deal, but for `gate` it's an issue.

Held my nose and went for a minimally invasive change rather than a more holistic cleanup.

* chore(dependencies): Autobump korkVersion (spinnaker#1548)

* feat(kubernetes): prepare for upcoming removal of V1 provider (spinnaker#1549)

* refactor(kubernetes): separate V1 and V2 account validators

* feat(kubernetes): add warning for v1 accounts

* feat(cli): only expose providerVersion for kubernetes accounts

* feat(kubernetes): default new and unspecified accounts to V2

* chore(dependencies): Autobump korkVersion (spinnaker#1555)

* feat(plugins): lays down plugin-manifest for Deck (spinnaker#1539)

* feat(plugins): lays down plugin-manifest for Deck

* chore(style): spotless apply

* fix(plugins): using template for plugin entries for deck

* fix(plugins): corrected filename for plugin-manifest.json

Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1556)

* feat(codebuild): Add support for static credentials (spinnaker#1554)

1. Add an AbstractEditCiCommand class that could be inherited from. For now only codebuild account
command extends this class. There could be more in the future.
2. Mark assume-role and account-id as not required so that the static credentials could be used directly
3. Add an API in halyard daemon to set custom fields for CI providers

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1557)

* chore(dependencies): Autobump korkVersion (spinnaker#1558)

* chore(dependencies): upgrade commons-collections  version (spinnaker#1545)

* chore(dependencies): Autobump korkVersion (spinnaker#1560)

* chore(dependencies): Autobump korkVersion (spinnaker#1561)

* chore(dependencies): Autobump korkVersion (spinnaker#1562)

Co-authored-by: Travis CI User <travis@example.org>

* chore(dependencies): Autobump korkVersion (spinnaker#1563)

Co-authored-by: Travis CI User <travis@example.org>

* chore(dependencies): Autobump korkVersion (spinnaker#1566)

Co-authored-by: Travis CI User <travis@example.org>

* chore(containers): Upgrade the bundled tools (spinnaker#1568)

* chore(containers): tell curl to fail if it gets an HTTP error

This will prevent errors from going unnoticed as happened with the
missing AWS client.

* chore(containers): Upgrade the bundled tools

* feat(stats): Rename telemetry to stats, enable by default (spinnaker#1565)

* feat(stats): Rename telemetry to stats, enable by default
* fix(stats): Rename TelemetryWrapper to StatsWrapper

* fix(stats): New stats command only available in 1.19+ (spinnaker#1569)

* chore(update): gen-manifests update with oss upstream

* chore(update): code clean up

* chore(update): code clean up

Co-authored-by: Michael Plump <plumpy@google.com>
Co-authored-by: spinnakerbot <spinbot@spinnaker.io>
Co-authored-by: Scott Frederick <sfrederick@pivotal.io>
Co-authored-by: Kathryn Lewis <kathryn.lewis@armory.io>
Co-authored-by: Eric Zimanyi <ezimanyi@google.com>
Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>
Co-authored-by: Loïs Postula <lois@postu.la>
Co-authored-by: Cameron Motevasselani <cameron.motevasselani@armory.io>
Co-authored-by: Rohit Verma <38323616+rverma-nikiai@users.noreply.github.com>
Co-authored-by: Jammy Louie <jlouie@pivotal.io>
Co-authored-by: Michael Tweten <Michael.Tweten@cerner.com>
Co-authored-by: Pierre Delagrave <pdelagrave@pivotal.io>
Co-authored-by: Matthew Sneeden <matthew.sneeden@gmail.com>
Co-authored-by: Jason <jason.mcintosh@armory.io>
Co-authored-by: Justin Lee <justin.r.lee@gmail.com>
Co-authored-by: Stacie Graves <stacie.graves@gmail.com>
Co-authored-by: Costi Muraru <costimuraru@gmail.com>
Co-authored-by: Travis Tomsu <ttomsu@google.com>
Co-authored-by: Chris Gruel <chris_gruel@homedepot.com>
Co-authored-by: Derek Miller <8096201+derekmiller@users.noreply.github.com>
Co-authored-by: German Muzquiz <35276119+german-muzquiz@users.noreply.github.com>
Co-authored-by: Julien Breux <julien.breux@gmail.com>
Co-authored-by: Anton Malinskiy <anton@malinskiy.com>
Co-authored-by: Jared Welch <jwelch92@users.noreply.github.com>
Co-authored-by: Lars Wander <lwander@users.noreply.github.com>
Co-authored-by: Matt Duftler <duftler@google.com>
Co-authored-by: Maggie Neterval <mneterval@google.com>
Co-authored-by: Ryuzo Yamamoto <ryuzo.yamamoto@gmail.com>
Co-authored-by: Jorge Dias <jorge@mrdias.com>
Co-authored-by: Nicolas Cohen <ncknt@users.noreply.github.com>
Co-authored-by: zengchen <chenzeng2@huawei.com>
Co-authored-by: Greg North <gregnorth@gmail.com>
Co-authored-by: Sirisha vadrevu <sirishavadrevu@gmail.com>
Co-authored-by: Louis Jimenez <louisjimenez@google.com>
Co-authored-by: Ryuichi Inagaki <ryuichi.inagaki.24@googlemail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Shengyu Liu <usungu@gmail.com>
Co-authored-by: Kaixiang-AWS <zkaixian@amazon.com>
Co-authored-by: Fernando Guerra <53754439+ferwguerra@users.noreply.github.com>
Co-authored-by: Brandon Powell <brandon.powell@armory.io>
Co-authored-by: asgard-r <56136377+asgard-r@users.noreply.github.com>
Co-authored-by: Travis CI User <travis@example.org>
german-muzquiz added a commit to armory-io/halyard that referenced this pull request May 8, 2020
* chore(build): Update cloudbuild.yaml file (spinnaker#1388)

Remove the $REPO_NAME variable from the cloudbuild.yaml file; this is being used
to decide the name of the image to push which will not always correspond to the
image name. In particular, if we start publishing both alpine and ubuntu images
we'll want the image name to have a suffix reflecting that.

* chore(dependencies): Autobump korkVersion (spinnaker#1389)

* chore(dependencies): Autobump korkVersion (spinnaker#1390)

* feat(plugins): adding halyard commands for plugins (spinnaker#1386)

* feat(plugins): adding halyard commands for plugins

* chore(refactor): use toMap instead of a concurrentMap collector

* feat(notifications): Add Github Status support (spinnaker#1374)

* chore(dependencies): Autobump korkVersion (spinnaker#1392)

* feat(plugins): enable/disable downloading plugins (spinnaker#1393)

* chore(dependencies): Autobump korkVersion (spinnaker#1394)

* chore(dependencies): Autobump korkVersion (spinnaker#1395)

* feat(kubernetes): Support for tolerations (spinnaker#1396)

* fix(kubernetes): Added support for tolerationn

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Added support for Tolerations

Added support for tolerations

Signed-off-by: rverma-nikiai <rohit.verma@niki.ai>

* feat(kubernetes): Support for tolerations

* fix(kubernetes): Added support for Tolerations, fixed access

* chore(dependencies): Autobump korkVersion (spinnaker#1397)

* feat(artifacts): add feature flag to turn on artifactsRewrite (spinnaker#1398)

* feat(deployments): Update component sizing command to allow container component sizing. (spinnaker#1387)

* feat(deploy/kubernetes): Option to select the image variant to deploy (spinnaker#1401)

* refactor(deploy/kubernetes): Removed duplicated code

* feat(deploy/kubernetes): Option to select the image variant to deploy

Supports `slim` and `ubuntu`, the former being the default.
Ubuntu image supported starting with v1.16.0.

* chore(dependencies): Autobump korkVersion (spinnaker#1403)

* fix(docs): s/Kubenretes/Kubernetes (spinnaker#1402)

* fix(ldap): Fix allowing back blank ldap search base when using search filter (spinnaker#1391)

* chore(dependencies): Autobump korkVersion (spinnaker#1404)

* chore(plugins): rename plugin downloading commands to kebab-case (spinnaker#1408)

* chore(dependencies): Autobump korkVersion (spinnaker#1410)

* refactor(deploy): Adapt to changes in kork-config (spinnaker#1407)

* fix(notifications): fix editing notifications in halyard (spinnaker#1413)

Broken in spinnaker#1374

Closes spinnaker/spinnaker#4834

* chore(dependencies): Autobump korkVersion (spinnaker#1415)

* feat(front50): Support AWS S3 SSE (spinnaker#1399)

* chore(dependencies): Autobump korkVersion (spinnaker#1417)

* chore(dependencies): Autobump korkVersion (spinnaker#1418)

* chore(dependencies): Autobump korkVersion (spinnaker#1419)

* feat(telemetry): adds endpoint and enable settings for stats collection (spinnaker#1406)

* feat(telemetry): adds endpoint and enable settings for telemetry

* chore(dependencies): Autobump korkVersion (spinnaker#1421)

* fix(eks): Halyard doesn't work with new EKS kube config (spinnaker#1382)

Fixes spinnaker/spinnaker#4712

Signed-off-by: Constantin Muraru <cmuraru@adobe.com>

* fix(stats): Replace UUID with ULID as spinnaker instance idententifier (spinnaker#1423)

* feat(secrets): Support SAML metadata as secret (spinnaker#1411)

* chore(dependencies): Autobump korkVersion (spinnaker#1426)

* fix(saml): make email address configurable (spinnaker#1427)

* fix(saml): make email address configurable

* update commands for saml email

* feat(canary): add newrelic as canary service (spinnaker#1422)

* chore(core): Compile using the java compiler (spinnaker#1432)

Only test code is written in groovy, so we never have to worry about
java code depending on groovy code; remove the override that is
causing java source files to be compiled with the groovy compiler.

* fix(kubeconfig): Get contents of local kubeconfig files (spinnaker#1425)

* chore(dependencies): Autobump korkVersion (spinnaker#1433)

* chore(dependencies): Autobump korkVersion (spinnaker#1440)

* feat(plugins): enable plugin config overrides (spinnaker#1439)

* feat(plugins): enable plugin config overrides

* chore(plugins): create getPluginConfigurations in Plugins class

* feat(build): Ubuntu base image support (spinnaker#1438)

* Composing the docker images build by having a shared first stage to build the JAR.
* Release scripts support both default and ubuntu image variants. Fully backward compatible as the existing tagging convention is left untouched, the new ubuntu images have their version tag appended with `-ubuntu`.
* Deleted unused Dockerfile and cloudbuild config files.

* fix(install): fix the problem with JDK 13.0 (spinnaker#1445)

* feat(signalfx): add endpoint, scope and location configuration (spinnaker#1429)

* feat(secrets/gcs): Support for decrypting spinnaker secrets in GCS (spinnaker#1441)

* feat(monitoring): add new relic monitoring daemon config (spinnaker#1442)

* feat(canary): add new relic monitoring daemon config

* feat(monitoring): replace short description for metric store commands

s/authentication method/metric store

* feat(kubernetes): add flag for Kubernetes custom resources (spinnaker#1436)

* feat(kubernetes): add flag for Kubernetes custom resources

Adds flag `--custom-resources` to specify CRDs that should be cached by clouddriver. Defining custom resources here is required for them to be used in patch and delete pipeline stages.

* feat(kubernetes) validation for customResources and allow setting all fields

* Update docs for custom resources flag

* feat(kubernetes): clean up CLI arguments for adding custom resources

Switched from serialized format for setting fields to only allowing adding custom resource when editing an account.

`--spinnaker-kind` and `--versioned` are optional but are not valid arguments without `--add-custom-resource`.

* feat(kubernetes): fix docs

* chore(dependencies): Autobump korkVersion (spinnaker#1447)

* fix(kubernetes): remove user-facing references to todo(lwander) (spinnaker#1449)

* fix(kubernetes): remove user-facing references to todo(lwander)

* fix(kubernetes): formatting

* test(k8s): Verify propagation of service account name to pod spec. (spinnaker#1450)

* fix(plugins): plugins should be able to reference their own config values (spinnaker#1444)

* fix(halyard): Change deployment to support new Kubernetes API (… (spinnaker#1443)

* chore(core): remove unused jobs feature flag (spinnaker#1451)

* chore(dependencies): Autobump korkVersion (spinnaker#1448)

* refactor(google): Update to latest google credentials style. (spinnaker#1452)

* fix(deployments): Fix sub-service name for HA echo in warning m… (spinnaker#1435)

* feat(slack): Allow configurable slack endpoint (spinnaker#1446)

* chore(dependencies): Autobump korkVersion (spinnaker#1453)

* feat(config): HalconfigDirStruct source of truth, allow override (spinnaker#1454)

* feat(artifacts): add git repo artifact support (spinnaker#1458)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts (spinnaker#1420)

* fix(provider/aws): Support for specifying lifecycle hooks for AWS accounts

* fix(config): fix anonymous Google storage credentials (spinnaker#1462)

* fix(build): Missing Ubuntu image dependency (spinnaker#1464)

* fix(build): `spinnaker` user/group id=1000 in Ubuntu image (spinnaker#1465)

The slim/alpine image uses 1000/1000 as the uid and gid for the `spinnaker` user. Doing the same thing for the Ubuntu image makes it simpler for installers like the Helm chart to use either image variant.

* fix(saml): get saml file path instead of file contents in saml validator (spinnaker#1455)

* fix(saml): get saml file path instead of file contents in saml validator

* remove redundant SecretSessionManager

* fix(artifacts/gitrepo): use Boolean class instead of primitive (spinnaker#1466)

* feat(halyard/localfiles): Support relative local files in hal config (spinnaker#1416)

* feat(localfiles): Support relative local files to hal config home

Usually when referencing local files in main hal config with a relative
path, halyard throws this error:

Problems in Global:
! ERROR Failed to backup user file: default/files/kubeconfig-main

- Failed to generate config.

With this change, relative files will be automatically resolved relative
from hal config home.

* feat(localfiles): Only prefix files in subdirectories of input prefix

* feat(halyard/localfiles): Use getter for hal config directory

* feat(halyard/localfiles): Error on relative files escaping hal home

* feat(localfiles): Normalize path on comparison for removing prefix

* chore(localfiles): Paths for building a path instead of string concat

* chore(localfiles): Save field references to child nodes

* chore(localfiles): Removed {%halconfig-dir%}, moved some code to parser

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Support backups made with {%halconfig-dir%}

* chore(localfiles): Using java Path instead of string handling

* chore(localfiles): New FileService for getting file paths and contents

* chore(localfiles): Use FileService for getting files

* chore(dependencies): Autobump korkVersion (spinnaker#1460)

* feat(mergify): Allow OSS approvers to autosubmit (spinnaker#1470)

* chore(dependencies): Autobump korkVersion (spinnaker#1469)

* chore(dependencies): Autobump korkVersion (spinnaker#1471)

* feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* Revert "feat(huaweicloud): first commit for huaweicloud (spinnaker#1461)" (spinnaker#1473)

This reverts commit d35767d.

* fix(deployments): Fixed k8s manifests templates generating invalid yaml (spinnaker#1456)

manifest templates were adding unnecessary commas when podAnnotations, podLabels, or serviceLabels were supplied causing deployments to fail.

* chore(dependencies): Autobump korkVersion (spinnaker#1475)

* chore(dependencies): Autobump korkVersion (spinnaker#1477)

* feat(huaweicloud): add provider of huaweicloud (spinnaker#1476)

* feat(huaweicloud): first commit for huaweicloud

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* feat(huaweicloud): add commands of account

    r 3e29b2c feat(huaweicloud): first commit for huaweicloud
    r 14f49c4 feat(huaweicloud): add commands about account

* refactor(huaweicloud): add validator and change the way to input password

* feat(huaweicloud): add commands of bakery

* style(huaweicloud): add missed copyrights

* style(huaweicloud): make code simple

* fix(huaweicloud): fix the bakery validate exception

* chore(dependencies): Autobump korkVersion (spinnaker#1478)

* chore(dependencies): Autobump korkVersion (spinnaker#1480)

* chore(dependencies): Autobump korkVersion (spinnaker#1481)

* feat(stats): Adds Telemetry validator, which prints a new Info level message that will get printed during all hal config telemetry enable|disable and hal deploy apply invocations (spinnaker#1479)

* chore(dependencies): Autobump korkVersion (spinnaker#1482)

* chore(dependencies): Autobump korkVersion (spinnaker#1483)

* chore(dependencies): Autobump korkVersion (spinnaker#1484)

* feat(halyard): Add support for the new java8 containers (spinnaker#1485)

* feat(halyard): Add support for the new java8 containers

* docs(halyard): update docs

* chore(release): Use the alpine containers instead of openjdk (spinnaker#1486)

The container we had been using hasn't been updated in months. See
spinnaker/spinnaker#5204.

* fix(container): Fix the slim container (spinnaker#1487)

And clean up the Dockerfile a little while I'm in there.

* feat(Artifactory Search): Add new search fields to support multiple reps (spinnaker#1472)

* feat(Artifactory Search): Add new search fields to support multiple repo types

Co-authored-by: Jonathan Haeden<Jonathan.haeden@outlook.com

* Remove field searchPattern as it is resolved based on repoType

* Add repotype to search commands for addd and edit

* Edit repoType field name in cli

* Updating commands reference with repo-type optional value

* Made groupId conditionally required

as the value is not required for Helm type repository

* fix(container): set the spinnaker user to uid 1000 (spinnaker#1488)

You can't specify a username in a k8s securityContext, only a uid. So
the uid 1000 is special and we need to keep the `spinnaker` user with
that ID.

* fix(java11): remove deprecated JVM flags (spinnaker#1489)

-XX:UseCGroupMemoryLimitForHeap was deprecated in Java 8u191. It's
functionality is now enabled by default. -XX:MaxRAMFraction was also
replaced by the (more flexible) -XX:MaxRAMPercentage.
https://www.oracle.com/technetwork/java/javase/8u191-relnotes-5032181.html

Java 8 will still launch with the old flags, but >10 will not.

We've been using Java >8u191 in every service since Spinnaker 1.14.0. So
this version of Halyard will still successfully deploy 1.14.0, but not
1.13.0 or earlier. (Because we we're hardcoding the version of the JDK
in Echo to 8u111 until then, probably accidentally.)

* chore(release): update the containers to Alpine 3.11 (spinnaker#1491)

* chore(dependencies): Autobump korkVersion (spinnaker#1492)

* chore(dependencies): Autobump korkVersion (spinnaker#1494)

* chore(dependencies): Autobump korkVersion (spinnaker#1495)

* chore(dependencies): Autobump korkVersion (spinnaker#1496)

* chore(dependencies): Autobump korkVersion (spinnaker#1497)

* chore(dependencies): Autobump korkVersion (spinnaker#1499)

* chore(dependencies): Autobump korkVersion (spinnaker#1500)

* chore(dependencies): Autobump korkVersion (spinnaker#1503)

* chore(dependencies): Autobump korkVersion (spinnaker#1504)

* chore(dependencies): Autobump korkVersion (spinnaker#1505)

* feat(plugins): able to add plugin repositories (spinnaker#1498)

* feat(plugins): able to add plugin repositories

* chore(plugins): hal configs for plugin repositories match service configs

* chore(dependencies): Autobump korkVersion (spinnaker#1506)

* chore(dependencies): Autobump korkVersion (spinnaker#1508)

* chore(dependencies): Autobump korkVersion (spinnaker#1509)

* config(core): Remove MPTV2 UI feature flag (spinnaker#1510)

* fix(versions): reenable version checking (spinnaker#1511)

This was accidentally removed in spinnaker#936.

* fix(container): leave Python and curl installed (spinnaker#1512)

* fix(kubernetes): Only load kubeconfig if it's a local file (#33) (spinnaker#1507)

* chore(dependencies): Autobump korkVersion (spinnaker#1513)

* feat(build): Enable local Maven repo when detecting SNAPSHOT dependency (spinnaker#1514)

* chore(dependencies): Spring Boot 2.2.4 upgrade

* feat(build): Enable local Maven repo when detecting SNAPSHOT dependency

* chore(dependencies): Autobump korkVersion (spinnaker#1516)

* chore(containers): Upgrade the bundled tools (spinnaker#1515)

* chore(dependencies): Autobump korkVersion (spinnaker#1518)

* chore(dependencies): Autobump korkVersion (spinnaker#1519)

* chore(dependencies): Autobump korkVersion (spinnaker#1521)

* feat(deployment): Overwrite deploy command's timeout value (spinnaker#1502)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* fix(plugins): Ignore extraneous pluginConfigurations when parsing config file. (spinnaker#1522)

* chore(dependencies): Autobump korkVersion (spinnaker#1523)

* chore(builds): Add GHActions build on PR, master, and release branches (spinnaker#1524)

* feat(provider/tencentcloud): Add TencentCloud account configuration support to Halyard (spinnaker#1501)

* chore(dependencies): Autobump korkVersion (spinnaker#1526)

* chore(dependencies): Autobump korkVersion (spinnaker#1527)

* refactor(ci): Make AbstractAccountCommand reusable (spinnaker#1525)

GoogleCloudBuildAccountCommand directly implements AbstractHasAccountCommand. This is ok currently since
Google Cloud Build is the only CI service that uses account instead of master. However, it blocks adding
new account-based CI service to halyard since a lot of logics need to be duplicated across packages. This
commit is aimming to abstract some common parts for account-based commands which makes adding a new CI
service much easier.

* chore(dependencies): Autobump korkVersion (spinnaker#1529)

* feat(codebuild): Add support for manipulating AWS CodeBuild accounts (spinnaker#1528)

* fix(flags): Revert "config(core): Remove MPTV2 UI feature flag (spinnaker#1510)" (spinnaker#1530)

This reverts commit 759e988.

* chore(dependencies): Autobump korkVersion (spinnaker#1532)

* chore(dependencies): Autobump korkVersion (spinnaker#1533)

* chore(dependencies): Autobump korkVersion (spinnaker#1534)

* chore(dependencies): Autobump korkVersion (spinnaker#1535)

* chore(dependencies): Autobump korkVersion (spinnaker#1536)

* chore(dependencies): Autobump korkVersion (spinnaker#1537)

* feat(plugins): deploy PF4J plugins to orca (spinnaker#1520)

* chore(dependencies): Autobump korkVersion (spinnaker#1540)

* chore(dependencies): Autobump korkVersion (spinnaker#1541)

* feat(kubernetes): Enable TCP probe for containers (spinnaker#1542)

* feat(kubernetes): Enable TCP probe for containers

* fix code readability

* fix not not

* feat(features): add support for Cloud Formation (spinnaker#1493)

* feat(features): add support for Cloud Formation

* name fixes

* name fixes

* fixed documentation

* feat(features): add support for Cloud Formation

* feat(features): add support for Cloud Formation

* feat(features): add support for Cloud Formation

* chore(dependencies): Autobump korkVersion (spinnaker#1544)

* feat(telemetry): add ability to report deploy method (spinnaker#1543)

* feat(telemetry): add ability to report deploy method to "echo" via telemetry

* feat(telemetry): code formatting

* chore(dependencies): Autobump korkVersion (spinnaker#1546)

* fix(gate): apply the JVM flags to gate (spinnaker#1547)

It looks like gate and deck were overriding `buildServiceSettings` just to avoid calling `setAddress`. But then when the JVM flags got added to that method, they both got skipped. Since `deck` doesn't use a JVM, that's no big deal, but for `gate` it's an issue.

Held my nose and went for a minimally invasive change rather than a more holistic cleanup.

* chore(dependencies): Autobump korkVersion (spinnaker#1548)

* feat(kubernetes): prepare for upcoming removal of V1 provider (spinnaker#1549)

* refactor(kubernetes): separate V1 and V2 account validators

* feat(kubernetes): add warning for v1 accounts

* feat(cli): only expose providerVersion for kubernetes accounts

* feat(kubernetes): default new and unspecified accounts to V2

* chore(dependencies): Autobump korkVersion (spinnaker#1555)

* feat(plugins): lays down plugin-manifest for Deck (spinnaker#1539)

* feat(plugins): lays down plugin-manifest for Deck

* chore(style): spotless apply

* fix(plugins): using template for plugin entries for deck

* fix(plugins): corrected filename for plugin-manifest.json

Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1556)

* feat(codebuild): Add support for static credentials (spinnaker#1554)

1. Add an AbstractEditCiCommand class that could be inherited from. For now only codebuild account
command extends this class. There could be more in the future.
2. Mark assume-role and account-id as not required so that the static credentials could be used directly
3. Add an API in halyard daemon to set custom fields for CI providers

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1557)

* chore(dependencies): Autobump korkVersion (spinnaker#1558)

* chore(dependencies): upgrade commons-collections  version (spinnaker#1545)

* chore(dependencies): Autobump korkVersion (spinnaker#1560)

* chore(dependencies): Autobump korkVersion (spinnaker#1561)

* chore(dependencies): Autobump korkVersion (spinnaker#1562)

Co-authored-by: Travis CI User <travis@example.org>

* chore(dependencies): Autobump korkVersion (spinnaker#1563)

Co-authored-by: Travis CI User <travis@example.org>

* chore(dependencies): Autobump korkVersion (spinnaker#1566)

Co-authored-by: Travis CI User <travis@example.org>

* chore(containers): Upgrade the bundled tools (spinnaker#1568)

* chore(containers): tell curl to fail if it gets an HTTP error

This will prevent errors from going unnoticed as happened with the
missing AWS client.

* chore(containers): Upgrade the bundled tools

* feat(stats): Rename telemetry to stats, enable by default (spinnaker#1565)

* feat(stats): Rename telemetry to stats, enable by default
* fix(stats): Rename TelemetryWrapper to StatsWrapper

* fix(stats): New stats command only available in 1.19+ (spinnaker#1569)

* chore(dependencies): Autobump korkVersion (spinnaker#1570)

Co-authored-by: Cameron Fieber <cfieber@netflix.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1571)

Co-authored-by: Travis CI User <travis@example.org>

* feat(k8s/deploy): Add custom health check to service-settings (spinnaker#1572)

* feat(k8s/deploy): Add custom health check to service-settings.

Need the ability to override the default commands created and populated
in the Deployments readinessprobe. In our use case mTLS has been enabled
and we need a way to modify the readiness probe in each service so that
you can pass in the client certificate.

By adding this functionality Halyard can support a much wider array of potential
configurations for health checks for cases where a simple check of /health might not
be desirable.

* Update var to the correct generic type

* fix(k8s/deploy): Update var to the correct generic type

* chore(fix/style): ran spotlessJava to fix style issues

* chore(dependencies): Autobump korkVersion (spinnaker#1573)

Co-authored-by: runner <runner@fv-az51>

* chore(dependencies): Autobump korkVersion (spinnaker#1574)

Co-authored-by: runner <runner@fv-az50>

* chore(dependencies): Autobump korkVersion (spinnaker#1575)

Co-authored-by: runner <runner@fv-az117.internal.cloudapp.net>

* chore(dependencies): Autobump korkVersion (spinnaker#1576)

Co-authored-by: runner <runner@fv-az76>

* chore(dependencies): Autobump korkVersion (spinnaker#1577)

Co-authored-by: runner <runner@fv-az51>

* feat(build): Remove TravisCI and replace with GitHub Actions (spinnaker#1578)

* chore(build): Remove init-publish script (spinnaker#1579)

* Revert "chore(build): Remove init-publish script (spinnaker#1579)" (spinnaker#1580)

This reverts commit fd2ef27.

* fix(config): Ignore any existing `plugins` stanzas. (spinnaker#1583)

Slack is littered with people having this issue. It looks like this was added in halyard 1.23 on 8/27/2019. So anyone with a config after that will have this issue.

* chore(mergify): release-* branches require release manager approval (spinnaker#1584)

The mergify config currently doesn't distinguish between merging to master and
merging to a release branch.  It currently never merges to release branches
because mergify doesn't have permission to merge to these branches (due to
branch protection rules).

I don't want to give mergify that permission without updating the config file
here, as then it would merge to release branches after any approval, whereas we
only want to merge to release branches if a PR is approved by a release manager.

This updates the mergify config to scope the existing rules to only apply to
the master branch, and adds a new rule to merge to release branches upon
approval by a release manager.

Because the 1.17 branch (and likely the 1.18 branch in some repos) is still
exclusively using Travis CI instead of github actions, also add a rule the
merges if Travis CI passes to account for these branches. This rule can be
deleted once all of the active branches in the repo are using Github actions.

Co-authored-by: Michael Plump <plumpy@google.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1585)

Co-authored-by: runner <runner@fv-az33>

* chore(dependencies): Autobump korkVersion (spinnaker#1586)

Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>

* fix(plugins): fix plugins-manifest.json  (spinnaker#1564)

* fix(plugins): changing plugin-manifest.js to .json file type

* fix(plugins): remove comments from json file, handle multiple plugins

* feat(plugins): add plugins to all services (spinnaker#1559)

* feat(plugins): add plugins to all services

* refactor(plugins): remove introspection

* refactor(plugins): change Boolean to boolean

* chore(dependencies): Autobump korkVersion (spinnaker#1587)

Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>

* chore(dependencies): Autobump korkVersion (spinnaker#1588)

Co-authored-by: runner <runner@fv-az51>

* chore(gha): don't run the GHA build when pushing to a fork (spinnaker#1589)

* fix(plugins): Revert add plugins to all services (spinnaker#1559) (spinnaker#1590)

This change breaks deploying any version of Spinnaker <= 1.18
using Halyard, so is being reverted.

This reverts commit 4ed4d26.

* chore(dependencies): Autobump korkVersion (spinnaker#1591)

Co-authored-by: runner <runner@fv-az51>

* chore(dependencies): Autobump korkVersion (spinnaker#1592)

Co-authored-by: runner <runner@fv-az51>

* chore(dependencies): Autobump korkVersion (spinnaker#1593)

Co-authored-by: runner <runner@fv-az51>

* chore(dependencies): Autobump korkVersion (spinnaker#1595)

Co-authored-by: runner <runner@fv-az51>

* feat(plugins): add plugins to all services (spinnaker#1594)

* feat(plugins): add plugins to all services

* fix(regression): update version check to handle non-semver releases

* fix(plugins): do not deploy to kayenta until 1.20.0

* fix(container): restore openssl to alpine image (spinnaker#1596)

removed by spinnaker@43dfc67

In addition to putting back something that was there previously, openssl is in the ubuntu
container, so let's have it here as well.

Co-authored-by: Byron David <david.byron@avast.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1599)

Co-authored-by: runner <runner@fv-az50>

* fix(daemon): Don't try to kill daemon created by another user (spinnaker#1600)

Currently if the Halyard daemon was created by another user, we
kill it and try to start one of our own (likely failing as we
probably don't have permission to kill it).

This is because we look up the PID in the pid file, then try to see
if the process exists with 'ps' but don't pass the '-e' flag to get
all processes (including those created by other users). This is
particularly important given that the Halyard install process specifically
asks you to specify a user with which to run Halyard.

* chore(build): upgrade spinnaker gradle plugin (spinnaker#1601)

* chore(build): move spinnaker library versions out to gradle.properties

* chore(build): upgrade spinnaker gradle plugin

* chore(build): enable the spinnaker project plugin (spinnaker#1602)

Whoops, missed this part that used to be in init-publish.gradle.

* chore(mergify): if an autobump fails, request a review (spinnaker#1603)

* chore(deps): bump internal spinnaker dependencies (spinnaker#1604)

I'll wire all of these up to the bumpdeps action, but I'd like to test these larger jumps first to make sure they go okay...

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1605)

Co-authored-by: root <root@7c2d69cf985a>

* chore(mergify): autobump reviews should go to oss-approvers (spinnaker#1606)

* chore(containers): Make Dockerfiles work with buildtool's containers.yml (spinnaker#1607)

* chore(gradle): Upgrade gradlew to 5.6.4

* chore(containers): Make Dockerfiles work with buildtool's containers.yml

* chore(release): remove jenkins build scripts

* chore(java11): Compile with Java 11 (but targeting Java 8) (spinnaker#1608)

* chore(java11): Compile with Java 11 (but targeting Java 8)

* chore(java11): Fix compilation for developers using a Java 11 JDK

* chore(java11): Use a Java 11 JRE

* chore(dependencies): Autobump korkVersion (spinnaker#1609)

Co-authored-by: root <root@630f71d41ecb>

* chore(dependencies): Autobump korkVersion (spinnaker#1610)

Co-authored-by: root <root@9be1526fc31e>

* chore(dependencies): Autobump korkVersion (spinnaker#1611)

Co-authored-by: root <root@3bbaae2b3f97>

* chore(dependencies): Autobump korkVersion (spinnaker#1612)

Co-authored-by: root <root@60135c639e6f>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1613)

Co-authored-by: root <root@6891b1263a18>

* fix(publishing): No longer need to change ACL on halyard artifact since the whole bucket is public (spinnaker#1614)

* feat(cli): remove unused appengine feature flag (spinnaker#1615)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1616)

Co-authored-by: root <root@458842d3571f>

* chore(dependencies): Autobump korkVersion (spinnaker#1617)

Co-authored-by: root <root@2e5c1c42d060>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1621)

Co-authored-by: root <root@e7992a1c49ce>

* chore(dependencies): Autobump korkVersion (spinnaker#1622)

Co-authored-by: root <root@18a36aa4866f>

* feat(artifacts): remove artifacts and artifactsRewrite feature flags (spinnaker#1620)

Related to: https://github.com/spinnaker/governance/blob/master/rfc/legacy_artifacts_ui_removal.md

Now that the `artifacts` and `artifactsRewrite` flags are [removed from Deck](spinnaker/deck#8184) in preparation for release 1.20, let's remove their corresponding `hal` commands and provide a message for users deploying >= 1.20 that these fields are no longer necessary.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* chore(dependencies): Autobump fiatVersion (spinnaker#1624)

Co-authored-by: root <root@9c300884da21>

* chore(dependencies): Autobump korkVersion (spinnaker#1625)

Co-authored-by: root <root@607dfd992c8d>

* chore(dependencies): Autobump korkVersion (spinnaker#1627)

Co-authored-by: root <root@4da054c07e9b>

* chore(build): update to newer spinnaker project plugin (spinnaker#1626)

updates to gradle 6.3

updates github actions workflows for new release flags

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1628)

Co-authored-by: root <root@27f6a48b6497>

* feat(cli): remove Travis, Wercker, Gremlin, and InfrastructureStages feature flags (spinnaker#1619)

* feat(cli): remove Travis feature flag

* feat(cli): remove Wercker feature flag

* feat(cli): remove Gremlin feature flag

* feat(cli): remove infrastructureStages feature flag

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1629)

Co-authored-by: root <root@4d3736916f82>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1632)

Co-authored-by: root <root@7cfcb65d82e3>

* fix(containers): Add retry to Docker containers downloading kubectl (spinnaker#1633)

* fix(build): use bom for kubernetes-client version

removes explicit version opinion which was causing the build to blow up
in some dependency resolution cases (:halyard-web:depInsight
--configuration runtimeClasspath --dependency kork-core)

also was causing the transitives of kubernetes-client not to end up in
the application/deb

* chore(build): gradle build cleanup

removes unnecessary application of java plugin, we apply java-library to all subprojects
removes unnecessary application of protobuf plugin in halyard-web
removes reference to compile scope, uses implementation scope instead

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1635)

Co-authored-by: root <root@0e23aba3091b>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1637)

Co-authored-by: root <root@35bcda70644a>

* feat(docs): document poor performance of sortTagsByDate flag (spinnaker#1639)

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1641)

Co-authored-by: root <root@7c412b00885f>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1642)

Co-authored-by: root <root@ffb573cc3eb2>

* fix(google): Update constructors to account for retry changes (spinnaker#1640)

* fix(google): Update constructors to account for retry changes

The changes to the retry logic updated some fields from Long to
int (because we won't be waiting 24 days between retries); this
commit just updates the places we called them in Halyard to pass
an int.

* chore(dependencies): Bump front50 version

* fix(versions): Use thread safe yaml parser (spinnaker#1644)

* feat(telemetry): code formatting

* feat(telemetry): code formatting

* fix(versions): Use thread safe yaml parser (#39)

Co-authored-by: Cristhian Castaneda <cristhian.castaneda@armory.io>

* fix(cli): replace artifacts commands (spinnaker#1645)

* chore(dependencies): Autobump korkVersion (spinnaker#1647)

Co-authored-by: root <root@7395642f9bee>

* chore(dependencies): Autobump korkVersion (spinnaker#1648)

Co-authored-by: root <root@2b09fc3a4455>

* chore(plugins): remove `uiResourceLocation` plugin config parameter (spinnaker#1638)

Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1650)

Co-authored-by: root <root@94827c35f5fd>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1651)

Co-authored-by: root <root@3ba87f91c30c>

* fix(daemon): Fix startup failure by reverting incorrect ps usage (spinnaker#1653)

I'm not sure what I was thinking with this original PR; adding the
-e flag will return all processes regardless of PID, and is not
necessary when passing a PID.

This is causing halyard to fail to startup because we think that the
daemon is always running.

This reverts commit 4a686e9.

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* chore(dependencies): Autobump korkVersion (spinnaker#1652)

Co-authored-by: root <root@78c161617790>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* fix(cli): replace gremlin commands for 1.18 and 1.19 compatibility (spinnaker#1655)

* fix(local-git): remove the Java version check from Halyard local-git deployment (spinnaker#1658)

I suppose I could put in something to check for Java 11, but only looking at the version of java in your $PATH seems like a pretty naive way to go about doing this check, since there are myriad ways you could have a JDK configured for Gradle.

* chore(dependencies): Autobump korkVersion (spinnaker#1659)

Co-authored-by: root <root@724dabba6269>

* chore(dependencies): Autobump korkVersion (spinnaker#1661)

Co-authored-by: root <root@46a3f162f32d>

* feat(build): adds project properties for composite builds. (spinnaker#1660)

This adds flags for the related projects that we bring in
as dependencies, to enable referencing the related project
as a composite build via gradle.

This method of enabling composite builds seems to work
significantly better with IntelliJ. (As opposed to
importing multiple projects into the IDE and configuring
the composite relationship after the fact)

This holds the opinion that all the projects are checked
out in the same parent directory, and can be found at
`'../<projectName>'` relative to this project.

To enable a composite reference to a project, set the
project property `'<projectName>Composite=true'`.

This can be done either as
* a command line flag, e.g. `-PkorkComposite=true`
* a project property via gradle.properties
* a global project property via ~/.gradle/gradle.properties

* feat(boms): Change default dockerRegistry to GAR (spinnaker#1657)

* fix(releases): Fix minor typos in promotion script (spinnaker#1663)

* chore(dependencies): Autobump korkVersion (spinnaker#1664)

Co-authored-by: root <root@d5125df9eea4>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1665)

Co-authored-by: root <root@c12360e2f602>

* chore(dependencies): Autobump korkVersion (spinnaker#1666)

Co-authored-by: root <root@1848c4113575>

* chore(dependencies): Autobump korkVersion (spinnaker#1667)

Co-authored-by: root <root@b0fe386ef528>

* chore(build): gradle 6.4 (spinnaker#1668)

* Merge branch 'master' of github.com:spinnaker/halyard into feature/publish-artifactory

� Conflicts:
�	.mergify.yml
�	Dockerfile.compile
�	Dockerfile.local
�	Dockerfile.slim
�	Dockerfile.ubuntu
�	build.gradle
�	docs/commands.md
�	gradle.properties
�	halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/ConfigCommand.java
�	halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/config/EditFeaturesCommand.java
�	halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/plugins/AddPluginCommand.java
�	halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/command/v1/plugins/EditPluginCommand.java
�	halyard-cli/src/main/java/com/netflix/spinnaker/halyard/cli/services/v1/Daemon.java
�	halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/config/v1/HalconfigDirectoryStructure.java
�	halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/DeploymentConfiguration.java
�	halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/node/Features.java
�	halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/model/v1/plugins/Plugin.java
�	halyard-config/src/main/java/com/netflix/spinnaker/halyard/config/services/v1/FileService.java
�	halyard-config/src/test/groovy/com/netflix/spinnaker/halyard/config/model/v1/ExtensibilitySpec.groovy
�	halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/services/v1/GenerateService.java
�	halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/profile/deck/DeckProfileFactory.java
�	halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/service/KubernetesSettings.java
�	halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/service/distributed/kubernetes/v2/KubernetesV2RedisService.java
�	halyard-deploy/src/main/java/com/netflix/spinnaker/halyard/deploy/spinnaker/v1/service/distributed/kubernetes/v2/KubernetesV2Service.java
�	release/docker.sh
�	release/promote.sh
�	release/publish.sh

* chore(release): Refactored version calculation to function

* chore(release): Build on github

* chore(release): Artifactory credentials

Co-authored-by: Eric Zimanyi <ezimanyi@google.com>
Co-authored-by: spinnakerbot <spinbot@spinnaker.io>
Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>
Co-authored-by: Loïs Postula <lois@postu.la>
Co-authored-by: Cameron Motevasselani <cameron.motevasselani@armory.io>
Co-authored-by: Rohit Verma <38323616+rverma-nikiai@users.noreply.github.com>
Co-authored-by: Jammy Louie <jlouie@pivotal.io>
Co-authored-by: Michael Tweten <Michael.Tweten@cerner.com>
Co-authored-by: Pierre Delagrave <pdelagrave@pivotal.io>
Co-authored-by: Matthew Sneeden <matthew.sneeden@gmail.com>
Co-authored-by: Jason <jason.mcintosh@armory.io>
Co-authored-by: Scott Frederick <sfrederick@pivotal.io>
Co-authored-by: Michael Plump <plumpy@google.com>
Co-authored-by: Justin Lee <justin.r.lee@gmail.com>
Co-authored-by: Stacie Graves <stacie.graves@gmail.com>
Co-authored-by: Costi Muraru <costimuraru@gmail.com>
Co-authored-by: Travis Tomsu <ttomsu@google.com>
Co-authored-by: Kathryn Lewis <kathryn.lewis@armory.io>
Co-authored-by: Chris Gruel <chris_gruel@homedepot.com>
Co-authored-by: Derek Miller <8096201+derekmiller@users.noreply.github.com>
Co-authored-by: Julien Breux <julien.breux@gmail.com>
Co-authored-by: Anton Malinskiy <anton@malinskiy.com>
Co-authored-by: Jared Welch <jwelch92@users.noreply.github.com>
Co-authored-by: Lars Wander <lwander@users.noreply.github.com>
Co-authored-by: Matt Duftler <duftler@google.com>
Co-authored-by: Maggie Neterval <mneterval@google.com>
Co-authored-by: Ryuzo Yamamoto <ryuzo.yamamoto@gmail.com>
Co-authored-by: Jorge Dias <jorge@mrdias.com>
Co-authored-by: Nicolas Cohen <ncknt@users.noreply.github.com>
Co-authored-by: zengchen <chenzeng2@huawei.com>
Co-authored-by: Greg North <gregnorth@gmail.com>
Co-authored-by: Sirisha vadrevu <sirishavadrevu@gmail.com>
Co-authored-by: Louis Jimenez <louisjimenez@google.com>
Co-authored-by: Ryuichi Inagaki <ryuichi.inagaki.24@googlemail.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: Shengyu Liu <usungu@gmail.com>
Co-authored-by: Kaixiang-AWS <zkaixian@amazon.com>
Co-authored-by: Fernando Guerra <53754439+ferwguerra@users.noreply.github.com>
Co-authored-by: Cristhian Castaneda <ccastanedarivera@gmail.com>
Co-authored-by: Brandon Powell <brandon.powell@armory.io>
Co-authored-by: asgard-r <56136377+asgard-r@users.noreply.github.com>
Co-authored-by: Travis CI User <travis@example.org>
Co-authored-by: Cameron Fieber <cfieber@netflix.com>
Co-authored-by: clanesf <35847974+clanesf@users.noreply.github.com>
Co-authored-by: runner <runner@fv-az51>
Co-authored-by: runner <runner@fv-az50>
Co-authored-by: runner <runner@fv-az117.internal.cloudapp.net>
Co-authored-by: runner <runner@fv-az76>
Co-authored-by: Chris Smalley <csmalley@netflix.com>
Co-authored-by: runner <runner@fv-az33>
Co-authored-by: runner <runner@fv-az51.internal.cloudapp.net>
Co-authored-by: runner <runner@fv-az118.internal.cloudapp.net>
Co-authored-by: David Byron <dbyron@dbyron.com>
Co-authored-by: Byron David <david.byron@avast.com>
Co-authored-by: root <root@7c2d69cf985a>
Co-authored-by: root <root@630f71d41ecb>
Co-authored-by: root <root@9be1526fc31e>
Co-authored-by: root <root@3bbaae2b3f97>
Co-authored-by: root <root@60135c639e6f>
Co-authored-by: root <root@6891b1263a18>
Co-authored-by: root <root@458842d3571f>
Co-authored-by: root <root@2e5c1c42d060>
Co-authored-by: root <root@e7992a1c49ce>
Co-authored-by: root <root@18a36aa4866f>
Co-authored-by: root <root@9c300884da21>
Co-authored-by: root <root@607dfd992c8d>
Co-authored-by: root <root@4da054c07e9b>
Co-authored-by: root <root@27f6a48b6497>
Co-authored-by: root <root@4d3736916f82>
Co-authored-by: root <root@7cfcb65d82e3>
Co-authored-by: root <root@0e23aba3091b>
Co-authored-by: root <root@35bcda70644a>
Co-authored-by: root <root@7c412b00885f>
Co-authored-by: root <root@ffb573cc3eb2>
Co-authored-by: Cristhian Castaneda <cristhian.castaneda@armory.io>
Co-authored-by: root <root@7395642f9bee>
Co-authored-by: root <root@2b09fc3a4455>
Co-authored-by: Daniel Peach <daniel.peach@armory.io>
Co-authored-by: root <root@94827c35f5fd>
Co-authored-by: root <root@3ba87f91c30c>
Co-authored-by: root <root@78c161617790>
Co-authored-by: root <root@724dabba6269>
Co-authored-by: root <root@46a3f162f32d>
Co-authored-by: root <root@d5125df9eea4>
Co-authored-by: root <root@c12360e2f602>
Co-authored-by: root <root@1848c4113575>
Co-authored-by: root <root@b0fe386ef528>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants