Skip to content
This repository was archived by the owner on Apr 16, 2025. It is now read-only.

Commit 9a24d78

Browse files
authored
Merge pull request #8 from redhat-developer/updateRegistry
Miscellaneous updates to the registry
2 parents b65dfce + 27ff9c2 commit 9a24d78

File tree

4 files changed

+317
-4
lines changed

4 files changed

+317
-4
lines changed

.ci/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@ RUN git clone https://github.com/devfile/registry-support.git /registry-support
1515
# Run the registry build tools
1616
RUN /registry-support/build-tools/build.sh /registry /build
1717

18-
FROM quay.io/devfile/devfile-index-base:next
18+
FROM quay.io/devfile/devfile-index-base:no-community
1919

2020
COPY --from=builder /build /registry

CONTRIBUTING.md

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
# Contributing to this registry
2+
3+
This document outlines the requirements for contributing a devfile stack or sample to this repository.
4+
5+
The [devfile registry structure](https://github.com/devfile/api/blob/main/docs/proposals/registry/registry-structure.md#repository-structure) design doc provides some useful background information on the structure of resources in a devfile registry (and its Git repository).
6+
7+
## Prerequisites
8+
9+
The following are required to build the devfile index container image containing your stack or sample:
10+
11+
- Docker 17.06 or later
12+
- Git
13+
14+
## Stacks
15+
16+
### Contributing
17+
18+
1) Verify your Devfile stack functions with odo.
19+
20+
- Core odo functions such as `odo create --devfile <devfile.yaml>`, `odo push`, `odo url create` should work with the devfile.
21+
- PR tests on this repository will verify this functionality as well.
22+
23+
2) Verify your Devfile stack has the following metadata fields at a minimum:
24+
25+
- Name: The name of the devfile stack, e.g. `java-springboot`.
26+
- Display Name: The longer name of your devfile stack, e.g. `Spring Boot®`.
27+
- Description: A brief description of your devfile stack, e.g. `Spring Boot® using Java`.
28+
- Version: The version of your stack, in semnatic version format, e.g. `1.0.0`.
29+
30+
2) Add a folder for the stack to `stacks/` in this repository.
31+
32+
- Make sure the name matches the devfile stack's name and be in the format `<language>-<framework>`. E.g. `java-quarkus`, `python-django`, etc.
33+
34+
3) Add the devfile.yaml and any other necessary files for the stack under the stack folder.
35+
36+
4) Run the `.ci/build.sh` to build the registry into a container image.
37+
38+
- This will also validate the devfiles in this repository, making sure they conform to a minimum standard.
39+
- This step will also be run in the PR build for the repository.
40+
41+
5) Open a pull request against this repository with a brief description of the change.
42+
43+
44+
### Updating
45+
46+
Updating an existing devfile stack is relatively straightforward:
47+
48+
1) Find the stack under the `stacks/` folder that you wish to update.
49+
2) Make the necessary changes to the stack, such as: updating image tags, commands, starter projects, etc.
50+
3) Update the version of stack, following the [semantic versioning format](https://semver.org/).
51+
4) Test your changes:
52+
53+
- Minimally, testing with odo (`odo create`, `odo push`, etc) is recommended, however if your Devfile is used with other tools, it's recommended to test there as well.
54+
5) Open a pull request against this repository with your changes.
55+
56+
## Samples
57+
58+
### Contributing
59+
60+
The devfile samples used in this devfile registry are stored in the `extraDevfileEntries.yaml` file in the root of the repository. To add a devfile sample:
61+
62+
1) Open `extraDevfileEntries.yaml` in an editor
63+
2) Add an entry to the file with the following required fields:
64+
```
65+
- name: <sample-name>
66+
displayName: <sample-display-name>
67+
description: <sample-description>
68+
icon: <link-to-sample-icon>
69+
tags: ["comma", "separated", "list", "of", "tags"]
70+
projectType: <sample-project-type>
71+
language: <sample-language>
72+
git:
73+
remotes:
74+
origin: <link-to-sample-git-repository>
75+
```
76+
3) Fill in the fields in the angle brackets based on your sample. Note that there must be only one git remote for the devfile sample.
77+
4) Open a pull request against this repository with your changes.
78+
79+
### Updating
80+
81+
To update a sample:
82+
83+
1) Open `extraDevfileEntries.yaml` in an editor.
84+
2) Find the entry for the sample you wish to update.
85+
3) Make the necessary changes.
86+
4) Open a pull request against this repository with your changes.

stacks/java-jboss-eap-xp-bootable-jar/devfile.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ schemaVersion: 2.0.0
22
metadata:
33
name: java-jboss-eap-xp-bootable-jar
44
version: 1.0.0
5-
displayName: JBoss EAP XP
6-
tags: ["Java", "JBoss"]
7-
projectType: "jboss"
5+
displayName: JBoss EAP XP 2.0 Bootable Jar
6+
description: Java stack with EAP XP 2.0 in bootable Jar mode, OpenJDK 11 and Maven 3.5
7+
tags: ["RHEL8", "Java", "OpenJDK", "Maven", "EAP", "Microprofile", "EAP XP Bootable"]
8+
projectType: "JBoss EAP XP"
89
language: "java"
910
website: https://access.redhat.com/products/red-hat-jboss-enterprise-application-platform/
1011
starterProjects:
Lines changed: 226 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,226 @@
1+
schemaVersion: 2.0.0
2+
metadata:
3+
name: java-jboss-eap-xp
4+
version: 1.0.0
5+
displayName: JBoss EAP XP 2.0
6+
description: Java stack with EAP XP 2.0, OpenJDK 11 and Maven 3.5
7+
tags: ["RHEL8", "Java", "OpenJDK", "Maven", "EAP", "Microprofile", "EAP XP"]
8+
projectType: "JBoss EAP XP"
9+
language: "java"
10+
website: https://access.redhat.com/products/red-hat-jboss-enterprise-application-platform/
11+
starterProjects:
12+
- name: microprofile-config
13+
description: EAP XP 2.0 Eclipse Microprofile Config Quickstart
14+
git:
15+
checkoutFrom:
16+
remote: jboss-developer
17+
revision: xp-2.0.x
18+
remotes:
19+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
20+
subDir: microprofile-config
21+
- name: microprofile-config
22+
description: EAP XP 2.0 Eclipse Microprofile Fault Tolerance Quickstart
23+
git:
24+
checkoutFrom:
25+
remote: jboss-developer
26+
revision: xp-2.0.x
27+
remotes:
28+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
29+
subDir: microprofile-fault-tolerance
30+
- name: microprofile-config
31+
description: EAP XP 2.0 Eclipse Microprofile Health Quickstart
32+
git:
33+
checkoutFrom:
34+
remote: jboss-developer
35+
revision: xp-2.0.x
36+
remotes:
37+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
38+
subDir: microprofile-health
39+
- name: microprofile-config
40+
description: EAP XP 2.0 Eclipse Microprofile JWT Quickstart
41+
git:
42+
checkoutFrom:
43+
remote: jboss-developer
44+
revision: xp-2.0.x
45+
remotes:
46+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
47+
subDir: microprofile-jwt
48+
- name: microprofile-config
49+
description: EAP XP 2.0 Eclipse Microprofile Metrics Quickstart
50+
git:
51+
checkoutFrom:
52+
remote: jboss-developer
53+
revision: xp-2.0.x
54+
remotes:
55+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
56+
subDir: microprofile-metrics
57+
- name: microprofile-config
58+
description: EAP XP 2.0 Eclipse Microprofile OpenAPI Quickstart
59+
git:
60+
checkoutFrom:
61+
remote: jboss-developer
62+
revision: xp-2.0.x
63+
remotes:
64+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
65+
subDir: microprofile-openapi
66+
- name: microprofile-config
67+
description: EAP XP 2.0 Eclipse Microprofile OpenTracing Quickstart
68+
git:
69+
checkoutFrom:
70+
remote: jboss-developer
71+
revision: xp-2.0.x
72+
remotes:
73+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
74+
subDir: microprofile-opentracing
75+
- name: microprofile-config
76+
description: EAP XP 2.0 Eclipse Microprofile REST Client Quickstart
77+
git:
78+
checkoutFrom:
79+
remote: jboss-developer
80+
revision: xp-2.0.x
81+
remotes:
82+
jboss-developer: https://github.com/jboss-developer/jboss-eap-quickstarts.git
83+
subDir: microprofile-rest-client
84+
components:
85+
- name: eap-xp
86+
container:
87+
image: registry.redhat.io/jboss-eap-7/eap-xp2-openjdk11-openshift-rhel8
88+
memoryLimit: 1512Mi
89+
mountSources: true
90+
volumeMounts:
91+
- name: m2-repository
92+
path: /home/jboss/.m2/repository
93+
env:
94+
- name: GC_METASPACE_SIZE
95+
value: '96'
96+
- name: GC_MAX_METASPACE_SIZE
97+
value: '256'
98+
- name: GALLEON_PROVISION_LAYERS
99+
value: 'jaxrs-server,microprofile-platform'
100+
- name: S2I_DESTINATION_DIR
101+
value: '/projects'
102+
- name: STANDALONE_RESTORE
103+
value: /home/jboss/.m2/.lucky
104+
#Overriding s2i image config to use the copied contents and thus avoid the file permissions issue.
105+
- name: GALLEON_LOCAL_MAVEN_REPO
106+
value: '/tmp/galleon-m2-repository'
107+
- name: JBOSS_HOME
108+
value: '/projects/eap'
109+
endpoints:
110+
- name: 'http'
111+
targetPort: 8080
112+
- name: m2-repository
113+
volume:
114+
size: 3Gi
115+
- name: jaeger
116+
container:
117+
image: quay.io/jaegertracing/all-in-one:1.21.0
118+
memoryLimit: 128Mi
119+
endpoints:
120+
- name: 'tracing-ui'
121+
targetPort: 16686
122+
commands:
123+
- id: build
124+
composite:
125+
label: Build and deploy on JBoss EAP-XP Server.
126+
commands:
127+
- compile
128+
- copy-artifact
129+
parallel: false
130+
group:
131+
kind: build
132+
isDefault: true
133+
- id: compile
134+
exec:
135+
label: Compile and package the application
136+
component: eap-xp
137+
commandLine: mvn -Dmaven.test.skip=true -Dcom.redhat.xpaas.repo.jbossorg -s /home/jboss/.m2/settings.xml clean package
138+
workingDir: $PROJECTS_ROOT
139+
group:
140+
kind: build
141+
isDefault: false
142+
- id: copy-artifact
143+
exec:
144+
label: Copy application artifact
145+
component: eap-xp
146+
commandLine: cp target/*.war $JBOSS_HOME/standalone/deployments/ROOT.war
147+
workingDir: $PROJECTS_ROOT
148+
group:
149+
kind: build
150+
isDefault: false
151+
- id: run
152+
exec:
153+
label: Launch JBoss EAP-XP Server
154+
component: eap-xp
155+
commandLine: cp -f $STANDALONE_RESTORE/standalone-openshift.xml $JBOSS_HOME/standalone/configuration/standalone-openshift.xml && $JBOSS_HOME/bin/openshift-launch.sh
156+
workingDir: $PROJECTS_ROOT
157+
hotReloadCapable: true
158+
group:
159+
kind: run
160+
isDefault: true
161+
- id: debug
162+
exec:
163+
label: Launch JBoss EAP-XP Server with debug enabled
164+
component: eap-xp
165+
commandLine: cp -f $STANDALONE_RESTORE/standalone-openshift.xml $JBOSS_HOME/standalone/configuration/standalone-openshift.xml && $JBOSS_HOME/bin/openshift-launch.sh
166+
workingDir: $PROJECTS_ROOT
167+
hotReloadCapable: true
168+
env:
169+
- name: JAVA_OPTS_APPEND
170+
value: '-Xrunjdwp:transport=dt_socket,address=0.0.0.0:$DEBUG_PORT,server=y,suspend=n -Dsun.util.logging.disableCallerCheck=true'
171+
group:
172+
kind: debug
173+
isDefault: true
174+
- id: provision-server
175+
exec:
176+
component: eap-xp
177+
commandLine: /usr/local/s2i/assemble && cp -Rf $JBOSS_HOME .
178+
workingDir: $PROJECTS_ROOT
179+
env:
180+
- name: JBOSS_HOME
181+
value: '/tmp/eap'
182+
group:
183+
kind: build
184+
isDefault: false
185+
- id: store-config
186+
exec:
187+
component: eap-xp
188+
commandLine: mkdir $STANDALONE_RESTORE && cp -f $JBOSS_HOME/standalone/configuration/standalone-openshift.xml $STANDALONE_RESTORE/standalone-openshift.xml
189+
workingDir: $PROJECTS_ROOT
190+
env:
191+
- name: JBOSS_HOME
192+
value: /tmp/eap
193+
group:
194+
kind: build
195+
isDefault: false
196+
#Hack to avoid the file permissions issue with the random openshift user
197+
- id: copy-galleon
198+
exec:
199+
component: eap-xp
200+
commandLine: cp -Rf /opt/jboss/container/wildfly/s2i/galleon/galleon-m2-repository /tmp/. && cp -Rf /opt/eap /tmp/.
201+
workingDir: $PROJECTS_ROOT
202+
group:
203+
kind: build
204+
isDefault: false
205+
- id: init-server
206+
composite:
207+
label: Provision JBoss EAP-XP Server on post-start.
208+
commands:
209+
- copy-galleon
210+
- provision-server
211+
- store-config
212+
parallel: false
213+
group:
214+
kind: build
215+
isDefault: false
216+
- id: cleanup
217+
exec:
218+
component: eap-xp
219+
commandLine: rm -Rf eap
220+
workingDir: $PROJECTS_ROOT
221+
group:
222+
kind: build
223+
isDefault: false
224+
events:
225+
postStart:
226+
- "init-server"

0 commit comments

Comments
 (0)