Skip to content

Commit

Permalink
chore(update): gen-manifests update (#57)
Browse files Browse the repository at this point in the history
* 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)

* chore(dependencies): Autobump fiatVersion (spinnaker#1669)

Co-authored-by: root <root@e6c46326ad8b>

* chore(dependencies): Autobump fiatVersion (spinnaker#1670)

Co-authored-by: root <root@4b48b7bffe9a>

* refactor(deps): remove fabric8-utils dependency (spinnaker#1671)

* refactor(deploy): Make kubectl deployer the only option for a distributed installation on Kubernetes  (spinnaker#1672)

* refactor(deploy): remove clouddriver-kubernetes dependency from KubernetesService

KubernetesService currently calls out to clouddriver-kubernetes-v1 to assemble an image registry, repository, and tag into a KubernetesImageDescription object, and then assemble those components into a Docker image ID. Since clouddriver-kubernetes-v1 will not be included in the next Clouddriver release, let's instead include the relevant string formatting logic inline.

* refactor(kubernetes): remove Kubernetes V1 account kubeconfig validation

The legacy Kubernetes (V1) provider is deprecated, and will not be included in Spinnaker 1.21. Given that no new legacy accounts should be added, let's remove the V1-specific kube config validation that we never applied to V2 accounts anyway. This will unblock us from completely decoupling Halyard's distributed installation and Clouddriver's Kubernetes provider. This commit also updates my TODO to remove the remaining V1 validation logic when no supported Spinnaker release includes the V1 provider (tracking this work in this [GitHub issue](spinnaker/spinnaker#5749)).

* refactor(deploy): Make kubectl deployer the only option for a distributed installation on Kubernetes

Spinnaker 1.21 will not include support for using legacy (V1) accounts to deploy to Kubernetes. The next release of Halyard will not include support for using a legacy (V1) account to deploy Spinnaker itself using Halyard. It should be relatively straightforward for users to migrate from the V1 deployer to the kubectl deployer, and can be done independently of migrating any pipelines or other Spinnaker accounts to the V2 provider. Given that we don't publish a Halyard changelog, I will be sure to communicate this in the #halyard Slack channel when we do the next Halyard release.

* refactor(deps): remove dependency on clouddriver-kubernetes

The previous commits removed all clients of clouddriver-kubernetes and clouddriver-kubernetes-v1. Moving forward, this will prevent the class of bug where contributors do not realize that breaking changes to Clouddriver could impact Halyard (at least in the Kubernetes provider).

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

Co-authored-by: root <root@ff9e3aed0c45>

* chore(dependencies): Autobump front50Version (spinnaker#1674)

Co-authored-by: root <root@f40626cb6e1a>

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

Co-authored-by: root <root@3ec048d8ec28>

* refactor(config): remove unused feature properties (spinnaker#1676)

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

Co-authored-by: root <root@30587641ae05>

* chore(dependencies): Autobump fiatVersion (spinnaker#1679)

Co-authored-by: root <root@0bd80700071c>

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

Co-authored-by: root <root@c9ef12ff2f5c>

* fix(front50): Remove duplicate spinnaker key (spinnaker#1662)

* feat(telemetry): code formatting

* fix(plugins): removing extra spinnaker key

* fix(front50): fix nesting of persistent storage configs

Co-authored-by: Cristhian Castaneda <cristhian.castaneda@armory.io>

* chore(dependencies): Autobump fiatVersion (spinnaker#1681)

Co-authored-by: root <root@ebbc24838ebb>

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

Co-authored-by: root <root@411b28224cf4>

* fix(plugins): remove edit plugin command. (spinnaker#1678)

* fix(plugins): remove edit plugin command.

* fix(plugins): docs update.

* fix(plugins): remove blank line on imports.

* fix(plugins): remove unused code and remove edit plugin from Rest API

Co-authored-by: Clay McCoy <github@claymccoy.com>
Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>
Co-authored-by: Daniel Peach <daniel.peach@armory.io>

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

Co-authored-by: root <root@cd13fc09c855>

* chore(dependencies): Autobump fiatVersion (spinnaker#1684)

Co-authored-by: root <root@0de217a3f863>

* chore(build): gradle 6.4.1 (spinnaker#1687)

* fix(compiler): set the version when using Dockerfile.compile (spinnaker#1686)

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

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1688)

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

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

Co-authored-by: root <root@b22929ed9069>

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

Co-authored-by: root <root@b8d52fc22296>

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

Co-authored-by: root <root@b562d947ef6d>

* refactor(deck): remove unneeded env vars from DeckDockerProfileFactory (spinnaker#1693)

When building Deck as a container, several environment variables are required when using SSL. However, the AUTH_ENABLED and FIAT_ENABLED environment variables are only read from Deck's settings.js when doing local development. When building Deck as a container, auth and fiat configs are read from the features configuration block, not environment variables, so we can safely remove this code.

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

Co-authored-by: root <root@f9f2be0e9d83>

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

Co-authored-by: root <root@c25c6c9c6112>

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

Co-authored-by: root <root@bc227d299710>

* refactor(deck): remove unneeded appengine.enabled binding from DeckProfileFactory (spinnaker#1697)

* refactor(deck): remove unneeded notifications.enabled binding (spinnaker#1698)

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

Co-authored-by: root <root@9da12d0fc23b>

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

Co-authored-by: root <root@28906c17cd67>

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

Co-authored-by: root <root@ba0c9d1c783d>

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

Co-authored-by: root <root@6091e921213e>

* style(core): Add missing space to log (spinnaker#1704)

This will make the logs more readable as we move from this:
`RUNNINGCollected child task [Deploy spin-redis]`

to this:
`RUNNING Collected child task [Deploy spin-redis]`

* fix(mergify): remove duplicate line from mergify.yml (spinnaker#1707)

* fix(halyard): Replaced NPE caused by empty kubeconfig file when running 'hal deploy apply' with a more descriptive exception. (spinnaker#1706)

Parsed kubeconfig returned by the object mapper is null when the kubeconfig file is empty so I added a null check. Fixes the following reported issue: spinnaker/spinnaker#5224
Furthermore, extracted some of the work from processKubernetesAccount into seperate methods in hopes of making the method more readable.

* fix(halyard): bump CD to 5.61.0 and fix CF credentials validator (spinnaker#1708)

Co-authored-by: Zach Smith <zachsmith@ip-192-168-1-69.us-west-2.compute.internal>

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

Co-authored-by: root <root@f0fe681e84f7>

* chore(dependencies): Autobump fiatVersion (spinnaker#1710)

Co-authored-by: root <root@b0032545e0d1>

* chore(dependencies): Autobump front50Version (spinnaker#1711)

Co-authored-by: root <root@99dc460a1671>

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

Co-authored-by: root <root@1d7e715ab9f3>

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

Co-authored-by: root <root@8afdcb247cd4>

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

Co-authored-by: root <root@22b5a785fb59>

* fix(profile): write correct changelog file name to Deck settings.js (spinnaker#1715)

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

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

Co-authored-by: root <root@c320d4c3c16f>

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

Co-authored-by: root <root@8bcd4d2873be>

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

Co-authored-by: root <root@f84528c7f520>

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

Co-authored-by: root <root@9b081db80ac0>

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

Co-authored-by: root <root@c55a81492b7a>

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

Co-authored-by: root <root@8dce36ec7ef6>

* chore(containers): revert the Artifact Registry changes (spinnaker#1724)

* Revert "fix(releases): Fix minor typos in promotion script (spinnaker#1663)"

This reverts commit 12df445

* Revert "feat(boms): Change default dockerRegistry to GAR (spinnaker#1657)"

This reverts commit e827e8e

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

Co-authored-by: root <root@bd79e168cfe6>

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

Co-authored-by: root <root@1dccf7052742>

* feat(travis): Support for numberOfJobs and buildResultLimit (spinnaker#1717)

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

Co-authored-by: cmuraru <cmuraru@adobe.com>

* fix(logs): do not print ??? when stats enabled (spinnaker#1727)

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

Co-authored-by: root <root@1bacecaea1dd>

* fix(docs): del ref to removed build shell script (spinnaker#1685)

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

* fix(docs): Edit fields description (spinnaker#1720)

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

* chore(build): gradle 6.5 (spinnaker#1729)

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1731)

Co-authored-by: root <root@977a36312434>

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

Co-authored-by: root <root@59d9c736198e>

* chore(dependencies): Autobump fiatVersion (spinnaker#1733)

Co-authored-by: root <root@3d8bb27683f8>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1734)

Co-authored-by: root <root@aaa8c20672e1>

* chore(dependencies): Autobump front50Version (spinnaker#1735)

Co-authored-by: root <root@0f7c6a0f6e87>

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

Co-authored-by: root <root@a8f3fe14fb2c>

* feat(travis): Support for filteredRepositories parameter (spinnaker#1730)

* feat(travis): Support for filteredRepositories parameter

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

* Implement review

* Implement review

Co-authored-by: cmuraru <cmuraru@adobe.com>

* fix(ha): modify HA Clouddriver conditionals to append Clouddriver Deck and RO when these are enabled (spinnaker#1636)

Co-authored-by: Cristhian Castaneda <cristhian.castaneda@armory.io>
Co-authored-by: Chris Gruel <chris.gruel@armory.io>

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

Co-authored-by: root <root@71eb94a5c754>

* chore(build): gradle 6.5.1 (spinnaker#1743)

* refactor(kubernetes): deprecate ProviderVersion (spinnaker#1742)

* Since ProviderVersion was only ever relevant to KubernetesAccount, move the enum from Provider to KubernetesAccount before deprecating it. Hopefully this will prevent any future cloud providers from needlessly including the providerVersion field in every account.
* We have included warnings that V1 accounts cannot be used for a Distributed install for a couple of Halyard releases; let's remove these for the next release.

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

* feat(docs): add deprecation documentation (spinnaker#1744)

* feat(docs): improve discoverability of contributor docs

* feat(docs): add field deprecation docs

* feat(docs): document how to add minimum Spinnaker version to new fields

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

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1745)

Co-authored-by: root <root@68a551283b83>

* feat(authn/saml): New optional SAML parameter for signing messages (spinnaker#1741)

* feat(authn/saml): New optional SAML parameter for signing messages

* feat(authn/saml): SignatureDigest should be upper case supplied

* fix(cli): ignore providerVersion in all non-Kubernetes account types (spinnaker#1747)

Instead of ignoring `providerVersion` in the base Account class, ignore it in each non-Kubernetes subclass, so that `providerVersion: v1` is respected for legacy Kubernetes accounts.

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

Co-authored-by: root <root@d9d580d9b3c0>

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

Co-authored-by: root <root@7e3432ee318e>

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

Co-authored-by: root <root@3c52fa56dec2>

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

Co-authored-by: root <root@bcfed0122089>

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

Co-authored-by: root <root@80d4eac187ec>

* fix(install): support Java 14 in installation for macOS (spinnaker#1746)

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

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

Co-authored-by: root <root@2034fe8c9f7f>

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

Co-authored-by: root <root@6eba321b78a7>

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

Co-authored-by: root <root@4eda5d523f4e>

* chore(dependencies): Autobump fiatVersion (spinnaker#1756)

Co-authored-by: root <root@d0c358514126>

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

Co-authored-by: root <root@caa32d04095a>

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

Co-authored-by: root <root@1435b8821276>

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

Co-authored-by: root <root@6075b164b586>

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

Co-authored-by: root <root@e1aaa35720ec>

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

Co-authored-by: root <root@8d7c1f8eef3c>

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

Co-authored-by: root <root@8442b11a4c18>

* fix(install script): Don't be so particular about Java versions (spinnaker#1762)

* fix(install script): Don't be so particular about Java versions

We should be able to run with any version of Java >=8. Java 7 has been EOL for over five years now, so if they still have that installed as their primary JDK, we probably have other issues. Let's just skip the version check entirely.

There are many valid ways someone could install Java. I think it's a fair assumption that someone installing Halyard should know how to install Java. So let's remove the part where we try to install an unnecessarily old version for them.

* fix(install script): -1 is not a valid exit code

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

* feat(kubernetes): allow adding custom service annotations (spinnaker#1763)

* feat(kubernetes): add service annotations

* fix(kuberntes): typo setting to settings

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

* fix(config): Reorder imports on PrometheusCanaryAccount.java after Secret Import incorrectly placed (spinnaker#1631)

* fix(config): Add @secret decorator to Password/Key properties in Halyard Config Models

* fix(config): Reorder imports on PrometheusCanaryAccount.java after Secret Import incorrectly placed

Co-authored-by: Mark Noe <marknoe@Marks-MacBook-Pro.local>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>

* fix(kubernetes): Deploy to a numeric k8s namespace fails (spinnaker#1597)

Allows deployment to a Kubernetes namespace that is numeric.

KubernetesV2Utils is mapping the deployment environment values to Map<String, Object>, and number-ish values are interpreted as numeric types by YAML.
This caused a numeric namespace value to get interpreted as a Long, and later hard-casts to String in KubernetesV2Executor.exists() threw a ClassCastException

Example failing config:

```
kubernetes:
- accounts:
  - name: foobar
    ...
    namespaces:
    - 123412341234
...
deploymentEnvironment:
  location: 123412341234
```

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

* chore(spotless): upgrade spinnaker gradle plugin (spinnaker#1765)

* fix(local-bom): Fix issues blocking use of locally hosted configuration files (spinnaker#1737)

* fix(versions): Fix version parsing for plugin compatibility detection for local BOMs

* fix(versions): Fixing orderBySemVer so it correctly sees equivalent version expressions as equal

* fix(LocalDiskProfileReader): readArchiveProfile should not expect a file extension for profileName, it must supply it

Co-authored-by: Kevin Woo <kevinawoo@gmail.com>

* fix: allow edit canary datadog (spinnaker#1738)

allows halyard command edit canary datadog
allows setting metadataCachingIntervalMS in the same manner as prometheus

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

* fix(installer) Create sysusers.d dir if not present on Debian (spinnaker#1618)

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

* Allow cacheThreads 0. This will disable cache for an account. (spinnaker#1692)

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

* chore(dependencies): bump commons-compress version (spinnaker#1582)

Co-authored-by: Kevin Woo <kevinawoo@gmail.com>

* feat(secrets): Handle secrets in service settings (spinnaker#1364)

Co-authored-by: Kevin Woo <kevinawoo@gmail.com>

* feat(nexus): add command to enable and configure Nexus repository (spinnaker#1431)

* feat(nexus): add command to enable and configure Nexus repository

* automated style fixes

Co-authored-by: Kevin Woo <kevinawoo@gmail.com>

* fix(dependencies): update clouddriver (spinnaker#1766)

Also updated some modules to add clouddriver-api dep so that it would still compile.

* fix(kubernetes): fix custom service annotations (spinnaker#1767)

* feat(config): add upperBound/tooHighMessage for mineCanary feature flag (spinnaker#1768)

This flag gates legacy, pre-Kayenta stages in Deck's canary module that are likely not used by OSS users. To reduce confusion, deprecate this flag.

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1739)

Co-authored-by: root <root@0b9afe36d40f>
Co-authored-by: Eric Zimanyi <ezimanyi@google.com>

* fix(misc): Remove hard dependency on resolvedEnv endpoint and add runtime dep for kork actuator (spinnaker#1770)

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

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

Co-authored-by: root <root@f429c082b070>
Co-authored-by: Eric Zimanyi <ezimanyi@google.com>

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

Co-authored-by: root <root@12e6abdc8861>

* chore(dockerfile): various Dockerfile cleanups (spinnaker#1772)

* chore(dockerfile): replace deprecated MAINTAINER with LABEL

* chore(dockerfile): use the same `adduser` commands as we do elsewhere

* chore(dockerfile): make docker builds more cacheable

* chore(dockerfile): make the ubuntu and slim dockerfiles more similar

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1773)

Co-authored-by: root <root@6a807b439d68>

* chore(build): gradle 6.6 (spinnaker#1774)

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

Co-authored-by: root <root@87c6cb8f1126>

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

Co-authored-by: root <root@048626cb7ef2>

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

Co-authored-by: root <root@7cc2f7e2e8cd>

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

Co-authored-by: root <root@4bab6a330c11>

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

Co-authored-by: root <root@534ce9888ac0>

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

Co-authored-by: root <root@167ad51ad4f2>

* chore(build): gradle 6.6.1 (spinnaker#1783)

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

Co-authored-by: root <root@07aa874cb083>

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

Co-authored-by: root <root@fa990adebdf5>

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

Co-authored-by: root <root@ec7bd04f30f1>

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

Co-authored-by: root <root@07935c2d2f7e>

* feat(plugins): Support top level plugin config (spinnaker#1788)

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

* fix(5995): Fix non-existent nexus node in halyard config (spinnaker#1787)

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

* chore(dependencies): Autobump fiatVersion (spinnaker#1790)

Co-authored-by: root <root@bfd54d97d9e4>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1791)

Co-authored-by: root <root@903b3fc96ec5>

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

Co-authored-by: root <root@b207540a8467>

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

Co-authored-by: root <root@37fd038da766>

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

Co-authored-by: root <root@cd7bcd8dd69a>

* feat(cli): add upperBound for liveManifestCalls flag (spinnaker#1795)

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

Co-authored-by: root <root@4181cde18944>

* feat(releases): Publish Halyard containers to Artifact Registry (spinnaker#1798)

Reverts spinnaker#1724 (which itself was a rollback of spinnaker#1653 and spinnaker#1663) to turn this back on.

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1799)

Co-authored-by: root <root@1c964967be5d>

* chore(dependencies): Autobump fiatVersion (spinnaker#1800)

Co-authored-by: root <root@bcaea77c9d18>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1801)

Co-authored-by: root <root@96ca2b2c6285>

* fix(build): Fixes for build failures when 'targetJava11=true' (spinnaker#1802)

* chore(java11): Remove Java 8 from the CI systems. (spinnaker#1803)

Halyard compiles to Java 11 as of spinnaker#1802.

* chore(dependencies): Autobump fiatVersion (spinnaker#1804)

Co-authored-by: root <root@28bd9d7e8d49>

* chore(redis): Move Halyard's redis image into the CDF-owned GCP project (spinnaker#1806)

The `kubernetes-spinnaker` project seemingly exists solely to host this one image. I have no idea why. Let's move it into its own Artifact Registry repository in the CDF-owned `spinnaker-community` project.

Also, the version of Redis in this image is 3.2.11, which is three years old, but I suppose that's a problem for another day.

* feat(aws): Adding property externalId to AWS account config for assuming roles. (spinnaker#1805)

* feat(aws): adding externalId command and field for aws account config

* chore(aws): better definition for the new property external Id

Co-authored-by: Justin Field <justin.field@armory.io>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1807)

Co-authored-by: root <root@6a7b3894974d>

* chore(dependencies): Autobump fiatVersion (spinnaker#1808)

Co-authored-by: root <root@b272e1bb32f7>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1809)

Co-authored-by: root <root@5900c8b382c3>

* chore(kork): update kork (spinnaker#1810)

Required a few manual changes because of spinnaker/kork#783

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1782)

Co-authored-by: root <root@44bc22e6f2e4>

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

Co-authored-by: root <root@2897678eb22e>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1812)

Co-authored-by: root <root@877703f80d77>

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

Co-authored-by: root <root@c51049d641bc>

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

Co-authored-by: root <root@893456aa42c8>

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

Co-authored-by: root <root@e9b0b38e4e5f>

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

Co-authored-by: root <root@9c1f95bcaee1>

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

Co-authored-by: root <root@73fd689d0395>

* fix(boms): change default docker registry to spinnaker-community (spinnaker#1820)

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

* feat(validations/cf): Updated CF client for validations (spinnaker#1819)

* chore(build): gradle 6.7 (spinnaker#1821)

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

Co-authored-by: root <root@dcc11ef833df>

* feat(cf): bump CD version add Space Filter to Halyard for CF (spinnaker#1824)

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

Co-authored-by: root <root@9a9d052c27fd>

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

Co-authored-by: root <root@7b52afe39ecb>

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

Co-authored-by: root <root@d456b8dff913>

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

Co-authored-by: root <root@e00e7b323342>

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

Co-authored-by: root <root@0d0260787168>

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

Co-authored-by: root <root@292101d0d717>

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

Co-authored-by: root <root@3814c4b6ed6a>

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

Co-authored-by: root <root@c824defa2ad0>

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

Co-authored-by: root <root@807affa01aa9>

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

Co-authored-by: root <root@a467bf5216d2>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1823)

Co-authored-by: root <root@3cc4898a2f53>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1836)

Co-authored-by: root <root@be418bd7e5f7>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1837)

Co-authored-by: root <root@2f7db28adec5>

* chore(build): Stop publishing debians on release builds (spinnaker#1839)

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

Co-authored-by: root <root@ae58f56d23c5>

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

Co-authored-by: root <root@dd10b3e8c985>

* feat(kubernetes): Add cacheAllApplicationRelationships to KubernetesAccount (spinnaker#1833)

Setting added here: spinnaker/clouddriver#5057

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

* feat(kubernetes): Add commands for managing raw resources endpoint configuration to Kubernetes account (spinnaker#1841)

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

Co-authored-by: root <root@cf2056827c7b>

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

Co-authored-by: root <root@eb38f685f0f3>

* chore(dependencies): Autobump clouddriverVersion (spinnaker#1849)

Co-authored-by: root <root@e30f4b7407cf>

* fix(dependencies): okhttp update due to clouddriver upgraded to 5.71.0 (spinnaker#1850)

Co-authored-by: Cameron Motevasselani <cameron@armory.io>

* chore(dependencies): Autobump Front50 Version (spinnaker#1848)

Co-authored-by: German Muzquiz <35276119+german-muzquiz@users.noreply.github.com>
Co-authored-by: Cameron Motevasselani <cameron@armory.io>

* fix(gcs): setting project field correctly (spinnaker#1851)

Co-authored-by: Cameron Motevasselani <cameron@armory.io>

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

Co-authored-by: root <root@ca927ee64684>

* chore(dependencies): Autobump front50Version (spinnaker#1854)

Co-authored-by: root <root@6d02808949fe>

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

Co-authored-by: root <root@acc6d496302d>

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

Co-authored-by: root <root@9b24960a58f0>

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

Co-authored-by: root <root@edc872039467>

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

Co-authored-by: root <root@09fc90117bcd>

* chore(dependencies): Autobump spinnakerGradleVersion (spinnaker#1859)

Co-authored-by: root <root@c2e1e2d3af23>

* feat(dockerRegistry/regex): Add a new attribute called repositoriesRegex (spinnaker#1860)

* feat(telemetry): code formatting

* feat(telemetry): code formatting

* feat(dockerRegistry/regex): Add a new attribute called repositoriesRegex in order to specify a regular expression to search for repositories.

* feat(dockerRegistry/regex): Add a dockerRegistry cli command --repositories-regex for add and edit

* feat(dockerRegistry/regex): Add the description command to commands.md file

* feat(dockerRegistry/regex): run updateDocs in order to update the commands.md file

* feat(dockerRegistry/regex): Add a regular expression validation.

Co-authored-by: Cristhian Castaneda <cristhian.castaneda@armory.io>
Co-authored-by: German Muzquiz <german.muzquiz@armory.io>

* chore(cloudfoundry): Adds client config properties to CloudFoundryProvider (spinnaker#1862)

* chore(build): update kork, use new maven coordinates (spinnaker#1864)

Co-authored-by: Cameron Motevasselani <cameron@armory.io>

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

Co-authored-by: root <root@3c2f555b53f9>

* chore(gen-manifests): solve merge conflicts

* chore(gen-manifests): solve merge conflicts

* chore(gen-manifests): solve merge conflicts

Co-authored-by: Michael Plump <plumpy@google.com>
Co-authored-by: spinnakerbot <spinbot@spinnaker.io>
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: Travis Tomsu <ttomsu@google.com>
Co-authored-by: Maggie Neterval <mneterval@google.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
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: Cameron Fieber <cfieber@netflix.com>
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: Eric Zimanyi <ezimanyi@google.com>
Co-authored-by: German Muzquiz <35276119+german-muzquiz@users.noreply.github.com>
Co-authored-by: root <root@7395642f9bee>
Co-authored-by: root <root@2b09fc3a4455>
Co-authored-by: Daniel Peach <daniel.peach@armory.io>
Co-authored-by: Cameron Motevasselani <cmotevasselani@gmail.com>
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>
Co-authored-by: root <root@e6c46326ad8b>
Co-authored-by: root <root@4b48b7bffe9a>
Co-authored-by: root <root@ff9e3aed0c45>
Co-authored-by: root <root@f40626cb6e1a>
Co-authored-by: root <root@3ec048d8ec28>
Co-authored-by: root <root@30587641ae05>
Co-authored-by: root <root@0bd80700071c>
Co-authored-by: root <root@c9ef12ff2f5c>
Co-authored-by: root <root@ebbc24838ebb>
Co-authored-by: root <root@411b28224cf4>
Co-authored-by: Edgar Garcia <63310723+edgarulg@users.noreply.github.com>
Co-authored-by: Clay McCoy <github@claymccoy.com>
Co-authored-by: root <root@cd13fc09c855>
Co-authored-by: root <root@0de217a3f863>
Co-authored-by: root <root@ff964b5a57b7>
Co-authored-by: root <root@b22929ed9069>
Co-authored-by: root <root@b8d52fc22296>
Co-authored-by: root <root@b562d947ef6d>
Co-authored-by: root <root@f9f2be0e9d83>
Co-authored-by: root <root@c25c6c9c6112>
Co-authored-by: root <root@bc227d299710>
Co-authored-by: root <root@9da12d0fc23b>
Co-authored-by: root <root@28906c17cd67>
Co-authored-by: root <root@ba0c9d1c783d>
Co-authored-by: root <root@6091e921213e>
Co-authored-by: Patrik Greco <pgreco@apple.com>
Co-authored-by: Matt Santa <mattsanta@google.com>
Co-authored-by: Zach Smith <33258732+zachsmith1@users.noreply.github.com>
Co-authored-by: Zach Smith <zachsmith@ip-192-168-1-69.us-west-2.compute.internal>
Co-authored-by: root <root@f0fe681e84f7>
Co-authored-by: root <root@b0032545e0d1>
Co-authored-by: root <root@99dc460a1671>
Co-authored-by: root <root@1d7e715ab9f3>
Co-authored-by: root <root@8afdcb247cd4>
Co-authored-by: root <root@22b5a785fb59>
Co-authored-by: root <root@c320d4c3c16f>
Co-authored-by: root <root@8bcd4d2873be>
Co-authored-by: root <root@f84528c7f520>
Co-authored-by: root <root@9b081db80ac0>
Co-authored-by: root <root@c55a81492b7a>
Co-authored-by: root <root@8dce36ec7ef6>
Co-authored-by: root <root@bd79e168cfe6>
Co-authored-by: root <root@1dccf7052742>
Co-authored-by: Costi Muraru <costimuraru@gmail.com>
Co-authored-by: cmuraru <cmuraru@adobe.com>
Co-authored-by: root <root@1bacecaea1dd>
Co-authored-by: Trent Albright <trent.albright@gmail.com>
Co-authored-by: Shengyu Liu <usungu@gmail.com>
Co-authored-by: root <root@977a36312434>
Co-authored-by: root <root@59d9c736198e>
Co-authored-by: root <root@3d8bb27683f8>
Co-authored-by: root <root@aaa8c20672e1>
Co-authored-by: root <root@0f7c6a0f6e87>
Co-authored-by: root <root@a8f3fe14fb2c>
Co-authored-by: Ivan <ivanphdz13@gmail.com>
Co-authored-by: Chris Gruel <chris.gruel@armory.io>
Co-authored-by: root <root@71eb94a5c754>
Co-authored-by: root <root@68a551283b83>
Co-authored-by: root <root@d9d580d9b3c0>
Co-authored-by: root <root@7e3432ee318e>
Co-authored-by: root <root@3c52fa56dec2>
Co-authored-by: root <root@bcfed0122089>
Co-authored-by: root <root@80d4eac187ec>
Co-authored-by: micnncim <micnncim@gmail.com>
Co-authored-by: root <root@2034fe8c9f7f>
Co-authored-by: root <root@6eba321b78a7>
Co-authored-by: root <root@4eda5d523f4e>
Co-authored-by: root <root@d0c358514126>
Co-authored-by: root <root@caa32d04095a>
Co-authored-by: root <root@1435b8821276>
Co-authored-by: root <root@6075b164b586>
Co-authored-by: root <root@e1aaa35720ec>
Co-authored-by: root <root@8d7c1f8eef3c>
Co-authored-by: root <root@8442b11a4c18>
Co-authored-by: KeisukeYamashita <19yamashita15@gmail.com>
Co-authored-by: marqaaron <57965459+marqaaron@users.noreply.github.com>
Co-authored-by: Mark Noe <marknoe@Marks-MacBook-Pro.local>
Co-authored-by: jcavanagh <jcavanagh@users.noreply.github.com>
Co-authored-by: Joe DeStefano <jld864@gmail.com>
Co-authored-by: Kevin Woo <kevinawoo@gmail.com>
Co-authored-by: John Pease <john.pease@autodesk.com>
Co-authored-by: Markus Lachinger <1031928+mmlac@users.noreply.github.com>
Co-authored-by: dcodix <sikieresmescribes@gmail.com>
Co-authored-by: asgard-r <56136377+asgard-r@users.noreply.github.com>
Co-authored-by: Michael Tweten <Michael.Tweten@cerner.com>
Co-authored-by: Clay McCoy <git@claymccoy.com>
Co-authored-by: Raphaël Rondeau <raphael@yeau.io>
Co-authored-by: root <root@0b9afe36d40f>
Co-authored-by: Sairam Rekapalli <rrvsairam@gmail.com>
Co-authored-by: root <root@f429c082b070>
Co-authored-by: root <root@12e6abdc8861>
Co-authored-by: root <root@6a807b439d68>
Co-authored-by: root <root@87c6cb8f1126>
Co-authored-by: root <root@048626cb7ef2>
Co-authored-by: root <root@7cc2f7e2e8cd>
Co-authored-by: root <root@4bab6a330c11>
Co-authored-by: root <root@534ce9888ac0>
Co-authored-by: root <root@167ad51ad4f2>
Co-authored-by: root <root@07aa874cb083>
Co-authored-by: root <root@fa990adebdf5>
Co-authored-by: root <root@ec7bd04f30f1>
Co-authored-by: root <root@07935c2d2f7e>
Co-authored-by: Justin Field <justin.field@armory.io>
Co-authored-by: Jose Maria Alvarez Fernandez <52029309+jmalvarezf-lmes@users.noreply.github.com>
Co-authored-by: root <root@bfd54d97d9e4>
Co-authored-by: root <root@903b3fc96ec5>
Co-authored-by: root <root@b207540a8467>
Co-authored-by: root <root@37fd038da766>
Co-authored-by: root <root@cd7bcd8dd69a>
Co-authored-by: root <root@4181cde18944>
Co-authored-by: root <root@1c964967be5d>
Co-authored-by: root <root@bcaea77c9d18>
Co-authored-by: root <root@96ca2b2c6285>
Co-authored-by: Adam Jordens <adam@jordens.org>
Co-authored-by: root <root@28bd9d7e8d49>
Co-authored-by: root <root@6a7b3894974d>
Co-authored-by: root <root@b272e1bb32f7>
Co-authored-by: root <root@5900c8b382c3>
Co-authored-by: root <root@44bc22e6f2e4>
Co-authored-by: root <root@2897678eb22e>
Co-authored-by: root <root@877703f80d77>
Co-authored-by: root <root@c51049d641bc>
Co-authored-by: root <root@893456aa42c8>
Co-authored-by: root <root@e9b0b38e4e5f>
Co-authored-by: root <root@9c1f95bcaee1>
Co-authored-by: root <root@73fd689d0395>
Co-authored-by: root <root@dcc11ef833df>
Co-authored-by: root <root@9a9d052c27fd>
Co-authored-by: root <root@7b52afe39ecb>
Co-authored-by: root <root@d456b8dff913>
Co-authored-by: root <root@e00e7b323342>
Co-authored-by: root <root@0d0260787168>
Co-authored-by: root <root@292101d0d717>
Co-authored-by: root <root@3814c4b6ed6a>
Co-authored-by: root <root@c824defa2ad0>
Co-authored-by: root <root@807affa01aa9>
Co-authored-by: root <root@a467bf5216d2>
Co-authored-by: root <root@3cc4898a2f53>
Co-authored-by: root <root@be418bd7e5f7>
Co-authored-by: root <root@2f7db28adec5>
Co-authored-by: root <root@ae58f56d23c5>
Co-authored-by: root <root@dd10b3e8c985>
Co-authored-by: Julien Duchesne <julienduchesne@live.com>
Co-authored-by: Jeff Herald <jeff.herald@gmail.com>
Co-authored-by: root <root@cf2056827c7b>
Co-authored-by: root <root@eb38f685f0f3>
Co-authored-by: root <root@e30f4b7407cf>
Co-authored-by: Cameron Motevasselani <cameron@armory.io>
Co-authored-by: root <root@ca927ee64684>
Co-authored-by: root <root@6d02808949fe>
Co-authored-by: root <root@acc6d496302d>
Co-authored-by: root <root@9b24960a58f0>
Co-authored-by: root <root@edc872039467>
Co-authored-by: root <root@09fc90117bcd>
Co-authored-by: root <root@c2e1e2d3af23>
Co-authored-by: JB <jorgebee65@hotmail.com>
Co-authored-by: German Muzquiz <german.muzquiz@armory.io>
Co-authored-by: Raúl Vázquez <rvazquezglez@gmail.com>
Co-authored-by: root <root@3c2f555b53f9>
  • Loading branch information
Show file tree
Hide file tree
Showing 32 changed files with 434 additions and 76 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
BINTRAY_API_KEY: ${{ secrets.BINTRAY_API_KEY }}
RELEASE_VERSION: ${{ steps.release_info.outputs.RELEASE_VERSION }}
run: |
./gradlew --info -Pversion="${RELEASE_VERSION}" -PbintrayUser="${BINTRAY_USER}" -PbintrayKey="${BINTRAY_API_KEY}" publish
./gradlew --info -Pversion="${RELEASE_VERSION}" -PbintrayUser="${BINTRAY_USER}" -PbintrayKey="${BINTRAY_API_KEY}" -PbintrayPublishDebEnabled=false publish
- name: Create release
if: steps.release_info.outputs.SKIP_RELEASE == 'false'
uses: actions/create-release@v1
Expand Down
6 changes: 3 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@ subprojects {
}

dependencies {
implementation platform("com.netflix.spinnaker.kork:kork-bom:$korkVersion")
implementation platform("io.spinnaker.kork:kork-bom:$korkVersion")

annotationProcessor platform("com.netflix.spinnaker.kork:kork-bom:$korkVersion")
annotationProcessor platform("io.spinnaker.kork:kork-bom:$korkVersion")
annotationProcessor "org.projectlombok:lombok"
testAnnotationProcessor platform("com.netflix.spinnaker.kork:kork-bom:$korkVersion")
testAnnotationProcessor platform("io.spinnaker.kork:kork-bom:$korkVersion")
testAnnotationProcessor "org.projectlombok:lombok"
}

Expand Down
16 changes: 16 additions & 0 deletions docs/commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -8071,6 +8071,7 @@ hal config provider cloudfoundry account add ACCOUNT [parameters]
* `--read-permissions`: (*Default*: `[]`) A user must have at least one of these roles in order to view this account's cloud resources.
* `--required-group-membership`: (*Default*: `[]`) A user must be a member of at least one specified group in order to make changes to this account's cloud resources.
* `--skip-ssl-validation`: (*Default*: `false`) Skip SSL server certificate validation of the API endpoint
* `--space-filter, --spaceFilter`: Organization and Space filter applied to the Spinnaker CF account
* `--user`: (*Required*) User name for the account to use on for this CloudFoundry Foundation
* `--write-permissions`: (*Default*: `[]`) A user must have at least one of these roles in order to make changes to this account's cloud resources.

Expand Down Expand Up @@ -8119,6 +8120,7 @@ hal config provider cloudfoundry account edit ACCOUNT [parameters]
* `--remove-write-permission`: Remove this permission to from list of write permissions.
* `--required-group-membership`: A user must be a member of at least one specified group in order to make changes to this account's cloud resources.
* `--skip-ssl-validation`: (*Default*: `false`) Skip SSL server certificate validation of the API endpoint
* `--space-filter, --spaceFilter`: Organization and Space filter applied to the Spinnaker CF account
* `--user`: User name for the account to use on for this CloudFoundry Foundation
* `--write-permissions`: A user must have at least one of these roles in order to make changes to this account's cloud resources.

Expand Down Expand Up @@ -8548,6 +8550,7 @@ hal config provider docker-registry account add ACCOUNT [parameters]
* `--password-file`: The path to a file containing your docker password in plaintext (not a docker/config.json file)
* `--read-permissions`: (*Default*: `[]`) A user must have at least one of these roles in order to view this account's cloud resources.
* `--repositories`: (*Default*: `[]`) An optional list of repositories to cache images from. If not provided, Spinnaker will attempt to read accessible repositories from the registries _catalog endpoint
* `--repositories-regex`: Allows to specify a Regular Expression to filter the repositories.
* `--required-group-membership`: (*Default*: `[]`) A user must be a member of at least one specified group in order to make changes to this account's cloud resources.
* `--sort-tags-by-date`: (*Default*: `false`) Sort tags by creation date. Not recommended for use with large registries; sorting performance scales poorly due to limitations of the Docker V2 API.
* `--track-digests`: (*Default*: `false`) Track digest changes. This is not recommended as it consumes a high QPM, and most registries are flaky.
Expand Down Expand Up @@ -8612,6 +8615,7 @@ hal config provider docker-registry account edit ACCOUNT [parameters]
* `--remove-required-group-membership`: Remove this group from the list of required group memberships.
* `--remove-write-permission`: Remove this permission to from list of write permissions.
* `--repositories`: (*Default*: `[]`) An optional list of repositories to cache images from. If not provided, Spinnaker will attempt to read accessible repositories from the registries _catalog endpoint
* `--repositories-regex`: Allows to specify a Regular Expression to filter the repositories.
* `--required-group-membership`: A user must be a member of at least one specified group in order to make changes to this account's cloud resources.
* `--sort-tags-by-date`: Sort tags by creation date. Not recommended for use with large registries; sorting performance scales poorly due to limitations of the Docker V2 API.
* `--track-digests`: Track digest changes. This is not recommended as it consumes a high QPM, and most registries are flaky.
Expand Down Expand Up @@ -9603,6 +9607,8 @@ hal config provider kubernetes account add ACCOUNT [parameters]

#### Parameters
`ACCOUNT`: The name of the account to operate on.
* `--cache-all-application-relationships`: If true, will add application relationships in the cache for all types of resources.
This includes CRDs and resources that aren't used in the Clusters, Load Balancers or Firewalls sections.
* `--cache-threads`: (*Default*: `1`) Number of caching agents for this kubernetes account. Each agent handles a subset of the namespaces available to this account. By default, only 1 agent caches all kinds for all namespaces in the account.
* `--check-permissions-on-startup`: When false, clouddriver will skip the permission checks for all kubernetes kinds at startup. This can save a great deal of time
during clouddriver startup when you have many kubernetes accounts configured. This disables the log messages at startup about missing permissions.
Expand All @@ -9627,6 +9633,8 @@ This can only be set when --namespaces is empty or not set.
* `--only-spinnaker-managed`: (*Default*: `false`) (V2 Only) When true, Spinnaker will only cache/display applications that have been
created by Spinnaker; as opposed to attempting to configure applications for resources already present in Kubernetes.
* `--provider-version`: (*Default*: `v2`) There are currently two versions of the Kubernetes Provider: V1 and V2. This allows you to pick the version of the provider (not the resources it manages) to run within Spinnaker.V1 is scheduled for removal in Spinnaker 1.21; we recommend using V2 only.
* `--raw-resource-endpoint-kind-expressions`: (*Default*: `[]`) (V2 Only) A list of resource kind regular expressions that the raw resources endpoint will use to filter resources. Only resources matching one or more of the provided expressions will be returned.
* `--raw-resource-endpoint-omit-kind-expressions`: (*Default*: `[]`) (V2 Only) A list of resource kind regular expressions that the raw resources endpoint will use to filter resources. Only resources that don't match any of the provided expressions will be returned. This can only be set when --raw-resource-endpoint-kinds is empty or not set
* `--read-permissions`: (*Default*: `[]`) A user must have at least one of these roles in order to view this account's cloud resources.
* `--required-group-membership`: (*Default*: `[]`) A user must be a member of at least one specified group in order to make changes to this account's cloud resources.
* `--service-account`: When true, Spinnaker attempt to authenticate against Kubernetes using a Kubernetes service account. This only works when Halyard & Spinnaker are deployed in Kubernetes. Read more about service accounts here: [https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/).
Expand Down Expand Up @@ -9667,11 +9675,15 @@ hal config provider kubernetes account edit ACCOUNT [parameters]
* `--add-namespace`: Add this namespace to the list of namespaces to manage.
* `--add-omit-kind`: Add this kind to the list of kinds to omit.
* `--add-omit-namespace`: Add this namespace to the list of namespaces to omit.
* `--add-raw-resource-endpoint-kind-expression`: Add this expression to the list of kind expressions for the raw resource endpoint configuration.
* `--add-raw-resource-endpoint-omit-kind-expression`: Add this expression to the list of omit kind expressions for the raw resources endpoint configuration.
* `--add-read-permission`: Add this permission to the list of read permissions.
* `--add-required-group-membership`: Add this group to the list of required group memberships.
* `--add-write-permission`: Add this permission to the list of write permissions.
* `--all-kinds`: (*Default*: `false`) Set the list of kinds to cache and deploy to every kind available to your supplied credentials.
* `--all-namespaces`: (*Default*: `false`) Set the list of namespaces to cache and deploy to every namespace available to your supplied credentials.
* `--cache-all-application-relationships`: If true, will add application relationships in the cache for all types of resources.
This includes CRDs and resources that aren't used in the Clusters, Load Balancers or Firewalls sections.
* `--cache-threads`: Number of caching agents for this kubernetes account. Each agent handles a subset of the namespaces available to this account. By default, only 1 agent caches all kinds for all namespaces in the account.
* `--check-permissions-on-startup`: When false, clouddriver will skip the permission checks for all kubernetes kinds at startup. This can save a great deal of time
during clouddriver startup when you have many kubernetes accounts configured. This disables the log messages at startup about missing permissions.
Expand All @@ -9697,13 +9709,17 @@ This can only be set when --namespaces is empty or not set.
* `--only-spinnaker-managed`: (V2 Only) When true, Spinnaker will only cache/display applications that have been
created by Spinnaker; as opposed to attempting to configure applications for resources already present in Kubernetes.
* `--provider-version`: There are currently two versions of the Kubernetes Provider: V1 and V2. This allows you to pick the version of the provider (not the resources it manages) to run within Spinnaker.V1 is scheduled for removal in Spinnaker 1.21; we recommend using V2 only.
* `--raw-resource-endpoint-kind-expressions`: (*Default*: `[]`) (V2 Only) A list of resource kind regular expressions that the raw resources endpoint will use to filter resources. Only resources matching one or more of the provided expressions will be returned.
* `--raw-resource-endpoint-omit-kind-expressions`: (*Default*: `[]`) (V2 Only) A list of resource kind regular expressions that the raw resources endpoint will use to filter resources. Only resources that don't match any of the provided expressions will be returned. This can only be set when --raw-resource-endpoint-kinds is empty or not set
* `--read-permissions`: A user must have at least one of these roles in order to view this account's cloud resources.
* `--remove-custom-resource`: Remove this Kubernetes custom resource by name from the list of custom resources to manage.
* `--remove-docker-registry`: Remove this docker registry from the list of docker registries to use as a source of images.
* `--remove-kind`: Remove this kind to the list of kinds to manage.
* `--remove-namespace`: Remove this namespace to the list of namespaces to manage.
* `--remove-omit-kind`: Remove this kind to the list of kinds to omit.
* `--remove-omit-namespace`: Remove this namespace to the list of namespaces to omit.
* `--remove-raw-resource-endpoint-kind-expression`: Remove this expression from list of kind expressions for the raw resource endpoint configuration.
* `--remove-raw-resource-endpoint-omit-kind-expression`: Remove this expression from the list of omit kind expressions for the raw resources endpoint configuration.
* `--remove-read-permission`: Remove this permission from the list of read permissions.
* `--remove-required-group-membership`: Remove this group from the list of required group memberships.
* `--remove-write-permission`: Remove this permission to from list of write permissions.
Expand Down
8 changes: 4 additions & 4 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
artifactory_user=
artifactory_password=
clouddriverVersion=5.69.0
clouddriverVersion=5.72.1
fiatVersion=1.26.0
front50Version=2.21.0
korkVersion=7.87.0
korkVersion=7.109.0
front50Version=2.23.0
org.gradle.parallel=true
spinnakerGradleVersion=8.10.0
spinnakerGradleVersion=8.11.0
targetJava11=true

# To enable a composite reference to a project, set the
Expand Down
2 changes: 1 addition & 1 deletion halyard-cli/halyard-cli.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ dependencies {

implementation 'org.springframework.boot:spring-boot'
implementation "com.netflix.spinnaker.fiat:fiat-core:$fiatVersion"
implementation 'com.netflix.spinnaker.kork:kork-secrets'
implementation 'io.spinnaker.kork:kork-secrets'
implementation 'org.apache.commons:commons-lang3'
implementation 'org.apache.commons:commons-text:1.6'
implementation 'ch.qos.logback:logback-classic'
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import com.netflix.spinnaker.halyard.config.model.v1.node.Account;
import com.netflix.spinnaker.halyard.config.model.v1.providers.cloudfoundry.CloudFoundryAccount;
import java.net.URL;
import java.util.Map;
import java.util.Set;

@Parameters(separators = "=")
public class CloudFoundryAddAccountCommand extends AbstractAddAccountCommand {
Expand Down Expand Up @@ -59,6 +61,13 @@ public class CloudFoundryAddAccountCommand extends AbstractAddAccountCommand {
description = CloudFoundryCommandProperties.SKIP_SSL_VALIDATION_DESCRIPTION)
private Boolean skipSslValidation = false;

@Parameter(
names = {"--space-filter", "--spaceFilter"},
required = false,
converter = CloudFoundrySpaceFilterMapConverter.class,
description = CloudFoundryCommandProperties.SPACE_FILTER_DESCRIPTION)
private Map<String, Set<String>> spaceFilter;

@Override
protected Account buildAccount(String accountName) {
CloudFoundryAccount cloudFoundryAccount =
Expand All @@ -69,7 +78,8 @@ protected Account buildAccount(String accountName) {
.setMetricsUrl(metricsUrl)
.setPassword(password)
.setUser(user)
.setSkipSslValidation(skipSslValidation);
.setSkipSslValidation(skipSslValidation)
.setSpaceFilter(spaceFilter);
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,4 +31,6 @@ public class CloudFoundryCommandProperties {
"Password for the account to use on for this CloudFoundry Foundation";
public static final String SKIP_SSL_VALIDATION_DESCRIPTION =
"Skip SSL server certificate validation of the API endpoint";
public static final String SPACE_FILTER_DESCRIPTION =
"Organization and Space filter applied to the Spinnaker CF account";
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,8 @@
import com.netflix.spinnaker.halyard.config.model.v1.node.Account;
import com.netflix.spinnaker.halyard.config.model.v1.providers.cloudfoundry.CloudFoundryAccount;
import java.net.URL;
import java.util.Map;
import java.util.Set;

@Parameters(separators = "=")
public class CloudFoundryEditAccountCommand
Expand Down Expand Up @@ -58,6 +60,13 @@ protected String getProviderName() {
description = CloudFoundryCommandProperties.SKIP_SSL_VALIDATION_DESCRIPTION)
private Boolean skipSslValidation = false;

@Parameter(
names = {"--space-filter", "--spaceFilter"},
required = false,
converter = CloudFoundrySpaceFilterMapConverter.class,
description = CloudFoundryCommandProperties.SPACE_FILTER_DESCRIPTION)
private Map<String, Set<String>> spaceFilter;

@Override
protected Account editAccount(CloudFoundryAccount account) {
account.setApiHost(isSet(apiHost) ? apiHost : account.getApiHost());
Expand All @@ -67,6 +76,7 @@ protected Account editAccount(CloudFoundryAccount account) {
account.setUser(isSet(user) ? user : account.getUser());
account.setSkipSslValidation(
isSet(skipSslValidation) ? skipSslValidation : account.isSkipSslValidation());
account.setSpaceFilter(isSet(spaceFilter) ? spaceFilter : account.getSpaceFilter());

return account;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.netflix.spinnaker.halyard.cli.command.v1.config.providers.cloudfoundry;

import com.beust.jcommander.IStringConverter;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

public class CloudFoundrySpaceFilterMapConverter
implements IStringConverter<Map<String, Set<String>>> {

@Override
public Map<String, Set<String>> convert(String filter) {
Map<String, Set<String>> spaceFilters = new HashMap<>();

String[] s = filter.split(",");
for (String pair : s) {
String[] p = pair.split(":");
if (p.length > 2) {
throw new IllegalArgumentException(
"Syntax must be one of the following: 'Organization1' or 'Organization1:Space1' or 'Organization1:Space1,Organization2:Space2'");
} else if (p.length == 2) {
spaceFilters.computeIfAbsent(p[0], k -> new HashSet<>()).add(p[1]);
} else if (p.length == 1) {
spaceFilters.computeIfAbsent(p[0], k -> new HashSet<>());
}
}
return spaceFilters;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,11 @@ protected String getProviderName() {
description = DockerRegistryCommandProperties.TRACK_DIGESTS_DESCRIPTION)
private Boolean trackDigests = false;

@Parameter(
names = "--repositories-regex",
description = DockerRegistryCommandProperties.REPOSITORIES_REGEX_DESCRIPTION)
private String repositoriesRegex;

@Override
protected Account buildAccount(String accountName) {
DockerRegistryAccount account =
Expand All @@ -125,6 +130,7 @@ protected Account buildAccount(String accountName) {
.setPaginateSize(paginateSize)
.setSortTagsByDate(sortTagsByDate)
.setTrackDigests(trackDigests)
.setRepositoriesRegex(repositoriesRegex)
.setInsecureRegistry(insecureRegistry);

return account;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,4 +67,7 @@ class DockerRegistryCommandProperties {

static final String TRACK_DIGESTS_DESCRIPTION =
"Track digest changes. This is not recommended as it consumes a high QPM, and most registries are flaky.";

static final String REPOSITORIES_REGEX_DESCRIPTION =
"Allows to specify a Regular Expression to filter the repositories.";
}
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,11 @@ protected String getProviderName() {
description = DockerRegistryCommandProperties.TRACK_DIGESTS_DESCRIPTION)
private Boolean trackDigests;

@Parameter(
names = "--repositories-regex",
description = DockerRegistryCommandProperties.REPOSITORIES_REGEX_DESCRIPTION)
private String repositoriesRegex;

@Override
protected Account editAccount(DockerRegistryAccount account) {
account.setAddress(isSet(address) ? address : account.getAddress());
Expand Down Expand Up @@ -161,6 +166,7 @@ protected Account editAccount(DockerRegistryAccount account) {
account.setTrackDigests(isSet(trackDigests) ? trackDigests : account.getTrackDigests());
account.setInsecureRegistry(
isSet(insecureRegistry) ? insecureRegistry : account.getInsecureRegistry());
account.setRepositoriesRegex(repositoriesRegex);

return account;
}
Expand Down
Loading

1 comment on commit ccae06e

@github-actions
Copy link

Choose a reason for hiding this comment

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

⚠️ Security Scan Results ⚠️
Found 2 Critical Vulnerabilities
Found 5 High Vulnerabilities

See scan details for more information.

Please sign in to comment.