how does the skipper-client help app get their streamDeploymentProperties? - spring-cloud-dataflow

wanna know how skipper help the application installed by it get their properties?
for example, i depoly a stream in scdf by using http | log and i've config http with server.port=8088, how does it get this property?

SCDF sends the StreamDeployment properties as specific app deployment properties set for each app that gets deployed for the Stream.
At the Skipper side, the app deployment properties are set in the Spec of the application getting deployed.

Related

How to debug Microservice in cumulocity platform

I wrote microservices using spring boot. some time showing its active in status and sometimes showing inactive, I can't understand the behaviour of microservice and how can debug it
Have you tested running the microservice locally?
I've been getting inconsistent reports from the status tab in the UI. Sometimes it says the service is down when it's actually up. I check the /health endpoint to be sure(it's not available right after you upload the zip, takes 5-6 minutes).
The logs in the UI are a bit clunky, so I've added a rolling file appender to logback.xml and a rest endpoint to expose the log file for debugging.
Try to override health check timeout value (timeoutSeconds property of Probe). By default it's 1 second and it's often not enough. Please refer our specification: https://cumulocity.com/guides/reference/microservice-manifest/
In the administration application you will find the status details for each of your applications.
When the status is switching all the time probably the docker container is terminating all the time (probably because the application is crashing). You should the that on the status tab of the application in the event log (container is restarted all the time).
If you are on the newest Cumulocity version (9.19.x) you should also have access to the logs of the microservice at the same place in UI. You need to log to stdout in order to be able to get the logs through administration application.

Custom headers are not working in Amazon EC2 server

We are building an API and using Rest Console extension of Chrome for testing purpose. We have deployed our Application on Heroku server for debugging and on EC2 server as well. It is giving correct results on Heroku server with Custom headers. But for EC2 server, the custom headers are not passing. Because of which the correct results are not displayed on the EC2 server. While checking the EC2 server log file we found that the custom headers does not exist in HTTP Header.
From Local system we are requesting using Restclient:
RestClient.get('http://ec2-54-225-122-111.compute-1.amazonaws.com/method_name',{"Authorization"=> authorization_element,"custom_header1"=>val1,"custom_header2"=>val2})
Is there any settings we need to do in order to get custom HTTP Header in Amazon AWS server?
EDIT: I'm using EngineYard for deployment process.
I got the solution by passing the names without underscore.
I was passing the custom header with name having underscore like custom_header1="some value".
And from here, I come to know that underscore is not allowed although hyphen is allowed which is further converted into underscore.

OpenESB - different environments

I am developing a service layer app which provides a catalog of webservices, then I am orchestrating them using OpenESB.
I create my BPELs importing external WSDL definitions using http://localhost:8080/services/myService?wsdl.
The problem is -- these BPELs strongly depend on this specific URL, and when I deploy on production server, my ESB layer stops working.
How can I make my BPELs independent of the specific endpoint? Can I refer the URIs to an external config file?
To do it you must create application configuration and application variable and add them on your http address. Example: "http://${MyHtttpAddress}:${MyHttpPort}/service1/myService?wsdl"/>.
Applications and variable are set up in the administrative console and can be changed for each environment.
Regards
Paul

How to set up my development environment with a Dart client and an adhoc server?

When I develop (not in deployment mode)
My client is in Dart on workspace/foo_client
My server is another platform in workspace/foo_server, this platform serve static assets from workspace/foo_server/public. This platform can reload on live changing assets. I need this server as his providing data in Json to the client.
When I run my server :
the server provide the initial page holding the client elements
the server provide data to the client
I would like to have server and client up to date automatically
when I change something in my client
when I change something in my server
Is there another way to do it easily ?
It would be useful to call "pub serve --out workspace/foo_server/public" to have a nice development experience : i'm working on workspace/foo_client and it's automatically deployed by my adhoc server platform. I have created an issue : https://code.google.com/p/dart/issues/detail?id=20432.

Grails App deployment on Micro Cloud Foundry

I tried to deploy a simple hello world application on Micro Cloud Foundry. I went through the process that mentioned in video and set up every thing (My IDE is STS eclipse and Windows 7). When I wanted to make a server on Micro Cloud Foundry: 1) I could not set my server host name to my domain for example "multisite.cloudfoundry.me" it said "The currently selected server type does not support remote hosts" and forced me to put "localhost" as the server name. 2) When I went through the process it started my Grails application and seemed it was running well but the url was broken "http://12431asd.multisite.cloudfoundry.me/" (It asked me for Grails app on this domain I choose "12431asd") and I got the message "VCAP ROUTER: 404 - DESTINATION NOT FOUND". when I tried this url "http://api.multisite.cloudfoundry.me/" I get the message "Welcome to VMware's Cloud Application Platform".
I appreciate any help and suggestions.
Reza
When you add a CloudFoundry server leave the first pane with the default settings and then on the second pane select the "Microcloud" url option setting the name to "multisite" in the popup dialog. Once the plugin has contacted your instance you can go ahead and put the email and the password in.
From there you should just be able to deploy by dragging the application to the server instance in your servers tab, setting the url in the dialog that follows. Once deployed you can double-click the application instance in the server tab and adjust its properties.
Can you verify that when you deployed the application, it's state was started? (it should say next to the application name under the server)

Resources