profile
viewpoint
Dave Syer dsyer Pivotal London http://spring.io/team/dsyer Founder of Spring Cloud, Spring Boot, Spring Batch, and an active contributor to Spring Integration, Spring Framework, Spring AMQP, Spring Security.

dsyer/cloud-middleware-blog 6

Blog text and sample project for article on spring.io in 2015

dsyer/cflogin 3

Authorization Server for "fully-leaded" Cloud Foundry access tokens

cfmobile/oauth2-route-service 1

Route service oauth2 authentication

dsyer/apidocs 1

Cloud Foundry API Documentation

dsyer/azure-maven-plugins 1

Maven plugins for Azure

dsyer/brewery 1

Brewing beer with Spring Cloud has never been that easy...

push eventspring-guides/gs-uploading-files

Tamaro Skaljic

commit sha 44863fef29893f2fc73106143d8841d36bad6414

Fixed #65

view details

Tamaro Skaljic

commit sha f03776c090d83189998133a26d4b2c01187891a2

Update FileUploadController.java

view details

push time in 5 hours

issue closedspring-guides/gs-uploading-files

Can't download a file containing an %

Filename: 100% Coverage.png Download-URL: http://localhost:8080/files/100%%20Coverage.png Expected-URL: http://localhost:8080/files/100%25%20Testabdeckung.png HTTP Status 400 – Bad Request

-- The filenames must be URL-encoded

closed time in 5 hours

tamaro-skaljic

PR merged spring-guides/gs-uploading-files

Reviewers
Changed toString() to toUri() in listUploadedFiles() Fixed #65

The .toString() method doesn't escape URI characters. Files with e.g. '%' in the file name could not be downloaded.

+1 -1

4 comments

1 changed file

tamaro-skaljic

pr closed time in 5 hours

push eventdsyer/spring-boot-bindings

Dave Syer

commit sha cdba0a42c7f3026d5765fe9cfe4dce10cdd4aaf0

Fix output from sample in README

view details

push time in 4 days

pull request commentspring-guides/gs-uploading-files

Changed toString() to toUri() in listUploadedFiles() Fixed #65

The tests fail because they assert that the model in the controller contains Strings, but this changes them to URIs. You need to fix the test I guess?

tamaro-skaljic

comment created time in 4 days

push eventspring-projects-experimental/spring-boot-thin-launcher

Dave Syer

commit sha 4f86e687fd5afae59cc21d8ceab7623d65632106

Wrong version link to Maven Central

view details

push time in 4 days

push eventdsyer/spring-boot-features

Dave Syer

commit sha a32804638a5e15a47e37a1a85cdc35edafa27555

Update Spring Boot

view details

push time in 4 days

push eventdsyer/spring-boot-features

Dave Syer

commit sha dc76ede3ca26229e5d79076017ca3313d6fe4133

Add benchmarks to plain server project

view details

Dave Syer

commit sha a1cbf5b0b0bf5d8cd7d2aeaab2f13590849bd8c1

Update to Boot 2.3.0.M1

view details

Dave Syer

commit sha a06c5090878d7654b12d6274cc5560afeabd84f0

Fix README

view details

push time in 4 days

issue commentspring-projects-experimental/spring-boot-thin-launcher

How can I load the jar package inside the thin jar

You just need them to be in a maven repository. Can be the local cache. What did you try that didn't work? There's a sample in this project that works for instance.

xtaetg

comment created time in 4 days

push eventspring-projects-experimental/spring-boot-thin-launcher

Dave Syer

commit sha 0461ebb82682f23681e50e283cb90709166ed6ca

Update a couple of samples to use latest Gradle

view details

push time in 4 days

issue commentspring-projects/spring-boot

Spring Boot Slow Startup Time in Docker when limiting CPUs

You should also add (proxyBeanMethods=false) to all your @Configuration and @SpringBootApplication annotations.

miller79

comment created time in 5 days

issue commentspring-projects/spring-boot

Spring Boot Slow Startup Time in Docker when limiting CPUs

Thanks for the update.

Directly importing the autoconfiguration classes that are required

Probably could get you 10 or 20% improvement for simple apps.

Not using spring boot at all and initializing the application context manually

Not really going to help, unless you end up with fewer features (see above).

Using the spring-boot-thin-layout to reduce the number of used dependencies.

Not sure what you mean here. The dependencies are the dependencies. You either use them or you don't - it has nothing to do with the JAR layout.

Playing with Spring Fu and Spring Graal Native projects

Both will have an impact (Graal Native a big impact). Both are limited in scope, and are still experimental. But please do play around and see if it works for you. Feedback more than welcome.

miller79

comment created time in 5 days

create barnchspring-projects/spring-boot

branch : dsyer-patch-1

created branch time in 5 days

PR opened spring-projects/spring-boot

Remove duplicate autoconfig class

HealthContributorAutoConfiguration was duplicated

+0 -1

0 comment

1 changed file

pr created time in 5 days

push eventdsyer/spring-boot-features

Dave Syer

commit sha ba47f8656978557390877cda95fedd15cdd216f9

Update to Spring Boot 2.2.4

view details

push time in 5 days

push eventspring-projects-experimental/spring-boot-thin-launcher

Dave Syer

commit sha f5beb8b056a73a7823939ec14ea5f46db1e5d3ae

Update test to adjust for Spring Boot version

view details

push time in 5 days

push eventspring-projects-experimental/spring-boot-thin-launcher

Dave Syer

commit sha f0badc94642901fdb00402a785368066aae1a55a

Use thin wrapper in gradle plugin resolve task

view details

push time in 5 days

push eventspring-projects-experimental/spring-boot-thin-launcher

Dave Syer

commit sha ad19fd9cdd719e2c8a0a1631e49bfe6d3869de15

Support for maven plugin (resolve) on fat jar It's useful occasionally to do dependency computations on fat jars. The thin jar launcher already supports it, so this just adds a step in the maven plugin that means we don't *require* a thin jar to be the target of the project build.

view details

Dave Syer

commit sha 7237cec9aa325f60233af042f16cd94f66531455

Better implementation of download thin jar

view details

Dave Syer

commit sha f9663ba8ef8699a4b07121bb9266802b999b51dc

Add integration test for fat jar maven resolve

view details

push time in 5 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

Could the apps share the database at the resource claim level instead?

I'm kind of confused by this question. Probably I'm missing something, and haven't understood the abstraction. Can you provide an example? Can I bind the same database to 2 apps? Or delete an app and re-create it and bind to the same database? Or create a new version of an app and bind to the old database during a transition period? All of those seem like valid choices.

dsyer

comment created time in 6 days

push eventdsyer/docker-services

Dave Syer

commit sha ca74c5aae5f8458b931ba94be46f286cbaababe1

Add cpu request

view details

push time in 6 days

push eventdsyer/docker-services

Dave Syer

commit sha b06aa555bf443680b88f8044420cc8f153e24d10

Add pv.yanl sample for platforms that need it

view details

Dave Syer

commit sha c459e1401bf08f4789114d62ae35f289037b57d3

Add resource constraint defaults

view details

push time in 6 days

PR closed projectriff/fats

Be defensive about existing registry
+1 -1

4 comments

1 changed file

dsyer

pr closed time in 7 days

pull request commentprojectriff/fats

Be defensive about existing registry

Closed in favour of #270

dsyer

comment created time in 7 days

PR opened projectriff/fats

Be defensive about existing registry
+1 -1

0 comment

1 changed file

pr created time in 7 days

create barnchprojectriff/fats

branch : defensive-registry

created branch time in 7 days

pull request commentprojectriff/fats

Be defensive about existing registry

Try now?

dsyer

comment created time in 7 days

push eventdsyer/fats

Scott Andrews

commit sha c5548e46d9018287f342217b977a74d805dd61ac

remove dead code

view details

Scott Andrews

commit sha 9bee44d7190b367fb02b9bbc5e85a424dbcd8890

Kind registry update (#266) - upgrade kind to 0.7 - pin k8s to 1.15 - invert cluster and registry relationship - drop wait_for_ingress_ready and post_registry_start hooks

view details

Dave Syer

commit sha cd5052a9863a3f5a1330f4c98237810831eab65e

Be defensive about existing registry

view details

push time in 7 days

push eventdsyer/docker-services

Dave Syer

commit sha 5c86432abde9d6c0494b037d959236ae08cd3e18

Revert prometheus in petclinic

view details

push time in 7 days

pull request commentprojectriff/fats

Kind registry update

LGTM. I tried it on a personal project and it worked there. I had some issues running locally because the registry startup.sh is not idempotent, but I don't think that's a feature of this patch (it was always like that). If you kill and rm the registry container before you run tests it works.

scothis

comment created time in 7 days

push eventdsyer/docker-services

Dave Syer

commit sha dbb7469a4c576e150f19bf1ca4d2c0fae16edecd

Update fats

view details

push time in 7 days

PR opened projectriff/fats

Be defensive about existing registry
+1 -1

0 comment

1 changed file

pr created time in 7 days

create barnchdsyer/fats

branch : kind-registry

created branch time in 7 days

push eventdsyer/docker-services

Dave Syer

commit sha 8169b338f8c2bf7d292aca8137132c22b0a9a586

Add sidecar for actuator security

view details

push time in 8 days

push eventspring-guides/gs-crud-with-vaadin

juhopiirainen

commit sha 56c469f3761904bf8376bf93247643469d771fb5

Upgrade to Vaadin 14.1.17

view details

juhopiirainen

commit sha 2ac6d95dd6c09e528aa96dc3778af42b70507124

Upgrade to Vaadin 14.1.17

view details

push time in 8 days

push eventdsyer/docker-services

Dave Syer

commit sha 83916165ffa1ab56e90c77b33f34a08a6fb3b592

Bump Spring Boot

view details

push time in 8 days

issue commentspring-guides/gs-messaging-redis

Application hangs for me due to race condition

I fixed it by re-implementing the listener. The latch is artificial, so it makes more sense just to count incoming messages and assert that there are more than 0.

talkingscott

comment created time in 9 days

push eventspring-guides/gs-messaging-redis

Dave Syer

commit sha 77870db7f4b79c478d0ec9168bd5b7b8eac398b5

Switch implememtation to use a counter instead of a latch Fixes gh-17

view details

push time in 9 days

issue closedspring-guides/gs-messaging-redis

Application hangs for me due to race condition

When I run the code as is, it never exits main, because the latch.await() is never satisfied. Using redis-cli monitor command, I see that the publish occurs before the subscription.

1581214604.709415 [0 127.0.0.1:61178] "PUBLISH" "chat" "Hello from Redis!" 1581214604.733783 [0 127.0.0.1:61179] "PSUBSCRIBE" "chat" I confirmed that the container is alive and running before the send. I did not try to find a way to be notified when the subscribe is actually made. A sleep before the send was enough to change the behavior on my machine, but that's certainly not a true fix.

Some info about my setup:

MBP A1398 running OS X 10.12.6 Java 1.8.0_131 Spring Boot 2.2.4 Eclipse 2019-12 (I am running the app via Run As...) Redis 3.2.0 (installed with brew)

closed time in 9 days

talkingscott

issue commentspring-guides/gs-messaging-redis

Application hangs for me due to race condition

It's tricky I guess. This is in no way a "real" app - sending yourself a message and exiting when you receive it is an extremely artificial use case. I guess we could mention the possibility of the race condition in the guide and suggest the same workaround. What else could we do? FWIW it works consistently for me.

talkingscott

comment created time in 9 days

push eventspring-guides/top-spring-security-architecture

Naka Masato

commit sha e1b68cf04326058abd74e0eb77daeccd623d0197

Fix typo

view details

push time in 9 days

pull request commentspring-io/sagan

de-hyphenated

I think "event-driven architecture" is correct (as are all the instances you changed). The only verb-noun rule I know goes the opposite way ("simply ignored pull requests" requires no hyphen because of the adverb).

benwilcock

comment created time in 11 days

PR opened spring-cloud/spring-cloud-build

Update versions for checkstyle and puppy thing

Avoid nag by github security alert

+2 -2

0 comment

1 changed file

pr created time in 11 days

create barnchspring-cloud/spring-cloud-build

branch : dsyer-patch-1

created branch time in 11 days

issue openedvmware/connectors-workspace-one

Core library contains application.yml at the root of classpath

I assume this was a mistake. It's not a good idea for a library to contain application.yml files - in practice it will either be ignored or overwrite the values provided by an application that uses the library at runtime (Spring Boot only reads one file from each location).

created time in 11 days

push eventdsyer/docker-services

Dave Syer

commit sha ea8c5335a548f650b74006abdc6c9e4892193066

Only delete successful apps

view details

push time in 12 days

issue commentspring-guides/gs-messaging-rabbitmq

cannot access hello - zip END header not found

There is some missing context here. What did you do (step by step) and what did you see (complete terminal logs)?

hannesgeodan

comment created time in 12 days

issue openedmaxcellent/javadoc.io

spring-cloud-stream stopped appearing at version 3.x

3.0.1 is clearly in Maven Central (https://repo1.maven.org/maven2/org/springframework/cloud/spring-cloud-stream/3.0.1.RELEASE/), but it never showed up in javadoc.io (https://www.javadoc.io/doc/org.springframework.cloud/spring-cloud-stream/3.0.1.RELEASE/index.html).

created time in 12 days

issue closedspring-guides/gs-messaging-rabbitmq

Dead link.

There is a dead link in README.adoc: "There's http://docs.spring.io/spring-amqp/reference/html/_introduction.html#quick-tour[more you can do with Spring and RabbitMQ] than what is covered here, but this should provide a good start."

Should be replaced with: "There's https://docs.spring.io/spring-amqp/reference/#quick-tour[more you can do with Spring and RabbitMQ] than what is covered here, but this should provide a good start."

Regards

closed time in 12 days

milkwarlok

issue commentspring-guides/gs-messaging-rabbitmq

Dead link.

I think this issue is obsoleted by recent changes.

milkwarlok

comment created time in 12 days

push eventspring-guides/gs-messaging-rabbitmq

Dave Syer

commit sha f7715676e13363bd8f210b6c956efb583df0d3b4

Fix include link Fixes #29

view details

push time in 12 days

issue closedspring-guides/gs-messaging-rabbitmq

Wrong class link in the guide

This guide has link to:

:complete/src/main/java/com/example/messagingrabbitmq/MessagingRabbitApplication.java[]

Which is invalid and should be changed (I guess) to:

complete/src/main/java/com/example/messagingrabbitmq/MessagingRabbitmqApplication.java

closed time in 12 days

lqotom

pull request commentspring-guides/gs-rest-service

first

Just whitespace? No description in log, so assuming this is spam.

ryuutamaehara

comment created time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha 0b55efed9b8aa411c8506b4efb1777296133fa40

Try to get more information on failed pods

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha e767d4ef5c2400ae5628b105d64206220ddb2368

Increase timeout for petclinic

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha 32ed75570ca3b781eaf8c7d787393d0fad2ebb83

Increase timeout for petclinic

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha 224207a3f470bb5ab1047ba8459aae942047863b

Increase timeout for petclinic

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha cdc2b4bacd68080b101132db099607ad1a525394

Increase timeout for petclinic

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha 352ff2409a41cc5e332c71d3148b4b367900b126

Fix petclinic

view details

push time in 12 days

push eventdsyer/docker-services

Dave Syer

commit sha d68ab233957a2900f17bdb5be0be63be2465d47c

Adjust CI config

view details

push time in 13 days

push eventdsyer/docker-services

Dave Syer

commit sha 77bd5af583d8796ac3e580dd38e75a6009af3122

Adjust CI config

view details

push time in 13 days

push eventdsyer/docker-services

Dave Syer

commit sha 8327a3b8e27bfab1aa87b9390d8120e53e3c07d9

Use transformers for shared patches in demo app

view details

Dave Syer

commit sha 4c7b819172cf14adc947c9e21bd4ae75d3342ae4

Extract demo YAML into transformers

view details

push time in 13 days

push eventdsyer/dist-tx

Dave Syer

commit sha 88bc07b9c0f2a100d67fec2d283d883d908013fa

Add shared-kafka-db sample

view details

push time in 13 days

push eventdsyer/dist-tx

Dave Syer

commit sha e2f399a3f687bfa376cad2ddce65ea344d65cc69

Add shared-kafka-db sample

view details

push time in 13 days

issue commentspring-guides/gs-consuming-rest

Error when building in SpringTool with Maven

Is there other configuration needed with Spring ?

No. But the HTTP client isn't working, so it's that which needs a hint probably. Your Chrome browser is working so it must have some settings for a proxy or something. You could try and copy those. Google "How do I set the proxy to be used by the JVM" for help, or ask your own question on StackOverflow.

Whisper40

comment created time in 13 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

FWIW Google Config Connector has a SqlUser CRD that you can use in this scenario to set the username and password in the SQL instance. I don't know if that's really necessary - it could just go in the MySQLInstance in crossplane.

dsyer

comment created time in 13 days

issue commentspring-guides/gs-consuming-rest

Error when building in SpringTool with Maven

There you go then. You don't have access to that URL. Are you behind a firewall or a proxy? If you are you can try and get it opened up, or you can run your own server and point the app at that.

Whisper40

comment created time in 13 days

issue commentspring-guides/gs-consuming-rest

Error when building in SpringTool with Maven

In the stack overflow link did you see the Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0. That's the kind of detail we are missing here. It's quite unlikely to be the same cause, so unsurprising if the same solution does not apply. Please provide more information if you want any help with this.

Whisper40

comment created time in 14 days

issue commentspring-guides/gs-consuming-rest

Error when building in SpringTool with Maven

The cause of the exception is still missing from the stack trace. Does it work for you from the command line (e.g. ./mvnw spring-boot:run)?

Whisper40

comment created time in 14 days

issue commentspring-guides/gs-consuming-rest

Error when building in SpringTool with Maven

I think you missed the most important part of the stack trace (what caused it). Works for me, so we'll need more information and steps to reproduce.

Whisper40

comment created time in 14 days

issue openedcrossplaneio/stack-gcp

Expose the projectId for a CloudSQLInstance

I guess it might be useful for nearly all GCP objects, but CloudSQLInstance is the one I am interested in for now. Currently I need the project ID occasionally in application configuration, and the only way to get it is to hard code it somewhere. It is always available to crossplane when it creates the secret, so it could just be included as its own key.

created time in 14 days

issue commentcrossplaneio/stack-gcp

Expose the connectionName for a CloudSQLInstance

Stupid question: how do I consume master? Are you publishing manifests and images somewhere?

dsyer

comment created time in 14 days

issue commentcrossplaneio/stack-gcp

CloudSQLInstanceClass specTemplate.writeConnectionSecretsToNamespace should not be mandatory

Got it. I don't think I realized that the CloudSQLInstance and CloudSQLInstanceClass don't have a namespace. I didn't even realize that was possible. Maybe it would be good to point that out in the API docs for writeConnectionSecretsToNamespace and writeConnectionSecretToRef?

dsyer

comment created time in 14 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

What you could possibly do is to inject the password string

I guess I could. I would have to script it on the client side (using kubectl or similar) and it would be fragile and non-declarative. The whole point of this issue was to try and avoid doing that kind of thing. The basic idea that a database lives longer than an app has yet to be addressed in crossplane, I think.

dsyer

comment created time in 14 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

That’s not an “existing resource” then is it? It was created by crossplane.

dsyer

comment created time in 14 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

Could you try with that config?

I believe I probably already did, up to a point. Your config has reclaimPolicy=Delete though which doesn’t make sense if it’s an existing resource, does it? Am I missing something, or did you actually try this with an existing instance called “mycloudsql”?

dsyer

comment created time in 14 days

issue commentkubernetes-sigs/kustomize

Support for mixins

Bump.

sergey-shambir

comment created time in 14 days

issue commentcrossplaneio/crossplane

Lots of orphaned external resources

I can't close this one (not the OP). I opened https://github.com/crossplaneio/stack-gcp/issues/157 for the password/instance re-use issue.

suskin

comment created time in 15 days

pull request commentspring-guides/gs-rest-service

Add Docker build and run option

I'm not really comfortable with this unless it unpacks and uses the thick jar folders (e.g. see https://github.com/spring-guides/gs-spring-boot-docker/blob/master/complete/Dockerfile). Also, I'm not sure we should do it here unless we do it to all gs-* guides.

JohnWillker

comment created time in 15 days

issue commentcrossplaneio/stack-gcp

GCP CloudSQL: Proxy connections

It's public by default - at least that's what I see. But you can't connect with a regular mysql client, only the proxy (unless you authorize your client's network explicitly).

suskin

comment created time in 15 days

issue commentcrossplaneio/stack-gcp

GCP CloudSQL: Proxy connections

Would exposing status.atProvider.connectionName alongside the existing ones in the connection secret be enough to satisfy your use case?

Yes.

I think ipConfiguration.ipv4Enabled=true is the default. At least it doesn't behave any differently for me. You get a public IP address, but you can only connect to it though the connectionName.

suskin

comment created time in 15 days

issue commentcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

Another interesting use case - 2 apps want to connect to the same database. Currently they have to be in the same namespace in order to share a secret? Is that the only way that pattern will work?

dsyer

comment created time in 15 days

push eventspring-guides/gs-producing-web-service

Dave Syer

commit sha 4164272a0fcaf7bc454fc73a1e85d3a81c007fbc

Add more IDE ignores

view details

Dave Syer

commit sha 7cb1d60583da33aae0ebbc6a62a0bc770467dfd8

Add explicit location of .xsd file in pom.xml Fixes gh-28

view details

push time in 15 days

issue closedspring-guides/gs-producing-web-service

Describe that an explicit XSD file location is required in maven to generate source files

Excellent Guide. I just had one issue using Java 13 & maven 3.6.2. When editing the pom.xml I had to specify countries.xsd otherwise I was not able to generate the source files. CURRENT DOC

<configuration>
		<sources>
			<source>${project.basedir}/src/main/resources/</source>
		</sources>
	</configuration>

ABLE TO GENERATE SOURCE BY SPECIFYING THE XSD FILE

<configuration>
		<sources>
			<source>${project.basedir}/src/main/resources/countries.xsd</source>
		</sources>
	</configuration>

closed time in 15 days

NimaVibeVans

issue commentspring-guides/gs-producing-web-service

Describe that an explicit XSD file location is required in maven to generate source files

Ah, I see. And that file isn't present in the "complete" sample. That makes some sense finally.

NimaVibeVans

comment created time in 15 days

issue commentspring-guides/gs-producing-web-service

Describe that an explicit XSD file location is required in maven to generate source files

@arturwp The guide explicitly says "create an XSD file..." and goes on to give the location and the contents. You can't be much more explicit than that. Maybe I misunderstood (your comment doesn't seem relevant to the OP)?

NimaVibeVans

comment created time in 15 days

issue openedcrossplaneio/stack-gcp

Expose the connectionName for a CloudSQLInstance

When you bind to an SQL instance using CloudSQLInstance you get a secret with useful things like "username", "publicIP", and "password". Generally speaking you get hold of that secret either directly, if it is in your namespace, or via a "claim" (implemented as a MySQLInstance), which causes the secret to be copied into its own namespace.

What the secret does not contain is the magic GCP connection string that allows (for instance) a cloud_sql_proxy to connect from a sidecar. The MySQLInstance needs that string, and it has no way of knowing what it is without being able to consult the kubernetes or gcloud APIs. It would be better if it was just there in the secret. In fact it is already there in the status:

$ kubectl get cloudsqlinstance -o yaml
apiVersion: v1
items:
- apiVersion: database.gcp.crossplane.io/v1beta1
  kind: CloudSQLInstance
  metadata:
    annotations:
      crossplane.io/external-name: default-mysql-claim-j2b85
...
  status:
    atProvider:
      backendType: SECOND_GEN
      connectionName: cf-sandbox-dsyer:us-central1:default-mysql-claim-j2b85
...

(it's that thing called "connectionName").

(Copied from a comment on another issue.)

created time in 15 days

issue openedcrossplaneio/stack-gcp

Re-using a GCP CloudSQLInstance

There are potentially 2 separate use cases here:

  • I would like to be able to bind to a SQL instance that already exists.

  • I would like to be able to use Crossplane to create a SQL instance, and then have it re-used by multiple claims (e.g. I deploy the same app twice).

The objective is just to save time waiting for the resource to be created. I don't want to wait 5 minutes every time I start an application, especially if I am giving a demo, or iterating fast. I am ware that the database might contain data from a previous deployment. Applications are used to dealing with that sort of thing - the database is persistent and has a long lifecycle, and the applications that consume the data are short-lived and liable to change more frequently.

What actually happens currently is

  • If I point a CloudSQLInstance to an existing resource, Crossplane happily creates a secret that contains a lot of useful information, but does not contain the database password. You can then create a claim for the instance (using MySQLInstance) and another secret gets created and the claim looks successful. So an application that uses the secret and tries to connect thinks it can do it, but fails when it actually needs to create a connection.

  • Then there is a (possibly separate) problem that the default reclaimPolicy causes a CloudSQLInstance to be marked as Released when a claim is deleted. The result is that you can subsequently claim the resource but the MySQLInstance gets stuck in a state where it is "Managed claim is waiting for managed resource to become bindable". Again, it looks successful, but never actually becomes usable by an application. In this case the secret is never created.

If it isn't possible to re-use instances, or is deemed bad practice (e.g. because the database might leak data into the next claim), maybe it would be better to make it obvious that it has failed? Refuse to accept the claim, for instance.

created time in 15 days

issue commentcrossplaneio/crossplane

Lots of orphaned external resources

Do you mean that you couldn't reproduce the problem in another cluster?

Yes, I haven't seen it since the first time. The only thing I could think of that was different, apart from the k8s version, was the kubectl delete that included both class and claim, so I guess that was the key difference.

Are the annotations documented somewhere? Could I use one to hang on to a password between deployment cycles (currently the password is lost when I delete the cloudsqlinstance if I don't use a claim)?

suskin

comment created time in 15 days

issue commentgitpod-io/gitpod

No delegateCommandHandler for vscode.java.startDebugSession when starting

Nothing changed for me. What was it that was "deployed to production"?

dsyer

comment created time in 15 days

push eventspring-projects/spring-petclinic

Dave Syer

commit sha ac3e64208e3bcf85eaeff2f870083212f526676f

Update checkstyle plugin for security scan warning

view details

push time in 15 days

push eventspring-guides/tut-spring-security-and-angular-js

Won SangYon

commit sha 653b65248e4d880fb09cc2e31fe378be15f762bf

Fix typo spelling password

view details

push time in 15 days

issue closedspring-guides/tut-spring-boot-oauth2

How to create my own Authorization Server

Just noticed that the tutorial removed the section for creating its own authorization server. Is there any reason the section is removed? Will it be added back? I am actually looking into an OAuth solution with my own Authorization Server.

closed time in 16 days

zhousean

push eventspring-guides/tut-spring-boot-oauth2

Maisy Kim

commit sha 6d3ce298960da9153487e3dd9c234d25f6428b02

add missing 'return'

view details

Maisy Kim

commit sha 4e487f9968a58f701cfb5989d0f9b55739a941e7

fix typo

view details

push time in 17 days

push eventspring-guides/gs-scheduling-tasks

Heaven31415

commit sha d9367a02ee44c9943526ed1b9bb947fb94076946

Fix a sentence

view details

push time in 17 days

more