Important
|
While you can run and interact with this booster on localhost, it requires that you also have a database installed and configured. This booster runs best when deployed on OpenShift with a PostgreSQL database. For more details on using this booster with a single-node OpenShift cluster, CI/CD deployments, as well as the rest of the runtime, see the Spring Boot Runtime Guide. |
Important
|
This booster requires Java 8 JDK or greater and Maven 3.3.x or greater. |
If you have a single-node OpenShift cluster, such as Minishift or Red Hat Container Development Kit, installed and running, you can also deploy your booster there. A single-node OpenShift cluster provides you with access to a cloud environment that is similar to a production environment.
To deploy your booster to a running single-node OpenShift cluster:
$ oc login -u developer -p developer
$ oc new-project MY_PROJECT_NAME
# Ensure that you use the following values for the user name, password and database name when creating your database application.
# The pre-configured values are used in the `credentials-secret.yml` and `deployment.yml` files in the `src/main/fabric8` directory of your booster application project.
$ oc new-app -e POSTGRESQL_USER=luke -ePOSTGRESQL_PASSWORD=secret -ePOSTGRESQL_DATABASE=my_data openshift/postgresql-92-centos7 --name=my-database
# Wait for `my-database` application to be running.
$ mvn clean fabric8:deploy -Popenshift
To interact with your booster while it’s running on a Single-node OpenShift Cluster, you first need to obtain it’s URL:
$ oc get route MY_APP_NAME -o jsonpath={$.spec.host}
MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME
You can use the form at your application’s url or you can use the curl
command:
$ curl http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/adjectives
[ {
"id" : 1,
"name" : "Cherry",
}, {
"id" : 2,
"name" : "Apple",
}, {
"id" : 3,
"name" : "Banana",
} ]
curl http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/adjectives/3
{
"id" : 3,
"name" : "Banana",
}
curl -H "Content-Type: application/json" -X POST -d '{"name":"pear"}' http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/adjectives
{
"id" : 4,
"name" : "pear",
}
curl -H "Content-Type: application/json" -X PUT -d '{"name":"pineapple"}' http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/adjectives/1
{
"id" : 1,
"name" : "pineapple",
}
curl -X DELETE http://MY_APP_NAME-MY_PROJECT_NAME.LOCAL_OPENSHIFT_HOSTNAME/api/adjectives/1
Note
|
If you receive an HTTP Error code 503 as a response after executing these commands, it means that the application is not ready yet.
|
You can learn more about this booster and rest of the Spring Boot runtime in the Spring Boot Runtime Guide.
Note
|
Run the set of integration tests included with this booster using mvn clean verify -Popenshift,openshift-it .
|