Skip to content

Commit a181dff

Browse files
Merge branch 'main' into RHCLOUD-39101
2 parents 6383843 + 5172439 commit a181dff

File tree

70 files changed

+2936
-1612
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+2936
-1612
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,6 @@ fmtcoverage.html
2222

2323
# Mac OS specific files
2424
**/.DS_Store
25+
26+
pkg/generated
27+
spec/openapi.json.backup

.tekton/quickstarts-pull-request.yaml

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,10 @@ spec:
118118
description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
119119
name: build-args-file
120120
type: string
121+
- name: buildah-format
122+
default: docker
123+
type: string
124+
description: The format for the resulting image's mediaType. Valid values are oci or docker.
121125
results:
122126
- description: ''
123127
name: IMAGE_URL
@@ -145,7 +149,7 @@ spec:
145149
- name: name
146150
value: init
147151
- name: bundle
148-
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:ded314206f09712b2116deb050b774ae7efef9ab243794334c8e616871a3ffa5
152+
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:bbf313b09740fb39b3343bc69ee94b2a2c21d16a9304f9b7c111c305558fc346
149153
- name: kind
150154
value: task
151155
resolver: bundles
@@ -162,7 +166,7 @@ spec:
162166
- name: name
163167
value: git-clone
164168
- name: bundle
165-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:7939000e2f92fc8b5d2c4ee4ba9000433c5aa7700d2915a1d4763853d5fd1fd4
169+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:90d2d42d17e6276ef45505cbb5a78598e5f5186257d0ee2260b3d4835f1c2d6b
166170
- name: kind
167171
value: task
168172
resolver: bundles
@@ -187,7 +191,7 @@ spec:
187191
- name: name
188192
value: prefetch-dependencies
189193
- name: bundle
190-
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.2@sha256:638949291807f343c7e49076f32d835a1a8c0e8382492a59abc226188bcc129a
194+
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.2@sha256:846a3b883ee729c45a6714ab3a3688f6044a4d352655546d057e43e34b10149e
191195
- name: kind
192196
value: task
193197
resolver: bundles
@@ -224,14 +228,16 @@ spec:
224228
- $(params.build-args[*])
225229
- name: BUILD_ARGS_FILE
226230
value: $(params.build-args-file)
231+
- name: BUILDAH_FORMAT
232+
value: $(params.buildah-format)
227233
runAfter:
228234
- prefetch-dependencies
229235
taskRef:
230236
params:
231237
- name: name
232238
value: buildah
233239
- name: bundle
234-
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.4@sha256:864234f0c4dfb2c537129e19e999274b2c83de4a4bd15771406a20c9f3f4f37d
240+
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.6@sha256:e8648dff9859d89a0dbaedd120eec2e07afbffc850e706d16d0ac479a905efa0
235241
- name: kind
236242
value: task
237243
resolver: bundles
@@ -256,7 +262,7 @@ spec:
256262
- name: name
257263
value: source-build
258264
- name: bundle
259-
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.3@sha256:5bef70bb15a1ac2880632949b7967763b8a19add53687c62fa5152509a2c3985
265+
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.3@sha256:268bf4dba7455ef3871d84bc26de1800b8221a0d1809c9f5101616bccfa84d33
260266
- name: kind
261267
value: task
262268
resolver: bundles
@@ -285,7 +291,7 @@ spec:
285291
- name: name
286292
value: sast-shell-check
287293
- name: bundle
288-
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check:0.1@sha256:4a63982791a1a68f560c486f524ef5b9fdbeee0c16fe079eee3181a2cfd1c1bf
294+
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check:0.1@sha256:cdfb0f552b30e7bb38a87c6b10ea3cd7f8dbf2e3b913fe27319cd9588c6d49e6
289295
- name: kind
290296
value: task
291297
resolver: bundles
@@ -310,7 +316,7 @@ spec:
310316
- name: name
311317
value: sast-unicode-check
312318
- name: bundle
313-
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check:0.3@sha256:bec18fa5e82e801c3f267f29bf94535a5024e72476f2b27cca7271d506abb5ad
319+
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check:0.3@sha256:23c7a716cf5596d5b09e57a13ad20572de2a13d47bf708b13141f5e341845133
314320
- name: kind
315321
value: task
316322
resolver: bundles
@@ -335,7 +341,7 @@ spec:
335341
- name: name
336342
value: deprecated-image-check
337343
- name: bundle
338-
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:c49732039f105de809840be396f83ead8c46f6a6948e1335b76d37e9eb469574
344+
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:f59175d9a0a60411738228dfe568af4684af4aa5e7e05c832927cb917801d489
339345
- name: kind
340346
value: task
341347
resolver: bundles
@@ -357,7 +363,7 @@ spec:
357363
- name: name
358364
value: clair-scan
359365
- name: bundle
360-
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.2@sha256:076d5cde62b55bbfcdda2b4782392256bbda5ad38f839013b4330b3aba70a973
366+
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:a7cc183967f89c4ac100d04ab8f81e54733beee60a0528208107c9a22d3c43af
361367
- name: kind
362368
value: task
363369
resolver: bundles
@@ -377,7 +383,7 @@ spec:
377383
- name: name
378384
value: ecosystem-cert-preflight-checks
379385
- name: bundle
380-
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:365c65ed8dfbd83c4a49300dcb9c74c5c3f027efec0be1a1f0baa9633c29b249
386+
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:9568c51a5158d534248908b9b561cf67d2826ed4ea164ffd95628bb42380e6ec
381387
- name: kind
382388
value: task
383389
resolver: bundles
@@ -399,7 +405,7 @@ spec:
399405
- name: name
400406
value: sast-snyk-check
401407
- name: bundle
402-
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.4@sha256:0fcf74b45da5cb04b0aacf7bc2a2a43d08f846ffda3beabe6caa627450ce0257
408+
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.4@sha256:b487b08bd617d28adb47ee7c217b148b26b22bf906775b9f0ae7055acd042416
403409
- name: kind
404410
value: task
405411
resolver: bundles
@@ -446,7 +452,7 @@ spec:
446452
- name: name
447453
value: apply-tags
448454
- name: bundle
449-
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:e0de426d492e195f59c99d2ea1ca0df7bfb8c689f5d1468fe7f70eb8684b8d02
455+
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:f44be1bf0262471f2f503f5e19da5f0628dcaf968c86272a2ad6b4871e708448
450456
- name: kind
451457
value: task
452458
resolver: bundles
@@ -467,7 +473,7 @@ spec:
467473
- name: name
468474
value: push-dockerfile
469475
- name: bundle
470-
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:59c1489aaa982e636ef675b053ca729f539cc504ff58c54a0f962795698b8732
476+
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:74e982c07a808eaa5b1d8c126cafcbf3cc6ce94c883cf0845b55ce8064674b45
471477
- name: kind
472478
value: task
473479
resolver: bundles

.tekton/quickstarts-push.yaml

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,10 @@ spec:
115115
description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
116116
name: build-args-file
117117
type: string
118+
- name: buildah-format
119+
default: docker
120+
type: string
121+
description: The format for the resulting image's mediaType. Valid values are oci or docker.
118122
results:
119123
- description: ''
120124
name: IMAGE_URL
@@ -142,7 +146,7 @@ spec:
142146
- name: name
143147
value: init
144148
- name: bundle
145-
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:ded314206f09712b2116deb050b774ae7efef9ab243794334c8e616871a3ffa5
149+
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:bbf313b09740fb39b3343bc69ee94b2a2c21d16a9304f9b7c111c305558fc346
146150
- name: kind
147151
value: task
148152
resolver: bundles
@@ -159,7 +163,7 @@ spec:
159163
- name: name
160164
value: git-clone
161165
- name: bundle
162-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:7939000e2f92fc8b5d2c4ee4ba9000433c5aa7700d2915a1d4763853d5fd1fd4
166+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:90d2d42d17e6276ef45505cbb5a78598e5f5186257d0ee2260b3d4835f1c2d6b
163167
- name: kind
164168
value: task
165169
resolver: bundles
@@ -184,7 +188,7 @@ spec:
184188
- name: name
185189
value: prefetch-dependencies
186190
- name: bundle
187-
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.2@sha256:638949291807f343c7e49076f32d835a1a8c0e8382492a59abc226188bcc129a
191+
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.2@sha256:846a3b883ee729c45a6714ab3a3688f6044a4d352655546d057e43e34b10149e
188192
- name: kind
189193
value: task
190194
resolver: bundles
@@ -221,14 +225,16 @@ spec:
221225
- $(params.build-args[*])
222226
- name: BUILD_ARGS_FILE
223227
value: $(params.build-args-file)
228+
- name: BUILDAH_FORMAT
229+
value: $(params.buildah-format)
224230
runAfter:
225231
- prefetch-dependencies
226232
taskRef:
227233
params:
228234
- name: name
229235
value: buildah
230236
- name: bundle
231-
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.4@sha256:864234f0c4dfb2c537129e19e999274b2c83de4a4bd15771406a20c9f3f4f37d
237+
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.6@sha256:e8648dff9859d89a0dbaedd120eec2e07afbffc850e706d16d0ac479a905efa0
232238
- name: kind
233239
value: task
234240
resolver: bundles
@@ -253,7 +259,7 @@ spec:
253259
- name: name
254260
value: source-build
255261
- name: bundle
256-
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.3@sha256:5bef70bb15a1ac2880632949b7967763b8a19add53687c62fa5152509a2c3985
262+
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.3@sha256:268bf4dba7455ef3871d84bc26de1800b8221a0d1809c9f5101616bccfa84d33
257263
- name: kind
258264
value: task
259265
resolver: bundles
@@ -282,7 +288,7 @@ spec:
282288
- name: name
283289
value: sast-shell-check
284290
- name: bundle
285-
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check:0.1@sha256:4a63982791a1a68f560c486f524ef5b9fdbeee0c16fe079eee3181a2cfd1c1bf
291+
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check:0.1@sha256:cdfb0f552b30e7bb38a87c6b10ea3cd7f8dbf2e3b913fe27319cd9588c6d49e6
286292
- name: kind
287293
value: task
288294
resolver: bundles
@@ -307,7 +313,7 @@ spec:
307313
- name: name
308314
value: sast-unicode-check
309315
- name: bundle
310-
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check:0.3@sha256:bec18fa5e82e801c3f267f29bf94535a5024e72476f2b27cca7271d506abb5ad
316+
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check:0.3@sha256:23c7a716cf5596d5b09e57a13ad20572de2a13d47bf708b13141f5e341845133
311317
- name: kind
312318
value: task
313319
resolver: bundles
@@ -332,7 +338,7 @@ spec:
332338
- name: name
333339
value: deprecated-image-check
334340
- name: bundle
335-
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:c49732039f105de809840be396f83ead8c46f6a6948e1335b76d37e9eb469574
341+
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:f59175d9a0a60411738228dfe568af4684af4aa5e7e05c832927cb917801d489
336342
- name: kind
337343
value: task
338344
resolver: bundles
@@ -354,7 +360,7 @@ spec:
354360
- name: name
355361
value: clair-scan
356362
- name: bundle
357-
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.2@sha256:076d5cde62b55bbfcdda2b4782392256bbda5ad38f839013b4330b3aba70a973
363+
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.3@sha256:a7cc183967f89c4ac100d04ab8f81e54733beee60a0528208107c9a22d3c43af
358364
- name: kind
359365
value: task
360366
resolver: bundles
@@ -374,7 +380,7 @@ spec:
374380
- name: name
375381
value: ecosystem-cert-preflight-checks
376382
- name: bundle
377-
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:365c65ed8dfbd83c4a49300dcb9c74c5c3f027efec0be1a1f0baa9633c29b249
383+
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:9568c51a5158d534248908b9b561cf67d2826ed4ea164ffd95628bb42380e6ec
378384
- name: kind
379385
value: task
380386
resolver: bundles
@@ -396,7 +402,7 @@ spec:
396402
- name: name
397403
value: sast-snyk-check
398404
- name: bundle
399-
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.4@sha256:0fcf74b45da5cb04b0aacf7bc2a2a43d08f846ffda3beabe6caa627450ce0257
405+
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.4@sha256:b487b08bd617d28adb47ee7c217b148b26b22bf906775b9f0ae7055acd042416
400406
- name: kind
401407
value: task
402408
resolver: bundles
@@ -443,7 +449,7 @@ spec:
443449
- name: name
444450
value: apply-tags
445451
- name: bundle
446-
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:e0de426d492e195f59c99d2ea1ca0df7bfb8c689f5d1468fe7f70eb8684b8d02
452+
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.2@sha256:f44be1bf0262471f2f503f5e19da5f0628dcaf968c86272a2ad6b4871e708448
447453
- name: kind
448454
value: task
449455
resolver: bundles
@@ -464,7 +470,7 @@ spec:
464470
- name: name
465471
value: push-dockerfile
466472
- name: bundle
467-
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:59c1489aaa982e636ef675b053ca729f539cc504ff58c54a0f962795698b8732
473+
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:74e982c07a808eaa5b1d8c126cafcbf3cc6ce94c883cf0845b55ce8064674b45
468474
- name: kind
469475
value: task
470476
resolver: bundles

Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
1-
FROM registry.access.redhat.com/ubi9/go-toolset:1.24.6-1756993846 AS builder
1+
FROM registry.access.redhat.com/ubi9/go-toolset:1.24.6-1758501173 AS builder
22
WORKDIR $GOPATH/src/mypackage/myapp/
33
COPY go.mod go.mod
44
COPY go.sum go.sum
55
COPY Makefile Makefile
6+
COPY oapi-codegen.yaml oapi-codegen.yaml
67
COPY main.go main.go
78
COPY spec spec
89
COPY pkg pkg
@@ -11,7 +12,10 @@ COPY config config
1112
COPY docs docs
1213
ENV GO111MODULE=on
1314
USER root
15+
RUN make generate
16+
RUN make validate-api
1417
RUN go get -d -v
18+
RUN make openapi-json
1519
RUN make validate
1620
RUN make test
1721
RUN CGO_ENABLED=0 go build -buildvcs=false -o /go/bin/quickstarts

Makefile

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,22 @@
11
help:
2-
@echo "Availabe commands:"
2+
@echo "Available commands:"
33
@echo "------------------"
4+
@echo "dev - generate API and start development server"
45
@echo "test - run tests"
56
@echo "coverage - open browser with detailed test coverage report"
67
@echo "migrate - run database migration"
7-
@echo "generate-spec - run openAPI3 generator"
88
@echo "validate-topics - run help topics validator"
99
@echo "infra - start required infrastructure"
1010
@echo "stop-infra - stop required infrastructure"
1111
@echo "audit - run grype audit on the docker image"
1212
@echo "create-resource - a cli tool to bootstrap a new learning resource"
13+
@echo ""
14+
@echo "=== oapi-codegen Migration ==="
15+
@echo "setup-tools - install oapi-codegen development tools"
16+
@echo "generate - generate code from OpenAPI spec"
17+
@echo "openapi-json - convert OpenAPI YAML to JSON"
18+
@echo "validate-api - validate API responses against spec"
19+
@echo "clean-generated - clean generated files"
1320

1421

1522
test:
@@ -21,9 +28,6 @@ coverage:
2128
migrate:
2229
go run cmd/migrate/migrate.go
2330

24-
generate-spec:
25-
go run cmd/spec/main.go
26-
2731
validate:
2832
go run cmd/validate/*
2933

@@ -39,3 +43,36 @@ audit:
3943

4044
create-resource:
4145
./make_item.sh
46+
47+
# === oapi-codegen Migration Targets ===
48+
49+
# Install development tools
50+
setup-tools:
51+
@echo "Installing oapi-codegen..."
52+
go mod download
53+
go install github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen@latest
54+
55+
# Generate code from OpenAPI specification
56+
generate:
57+
@echo "Generating code from OpenAPI specification..."
58+
mkdir -p pkg/generated
59+
go run github.com/oapi-codegen/oapi-codegen/v2/cmd/oapi-codegen --config=oapi-codegen.yaml spec/openapi.yaml
60+
61+
# Convert OpenAPI spec from YAML to JSON
62+
openapi-json:
63+
@echo "Converting OpenAPI YAML to JSON..."
64+
go run cmd/yaml-to-json/main.go spec/openapi.yaml spec/openapi.json
65+
@echo "Generated spec/openapi.json from spec/openapi.yaml"
66+
67+
dev: generate
68+
@echo "Starting development server..."
69+
go run .
70+
71+
# Validate API responses match OpenAPI spec
72+
validate-api:
73+
go run cmd/check-openapi-json/*
74+
75+
# Clean generated files
76+
clean-generated:
77+
rm -rf pkg/generated/
78+
@echo "Generated files cleaned"

0 commit comments

Comments
 (0)