Skip to content

Tags: spinnaker/halyard

Tags

v1.67.0

Toggle v1.67.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(dependencies): Autobump front50Version (#2197)

Co-authored-by: root <root@41add256c091>

v1.66.0

Toggle v1.66.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(java17): Upgrade java runtime to JRE17 and compilation using JD…

…K17, but target remains Java11 (#2189)

v1.65.0

Toggle v1.65.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
feat(build): add halyard-integration module to exercise the just-buil…

…t docker image (#2144)

* fix(core): move @Bean methods from GoogleProfileReader so separate config class

to remove circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   versionsController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/VersionsController.class]
      ↓
   versionsService (field com.netflix.spinnaker.halyard.core.registry.v1.ProfileRegistry com.netflix.spinnaker.halyard.config.services.v1.VersionsService.profileRegistry)
      ↓
   profileRegistry (field com.netflix.spinnaker.halyard.core.registry.v1.GoogleProfileReader com.netflix.spinnaker.halyard.core.registry.v1.ProfileRegistry.googleProfileReader)
┌─────┐
|  googleProfileReader (field com.google.api.services.storage.Storage com.netflix.spinnaker.halyard.core.registry.v1.GoogleProfileReader.applicationDefaultGoogleStorage)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(config): remove unused ProviderService variable from EcsAccountValidator

to prevent circular dependency startup error:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class]
      ↓
   haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.validateService)
┌─────┐
|  validateService (field com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection com.netflix.spinnaker.halyard.config.services.v1.ValidateService.validatorCollection)
↑     ↓
|  validatorCollection (field private java.util.List com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection.validators)
↑     ↓
|  ecsAccountValidator (field com.netflix.spinnaker.halyard.config.services.v1.ProviderService com.netflix.spinnaker.halyard.config.validate.v1.providers.ecs.EcsAccountValidator.providerService)
↑     ↓
|  providerService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.ProviderService.validateService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(config): Use @Lazy with ValidatorCollection.validators

to remove circular dependency startup error

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class]
      ↓
   haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.validateService)
┌─────┐
|  validateService (field com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection com.netflix.spinnaker.halyard.config.services.v1.ValidateService.validatorCollection)
↑     ↓
|  validatorCollection (field private java.util.List com.netflix.spinnaker.halyard.config.validate.v1.ValidatorCollection.validators)
↑     ↓
|  ecsAccountValidator (field com.netflix.spinnaker.halyard.config.services.v1.AccountService com.netflix.spinnaker.halyard.config.validate.v1.providers.ecs.EcsAccountValidator.accountService)
↑     ↓
|  accountService (field private com.netflix.spinnaker.halyard.config.services.v1.ProviderService com.netflix.spinnaker.halyard.config.services.v1.AccountService.providerService)
↑     ↓
|  providerService (field private com.netflix.spinnaker.halyard.config.services.v1.ValidateService com.netflix.spinnaker.halyard.config.services.v1.ProviderService.validateService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(config): add @Lazy to DeploymentService.storageService

to fix circular dependency startup error:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   haServiceController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/HaServiceController.class]
      ↓
   haServiceService (field private com.netflix.spinnaker.halyard.config.services.v1.DeploymentService com.netflix.spinnaker.halyard.config.services.v1.HaServiceService.deploymentService)
┌─────┐
|  deploymentService (field private com.netflix.spinnaker.halyard.config.services.v1.PersistentStorageService com.netflix.spinnaker.halyard.config.services.v1.DeploymentService.storageService)
↑     ↓
|  persistentStorageService (field private com.netflix.spinnaker.halyard.config.services.v1.DeploymentService com.netflix.spinnaker.halyard.config.services.v1.PersistentStorageService.deploymentService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(dpeloy): add @Lazy annotation to GoogleIgorService.googleDistributedServiceDelegate

to fix circular dependency startup error:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleIgorService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleIgorService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleRedisBootstrapService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleRedisBootstrapService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRedisBootstrapService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleDeckService.googleDistributedServiceDelegate

to fix circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleDeckService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDeckService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleEchoService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleEchoService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleEchoService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleConsulServerService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleConsulServerService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleConsulServerService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleFront50Service.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleFront50Service (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleFront50Service.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleClouddriverService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleClouddriverService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleOrcaBootstrapService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleOrcaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleOrcaService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleOrcaService.googleDistributedServiceDelegate

to fix circular dependency issue on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleOrcaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleOrcaService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleRoscoService.googleDistributedServiceDelegate

to fix circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleRoscoService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRoscoService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleFiatService.googleDistributedServiceDelegate

to fix circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleFiatService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleFiatService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleClouddriverBootstrapService.googleDistributedServiceDelegate

to fix circular dependency startup error

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleClouddriverBootstrapService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleClouddriverBootstrapService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleRedisService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleRedisService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleRedisService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleGateService.googleDistributedServiceDelegate

to fix circular dependency error at startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleGateService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleGateService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleKayentaService.googleDistributedServiceDelegate

to fix circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
↑     ↓
|  googleKayentaService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleKayentaService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to GoogleVaultServerService.googleDistributedServiceDelegate

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
      ↓
   kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
      ↓
   kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
      ↓
   kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
┌─────┐
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
↑     ↓
|  googleVaultServerService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleVaultServerService.googleDistributedServiceDelegate)
↑     ↓
|  googleDistributedServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleMonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.google.GoogleDistributedServiceDelegate.monitoringDaemonService)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): add @Lazy annotation to KubernetesV2ServiceDelegate.monitoringDaemonService

to fix circular dependency error on startup

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.clouddriverService)
┌─────┐
|  kubernetesV2ClouddriverService (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ClouddriverService.serviceDelegate)
↑     ↓
|  kubernetesV2ServiceDelegate (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2ServiceDelegate.monitoringDaemonService)
↑     ↓
|  kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* fix(deploy): remove unused SpinnakerMonitoringDaemonService.service property

to fix circular dependency error on startup:

***************************
APPLICATION FAILED TO START
***************************

Description:

The dependencies of some of the beans in the application context form a cycle:

   deploymentController defined in URL [jar:file:/opt/halyard/lib/halyard-web.jar!/com/netflix/spinnaker/halyard/controllers/v1/DeploymentController.class]
      ↓
   generateService (field private com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory com.netflix.spinnaker.halyard.deploy.services.v1.GenerateService.serviceProviderFactory)
      ↓
   serviceProviderFactory (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider com.netflix.spinnaker.halyard.deploy.deployment.v1.ServiceProviderFactory.kubectlServiceProvider)
      ↓
   kubectlServiceProvider (field com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubernetesV2MonitoringDaemonService com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.distributed.kubernetes.v2.KubectlServiceProvider.monitoringDaemonService)
┌─────┐
|  kubernetesV2MonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
↑     ↓
|  googleMonitoringDaemonService (field java.util.List com.netflix.spinnaker.halyard.deploy.spinnaker.v1.service.SpinnakerMonitoringDaemonService.services)
└─────┘

Action:

Relying upon circular references is discouraged and they are prohibited by default. Update your application to remove the dependency cycle between beans. As a last resort, it may be possible to break the cycle automatically by setting spring.main.allow-circular-references to true.

* feat(docker): add HEALTHCHECK

to facilitate testing container startup

* feat(build): add halyard-integration module to exercise the just-built docker image

* feat(gha): run integration test in pr builds

multi-arch with --load doesn't work, so add a separate step using the local platform to
make an image available for testing.

see docker/buildx#59

* feat(gha): run integration test in branch builds

* refactor(core): remove unused GoogleProfileReader.createGoogleStorage method

v1.64.0

Toggle v1.64.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(dependencies): Autobump clouddriverVersion (#2142)

Co-authored-by: root <root@266c0c3e0c75>

v1.63.0

Toggle v1.63.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(dependencies): Autobump clouddriverVersion (#2119)

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

v1.62.0

Toggle v1.62.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
fix(java17): add options for java11 image variants (#2086)

v1.61.0

Toggle v1.61.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(dependencies): Autobump spinnakerGradleVersion (#2069)

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

v1.60.0

Toggle v1.60.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
fix(config): import RetrofitConfiguration class (#2068)

to get a okhttp3.logging.HttpLoggingInterceptor$Level bean to fix the

***************************
APPLICATION FAILED TO START
***************************

Description:

Parameter 2 of constructor in com.netflix.spinnaker.config.OkHttp3ClientConfiguration required a bean of type 'okhttp3.logging.HttpLoggingInterceptor$Level' that could not be found.

Action:

Consider defining a bean of type 'okhttp3.logging.HttpLoggingInterceptor$Level' in your configuration.

message on startup.  More specifically, from

$ ./gradlew build halyard-web:installDist
$ docker build -f Dockerfile.slim -t halyard:test-me .
$ docker run --rm halyard:test-me

v1.59.0

Toggle v1.59.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(preview): remove preview feature of version ordering (VERSION_O…

…RDERING_V2) for gradle dependencies (#2061)

With gradle 6.x, used [feature preview API](https://docs.gradle.org/7.6.1/userguide/feature_lifecycle.html#feature_preview) to take advantage of [improvised dependency version ordering](https://docs.gradle.org/6.5/release-notes.html#improved-dependency-version-ordering). This feature is made public for gradle 7.x. So, removing it from settings.gradle as we moved to gradle 7.6.1

v1.58.0

Toggle v1.58.0's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
chore(preview): remove preview feature of version ordering (VERSION_O…

…RDERING_V2) for gradle dependencies (#2061)

With gradle 6.x, used [feature preview API](https://docs.gradle.org/7.6.1/userguide/feature_lifecycle.html#feature_preview) to take advantage of [improvised dependency version ordering](https://docs.gradle.org/6.5/release-notes.html#improved-dependency-version-ordering). This feature is made public for gradle 7.x. So, removing it from settings.gradle as we moved to gradle 7.6.1