profile
viewpoint
Spencer Gibb spencergibb VMWare Ann Arbor, MI https://gibb.tech Engineer at VMWare working on @spring-cloud. Former Pivotal

micrometer-metrics/micrometer 2355

An application metrics facade for the most popular monitoring tools. Think SLF4J, but for metrics.

joshlong/cloud-native-workshop 656

win w/ Spring Boot, Spring Cloud and Cloud Foundry

spencergibb/battleschool 416

Development environment provisioning using ansible, ala boxen -> puppet, kitchenplan -> chef

spencergibb/ansible-osx 81

A battleschool ansible repository for osx

pivotal/credhub-release 31

BOSH release of CredHub server

dsyer/presos 10

Presentations for conferences and user groups etc.

rsocket-routing/rsocket-routing 9

RSocket Routing Specification

spencergibb/cloud-native-workshop 4

win w/ Spring Boot, Spring Cloud and Cloud Foundry

issue closedspring-cloud/spring-cloud-config

Config Client - no event generated on config change

When we commit new config change to Config Service, it automatically and successfully fetches the change:

12:24:48 {"log": "2020-05-13 12:24:43.168  INFO 1 --- [nio-8888-exec-3] .c.s.e.MultipleJGitEnvironmentRepository : Fetched for remote master and found 1 updates\n",

Then any service which started with Config Service awareness automatically fetch config every 5 minutes as I see from logs:

12:22:37 {"log":"2020-05-13 12:22:37.748 INFO 1 --- [ main] c.v.s.a.c.e.EnvironmentChangeListener : Event: org.springframework.boot.context.event.ApplicationStartedEvent
12:22:42 {"log":"2020-05-13 12:22:37.750 INFO 1 --- [ main] c.v.s.a.c.e.EnvironmentChangeListener : Event: org.springframework.boot.context.event.ApplicationReadyEvent
12:22:42 {"log":"2020-05-13 12:22:42.155 INFO 1 --- [oundedElastic-2] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://<hidden>"
12:23:22 {"log":"2020-05-13 12:22:42.552 INFO 1 --- [oundedElastic-2] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=api-gateway, profiles=[qa54-docker]
12:27:47 {"log":"2020-05-13 12:27:46.817 INFO 1 --- [oundedElastic-6] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://<hidden>"
12:27:52 {"log":"2020-05-13 12:27:47.227 INFO 1 --- [oundedElastic-6] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=api-gateway, profiles=[qa54-docker]

However, after the config change and successful fetch, routes are not refreshed automatically, I decided to manually subscribe to EnvironmentChangeEvent and manually fire off new RefreshRoutesEvent(this) event to refresh routes, but EnvironmentChangeEvent was never fired, so for test purpose, I just start logging all events which happens

I'm printing all events happening in the application:

@Override
public void onApplicationEvent(ApplicationEvent event) {
    log.info("Event: " + event.toString());
}

As you can see from logs above the timeline is:

  1. Config Service: already running, no changes //starting API Gateway service
  2. API Gateway: 12:22:42 - sends ApplicationReadyEvent //initial scheduled config fetch, no changes expected
  3. API Gateway: 12:22:42 - Fetching config from server
  4. API Gateway: 12:23:22 - Located environment //Pushing changes to git for Config Service
  5. Config Service: 12:24:48 - Fetched for remote master and found 1 updates // after 5 min since past fetch, fetching again, expecting changes here!!!
  6. API Gateway: 12:27:47 - Fetching config from server
  7. API Gateway: 12:23:22 - Located environment //nothing?

Any hints? what am I doing wrong? How to make API Gateway automatically refresh routes if scheduled config fetch from Config Service contains changes?

Technical info: Spring Boot 2.2.5.RELEASE springCloudVersion "Hoxton.SR3" (both Config Service and API Gateway)

API Gateway bootstrap.yaml Part 1 - bundled with artefact:

spring:
  application:
    name: api-gateway
  profiles:
    active: qa54-docker
---
spring:
  profiles: dev-docker | qa54-docker | prod250-docker
  cloud:
    config:
      fail-fast: true
      #     defined as Docker ENV
      uri: ${CONFIG_SERVICE_URL}

Part 2 - resolved by config service from GIT

---
spring:
  profiles: qa54-docker
  cloud:
    gateway:
      routes:
        - id: notification
          uri: http://<sensative_skipped>
          predicates:
            - Path=/notification/**
          filters:
            - RewritePath=/notification(?<path>.*), /$\{path}
cloud:
  aws:
    stack:
      auto: false
    region:
      auto: true
    credentials:
      instance-profile: true
// Custom Actuator Info Contributer
actuator:
  info:
    docker-tag: ${DOCKER_TAG}
    branch: ${GIT_BRANCH}
    commit-hash: ${COMMIT_HASH}
    env-name: ${ENV_NAME}
    env-space: ${ENV_SPACE}
server:
  port: ${SERVICE_PORT}
---

Config Service - Bootstrap.yaml

spring:
  application:
    name: config-service
  profiles:
    active: qa54-docker
---
spring:
  profiles: qa54-docker
  cloud:
    config:
      server:
        git:
          uri: <sensative_skipped>
          aws-ssm-path: ${SSM_PATH_GIT_PRIVKEY}
      fail-fast: true
  security:
    aws-ssm-base-path: ${SSM_BASE_PATH}
    aws-regex-pattern: <<(.*?)>>
server:
  port: ${SERVICE_PORT}
cloud:
  aws:
    stack:
      auto: false
    credentials:
      instance-profile: true
// Custom Actuator Info Contributer
actuator:
  info:
    docker-tag: ${DOCKER_TAG}
    branch: ${GIT_BRANCH}
    commit-hash: ${COMMIT_HASH}
    env-name: ${ENV_NAME}
    env-space: ${ENV_SPACE}
---

closed time in 6 minutes

Bryksin
IssuesEvent

issue closedspring-cloud/spring-cloud-config

Config Client - no event generated on config change

When we commit new config change to Config Service, it automatically and successfully fetches the change:

12:24:48 {"log": "2020-05-13 12:24:43.168  INFO 1 --- [nio-8888-exec-3] .c.s.e.MultipleJGitEnvironmentRepository : Fetched for remote master and found 1 updates\n",

Then any service which started with Config Service awareness automatically fetch config every 5 minutes as I see from logs:

12:22:37 {"log":"2020-05-13 12:22:37.748 INFO 1 --- [ main] c.v.s.a.c.e.EnvironmentChangeListener : Event: org.springframework.boot.context.event.ApplicationStartedEvent
12:22:42 {"log":"2020-05-13 12:22:37.750 INFO 1 --- [ main] c.v.s.a.c.e.EnvironmentChangeListener : Event: org.springframework.boot.context.event.ApplicationReadyEvent
12:22:42 {"log":"2020-05-13 12:22:42.155 INFO 1 --- [oundedElastic-2] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://<hidden>"
12:23:22 {"log":"2020-05-13 12:22:42.552 INFO 1 --- [oundedElastic-2] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=api-gateway, profiles=[qa54-docker]
12:27:47 {"log":"2020-05-13 12:27:46.817 INFO 1 --- [oundedElastic-6] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://<hidden>"
12:27:52 {"log":"2020-05-13 12:27:47.227 INFO 1 --- [oundedElastic-6] c.c.c.ConfigServicePropertySourceLocator : Located environment: name=api-gateway, profiles=[qa54-docker]

However, after the config change and successful fetch, routes are not refreshed automatically, I decided to manually subscribe to EnvironmentChangeEvent and manually fire off new RefreshRoutesEvent(this) event to refresh routes, but EnvironmentChangeEvent was never fired, so for test purpose, I just start logging all events which happens

I'm printing all events happening in the application:

@Override
public void onApplicationEvent(ApplicationEvent event) {
    log.info("Event: " + event.toString());
}

As you can see from logs above the timeline is:

  1. Config Service: already running, no changes //starting API Gateway service
  2. API Gateway: 12:22:42 - sends ApplicationReadyEvent //initial scheduled config fetch, no changes expected
  3. API Gateway: 12:22:42 - Fetching config from server
  4. API Gateway: 12:23:22 - Located environment //Pushing changes to git for Config Service
  5. Config Service: 12:24:48 - Fetched for remote master and found 1 updates // after 5 min since past fetch, fetching again, expecting changes here!!!
  6. API Gateway: 12:27:47 - Fetching config from server
  7. API Gateway: 12:23:22 - Located environment //nothing?

Any hints? what am I doing wrong? How to make API Gateway automatically refresh routes if scheduled config fetch from Config Service contains changes?

Technical info: Spring Boot 2.2.5.RELEASE springCloudVersion "Hoxton.SR3" (both Config Service and API Gateway)

API Gateway bootstrap.yaml Part 1 - bundled with artefact:

spring:
  application:
    name: api-gateway
  profiles:
    active: qa54-docker
---
spring:
  profiles: dev-docker | qa54-docker | prod250-docker
  cloud:
    config:
      fail-fast: true
      #     defined as Docker ENV
      uri: ${CONFIG_SERVICE_URL}

Part 2 - resolved by config service from GIT

---
spring:
  profiles: qa54-docker
  cloud:
    gateway:
      routes:
        - id: notification
          uri: http://<sensative_skipped>
          predicates:
            - Path=/notification/**
          filters:
            - RewritePath=/notification(?<path>.*), /$\{path}
cloud:
  aws:
    stack:
      auto: false
    region:
      auto: true
    credentials:
      instance-profile: true
// Custom Actuator Info Contributer
actuator:
  info:
    docker-tag: ${DOCKER_TAG}
    branch: ${GIT_BRANCH}
    commit-hash: ${COMMIT_HASH}
    env-name: ${ENV_NAME}
    env-space: ${ENV_SPACE}
server:
  port: ${SERVICE_PORT}
---

Config Service - Bootstrap.yaml

spring:
  application:
    name: config-service
  profiles:
    active: qa54-docker
---
spring:
  profiles: qa54-docker
  cloud:
    config:
      server:
        git:
          uri: <sensative_skipped>
          aws-ssm-path: ${SSM_PATH_GIT_PRIVKEY}
      fail-fast: true
  security:
    aws-ssm-base-path: ${SSM_BASE_PATH}
    aws-regex-pattern: <<(.*?)>>
server:
  port: ${SERVICE_PORT}
cloud:
  aws:
    stack:
      auto: false
    credentials:
      instance-profile: true
// Custom Actuator Info Contributer
actuator:
  info:
    docker-tag: ${DOCKER_TAG}
    branch: ${GIT_BRANCH}
    commit-hash: ${COMMIT_HASH}
    env-name: ${ENV_NAME}
    env-space: ${ENV_SPACE}
---

closed time in 6 minutes

Bryksin

issue commentspring-cloud/spring-cloud-config

Config Client - no event generated on config change

Yes, you would need the latter one.

Bryksin

comment created time in 7 minutes

issue commentspring-projects/spring-cloud

I have been getting bad request errors (400) error by using spring cloud hoxton.release with spring boot 2.2.4 release.

Which project? You haven't said WHICH part of spring cloud you are using.

gkkishan

comment created time in 9 minutes

pull request commentspring-cloud/spring-cloud-commons

Gh 760 fix after review

Also @bsideup since he gave advice in this area originally

OlgaMaciaszek

comment created time in 16 hours

issue commentspring-cloud/spring-cloud-netflix

DiscoveryClient_ALBUMS-WS/albums-ws:5a9072f916d6c522663e6e388117cf9e - registration failed Cannot execute request on any known server

you have spring security on eureka and no username and password on the client.

Majik0327

comment created time in 17 hours

issue commentspring-cloud/spring-cloud-netflix

DiscoveryClient_ALBUMS-WS/albums-ws:5a9072f916d6c522663e6e388117cf9e - registration failed Cannot execute request on any known server

your properties give no indication why this would be happening.

Can you provide a complete, minimal, verifiable sample that reproduces the problem? It should be available as a GitHub (or similar) project or attached to this issue as a zip file.

Majik0327

comment created time in 18 hours

issue commentspring-cloud/spring-cloud-gateway

ERROR: Multipart file upload not working with spring cloud gateway (Greenwich.RELEASE) with version 2.2.0

Please do not use screenshots. Also Greenwich is not compatible with boot 2.2.x. Please try again with Hoxton.SR4.

razamushahid

comment created time in 18 hours

issue commentspring-cloud/spring-cloud-aws

AWS SDK version upgrade request

Updating to the latest 1.x doesn't have to happen on a major. PRs welcome

internetstaff

comment created time in 21 hours

push eventspring-cloud/spring-cloud-consul

spencergibb

commit sha 57d0a315176499e5e08ee0accf28f39da6fc54ca

Temporarily ignore tests

view details

push time in a day

issue commentspring-cloud/spring-cloud-netflix

use hystrix with webflux, circuitbreaker cant switch true to false

I guess I'm not sure what should go there.

twogoods

comment created time in a day

IssuesEvent

issue commentspring-cloud/spring-cloud-bus

Pushing config updates to client using ActiveMQ(on AmazonMQ) and Spring cloud Config

The active mq binder is a question for spring cloud stream, not bus

madkt12

comment created time in 2 days

issue commentspring-projects-experimental/spring-graalvm-native

MissingTypeException FeignAutoConfiguration

There has been no work done for any spring-cloud project and spring-graalvm-native

gabac

comment created time in 2 days

issue commentspring-projects/spring-boot

Deserialization-exception-handler: sendtodlq not working with Spring Boot 2.3.0.RELEASE

There hasn't been a compatible release yet. Likely early this week

Elvendir94

comment created time in 2 days

issue closedspring-cloud/spring-cloud-netflix

use hystrix with webflux, circuitbreaker cant switch true to false

Describe the bug spring-cloud-netflix 2.2.2.RELEASE springboot 2.2.7.RELEASE

Sample

public class CommonService {
    public Mono<String> cal(String name) {
        if ("error".equals(name)) {
            return Mono.error(new RuntimeException("get error"));
        } else {
            return Mono.just("cal for " + name);
        }
    }
}


 @GetMapping("/breaker")
public Mono<String> breaker(String name) {
    return HystrixCommands.from(commonService.cal(name))
             .commandName("test")
             .groupName("default")
             .toMono();
}

call /breaker?name="error" several times breaker will be open,then call /breaker?name="ok" in half-open status the call is success and next call still return Hystrix circuit short-circuited and is OPEN

HystrixCommands use PublisherHystrixCommand, function commandIsScalar()return false ,in com.netflix.hystrix.AbstractCommand.executeCommandAndObserve()will not call circuitBreaker.markSuccess(). circuitbreaker can't switch true to false seems to be caused by this. Its a bug or my useage is wrong?

closed time in 2 days

twogoods

issue commentspring-cloud/spring-cloud-netflix

use hystrix with webflux, circuitbreaker cant switch true to false

Those are in the upstream hystrix project.

twogoods

comment created time in 2 days

issue commentspring-projects/spring-boot

No hibernate validator in 2.3.0

https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.3-Release-Notes#validation-starter-no-longer-included-in-web-starters

feiquan666

comment created time in 2 days

issue closedspring-cloud/spring-cloud-consul

Bulk upload key-value props under a prefix

Is your feature request related to a problem? Please describe. Today the conventional consul http PUT endpoint takes a single value and upload it against a key. It would be nice to have a bulk upload API.

Describe the solution you'd like To give you an example, I am looking something like below: Here is my config file, tmp.props :

[
   {
     "key": "thread/pool/size",
     "value": "20"
   },
   {
     "key": "thread/pool/name",
     "value": "core_pool"
   },
   {
     "key": "thread/pool/group",
     "value": "group_1"
   }
]

The below command should create the the new keys underneath the prefix "ecm". curl -X PUT http://localhost:8500/v1/kv/ecm --data-binary @./tmp.props

However, today it is storing the complete file as a blob. Which is fine as it serves my other use case, where I want my (json) file to be stored as a blob. However, for files in above format (simple key-value pair), it would be nice to provide an option, so that instead of storing the entire file content as a blob, it can actually create complete key hierarchy.

Something like: curl -X PUT http://localhost:8500/v1/kv/ecm?recurse --data-binary @./tmp.props

closed time in 3 days

sudiptasish

issue commentspring-cloud/spring-cloud-consul

Bulk upload key-value props under a prefix

This is not the right repo for the consul api

sudiptasish

comment created time in 3 days

issue closedspring-cloud/spring-cloud-security

Deprecate spring-cloud-starter-oauth2 and spring-cloud-starter-security

They should no longer exist in ilford. See #231

This should log a warning if starters are used.

closed time in 5 days

spencergibb

issue commentspring-cloud/spring-cloud-security

Deprecate spring-cloud-starter-oauth2 and spring-cloud-starter-security

Closed via 621321e0bff70089272b454dd9f7dee5a6e09c16

spencergibb

comment created time in 5 days

issue commentspring-cloud/spring-cloud-gateway

Pattern for having Filter/Interceptor for Spring Cloud Gateway

Since gateway is a webflux application, then yes, that is correct.

gituserjava

comment created time in 5 days

push eventspring-cloud/spring-cloud-consul

spencergibb

commit sha 032ecbc48ab8f76563bce880ebf226dda19c9f3a

Updates tests to check the cause

view details

spencergibb

commit sha 7944de7c68611987aa7698e6f369fb5d0260e4dd

ignores .sdkmanrc

view details

spencergibb

commit sha e70cc1e82fe8e43fdd2c87547a89a3ea0a3a5b46

Deprecates joda time usage Fixes gh-612

view details

spencergibb

commit sha 21b5f9040263f5e80dd1a6eb27c75b8afeb2ee21

Merge branch '2.2.x'

view details

spencergibb

commit sha dcb083f3a8cdfa70117dc5b60922913967cf2845

Removes unused package

view details

push time in 5 days

issue closedspring-cloud/spring-cloud-consul

Deprecate joda-time

See #301

closed time in 5 days

spencergibb

issue commentspring-cloud/spring-cloud-gateway

Pattern for having Filter/Interceptor for Spring Cloud Gateway

You can use the doOnError*() methods from project reactor.

gituserjava

comment created time in 5 days

push eventspring-cloud/spring-cloud-consul

spencergibb

commit sha 032ecbc48ab8f76563bce880ebf226dda19c9f3a

Updates tests to check the cause

view details

spencergibb

commit sha 7944de7c68611987aa7698e6f369fb5d0260e4dd

ignores .sdkmanrc

view details

spencergibb

commit sha e70cc1e82fe8e43fdd2c87547a89a3ea0a3a5b46

Deprecates joda time usage Fixes gh-612

view details

push time in 5 days

push eventspring-cloud/spring-cloud-gateway

spencergibb

commit sha 58d1a1a25143f1fd50c8885c085fc32395a7a195

Reignores test failing in ci see gh-1676

view details

push time in 5 days

IssuesEvent

issue commentspring-cloud/spring-cloud-sleuth

spring-cloud-sleuth and reactor

Can you retry with the latest supported sleuth Hoxton.SR4 (2.2.2) and boot 2.2.7?

dchack

comment created time in 5 days

PR closed spring-cloud/spring-cloud-commons

Add ConditionalOnMissingBean to SimpleDiscoveryProperties. in progress

The makes SimpleDiscoveryClientAutoConfiguration less invasive.

Fixes spring-cloud/spring-cloud-commons#759

+2 -0

3 comments

1 changed file

shollander

pr closed time in 5 days

push eventspring-cloud/spring-cloud-commons

shollander

commit sha b828877611539623048dfbddf4e403eadcf80abb

Adds ConditionalOnMissingBean to SimpleDiscoveryProperties. Fixes gh-759 Fixes gh-762

view details

spencergibb

commit sha 2e6e619ed662e3cd739abbd2484f16fcb84396d8

Merge branch '2.2.x'

view details

push time in 5 days

issue closedspring-cloud/spring-cloud-commons

Add @ConditionalOnMissingBean to SimpleDiscoveryProperties

According to the Spring Boot documentation, all auto configuration classes are supposed to be non-invasive. That is to say they back off in the presence of existing beans using @ConditionalOnMissingBean and the like. SimpleDiscoveryClientAutoConfiguration does not follow these requirements.

closed time in 5 days

shollander

push eventspring-cloud/spring-cloud-commons

shollander

commit sha b828877611539623048dfbddf4e403eadcf80abb

Adds ConditionalOnMissingBean to SimpleDiscoveryProperties. Fixes gh-759 Fixes gh-762

view details

push time in 5 days

issue closedspring-cloud/spring-cloud-gateway

fallback sometimes cause `java.lang.IllegalStateException: Only one connection receive subscriber allowed.` exception

SpringCloud Hoxton.SR4 SpringBoot 2.3.0 Release Java version 1.8.0_181 OS: MacOS 10.14.6

Using resilience4j circuit breaker with fallback uri to an external service, sometimes got exception(maybe 5~6 times), no problem with controller in gateway itself. for example

spring:
  application:
    name: api-gateway
  cloud:
    gateway:
      routes:
        - id: timeout_fallback
          uri: http://localhost:4001
          predicates:
            - Path=/fallback
        - id: circuitbreaker_route
          uri: http://localhost:4001
          predicates:
            - Path=/timeout
          filters:
            - name: CircuitBreaker
              args:
                name: c1
                fallbackUri: forward:/fallback

here's the error stacktrace

java.lang.IllegalStateException: Only one connection receive subscriber allowed.
	at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:304) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE]
	at reactor.netty.channel.FluxReceive.lambda$subscribe$2(FluxReceive.java:139) [reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
	at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]

2020-05-22 17:23:57.445 ERROR 8420 --- [ctor-http-nio-3] a.w.r.e.AbstractErrorWebExceptionHandler : [cf015a5a-8]  500 Server Error for HTTP GET "/timeout"

java.lang.IllegalStateException: Only one connection receive subscriber allowed.
	at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:304) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE]
	Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: 
Error has been observed at the following site(s):
	|_ checkpoint ⇢ org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter [DefaultWebFilterChain]
	|_ checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
	|_ checkpoint ⇢ HTTP GET "/timeout" [ExceptionHandlingWebHandler]
Stack trace:
		at reactor.netty.channel.FluxReceive.startReceiver(FluxReceive.java:304) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE]
		at reactor.netty.channel.FluxReceive.lambda$subscribe$2(FluxReceive.java:139) ~[reactor-netty-0.9.7.RELEASE.jar:0.9.7.RELEASE]
		at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
		at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
		at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[netty-transport-4.1.49.Final.jar:4.1.49.Final]
		at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
		at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
		at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[netty-common-4.1.49.Final.jar:4.1.49.Final]
		at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_181]

Sample a simple example to reproduce this problem https://github.com/eatgrass/gateway-fallback

closed time in 5 days

eatgrass

issue commentspring-cloud/spring-cloud-gateway

fallback sometimes cause `java.lang.IllegalStateException: Only one connection receive subscriber allowed.` exception

Duplicates #1675 fixed by 7ee19ffe800aef9b368ec123702385b9f452c845

eatgrass

comment created time in 5 days

issue commentspring-cloud/spring-cloud-netflix

Registering a service with 2 local Eureka Server instances with Java 9.0.4/Spring v2.0.0 fails

@RADHAPANDIKUNTA please open a new issue and provide a complete, minimal, verifiable sample that reproduces the problem. It should be available as a GitHub (or similar) project or attached to the issue as a zip file.

jclevine

comment created time in 5 days

issue closedspring-cloud/spring-cloud-netflix

Zuul is not forwarding request to Akana APIs.

Question:

Hi,

I have implemeted a simple zuul service where I am forwarding the incoming requests to their corresponding Akana APIS. I have configured the routes properly, but I always receive 500 Internal server error response, also there are no errors received on zuul.

However, I explicitly created a rest call from zuul to akana and that works perfectly. Only when zuul routes the request, it fails. Routes to other servers are working fine too.

Is there anything zuul is doing internally to block these calls to Akana?

closed time in 5 days

priyanka010392

issue commentspring-cloud/spring-cloud-gateway

Sometimes get null Certificates from ServerWebExchange when leverage client certificate authentication

My guess is this is reactor netty since gateway doesn't do anything specific there.

Incarnation-p-lee

comment created time in 5 days

issue commentspring-cloud/spring-cloud-gateway

Sometimes get null Certificates from ServerWebExchange when leverage client certificate authentication

Do you get these problems with the latest supported versions? Boot 2.2.7 and hoxton.sr4?

Incarnation-p-lee

comment created time in 5 days

issue commentspring-cloud/spring-cloud-config

No documentation for ResourceController endpoints?

https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.2.2.RELEASE/reference/html/#_quick_start

marnee01

comment created time in 6 days

push eventspring-cloud/spring-cloud-commons

Spencer Gibb

commit sha a10fbb9b078e0f77cfa48d76e811a20ffd389353

Renames ServiceInstanceListSuppliers to ServiceInstanceListSupplierBuilder (#761) Puts static builder() method on ServiceInstanceListSupplier. Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).

view details

spencergibb

commit sha 26dae55042192c82765d90fe4ea56f2208604f66

Adds support for non-enumerable property sources in bootstrap. Fixes gh-724

view details

Spencer Gibb

commit sha 83bb54bafde2901d39ec01b7dee5dfbb2cb3fddb

Renames ServiceInstanceListSuppliers to ServiceInstanceListSupplierBuilder (#761) Puts static builder() method on ServiceInstanceListSupplier. Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).

view details

spencergibb

commit sha 1995f3cbc32d0f8afb3f93402b4032b45505d6e7

Merge branch '2.2.x'

view details

push time in 6 days

issue closedspring-cloud/spring-cloud-commons

Cannot use a non-enumerable PropertySource as a Bootstrap PropertySource

Hello!

Our project is currently trying to register a custom bootstrap property source that will load properties into our application environment at the bootstrap phase. This has worked great for us.

However, we've recently been trying to register a non-enumerable property source but keep receiving the following error; I believe there is an issue that makes it not possible to register non-enumerable property sources as bootstrap properties.

Sample Reproduction is here: https://github.com/dzou/non-enumerable-prop-source-ex

Error message:

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

Description:

Failed to bind properties under 'spring.cloud.config' to org.springframework.cloud.bootstrap.config.PropertySourceBootstrapProperties:

    Property: spring.cloud.config
    Value: constant-property
    Origin: "spring.cloud.config" from property source "bootstrapProperties-My-Custom-Bootstrap-Property-Source"
    Reason: Failed to enumerate property names due to non-enumerable property source: CustomPropertySource {name='My-Custom-Bootstrap-Property-Source'}

Action:

Update your application's configuration

I traced the issue through the code, I think I know where the source of the issue is.

Basically there are a few interactions:

  1. All Bootstrap property sources are initialized and then wrapped in the BootstrapPropertySource class in this line.

  2. The BootstrapPropertySource class extends from EnumerablePropertySource.

  3. Then, when all the property sources are checked for whether they are enumerable or not, the framework believes it is enumerable because later the code checks for whether the property source is instance of EnumerablePropertySource.

    This is not quite right because in the case of the BootstrapPropertySource it should instead check if the delegate is instanceof EnumerablePropertySource instead of the property source itself.

Let me know your thoughts on this! We were excited to discover bootstrap properties and very excited to see if it can work for non-enumerable property sources.

cc/ @elefeint @dmitry-s @meltsufin

closed time in 6 days

dzou

pull request commentspring-cloud/spring-cloud-commons

Add ConditionalOnMissingBean to SimpleDiscoveryProperties.

waiting for cla signing.

shollander

comment created time in 6 days

push eventspring-cloud/spring-cloud-commons

spencergibb

commit sha 26dae55042192c82765d90fe4ea56f2208604f66

Adds support for non-enumerable property sources in bootstrap. Fixes gh-724

view details

push time in 6 days

push eventspring-cloud/spring-cloud-build

Olga Maciaszek-Sharma

commit sha d30799cf5c027015ed733a265b94800e6c964313

Upgrade groovy.version to 2.5.10.

view details

spencergibb

commit sha 0911190f3f4d01b396dcce41519bfad14ce83b35

Bumps boot to version to 2.3.0.RELEASE

view details

spencergibb

commit sha 9bdff877fde8db04928201501f64e8229d79799e

Ignores .sdkmanrc

view details

spencergibb

commit sha fb2e92be6be6174c6f493cb070cd36cba3ab7c9d

Adds section about activating spring maven profile in IDE. Fixes gh-159

view details

spencergibb

commit sha 501a33c65a8f23737a7fc5021443e6f5270760c5

Merge branch '2.3.x'

view details

push time in 6 days

issue closedspring-cloud/spring-cloud-build

Document enabling of spring profile when opening project

When opening one of the Spring Cloud projects in an IDE, not all dependencies will be found. The IDE will complain until you figure out to enable the spring Maven profile. We should document to enable the spring profile when developing on Spring Cloud.

closed time in 6 days

Turbots

push eventspring-cloud/spring-cloud-build

spencergibb

commit sha fb2e92be6be6174c6f493cb070cd36cba3ab7c9d

Adds section about activating spring maven profile in IDE. Fixes gh-159

view details

push time in 6 days

push eventspring-cloud/spring-cloud-gateway

spencergibb

commit sha f1fb512ea197b7ab865349346e59b5a480f458f7

Migrates test to assertJ Fixes gh-1676

view details

push time in 6 days

issue closedspring-cloud/spring-cloud-gateway

RouteConstructionIntegrationTests fails on CI

RouteConstructionIntegrationTests.routesWithVerificationShouldFail:33 java.lang.AssertionError: Stop right now!: expected java.lang.Throwable to be thrown, but nothing was thrown

closed time in 6 days

spencergibb

issue commentspring-projects/spring-boot

factory already defined?

FWIW we see this in spring cloud too. We have this workaround scattered around a few places.

// FIXME: why do I need to do this? (fails in maven build without it.
TomcatURLStreamHandlerFactory.disable();

https://github.com/spring-cloud/spring-cloud-netflix/blob/aee83fb1132f33ae4bb798536c6e0cabf368c880/spring-cloud-netflix-eureka-client/src/test/java/org/springframework/cloud/netflix/eureka/config/EurekaConfigServerBootstrapConfigurationTests.java#L90-L91

Captain-P-Goldfish

comment created time in 6 days

delete branch spring-cloud/spring-cloud-commons

delete branch : rename-service-instance-list-providers

delete time in 6 days

push eventspring-cloud/spring-cloud-commons

Spencer Gibb

commit sha a10fbb9b078e0f77cfa48d76e811a20ffd389353

Renames ServiceInstanceListSuppliers to ServiceInstanceListSupplierBuilder (#761) Puts static builder() method on ServiceInstanceListSupplier. Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).

view details

push time in 6 days

PR merged spring-cloud/spring-cloud-commons

Renames ServiceInstanceListSuppliers to ServiceInstanceListSupplierBu… task

…ilder

Puts static builder() method on ServiceInstanceListSupplier.

Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).

+297 -272

0 comment

7 changed files

spencergibb

pr closed time in 6 days

push eventspring-cloud/spring-cloud-gateway

spencergibb

commit sha a3c0dec92e4c2e006788a59f3c61bc4af62ef1cf

formatting

view details

spencergibb

commit sha b5e2ec5944d6821e7bb58e6d648183cfba49cdaf

Adds message to timeout for resilience4j circuite breaker timeout. Fixes gh-1729

view details

spencergibb

commit sha 158ce3d8440f8a81f1e3dd31e175ed895f2f3855

Merge branch '2.2.x'

view details

push time in 6 days

issue closedspring-cloud/spring-cloud-gateway

It would be helpful if the error contained the configured timeout value using Resilience4J circuit breaker

https://github.com/spring-cloud/spring-cloud-gateway/blob/f973d10e29bf16cd877290f6deb1865a0ce06916/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/TimeoutException.java#L24

closed time in 6 days

cer

push eventspring-cloud/spring-cloud-gateway

spencergibb

commit sha a3c0dec92e4c2e006788a59f3c61bc4af62ef1cf

formatting

view details

spencergibb

commit sha b5e2ec5944d6821e7bb58e6d648183cfba49cdaf

Adds message to timeout for resilience4j circuite breaker timeout. Fixes gh-1729

view details

push time in 6 days

issue commentspring-cloud/spring-cloud-commons

HealthCheck causes calls to hang

ok, so what is cached may need to be adjusted.

OlgaMaciaszek

comment created time in 6 days

issue commentspring-cloud/spring-cloud-commons

HealthCheck causes calls to hang

The point of CachingServiceInstanceListSupplier is caching.

OlgaMaciaszek

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

Have the ability to hide @RequestMapping endpoints that are meant to be used by forward scheme

I'm not yet. There wouldn't be an auth server. This is strictly to protect a @RequestMapping to be requested from anywhere but a local forward. It may be better to chat than a long thread.

aosorio1

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

It would be helpful if the error contained the configured timeout value.

ah, that's the other place where there is a TimeoutException without a message. I'll see if that can be propagated or not.

cer

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

Have the ability to hide @RequestMapping endpoints that are meant to be used by forward scheme

I think that is what is missing. There won't necessarily be an existing token. We would need to generate one before forwarding and then verifying on the other side.

aosorio1

comment created time in 6 days

PR opened spring-cloud/spring-cloud-commons

Reviewers
Renames ServiceInstanceListSuppliers to ServiceInstanceListSupplierBu… task

…ilder

Puts static builder() method on ServiceInstanceListSupplier.

Deprecates ServiceInstanceListSupplier.fixed(Environment) and replaces with fixed(serviceId).

+297 -272

0 comment

7 changed files

pr created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

Have the ability to hide @RequestMapping endpoints that are meant to be used by forward scheme

@rwinch sorry I wasn't clear. We already have support for forwarding. I was asking about creating a token that can be validated later. Then configuring spring security to validate the token.

aosorio1

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

It would be helpful if the error contained the configured timeout value.

https://github.com/spring-cloud/spring-cloud-gateway/blob/2.2.x/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/NettyRoutingFilterIntegrationTests.java#L60

What is your configuration and what are you doing specifically to see that exception message without the times?

cer

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

Have the ability to hide @RequestMapping endpoints that are meant to be used by forward scheme

I suspect something like this is possible with spring security. We'd need to set some kind of token in the ForwardRoutingFilter and then setup spring security to secure the internal only mappings to require a valid token. @rwinch, @jgrandja or @jzheaux does something like this exist in spring security already?

aosorio1

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

It would be helpful if the error contained the configured timeout value.

We do have tests that check the message includes the timeout. What version are you using where you aren't seeing it?

In boot 2.3.x you need to set the followoing to see the message

server.error.include-message: always
cer

comment created time in 6 days

push eventspring-cloud/spring-cloud-gateway

spencergibb

commit sha d7af241779efd295fa59e178e6fda4ac1a371c4f

formatting

view details

spencergibb

commit sha 940d69cafb9ce1ed1b0b3d847f4cc112bfe41900

Updates to use new ServiceInstanceListSuppliers

view details

push time in 6 days

issue closedspring-cloud/spring-cloud-gateway

Supporting Graceful Shutdown

Question/Enhancement

When running in a cloud environment, where containers come and go, it's important that in flight requests are not terminated abruptly but rather given time to finish when the container is shutdown. The container platform usually supports this by sending a SIGTERM first, then waiting sometime before finally sending a SIGKILL if necessary. For example see: https://kubernetes.io/docs/concepts/workloads/pods/pod/#termination-of-pods

I don't believe Spring Cloud Gateway (netty) handles SIGTERM at all. The question then is how can we support this on Spring Cloud Gateway. The concept has been discussed here: https://github.com/spring-projects/spring-boot/issues/4657. The thread basically says it not supported generically by Spring Boot, but left to each container to handle. The sample supplied there for Netty doesn't work. @violetagg Maybe you have some ideas how we can support this?

closed time in 6 days

tony-clarke-amdocs

issue commentspring-cloud/spring-cloud-gateway

Supporting Graceful Shutdown

This is now supported by spring boot 2.3.0

tony-clarke-amdocs

comment created time in 6 days

issue commentspring-cloud/spring-cloud-commons

SimpleDiscoveryClientAutoConfiguration does not adhere to auto configuration rules

What limitations? You should probably use a EnvironmentPostProcessor.

shollander

comment created time in 6 days

issue commentspring-cloud/spring-cloud-gateway

The RateLimiter depend on redis, when redis is unavailable, it should be skipped quickly.

@Fangfeikun have you followed the suggestions?

Fangfeikun

comment created time in 6 days

issue commentspring-cloud/spring-cloud-config

Secure cloud config

Anything you can do with spring security

gituserjava

comment created time in 6 days

issue commentspring-cloud/spring-cloud-config

Secure cloud config

I have no experience with aws eks

gituserjava

comment created time in 6 days

issue closedspring-cloud/spring-cloud-gateway

OOM: Using spring cloud gateway with tomcat dependency in pom.xml will result in OOM!

Bug report:

When I use spring cloud gateway, I put tomcat dependency in pom.xml indirectly or directly. The application can run correctly whick means I can use it to dispatch request and the client can also receive the response correctly. But I receive an OOM(out of memory)in production environment after a long time. I know that putting tomcat dependency in spring cloud gateway project is wrong, but I put another xx-common dependency which has tomcat dependency. so I hope the official can add a feature that shutting down mandatorily and throwing a friendly tips when starting up if it detects a tomcat dependency in spring cloud gateway project.

Next is the sample application that reproduces the problem.

I have put all the below in this repository: https://github.com/alan-tang-tt/springcloud-gateway-oom

  1. create a maven project.
  2. modify pom.xml.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.alan.test</groupId>
    <artifactId>springcloud-gateway</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.6.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <spring-cloud.version>Hoxton.SR4</spring-cloud.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-core</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
  1. add application.yml.
server:
  port: 8080
spring:
  application:
    name: api-gateway
  cloud:
    gateway:
      routes:
      - id: test
        uri: http://localhost:8899/test
        predicates:
        - Path=/test
  1. add start Application.java.
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  1. add Metrics.java for monitoring direct memory.
@Component
public class Metrics {

    @PostConstruct
    public void init() {
        ScheduledExecutorService scheduledExecutorService = Executors.newSingleThreadScheduledExecutor();
        scheduledExecutorService.scheduleAtFixedRate(()->{
            System.out.println("used direct memory: " + PlatformDependent.usedDirectMemory());
        }, 1, 1, TimeUnit.SECONDS);
    }
}
  1. add -Dio.netty.allocator.type=unpooled for VM options.
  2. start up this project and observe the console then you'll see Tomcat Server start.
  3. send a request to the application. Be sure the request can be dispatch by the application.
  4. then you will see like below:
used direct memory: 0
used direct memory: 0
used direct memory: 0
used direct memory: 0
used direct memory: 1031
used direct memory: 1031
used direct memory: 1031
used direct memory: 1031
used direct memory: 1031

the client can also receive the response correctly, but the direct memory has not been released automatically.

I have debug the code and found the process like below:

I have put all the above in this repository: https://github.com/alan-tang-tt/springcloud-gateway-oom

closed time in 7 days

alan-tang-tt

issue commentspring-cloud/spring-cloud-gateway

OOM: Using spring cloud gateway with tomcat dependency in pom.xml will result in OOM!

Sorry, I'm not going to look into this as it isn't supported.

alan-tang-tt

comment created time in 7 days

issue commentspring-cloud/spring-cloud-commons

SimpleDiscoveryClientAutoConfiguration does not adhere to auto configuration rules

What are you trying to do that this is preventing?

shollander

comment created time in 7 days

issue commentspring-cloud/spring-cloud-commons

SimpleDiscoveryClientAutoConfiguration does not adhere to auto configuration rules

There's no hard and fast rule. We define a composite discovery client for users to inject their own at a different order.

shollander

comment created time in 7 days

push eventrsocket-routing/rsocket-routing-broker

spencergibb

commit sha a24c96fbdddf49d86c734e050cb57d67e51df3d1

Moves from java plugin to java-library

view details

spencergibb

commit sha 3fb0efb98c8a728ae7f77c9675f989fdc9863761

Moves from compile to api

view details

spencergibb

commit sha e10e94369342cd8c8fc48bb25b43ba30546a0abb

Adds javadoc

view details

spencergibb

commit sha 6ca9d222740d8fb09d03c3971ed5d5547cfb11f3

Replaces deprecations

view details

push time in 7 days

push eventrsocket-routing/rsocket-routing-broker

spencergibb

commit sha f964e421bb97a731a12db01be1a8f8510e0c7fa4

Adds support for publishing snapshots to and resolving snapshots from oss.jfrog.org

view details

spencergibb

commit sha 1cf3777212f19539afcc68f17c5547b97e20823a

adds TODO

view details

spencergibb

commit sha c1286053ce09de5203773de8d0e76d0dfa1eea14

Adds error handling on disconnect

view details

spencergibb

commit sha 1bf57654d0aa4c1fdcb5a2c7d7ec71edb428e91b

Replaces deprecations

view details

spencergibb

commit sha df2dc5ec69669b759be33100c8c01e6841f41b7c

Adds missing plugins

view details

push time in 7 days

push eventrsocket-routing/rsocket-routing-client

spencergibb

commit sha 85b5b1f92dc39b9530779bd083ad47f00eb3e719

Changes compile to api or implementation

view details

spencergibb

commit sha d184a3a1b3abdfa27e2a7b7bf9de4ef98b40c111

Adds support for publishing snapshots to oss.jfrog.org

view details

push time in 7 days

push eventspring-cloud/spring-cloud-kubernetes

spencergibb

commit sha a67952a1ce023fd5535e921459f12e77967a49d1

Ignores .sdkmanrc

view details

spencergibb

commit sha 57ed9247e211da987563c457892a3174bf147e92

Removes references to ribbon modules from docs and poms Fixes gh-530

view details

push time in 7 days

issue closedspring-cloud/spring-cloud-kubernetes

Remove references of spring-cloud-kubernetes-ribbon from docs, samples and poms

When I upgrade springCloudVersion from SR2 to SR3, spring-cloud-kubernetes appear a problem. Then spring-cloud-starter-kubernetes-all does not include spring-cloud-kubernetes-ribbon. I went to include alone dependency of spring-cloud-kubernetes-ribbon, but it is failing. spring-cloud-kubernetes-ribbon has not 1.1.2.RELEASE

closed time in 7 days

yuchen001

issue closedspring-cloud/spring-cloud-kubernetes

The Ribbon is optional

The spring-cloud-starter-netflix-ribbon in spring-cloud-kubernetes-ribbon is optional,so if the project don't add ribbon dependency, the RestTemplate can't use client LoadBalance. But it's not mentioned in the document.

closed time in 7 days

lavecoral

issue commentspring-cloud/spring-cloud-kubernetes

The Ribbon is optional

spring-cloud-kubernetes-ribbon no longer exists in 1.1.x or master

lavecoral

comment created time in 7 days

push eventspring-cloud/spring-cloud-kubernetes

spencergibb

commit sha b7400e5b41bf9554ebaf372670b1f6458fe173ee

Ignores .sdkmanrc

view details

spencergibb

commit sha 4fa4b1123097fd935cae65094426916cc1badd9e

Removes references to ribbon modules from docs and poms Fixes gh-530

view details

push time in 7 days

issue commentspring-cloud/spring-cloud-kubernetes

Add support for spring cloud loadbalancer

Needs to include docs referencing ribbon removed in #530

spencergibb

comment created time in 7 days

issue openedspring-cloud/spring-cloud-build

Convert generate_readme.sh to a different language

https://github.com/spring-cloud/spring-cloud-build/blob/master/docs/src/main/ruby/generate_readme.sh

Ruby isn't installed by default on ubuntu, likely not windows as well.

Maybe a jvm language since java 8 is already a requirement. Something maven can invoke. (groovy? kotlin?)

created time in 7 days

issue commentspring-cloud/spring-cloud-kubernetes

Remove references of spring-cloud-kubernetes-ribbon from docs, samples and poms

@ahrytsiuk that is also an error and needs to be removed from the poms as well.

yuchen001

comment created time in 7 days

issue commentspring-cloud/spring-cloud-consul

Disable ribbon auto config if consul discovery disabled.

Thanks @fkalisa you are now assigned.

fedotxxl

comment created time in 7 days

more