From 1857762c84d2b8ca0f4ae450bed04590b00ccbf8 Mon Sep 17 00:00:00 2001
From: Mark Nelson An application is a namespace encompassing related Microservices. For example, a “cloudbank” application may have “banktransfer” and
-“frauddetection” Microservices deployed within it. The The An application is a namespace encompassing related microservices. For example, a “cloudbank” application may have “banktransfer” and
+“frauddetection” microservices deployed within it. The The The Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/blogs/index.html b/spring/blogs/index.html
index 1d1297a63..97dc9678d 100644
--- a/spring/blogs/index.html
+++ b/spring/blogs/index.html
@@ -744,7 +744,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/cluster-access/index.html b/spring/cluster-access/index.html
index bf89025a0..462e2d3f2 100644
--- a/spring/cluster-access/index.html
+++ b/spring/cluster-access/index.html
@@ -741,7 +741,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/database/index.html b/spring/database/index.html
index 81022c951..49eb524ca 100644
--- a/spring/database/index.html
+++ b/spring/database/index.html
@@ -744,7 +744,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/development/cli/index.html b/spring/development/cli/index.html
index 4f70197c7..0f7299423 100644
--- a/spring/development/cli/index.html
+++ b/spring/development/cli/index.html
@@ -65,7 +65,7 @@
"url" : "https://oracle.github.io/microservices-datadriven/spring/development/cli/",
"headline": "OBaaS CLI",
"description": "The Oracle Backend for Spring Boot and Microservices offers a command-line interface (CLI), oractl. The CLI commands simplify the deployment of microservices applications as well as bindings with the resources that they use. Download the CLI here. The platform-specific binary can be renamed to oractl for convenience.\nUsing the CLI Expose the Oracle Backend for Spring Boot and Microservices Admin server that the CLI calls using this command:\nkubectl port-forward services\/obaas-admin -n obaas-admin 8080:8080 Start the CLI in interactive mode by running oractl from your terminal window.",
- "wordCount" : "2010",
+ "wordCount" : "2699",
"inLanguage": "en",
"isFamilyFriendly": "true",
"mainEntityOfPage": {
@@ -744,7 +744,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
@@ -1682,18 +1682,18 @@
bind: Create or Update a schema/user and bind it to service deployment.
config: View and modify Service configuration.
deploy: Deploy a service.
-
create
command results in the creation of an application namespace (Kubernetes namespace). The application namespace provides a mechanism for isolating groups of resources, especially the Microservices.delete
command results in the delete of an application namespace (Kubernetes namespace) completely or a specific Microservice. Be carefully because it is not possible rollback the components deleted.create
command results in the creation of an application namespace (Kubernetes namespace). The application namespace provides a mechanism for isolating groups of resources, especially the microservices.delete
command results in the complete deletion of an application namespace (Kubernetes namespace) or for a specific microservice. Ensure that you want to completely delete the application namespace. You cannot rollback the components once deleted.bind
command results in the automatic creation of a database schema for a given service or user and binds the information for that schema or
-database in the environment of the Microservice. The option of a prefix for the bound environment properties is also returned. For example, most
-Spring Boot Microservices use spring.datasource
.spring.datasource
.
The deploy
command takes service-name
, app-name
, and artifact-path
as the main arguments (image-version
and java-version
options are
-also provided). When the deploy
command is issued, the Microservice JAR file is uploaded to the backend and a container image is created for
-the JAR or Microservice, and various Kubernetes resources such as Deployment and Service are also created. This is all done
-automatically to simplify the development process and the management of the Microservices by the backend.
The list
command shows the details of the deployed Microservice.
deploy
command is issued, the microservice JAR file is uploaded to the backend and a container image is created for
+the JAR or microservice, and various Kubernetes resources such as Deployment and Service are also created. This is all done
+automatically to simplify the development process and the management of the microservices by the backend.
+The list
command shows the details of the deployed microservices.
The config
command can also be used to add, view, update, and delete configurations managed by the Spring Cloud Config server.
A common development workflow pattern is to connect
, change-password
(only if necessary), create
(once per application or namespace), config
, bind
(only if necessary), deploy
, and list
.
Further development and redeployment of the service can then be repeated issuing the deploy
and list
commands.
Use the create
command to create an application namespace (Kubernetes namespace). The application namespace provides a mechanism for isolating groups of resources, especially the Microservices. Names of resources need to be unique within a application namespace, but not across application namespaces.
Use the create
command to create an application namespace (Kubernetes namespace). The application namespace provides a mechanism for isolating groups of resources, especially the microservices. Names of resources need to be unique within a application namespace, but not across application namespaces.
oractl:>help create
NAME
create - Create an application/namespace.
@@ -1740,9 +1740,9 @@
application/namespace created successfully and image pull secret (registry-auth) created successfully and database TNSAdmin/wallet secret created successfully
Use the delete
command to delete an application namespace (Kubernetes namespace) completely or a specific Microservice inside an application namespace.
Use the delete
command to delete an application namespace (Kubernetes namespace) completely or a specific microservice inside an application namespace.
-ATTENTION: Be carefully because it is not possible rollback the components deleted.
+ATTENTION: Ensure that you want to completely delete the application namespace. You cannot rollback the components once deleted.
oractl:>help delete
NAME
@@ -1826,8 +1826,8 @@
-Use the deploy
command to create, build, and push an image for the Microservice and create the necessary deployment, service,
-and secret Kubernetes resources for the Microservice.
+Use the deploy
command to create, build, and push an image for the microservice and create the necessary deployment, service,
+and secret Kubernetes resources for the microservice.
oractl:>help deploy
NAME
deploy - Deploy a service.
@@ -1898,7 +1898,7 @@
creating deployment and service... successfully deployed
-Use the list
command to show details of the Microservice deployed in the previous step. For example:
+Use the list
command to show details of the microservice deployed in the previous step. For example:
oractl:>help list
NAME
list - list/show details of application services.
@@ -2129,8 +2129,150 @@
+
+Use the GraalVM Compile Commands
to:
+
-
+
+- Upload a .jar file to the Oracle Backend for Spring Boot and microservices and its GraalVM compiler service.
+- Start a compilation of your microservice to produce an executable native .exec file.
+- Retrieve the last logs available regarding a compilation in progress or terminated.
+- Download the .exec file to deploy on the backend.
+- Purge the files remaining after a compilation on the remote GraalVM compiler service.
+
+The GraalVM Compile Commands are the following:
+oractl:>help
+
+GraalVM Compile Commands
+ compile-download: Download the compiled executable file.
+ compile: Compile a service with GraalVM.
+ compile-purge: Delete a launched job.
+ compile-logs: Compilation progress.
+
+- Use the
compile
command to upload and automatically start compilation using the following command:
+
+ oractl:>help compile
+ NAME
+ compile - Compile a service with GraalVM.
+
+ SYNOPSIS
+ compile [--artifact-path String] --help
+
+ OPTIONS
+ --artifact-path String
+ Service jar to compile location
+ [Mandatory]
+
+ --help or -h
+ help for compile
+ [Optional]
+
Because the compilation of a .jar file using the tool native-image
does not support cross-compilation, it must be on the same platform where the application will run. This service guarantees a compilation in the same operating system and CPU type where the service will be executed on the Kubernetes cluster.
+The Spring Boot application pom.xml with the plugin:
+<plugin>
+ <groupId>org.graalvm.buildtools</groupId>
+ <artifactId>native-maven-plugin</artifactId>
+</plugin>
+
The project should be compiled on the developer desktop with GraalVM version 22.3 or later using an mvn command. For example:
+ mvn -Pnative native:compile -Dmaven.test.skip=true
+
This pre-compilation on your desktop checks if there are any issues on the libraries used in your Spring Boot microservice. In addition, your executable .jar file must include ahead-of-time (AOT) generated assets such as generated classes and JSON hint files. For additional information, see Converting Spring Boot Executable Jar.
+The following is an example of the command output:
+ oractl:>compile --artifact-path /Users/cdebari/demo-0.0.1-SNAPSHOT.jar
+ uploading: /Users/cdebari/demo-0.0.1-SNAPSHOT.jar
+ filename: demo-0.0.1-SNAPSHOT.jar
+ return: demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b
+ return: Shell script execution started on: demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b
+ successfully start compilation of: demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b
+ oractl:>
+
The following example shows the generated batch ID that must be used to retrieve the log files, download the compiled file, and purge the service instance:
+demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b
+If omitted, then the last batch is considered by default.
+
+- Use the
compile-logs
command to retrieve the logs that show the compilation progress. For example:
+
+oractl:>help compile-logs
+NAME
+ compile-logs - Compilation progress.
+
+SYNOPSIS
+ compile-logs --batch String --help
+
+OPTIONS
+ --batch String
+ File ID returned from the compile command. If not provided by default, then the last file compiled.
+ [Optional]
+
+ --help or -h
+ help for compile-logs
+ [Optional]
+
As previously mentioned, if the batch ID is not provided, then the logs of the most recently executed compilation are returned. For example:
+ oractl:>compile-logs
+
+ extracted: BOOT-INF/lib/spring-jcl-6.0.11.jar
+ extracted: BOOT-INF/lib/spring-boot-jarmode-layertools-3.1.2.jar
+ inflated: BOOT-INF/classpath.idx
+ inflated: BOOT-INF/layers.idx
+ ========================================================================================================================
+ GraalVM Native Image: Generating 'demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b.exec' (executable)...
+ ========================================================================================================================
+ For detailed information and explanations on the build output, visit:
+ https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
+ ------------------------------------------------------------------------------------------------------------------------
+
If the compile-logs
commands returns a Finished generating message, then download the .exec file. For example:
+ CPU: Enable more CPU features with '-march=native' for improved performance.
+ QBM: Use the quick build mode ('-Ob') to speed up builds during development.
+ ------------------------------------------------------------------------------------------------------------------------
+ 155.3s (8.2% of total time) in 169 GCs | Peak RSS: 5.34GB | CPU load: 0.70
+ ------------------------------------------------------------------------------------------------------------------------
+ Produced artifacts:
+ /uploads/demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b.temp/demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b.exec (executable)
+ ========================================================================================================================
+ Finished generating 'demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b.exec' in 31m 30s.
+ Compiling Complete.
+
+- Use the
compile-download
command to download the generated .exec file. For example:
+
+oractl:>help compile-download
+ NAME
+ compile-download - Download the compiled executable file.
+
+ SYNOPSIS
+ compile-download --batch String --help
+
+ OPTIONS
+ --batch String
+ File ID to download as the executable file. If not provided by default, then the last file compiled.
+ [Optional]
+
+ --help or -h
+ help for compile-download
+ [Optional]
+
You can choose to use the batch ID if you need the last file compiled. The following example specifies the batch ID:
+ oractl:>compile-download --batch demo-0.0.1-SNAPSHOT.jar_24428206-7d71-423f-8ef5-7d779977535b
+
+ File downloaded successfully to:
+ /Users/cdebari/demo-0.0.1-SNAPSHOT.jar.exec
+
+- Use the
compile-purge
command to delete all of the artifacts generated on the GraalVM compiler service after downloading the .exec file:
+
+ oractl:>help compile-purge
+ NAME
+ compile-purge - Delete a launched job.
+
+ SYNOPSIS
+ compile-purge --batch String --help
+
+ OPTIONS
+ --batch String
+ File ID returned from compile command. If not provided by default, then the last file compiled.
+ [Optional]
+
+ --help or -h
+ help for compile-purge
+ [Optional]
+
diff --git a/spring/development/index.html b/spring/development/index.html
index fb2754659..6381e961a 100644
--- a/spring/development/index.html
+++ b/spring/development/index.html
@@ -734,7 +734,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/development/starters/index.html b/spring/development/starters/index.html
index c5f22ee11..1a06bb2e7 100644
--- a/spring/development/starters/index.html
+++ b/spring/development/starters/index.html
@@ -734,7 +734,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/getting-started/index.html b/spring/getting-started/index.html
index d001d16e9..372097ad5 100644
--- a/spring/getting-started/index.html
+++ b/spring/getting-started/index.html
@@ -744,7 +744,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/index.html b/spring/index.html
index ca2b2dfb7..5dd9ed93b 100644
--- a/spring/index.html
+++ b/spring/index.html
@@ -706,7 +706,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/observability/index.html b/spring/observability/index.html
index 158403774..1fa243057 100644
--- a/spring/observability/index.html
+++ b/spring/observability/index.html
@@ -744,7 +744,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/observability/metrics/index.html b/spring/observability/metrics/index.html
index 2c8635a49..aac97352a 100644
--- a/spring/observability/metrics/index.html
+++ b/spring/observability/metrics/index.html
@@ -741,7 +741,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/observability/tracing/index.html b/spring/observability/tracing/index.html
index 20df9672f..480743ab1 100644
--- a/spring/observability/tracing/index.html
+++ b/spring/observability/tracing/index.html
@@ -738,7 +738,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/on-premises/index.html b/spring/on-premises/index.html
index e8bc35c49..1da9722de 100644
--- a/spring/on-premises/index.html
+++ b/spring/on-premises/index.html
@@ -747,7 +747,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/on-premises/macos_ventura/index.html b/spring/on-premises/macos_ventura/index.html
index d1f9ec995..eb6637436 100644
--- a/spring/on-premises/macos_ventura/index.html
+++ b/spring/on-premises/macos_ventura/index.html
@@ -747,7 +747,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/on-premises/ol8/index.html b/spring/on-premises/ol8/index.html
index cd1f4e323..ab77be466 100644
--- a/spring/on-premises/ol8/index.html
+++ b/spring/on-premises/ol8/index.html
@@ -747,7 +747,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/platform/apigw/index.html b/spring/platform/apigw/index.html
index 41cacf61d..fefb724ce 100644
--- a/spring/platform/apigw/index.html
+++ b/spring/platform/apigw/index.html
@@ -741,7 +741,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
diff --git a/spring/platform/conductor/index.html b/spring/platform/conductor/index.html
index 29bfe3fca..8d8a6c2e1 100644
--- a/spring/platform/conductor/index.html
+++ b/spring/platform/conductor/index.html
@@ -747,7 +747,7 @@ Navigation
href="/microservices-datadriven/spring/platform/config"
class="gdoc-nav__entry"
>
- Configuration
+ Spring Config Server
@@ -2314,10 +2314,10 @@
gdoc_arrow_left_alt
- Configuration
+ Spring Config Server
diff --git a/spring/platform/config/index.html b/spring/platform/config/index.html
index eae66853f..d89f2654d 100644
--- a/spring/platform/config/index.html
+++ b/spring/platform/config/index.html
@@ -13,9 +13,9 @@
+The Spring Cloud Config server is pre-configured to work with the Spring Boot Eureka service registry, configured to store the Configuration in the Oracle Autonomous Database to support labeled versions of configuration environments as well as being accessible to a wide range of tools for managing the content." />
- Configuration | Oracle Backend for Spring Boot and Microservices
+ Spring Config Server | Oracle Backend for Spring Boot and Microservices
+The Spring Cloud Config server is pre-configured to work with the Spring Boot Eureka service registry, configured to store the Configuration in the Oracle Autonomous Database to support labeled versions of configuration environments as well as being accessible to a wide range of tools for managing the content." />
@@ -48,9 +48,9 @@
-
+
+The Spring Cloud Config server is pre-configured to work with the Spring Boot Eureka service registry, configured to store the Configuration in the Oracle Autonomous Database to support labeled versions of configuration environments as well as being accessible to a wide range of tools for managing the content." />