Compare commits
2 commits
0ce74443fc
...
9b251cab9f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b251cab9f | ||
|
|
cc5b47b426 |
13 changed files with 677 additions and 0 deletions
|
|
@ -17,6 +17,7 @@
|
|||
<quarkus.platform.group-id>com.redhat.quarkus</quarkus.platform.group-id>
|
||||
<quarkus.platform.version>1.11.6.Final-redhat-00001</quarkus.platform.version>
|
||||
<surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
|
||||
<!-- Property to force using Deployments over DeploymentConfig objects goes here. -->
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
|
|
@ -135,6 +136,7 @@
|
|||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<!-- Adding the jkube plugin configuration here -->
|
||||
</plugins>
|
||||
</build>
|
||||
<properties>
|
||||
|
|
|
|||
5
todo-api/.dockerignore
Normal file
5
todo-api/.dockerignore
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
*
|
||||
!target/*-runner
|
||||
!target/*-runner.jar
|
||||
!target/lib/*
|
||||
!target/quarkus-app/*
|
||||
39
todo-api/.gitignore
vendored
Normal file
39
todo-api/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
#Maven
|
||||
target/
|
||||
pom.xml.tag
|
||||
pom.xml.releaseBackup
|
||||
pom.xml.versionsBackup
|
||||
release.properties
|
||||
|
||||
# Eclipse
|
||||
.project
|
||||
.classpath
|
||||
.settings/
|
||||
bin/
|
||||
|
||||
# IntelliJ
|
||||
.idea
|
||||
*.ipr
|
||||
*.iml
|
||||
*.iws
|
||||
|
||||
# NetBeans
|
||||
nb-configuration.xml
|
||||
|
||||
# Visual Studio Code
|
||||
.vscode
|
||||
.factorypath
|
||||
|
||||
# OSX
|
||||
.DS_Store
|
||||
|
||||
# Vim
|
||||
*.swp
|
||||
*.swo
|
||||
|
||||
# patch
|
||||
*.orig
|
||||
*.rej
|
||||
|
||||
# Local environment
|
||||
.env
|
||||
50
todo-api/README.md
Normal file
50
todo-api/README.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# todo-api project
|
||||
|
||||
This project uses Quarkus, the Supersonic Subatomic Java Framework.
|
||||
|
||||
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
|
||||
|
||||
## Running the application in dev mode
|
||||
|
||||
You can run your application in dev mode that enables live coding using:
|
||||
```shell script
|
||||
./mvnw compile quarkus:dev
|
||||
```
|
||||
|
||||
## Packaging and running the application
|
||||
|
||||
The application can be packaged using:
|
||||
```shell script
|
||||
./mvnw package
|
||||
```
|
||||
It produces the `todo-api-1.0.0-SNAPSHOT-runner.jar` file in the `/target` directory.
|
||||
Be aware that it’s not an _über-jar_ as the dependencies are copied into the `target/lib` directory.
|
||||
|
||||
If you want to build an _über-jar_, execute the following command:
|
||||
```shell script
|
||||
./mvnw package -Dquarkus.package.type=uber-jar
|
||||
```
|
||||
|
||||
The application is now runnable using `java -jar target/todo-api-1.0.0-SNAPSHOT-runner.jar`.
|
||||
|
||||
## Creating a native executable
|
||||
|
||||
You can create a native executable using:
|
||||
```shell script
|
||||
./mvnw package -Pnative
|
||||
```
|
||||
|
||||
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
|
||||
```shell script
|
||||
./mvnw package -Pnative -Dquarkus.native.container-build=true
|
||||
```
|
||||
|
||||
You can then execute your native executable with: `./target/todo-api-1.0.0-SNAPSHOT-runner`
|
||||
|
||||
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.html.
|
||||
|
||||
# RESTEasy JAX-RS
|
||||
|
||||
<p>A Hello World RESTEasy resource</p>
|
||||
|
||||
Guide: https://quarkus.io/guides/rest-json
|
||||
171
todo-api/pom.xml
Normal file
171
todo-api/pom.xml
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>com.redhat.training.openshift.todoapi</groupId>
|
||||
<artifactId>todo-api</artifactId>
|
||||
<version>1.0.0-SNAPSHOT</version>
|
||||
<properties>
|
||||
<compiler-plugin.version>3.8.1</compiler-plugin.version>
|
||||
<maven.compiler.parameters>true</maven.compiler.parameters>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
|
||||
<quarkus-plugin.version>1.11.7.Final-redhat-00009</quarkus-plugin.version>
|
||||
<quarkus.platform.artifact-id>quarkus-universe-bom</quarkus.platform.artifact-id>
|
||||
<quarkus.platform.group-id>com.redhat.quarkus</quarkus.platform.group-id>
|
||||
<quarkus.platform.version>1.11.7.Final-redhat-00009</quarkus.platform.version>
|
||||
<surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
|
||||
<jkube.build.switchToDeployment>true</jkube.build.switchToDeployment>
|
||||
</properties>
|
||||
<dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>${quarkus.platform.group-id}</groupId>
|
||||
<artifactId>${quarkus.platform.artifact-id}</artifactId>
|
||||
<version>${quarkus.platform.version}</version>
|
||||
<type>pom</type>
|
||||
<scope>import</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
</dependencyManagement>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-arc</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-resteasy</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-junit5</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.rest-assured</groupId>
|
||||
<artifactId>rest-assured</artifactId>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-resteasy-jsonb</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-hibernate-orm-panache</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-hibernate-orm</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-jdbc-mysql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-hibernate-orm-rest-data-panache</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<repositories>
|
||||
<repository>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
<id>redhat</id>
|
||||
<url>https://maven.repository.redhat.com/ga</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
<pluginRepositories>
|
||||
<pluginRepository>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
<id>redhat</id>
|
||||
<url>https://maven.repository.redhat.com/ga</url>
|
||||
</pluginRepository>
|
||||
</pluginRepositories>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>io.quarkus</groupId>
|
||||
<artifactId>quarkus-maven-plugin</artifactId>
|
||||
<version>${quarkus-plugin.version}</version>
|
||||
<extensions>true</extensions>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>build</goal>
|
||||
<goal>generate-code</goal>
|
||||
<goal>generate-code-tests</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>${compiler-plugin.version}</version>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-surefire-plugin</artifactId>
|
||||
<version>${surefire-plugin.version}</version>
|
||||
<configuration>
|
||||
<systemPropertyVariables>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<maven.home>${maven.home}</maven.home>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.eclipse.jkube</groupId>
|
||||
<artifactId>openshift-maven-plugin</artifactId>
|
||||
<version>1.2.0</version>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>native</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>native</name>
|
||||
</property>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-failsafe-plugin</artifactId>
|
||||
<version>${surefire-plugin.version}</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<goals>
|
||||
<goal>integration-test</goal>
|
||||
<goal>verify</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<systemPropertyVariables>
|
||||
<native.image.path>${project.build.directory}/${project.build.finalName}-runner</native.image.path>
|
||||
<java.util.logging.manager>org.jboss.logmanager.LogManager</java.util.logging.manager>
|
||||
<maven.home>${maven.home}</maven.home>
|
||||
</systemPropertyVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<properties>
|
||||
<quarkus.package.type>native</quarkus.package.type>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
||||
54
todo-api/src/main/docker/Dockerfile.fast-jar
Normal file
54
todo-api/src/main/docker/Dockerfile.fast-jar
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package -Dquarkus.package.type=fast-jar
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.fast-jar -t quarkus/todo-api-fast-jar .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/todo-api-fast-jar
|
||||
#
|
||||
# If you want to include the debug port into your docker image
|
||||
# you will have to expose the debug port (default 5005) like this : EXPOSE 8080 5050
|
||||
#
|
||||
# Then run the container using :
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/todo-api-fast-jar
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
|
||||
|
||||
ARG JAVA_PACKAGE=java-11-openjdk-headless
|
||||
ARG RUN_JAVA_VERSION=1.3.8
|
||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
|
||||
# Install java and the run-java script
|
||||
# Also set up permissions for user `1001`
|
||||
RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
|
||||
&& microdnf update \
|
||||
&& microdnf clean all \
|
||||
&& mkdir /deployments \
|
||||
&& chown 1001 /deployments \
|
||||
&& chmod "g+rwX" /deployments \
|
||||
&& chown 1001:root /deployments \
|
||||
&& curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
|
||||
&& chown 1001 /deployments/run-java.sh \
|
||||
&& chmod 540 /deployments/run-java.sh \
|
||||
&& echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/conf/security/java.security
|
||||
|
||||
# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
|
||||
ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
|
||||
# We make four distinct layers so if there are application changes the library layers can be re-used
|
||||
COPY --chown=1001 target/quarkus-app/lib/ /deployments/lib/
|
||||
COPY --chown=1001 target/quarkus-app/*.jar /deployments/
|
||||
COPY --chown=1001 target/quarkus-app/app/ /deployments/app/
|
||||
COPY --chown=1001 target/quarkus-app/quarkus/ /deployments/quarkus/
|
||||
|
||||
EXPOSE 8080
|
||||
USER 1001
|
||||
|
||||
ENTRYPOINT [ "/deployments/run-java.sh" ]
|
||||
51
todo-api/src/main/docker/Dockerfile.jvm
Normal file
51
todo-api/src/main/docker/Dockerfile.jvm
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in JVM mode
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.jvm -t quarkus/todo-api-jvm .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/todo-api-jvm
|
||||
#
|
||||
# If you want to include the debug port into your docker image
|
||||
# you will have to expose the debug port (default 5005) like this : EXPOSE 8080 5050
|
||||
#
|
||||
# Then run the container using :
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 -p 5005:5005 -e JAVA_ENABLE_DEBUG="true" quarkus/todo-api-jvm
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
|
||||
|
||||
ARG JAVA_PACKAGE=java-11-openjdk-headless
|
||||
ARG RUN_JAVA_VERSION=1.3.8
|
||||
ENV LANG='en_US.UTF-8' LANGUAGE='en_US:en'
|
||||
# Install java and the run-java script
|
||||
# Also set up permissions for user `1001`
|
||||
RUN microdnf install curl ca-certificates ${JAVA_PACKAGE} \
|
||||
&& microdnf update \
|
||||
&& microdnf clean all \
|
||||
&& mkdir /deployments \
|
||||
&& chown 1001 /deployments \
|
||||
&& chmod "g+rwX" /deployments \
|
||||
&& chown 1001:root /deployments \
|
||||
&& curl https://repo1.maven.org/maven2/io/fabric8/run-java-sh/${RUN_JAVA_VERSION}/run-java-sh-${RUN_JAVA_VERSION}-sh.sh -o /deployments/run-java.sh \
|
||||
&& chown 1001 /deployments/run-java.sh \
|
||||
&& chmod 540 /deployments/run-java.sh \
|
||||
&& echo "securerandom.source=file:/dev/urandom" >> /etc/alternatives/jre/conf/security/java.security
|
||||
|
||||
# Configure the JAVA_OPTIONS, you can add -XshowSettings:vm to also display the heap size.
|
||||
ENV JAVA_OPTIONS="-Dquarkus.http.host=0.0.0.0 -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
|
||||
COPY target/lib/* /deployments/lib/
|
||||
COPY target/*-runner.jar /deployments/app.jar
|
||||
|
||||
EXPOSE 8080
|
||||
USER 1001
|
||||
|
||||
ENTRYPOINT [ "/deployments/run-java.sh" ]
|
||||
27
todo-api/src/main/docker/Dockerfile.native
Normal file
27
todo-api/src/main/docker/Dockerfile.native
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
####
|
||||
# This Dockerfile is used in order to build a container that runs the Quarkus application in native (no JVM) mode
|
||||
#
|
||||
# Before building the container image run:
|
||||
#
|
||||
# ./mvnw package -Pnative
|
||||
#
|
||||
# Then, build the image with:
|
||||
#
|
||||
# docker build -f src/main/docker/Dockerfile.native -t quarkus/todo-api .
|
||||
#
|
||||
# Then run the container using:
|
||||
#
|
||||
# docker run -i --rm -p 8080:8080 quarkus/todo-api
|
||||
#
|
||||
###
|
||||
FROM registry.access.redhat.com/ubi8/ubi-minimal:8.3
|
||||
WORKDIR /work/
|
||||
RUN chown 1001 /work \
|
||||
&& chmod "g+rwX" /work \
|
||||
&& chown 1001:root /work
|
||||
COPY --chown=1001:root target/*-runner /work/application
|
||||
|
||||
EXPOSE 8080
|
||||
USER 1001
|
||||
|
||||
CMD ["./application", "-Dquarkus.http.host=0.0.0.0"]
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.redhat.training.openshift.todoapi;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
|
||||
import io.quarkus.hibernate.orm.panache.PanacheEntity;
|
||||
|
||||
@Entity
|
||||
public class Item extends PanacheEntity {
|
||||
public String description;
|
||||
public boolean done;
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
package com.redhat.training.openshift.todoapi;
|
||||
|
||||
|
||||
import io.quarkus.hibernate.orm.rest.data.panache.PanacheEntityResource;
|
||||
import io.quarkus.rest.data.panache.MethodProperties;
|
||||
import io.quarkus.rest.data.panache.ResourceProperties;
|
||||
|
||||
|
||||
@ResourceProperties(path = "/todo/api/items")
|
||||
public interface ItemResource extends PanacheEntityResource<Item, Long> {
|
||||
@MethodProperties(exposed = false)
|
||||
Item add(Item item);
|
||||
|
||||
@MethodProperties(exposed = false)
|
||||
Item update(Long id, Item existingItem);
|
||||
|
||||
@MethodProperties(exposed = false)
|
||||
boolean delete(Long id);
|
||||
}
|
||||
0
todo-api/src/main/jkube/.gitkeep
Normal file
0
todo-api/src/main/jkube/.gitkeep
Normal file
242
todo-api/src/main/resources/META-INF/resources/index.html
Normal file
242
todo-api/src/main/resources/META-INF/resources/index.html
Normal file
|
|
@ -0,0 +1,242 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>todo-api - 1.0.0-SNAPSHOT</title>
|
||||
<style>
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 400;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 2rem
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.75rem
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size: 1.5rem
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size: 1.25rem
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size: 1rem
|
||||
}
|
||||
|
||||
.lead {
|
||||
font-weight: 300;
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.banner {
|
||||
font-size: 2.7rem;
|
||||
margin: 0;
|
||||
padding: 2rem 1rem;
|
||||
background-color: #0d1c2c;
|
||||
color: white;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
}
|
||||
|
||||
code {
|
||||
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
font-size: 87.5%;
|
||||
color: #e83e8c;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.left-column {
|
||||
padding: .75rem;
|
||||
max-width: 75%;
|
||||
min-width: 55%;
|
||||
}
|
||||
|
||||
.right-column {
|
||||
padding: .75rem;
|
||||
max-width: 25%;
|
||||
}
|
||||
|
||||
.container {
|
||||
display: flex;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0.75rem;
|
||||
}
|
||||
|
||||
.right-section {
|
||||
margin-left: 1rem;
|
||||
padding-left: 0.5rem;
|
||||
}
|
||||
|
||||
.right-section h3 {
|
||||
padding-top: 0;
|
||||
font-weight: 200;
|
||||
}
|
||||
|
||||
.right-section ul {
|
||||
border-left: 0.3rem solid #71aeef;
|
||||
list-style-type: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.examples {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin: 20px 0 20px -40px;
|
||||
}
|
||||
|
||||
.example {
|
||||
display: flex;
|
||||
margin-left: 20px;
|
||||
margin-bottom: 20px;
|
||||
flex-direction: column;
|
||||
width: 350px;
|
||||
background-color: #205894;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.example code {
|
||||
color: lightgrey;
|
||||
}
|
||||
|
||||
.example-header {
|
||||
padding: 20px;
|
||||
display: flex;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.example-header h4 {
|
||||
margin: 0;
|
||||
font-size: 1.4rem;
|
||||
flex-grow: 1;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.example-description {
|
||||
padding: 0 20px;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.example-paths {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.example-paths a {
|
||||
display: block;
|
||||
background-color: transparent;
|
||||
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
|
||||
color: white;
|
||||
padding: 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.example-paths a:before {
|
||||
content: '⇨';
|
||||
font-weight: bold;
|
||||
font-size: 1.5rem;
|
||||
margin: 20px;
|
||||
}
|
||||
|
||||
.example-paths a:hover {
|
||||
background-color: #0d1c2c;
|
||||
}
|
||||
|
||||
.guide-link {
|
||||
background-color: #71aeef;
|
||||
position: absolute;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 7px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.guide-link:hover {
|
||||
background-color: #0d1c2c;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="banner lead">
|
||||
Your new Cloud-Native application is ready!
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
<div class="left-column">
|
||||
<p class="lead"> Congratulations, you have created a new Quarkus cloud application.</p>
|
||||
|
||||
<h2>Why do you see this?</h2>
|
||||
|
||||
<p>This page is served by Quarkus. The source is in
|
||||
<code>src/main/resources/META-INF/resources/index.html</code>.</p>
|
||||
|
||||
<h2>What can I do from here?</h2>
|
||||
|
||||
<p>If not already done, run the application in <em>dev mode</em> using: <code>./mvnw compile quarkus:dev</code>.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Play with your example code in <code>src/main/java</code>:
|
||||
<div class="examples">
|
||||
<div class="example">
|
||||
<div class="example-header">
|
||||
<h4>RESTEasy JAX-RS</h4>
|
||||
<a href="https://quarkus.io/guides/rest-json" target="_blank" class="guide-link">Guide</a>
|
||||
</div>
|
||||
<div class="example-description">
|
||||
<p>A Hello World RESTEasy resource</p>
|
||||
|
||||
</div>
|
||||
<div class="example-paths">
|
||||
<a href="/todo/api/items" class="path-link" target="_blank">GET /todo/api/items</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</li>
|
||||
<li>Your static assets are located in <code>src/main/resources/META-INF/resources</code>.</li>
|
||||
<li>Configure your application in <code>src/main/resources/application.properties</code>.</li>
|
||||
</ul>
|
||||
<h2>Do you like Quarkus?</h2>
|
||||
<p>Go give it a star on <a href="https://github.com/quarkusio/quarkus">GitHub</a>.</p>
|
||||
</div>
|
||||
<div class="right-column">
|
||||
<div class="right-section">
|
||||
<h3>Application</h3>
|
||||
<ul>
|
||||
<li>GroupId: com.redhat.training.openshift.todoapi</li>
|
||||
<li>ArtifactId: todo-api</li>
|
||||
<li>Version: 1.0.0-SNAPSHOT</li>
|
||||
<li>Quarkus Version: 1.11.7.Final-redhat-00009</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="right-section">
|
||||
<h3>Next steps</h3>
|
||||
<ul>
|
||||
<li><a href="https://quarkus.io/guides/maven-tooling.html" target="_blank">Setup your IDE</a></li>
|
||||
<li><a href="https://quarkus.io/guides/getting-started.html" target="_blank">Getting started</a></li>
|
||||
<li><a href="https://quarkus.io" target="_blank">Quarkus Web Site</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
5
todo-api/src/main/resources/application.properties
Normal file
5
todo-api/src/main/resources/application.properties
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
quarkus.datasource.db-kind = mysql
|
||||
quarkus.datasource.username = ${DATABASE_USER}
|
||||
quarkus.datasource.password = ${DATABASE_PASSWORD}
|
||||
quarkus.datasource.jdbc.url = jdbc:mysql://${DATABASE_SVC_HOSTNAME}:3306/${DATABASE_NAME}
|
||||
Loading…
Add table
Reference in a new issue