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

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

Merged
merged 2 commits into from
Jul 30, 2019

Conversation

scottfrederick
Copy link
Contributor

Fixes spinnaker/spinnaker#4665

Also further consolidates all external file access into ValidatingFileReader.

Copy link

@Jammy-Louie Jammy-Louie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Jammy-Louie Jammy-Louie merged commit fbd7c4a into spinnaker:master Jul 30, 2019
@Jammy-Louie Jammy-Louie deleted the external-binary-files branch July 30, 2019 19:11
@plumpy
Copy link
Member

plumpy commented Jul 30, 2019

@spinnakerbot cherry-pick 1.22

@spinnakerbot
Copy link
Contributor

Cherry pick successful: #1381

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
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants