Commit Graph

29 Commits

Author SHA1 Message Date
Matej Vašek 65de4ac2fc
feat: Python,Go func listen dual-stack (#2898)
* feat: py func listen dual-stack

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* fix: Go host built image listens on any iface

Previously it was listening only on localhost

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-07-01 00:38:52 +00:00
Matej Vašek 8e0b752edc
Apply linter suggestions (#2786)
* Refactor: if-elif-else => switch

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: calls to embedded fields

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Fix: add missing err checks

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: fix format of error messages

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: omit type where possible

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: apply De Morgan's law

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: call ReplaceAll where possible

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: fix format of error messages

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Cleanup: fix format of error messages

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-04-15 09:43:13 +00:00
Matej Vašek fc750a283a
S2I (source-to-image) host binds (#2766)
* Added tests for s2i build with private Go module

The test is for now skipped since host binds are not yet implemented for s2i.

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* User "host" network mode for s2i build on Linux

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Implement host binds for local s2i build

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-04-03 09:13:05 +00:00
Matej Vašek 2d3962401d
Improvements for Go s2i assembler (#2765)
* Return error code when compilation was not done
* Run `go mod tidy` on scaffoded code

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-04-02 17:17:05 +00:00
Luke Kingland 9f6a135702
Python Middleware v2 Scaffolding (#2685)
* refactor python http template

* python http scaffolding

* add python to make update-runtimes

* integrate python scaffolding with func run

* python http template

* reorganize python scaffolding

* cancellation stopgap

* documentation and logging cleanup

* Python Middleware v2 - Scaffolding

* base layer cache

* remove wsgi and flask templates

Inbuilt templates should be limited to a base http and cloudevent
integration, with anything beyond this falling to the officially
supported functions samples repository.

* update python cloudevents runtime in makefile

* python cloudevents middleware

* add python .venvs to gitignore

* clean up venvs on make

* add missing dependencies to python http tempklate

* set python cloudevents manifest

* further cleanup of repository impl

* cleanup

* ignore venv when building runtime container

* set listen address on python container

* remove unnecessary python runtime update from makefile

* remove debug statements and improved comments

* enable scaffolding python funcs in s2i builder

* set listen address on all containers built by s2i

* python s2i integration

* regen fs

* cleanup

* enable host builder

* fix manifest inheritance

* regen fs

* bug fixes

* regen docs

* cleanup and linter error fixes

* conditional python host builder test

* misspellings

* disable python E2E

Until the Python middleware is supported by the Pack builder, the E2E
tests will need to be disabled.

* install python for presubmit tests

* use linux for test builder runs

The target platform for a test needs to be a platform which is available
in all test base images.  That's usually linux.  Using current OS would
fail, for example, building python containers on MacOS because the
official Python base image has no darwin layer.

* fix ineffasign

* set python ce template to python 3.9

* regen fs

* windows python tests

* python templates README
2025-04-02 10:44:05 +00:00
Matej Vašek 36803160d5
Use s2i in standard mode, not "as-dockerfile" (#2764)
Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-04-02 06:15:03 +00:00
Matej Vašek 2b831f9b2e
Remove direct dep on golang.org/x/exp (#2695)
Signed-off-by: Matej Vašek <mvasek@redhat.com>
2025-03-10 18:14:36 +00:00
Matej Vašek 1dd2e43344
Improved build caching for s2i local build (#2581)
* Improve build caching for s2i local build

Use 'RUN --mount=type=cache...' to cache build artifacts,
e.g. the local maven repostory.

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* Update podman version in tests

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* fixup: set buildopt version to buildkit

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2024-11-22 14:40:02 +00:00
Matej Vašek e2621f6637
Fix symlink path separators (#2535)
When running on Windows the path separators in symlink target is
backslash. This must be fixed up when uploading source code into docker
daemon or into cluster volume.

Signed-off-by: Matej Vašek <matejvasek@gmail.com>
2024-10-11 10:39:08 +00:00
Matej Vašek d481289397
Remove unnecessary 'go get' commands (#2524)
Signed-off-by: Matej Vašek <matejvasek@gmail.com>
2024-09-30 05:22:38 +00:00
Matej Vašek 075bc9bed4
fix: allow sub-pkgs in Go functions (#2523)
* fix: allow sub-pkgs in Go functions

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

* fixup

Signed-off-by: Matej Vašek <matejvasek@gmail.com>

---------

Signed-off-by: Matej Vašek <matejvasek@gmail.com>
2024-09-27 01:02:32 +00:00
Matej Vašek 2aec66735f
chore: ubi9 => ubi8 (#2338)
Signed-off-by: Matej Vašek <mvasek@redhat.com>
2024-06-05 14:13:48 +00:00
Matej Vašek d3b8847792
chore: update images ubi8 => ubi9 (#2328)
Signed-off-by: Matej Vašek <mvasek@redhat.com>
2024-05-28 16:36:44 +00:00
Luke Kingland b0418f95bb
feat: s2i Go support (#2203) 2024-05-21 13:12:55 +00:00
Matej Vašek 7c87e0c4b8
chore: update node to v20 (#2217)
* chore: update node to v20

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* fixup: temporarily ingore deletion errors for Node

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* fixup

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2024-04-30 14:53:54 +00:00
Matej Vašek e2ea83ca8e
chore: update docker to v25 (#2160)
* chore: update docker to v25

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* chore: update pack dep

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* chore: unpin moby/buildkit

Signed-off-by: Matej Vašek <mvasek@redhat.com>

* fixup: use upstream source-to-image

Signed-off-by: Matej Vašek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vašek <mvasek@redhat.com>
2024-02-28 13:28:30 +00:00
David Fridrich 7e95ca2181
Cleanup orphaned func, new image-name calculation (#1962)
* forced namespace change, deletes old func, kind works

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new .deploy.image field

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* building

* building

* add first iteration of complete functionality with f.Build.Image and f.Deploy.Image that STILL contains a workaround for image digest which is populated on Push instead of Build

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* base tests fixes for compile

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix base tests2 for now, integration test has a possible TODO

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new generated schema

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix some tests using .Image and create new test

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* remove nested .func

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* get rid of test

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* remove my debug test

* fix namespace change test

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix pipeline run to use .Deploy.Image

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix TestDeploy_ConfigApplied and change pipelines image being used

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix some tests

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix actions - return value, configApplied and registry on subsequent deploy different

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* update empty image in tests issue

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix client.Apply tests with passing image value to .Deploy after push

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* openshift override on namespace change forced, remove useless print

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* printing fixes, reviewdog, buildConfig return

* fix pipelines test by feeding image name to .Deploy, comments

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* update more tests

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new test, comment

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* misspell

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* remove unnecessary comments

* fix from review

* namespace updated with 2 fields; new error definitions; deploy functionality cleanup

* remove k8s service host var in test

* error definition; fix client tests; cli delete fixup

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new schema

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* namespace fixes; remover arguments fix

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* delete_test cmd

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* schema, new local remote flag instead of deploy

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix test to have now required namespace

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* add namespace check, test action

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix integration deploy test, comments

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix wrongly removed namespace

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* small changes to remover and ns added to its tests

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* test moving logic to client

* fix deploy bug, remove verbose for better logs

* pipelines, clean remover

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* newline

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* namespace required in remover, and fixed remote deployer - returns ns

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* fix integ test for pipelines.Run

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* cleanup

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* registry update change on deploy, some prints

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new deploy tests and mock update

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* new tests, ns determination in mocks

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* deploy digested img doesnt populate build

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* comments

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

* remove todo

Signed-off-by: gauron99 <fridrich.david19@gmail.com>

---------

Signed-off-by: gauron99 <fridrich.david19@gmail.com>
2024-02-27 10:44:20 +00:00
Matthias Wessendorf c252c4f537
Springboot bumps (#2126)
* Making updates to Spring boot templates, as suggested by @trisberg

Signed-off-by: Matthias Wessendorf <mwessend@redhat.com>

* 🤖 We touched the samples, so adding the generated thing

Signed-off-by: Matthias Wessendorf <mwessend@redhat.com>

* Bump JDK Builder to 21

Signed-off-by: Matthias Wessendorf <mwessend@redhat.com>

* Some more java 21 setters

Signed-off-by: Matthias Wessendorf <mwessend@redhat.com>

---------

Signed-off-by: Matthias Wessendorf <mwessend@redhat.com>
2024-01-22 18:45:03 +00:00
AdamKorcz 7ebf92dc5b
Log if image is referenced by tag (#2090)
* Log if image is referenced by tag

Signed-off-by: AdamKorcz <adam@adalogics.com>

* fixup: do not warn with standard images

Signed-off-by: Matej Vasek <mvasek@redhat.com>

---------

Signed-off-by: AdamKorcz <adam@adalogics.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Co-authored-by: Matej Vasek <mvasek@redhat.com>
2023-11-29 17:09:23 +00:00
Matej Vasek f83c0ee3f5
fix s2i on cluster RT tests (#2015)
* chore: use smaller s2i nodejs builder

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* test: skip python s2i on cluster build test on GH

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: do check at correct place

Signed-off-by: Matej Vasek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-10-12 12:24:35 +00:00
Nitish Chauhan c15450177a
adding support for .funcignore file (#1815)
* adding suppor for funcignore file

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* resolving unit test and linting error

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* adding unit tests and symlink

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* making requested changes in tests

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* making requested changes

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* changing the comment

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

* resolving unit test error in windows

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>

---------

Signed-off-by: ntishchauhan0022 <nitishchauhan0022@gmail.com>
2023-06-28 20:36:03 +00:00
Luke Kingland 25ec89d52c
feat: platform build options (#1780)
Plumbs through the platform CLI flag to the individual builders by
creating a client-level BuildOption functional option, and modifying the
builder interface to accept an optional set of requested target
platforms.
2023-06-12 14:04:03 +00:00
Jefferson Ramos 2af040f5b7
chore: default s2i builder as var for ldflags (#1787) 2023-06-06 21:51:26 +00:00
Matej Vasek 8eeff81580
fix: s2i build on Windows (#1641)
Make all files executable on Windows s2i build.

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-03-21 21:27:52 +00:00
Matej Vasek 7b85fa5f84
fix: node s2i build when node_modules present (#1612)
* fix: node s2i build when node_modules present

This is workaround for two bug in another components:
* The s2i CLI/library is not honoring the `--exclude` flag when used with
  the `--as-dockerfile` flag.
* The node s2i image is not working if project contains `node_modules`
  directory with NodeJS modules.

If only one of the bugs above were fixed this commit wouldn't be
necessary.

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fix: project root escape link detection

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fix: ignore node_modules for s2i on cluster build

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: style

Signed-off-by: Matej Vasek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-03-10 12:09:24 +00:00
Luke Kingland 9961c43b35
rm testData (#1576) 2023-02-21 09:15:26 +00:00
Matej Vasek 6d4565158b
feat: enabled s2i for python (#1562)
* feat: enable s2i for python

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: update zz_filesystem_generated.go

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: test

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: test

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: test

Signed-off-by: Matej Vasek <mvasek@redhat.com>

* fixup: script

Signed-off-by: Matej Vasek <mvasek@redhat.com>

---------

Signed-off-by: Matej Vasek <mvasek@redhat.com>
2023-02-20 16:45:26 +00:00
Zbynek Roubalik b26a1c29b3
chore: `testData` -> `testdata` (#1560)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2023-02-16 11:05:51 +00:00
Zbynek Roubalik 5a4803bf95
chore: refactor repository layout (#1554)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
2023-02-15 08:46:52 +00:00