Skip to content

Commit 9a1ac08

Browse files
authored
include multi-stack version setup in registry guide (#154)
* include multi-stack version setup in registry guide Signed-off-by: Stephanie <[email protected]> * modify back the rest api link Signed-off-by: Stephanie <[email protected]> * make suggested changes in pr review Signed-off-by: Stephanie <[email protected]>
1 parent 34b8333 commit 9a1ac08

File tree

7 files changed

+295
-61
lines changed

7 files changed

+295
-61
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
:description: Adding a stack.yaml file
2+
:navtitle: {description}
3+
:keywords: devfile
4+
5+
include::partial$proc_adding-a-stack-yaml-file.adoc[]
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
:description: Creating a Devfile stack
2+
:navtitle: {description}
3+
:keywords: devfile
4+
5+
include::partial$proc_creating-a-devfile-stack.adoc[]

docs/modules/user-guide/partials/assembly_devfile-registry.adoc

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,7 @@ Get started with devfile registries:
1919
* xref:building-a-custom-devfile-registry.adoc[]
2020
* xref:deploying-a-devfile-registry.adoc[]
2121
* xref:adding-a-registry-schema.adoc[]
22+
* xref:creating-a-devfile-stack.adoc[]
23+
* xref:adding-a-stack-yaml-file.adoc[]
2224
23-
For more information on the devfile registry, see the link:https://github.com/johnmcollier/registry-docs/blob/main/registry-REST-API.adoc[Registry REST API].
25+
For more information on the devfile registry, see the link:https://github.com/johnmcollier/registry-docs/blob/main/registry-REST-API.adoc[Registry REST API].

docs/modules/user-guide/partials/proc_adding-a-registry-schema.adoc

Lines changed: 203 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -44,54 +44,112 @@ To add samples and stacks from other repositories, place the `extraDevfileEntrie
4444
| `git`
4545
| `git`
4646
| The information of remote repositories.
47+
48+
| `versions`
49+
| `version[]`
50+
| The information of each stack or sample version.
51+
|===
52+
53+
.version schema
54+
[cols="3*"]
55+
|===
56+
|Name |Type |Description
57+
58+
|`version`
59+
| `string`
60+
| The stack version.
61+
62+
|`schemaVersion`
63+
| `string`
64+
| The devfile schema version.
65+
66+
|`default`
67+
| `boolean`
68+
| The default stack version.
69+
70+
| `git`
71+
| `git`
72+
| The information of remote repositories.
73+
74+
| `description`
75+
| `string`
76+
| The description of the stack version.
77+
78+
| `tags`
79+
| `string[]`
80+
| The tags associated to the stack version.
81+
82+
| `icon`
83+
| `string`
84+
| Icon of the stack version.
85+
86+
| `architectures`
87+
| `string[]`
88+
| The architectures associated to the stack version.
4789
|===
4890

4991
.extraDevfileEntries.yaml sample
5092

5193
====
5294
----
53-
schemaVersion: 1.0.0
95+
schemaVersion: 2.0.0
5496
samples:
5597
- name: nodejs-basic
56-
displayName: Basic NodeJS
98+
displayName: Basic Node.js
5799
description: A simple Hello World Node.js application
58-
icon: https://github.com/maysunfaisal/node-bulletin-board-2/blob/main/nodejs-icon.png
100+
icon: https://nodejs.org/static/images/logos/nodejs-new-pantone-black.svg
59101
tags: ["NodeJS", "Express"]
60102
projectType: nodejs
61103
language: nodejs
62-
git:
63-
remotes:
64-
origin: https://github.com/redhat-developer/devfile-sample.git
104+
versions:
105+
- version: 1.1.0
106+
schemaVersion: 2.2.0
107+
default: true
108+
description: nodejs with devfile v2.2.0
109+
git:
110+
remotes:
111+
origin: https://github.com/nodeshift-starters/devfile-sample.git
65112
- name: code-with-quarkus
66113
displayName: Basic Quarkus
67114
description: A simple Hello World Java application using Quarkus
68-
icon: .devfile/icon/quarkus.png
115+
icon: https://design.jboss.org/quarkus/logo/final/SVG/quarkus_icon_rgb_default.svg
69116
tags: ["Java", "Quarkus"]
70117
projectType: quarkus
71118
language: java
72-
git:
73-
remotes:
74-
origin: https://github.com/elsony/devfile-sample-code-with-quarkus.git
119+
versions:
120+
- version: 1.1.0
121+
schemaVersion: 2.2.0
122+
default: true
123+
description: java quarkus with devfile v2.2.0
124+
git:
125+
remotes:
126+
origin: https://github.com/devfile-samples/devfile-sample-code-with-quarkus.git
127+
- version: 1.0.0
128+
schemaVersion: 2.0.0
129+
description: java quarkus with devfile v2.0.0
130+
git:
131+
remotes:
132+
origin: https://github.com/elsony/devfile-sample-code-with-quarkus.git
75133
- name: java-springboot-basic
76134
displayName: Basic Spring Boot
77135
description: A simple Hello World Java Spring Boot application using Maven
78-
icon: .devfile/icon/spring-logo.png
136+
icon: https://spring.io/images/projects/spring-edf462fec682b9d48cf628eaf9e19521.svg
79137
tags: ["Java", "Spring"]
80138
projectType: springboot
81139
language: java
82140
git:
83141
remotes:
84-
origin: https://github.com/elsony/devfile-sample-java-springboot-basic.git
142+
origin: https://github.com/devfile-samples/devfile-sample-java-springboot-basic.git
85143
- name: python-basic
86144
displayName: Basic Python
87145
description: A simple Hello World application using Python
88-
icon: .devfile/icon/python.png
146+
icon: https://www.python.org/static/community_logos/python-logo-generic.svg
89147
tags: ["Python"]
90148
projectType: python
91149
language: python
92150
git:
93151
remotes:
94-
origin: https://github.com/elsony/devfile-sample-python-basic.git
152+
origin: https://github.com/devfile-samples/devfile-sample-python-basic.git
95153
----
96154
====
97155

@@ -107,45 +165,80 @@ The `index.json` file contains metadata for the stacks and samples in the regist
107165
| `string`
108166
| The stack name.
109167

110-
| `version`
111-
| `string`
112-
| The stack version.
168+
| `versions`
169+
| `version[]`
170+
| The information of each stack or sample version.
113171

114172
| `attributes`
115173
| `map[string]apiext.JSON`
116174
| Map of implementation-dependant free-form YAML attributes.
117175

118176
| `displayName`
119177
| `string`
120-
| The display name of a devfile.
178+
| The display name of a stack.
121179

122180
| `description`
123181
| `string`
124-
| The description of a devfile.
182+
| The description of a stack.
125183

126184
| `type`
127185
| `DevfileType`
128-
| The type of a devfile that currently supports stacks and samples.
186+
| The type: stack or sample.
129187

130188
| `tags`
131189
| `string[]`
132-
| The tags for a devfile.
190+
| The tags for a stack.
133191

134192
| `icon`
135193
| `string`
136-
| A devfile icon.
194+
| A stack icon.
137195

138196
| `globalMemoryLimit`
139197
| `string`
140-
| A devfile global memory limit.
198+
| A stack global memory limit.
141199

142200
| `projectType`
143201
| `string`
144-
| The project framework that is used in a devfile.
202+
| The project framework that is used in a stack.
145203

146-
| `language`
204+
|===
205+
206+
.version schema
207+
[cols="3*"]
208+
|===
209+
|Name |Type |Description
210+
211+
|`version`
147212
| `string`
148-
| The project language that is used in a devfile.
213+
| The stack version.
214+
215+
|`schemaVersion`
216+
| `string`
217+
| The devfile schema version.
218+
219+
|`default`
220+
| `boolean`
221+
| The default stack version.
222+
223+
| `git`
224+
| `git`
225+
| The information of remote repositories.
226+
227+
| `description`
228+
| `string`
229+
| The description of the stack version.
230+
231+
| `tags`
232+
| `string[]`
233+
| The tags associated to the stack version.
234+
235+
| `icon`
236+
| `string`
237+
| Icon of the stack version.
238+
239+
| `architectures`
240+
| `string[]`
241+
| The architectures associated to the stack version.
149242

150243
| `links`
151244
| `map[string]string`
@@ -155,59 +248,110 @@ The `index.json` file contains metadata for the stacks and samples in the regist
155248
| `string[]`
156249
| The file resources that compose a devfile stack.
157250

158-
| `tarterProjects`
251+
| `starterProjects`
159252
| `string[]`
160253
| The project templates that can be used in a devfile.
161-
162-
| `git`
163-
| `git`
164-
| The information of remote repositories.
165-
166254
|===
167255

168256
.Index.json sample
169257

170258
====
171259
----
172260
[
261+
{
262+
"name": "go",
263+
"displayName": "Go Runtime",
264+
"description": "Stack with the latest Go version",
265+
"type": "stack",
266+
"tags": [
267+
"Go",
268+
"testtag"
269+
],
270+
"icon": "https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/golang.svg",
271+
"projectType": "go",
272+
"language": "go",
273+
"provider": "Red Hat",
274+
"versions": [
275+
{
276+
"version": "1.1.0",
277+
"schemaVersion": "2.0.0",
278+
"default": true,
279+
"description": "Stack with the latest Go version with devfile v2.0.0 schema verison",
280+
"tags": [
281+
"Go"
282+
],
283+
"icon": "https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/golang.svg",
284+
"links": {
285+
"self": "devfile-catalog/go:1.1.0"
286+
},
287+
"resources": [
288+
"devfile.yaml"
289+
],
290+
"starterProjects": [
291+
"go-starter"
292+
]
293+
},
294+
{
295+
"version": "1.2.0",
296+
"schemaVersion": "2.1.0",
297+
"description": "Stack with the latest Go version with devfile v2.1.0 schema verison",
298+
"tags": [
299+
"testtag"
300+
],
301+
"icon": "https://raw.githubusercontent.com/devfile-samples/devfile-stack-icons/main/golang.svg",
302+
"links": {
303+
"self": "devfile-catalog/go:1.2.0"
304+
},
305+
"resources": [
306+
"devfile.yaml"
307+
],
308+
"starterProjects": [
309+
"go-starter"
310+
]
311+
}
312+
]
313+
},
173314
{
174315
"name": "java-maven",
175-
"version": "1.1.0",
176316
"displayName": "Maven Java",
177317
"description": "Upstream Maven and OpenJDK 11",
178318
"type": "stack",
179319
"tags": [
180320
"Java",
181321
"Maven"
182322
],
183-
"projectType": "maven",
184-
"language": "java",
185-
"links": {
186-
"self": "devfile-catalog/java-maven:latest"
187-
},
188-
"resources": [
189-
"devfile.yaml"
323+
"architectures": [
324+
"amd64",
325+
"arm64",
326+
"s390x"
190327
],
191-
"starterProjects": [
192-
"springbootproject"
193-
]
194-
},
195-
{
196-
"name": "java-openliberty",
197-
"version": "0.5.0",
198-
"displayName": "Open Liberty",
199-
"description": "Java application stack using Open Liberty runtime",
200-
"type": "stack",
201-
"projectType": "docker",
328+
"projectType": "maven",
202329
"language": "java",
203-
"links": {
204-
"self": "devfile-catalog/java-openliberty:latest"
205-
},
206-
"resources": [
207-
"devfile.yaml"
208-
],
209-
"starterProjects": [
210-
"user-app"
330+
"versions": [
331+
{
332+
"version": "1.1.0",
333+
"schemaVersion": "2.1.0",
334+
"default": true,
335+
"description": "Upstream Maven and OpenJDK 11",
336+
"tags": [
337+
"Java",
338+
"Maven"
339+
],
340+
"architectures": [
341+
"amd64",
342+
"arm64",
343+
"s390x"
344+
],
345+
"links": {
346+
"self": "devfile-catalog/java-maven:1.1.0"
347+
},
348+
"resources": [
349+
"devfile.yaml"
350+
],
351+
"starterProjects": [
352+
"springbootproject"
353+
]
354+
}
211355
]
212356
}
213357
]

0 commit comments

Comments
 (0)