Fix file mess. Update micro-java endpoints, test, deployment file and pom.
This commit is contained in:
parent
98139f4401
commit
408c9919b1
5 changed files with 81 additions and 247 deletions
|
|
@ -108,6 +108,19 @@
|
|||
<groupId>org.eclipse.jkube</groupId>
|
||||
<artifactId>openshift-maven-plugin</artifactId>
|
||||
<version>1.2.0</version>
|
||||
<configuration>
|
||||
<resources>
|
||||
<configMap>
|
||||
<name>configmap-hello</name>
|
||||
<entries>
|
||||
<entry>
|
||||
<name>APP_MSG</name>
|
||||
<value>My custom application message.</value>
|
||||
</entry>
|
||||
</entries>
|
||||
</configMap>
|
||||
</resources>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
|
|
|||
|
|
@ -1,16 +1,36 @@
|
|||
package com.redhat.training.openshift.hello;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
import javax.ws.rs.Consumes;
|
||||
import javax.ws.rs.GET;
|
||||
import javax.ws.rs.Path;
|
||||
import javax.ws.rs.Produces;
|
||||
import javax.ws.rs.core.MediaType;
|
||||
|
||||
import org.eclipse.microprofile.config.inject.ConfigProperty;
|
||||
|
||||
@Path("/api")
|
||||
@Produces(MediaType.TEXT_PLAIN)
|
||||
@Consumes(MediaType.TEXT_PLAIN)
|
||||
public class HelloResource {
|
||||
|
||||
@ConfigProperty(name = "HOSTNAME", defaultValue = "unknown")
|
||||
String hostname;
|
||||
@ConfigProperty(name = "APP_MSG")
|
||||
Optional<String> message;
|
||||
|
||||
@GET
|
||||
@Produces(MediaType.TEXT_PLAIN)
|
||||
@Path("/hello")
|
||||
public String hello() {
|
||||
return "Hello RESTEasy";
|
||||
String response = "";
|
||||
|
||||
if (!message.isPresent()) {
|
||||
response = "Hello world from host " + hostname + "\n";
|
||||
} else {
|
||||
response = "Hello world from host [" + hostname + "].\n";
|
||||
response += "Message received = " + message.get() + "\n";
|
||||
}
|
||||
return response;
|
||||
}
|
||||
}
|
||||
41
micro-java/src/main/jkube/deployment.yml
Normal file
41
micro-java/src/main/jkube/deployment.yml
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
spec:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 2
|
||||
selector:
|
||||
app: micro-java
|
||||
provider: jkube
|
||||
group: com.redhat.training.openshift.hello
|
||||
strategy:
|
||||
rollingParams:
|
||||
timeoutSeconds: 3600
|
||||
type: Rolling
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
app.openshift.io/vcs-ref: master
|
||||
jkube.io/git-url: git@github.com:maudemor/DO288-apps.git
|
||||
app.openshift.io/vcs-uri: git@github.com:maudemor/DO288-apps.git
|
||||
jkube.io/git-commit: 3bffad109a77ebd72831d8f791c38df68db28e60
|
||||
jkube.io/git-branch: master
|
||||
labels:
|
||||
app: micro-java
|
||||
provider: jkube
|
||||
version: 1.0.0-SNAPSHOT
|
||||
group: com.redhat.training.openshift.hello
|
||||
spec:
|
||||
containers:
|
||||
- envFrom:
|
||||
- configMapRef:
|
||||
name: configmap-hello
|
||||
env:
|
||||
- name: KUBERNETES_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
image: micro-java:latest
|
||||
imagePullPolicy: IfNotPresent
|
||||
name: quarkus
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: http
|
||||
protocol: TCP
|
||||
|
|
@ -1,242 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>micro-java2 - 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="/api" class="path-link" target="_blank">GET /api</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.hello</li>
|
||||
<li>ArtifactId: micro-java2</li>
|
||||
<li>Version: 1.0.0-SNAPSHOT</li>
|
||||
<li>Quarkus Version: 1.11.6.Final-redhat-00001</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>
|
||||
|
|
@ -1,21 +1,23 @@
|
|||
package com.redhat.training.openshift.hello;
|
||||
|
||||
import io.quarkus.test.common.http.TestHTTPEndpoint;
|
||||
import io.quarkus.test.junit.QuarkusTest;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static io.restassured.RestAssured.given;
|
||||
import static org.hamcrest.CoreMatchers.is;
|
||||
import static org.hamcrest.CoreMatchers.containsString;
|
||||
|
||||
@QuarkusTest
|
||||
@TestHTTPEndpoint(HelloResource.class)
|
||||
public class HelloResourceTest {
|
||||
|
||||
@Test
|
||||
public void testHelloEndpoint() {
|
||||
given()
|
||||
.when().get("/api")
|
||||
.when().get("/hello")
|
||||
.then()
|
||||
.statusCode(200)
|
||||
.body(is("Hello RESTEasy"));
|
||||
.body(containsString("Hello world from"));
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue