* Fix: do not override uid/git in buildpack builder
Zero value implies override (to root presumably),
we must set it to negative value.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* Fixup tests
Since we do not override uid/gid==0 we need to make mounted data less
readable to all.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* 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>
* 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>
* 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
* Allow host mounts for build pahse.
This is in particular useful for using paket bindings,
e.g. to inject git credentials into build process.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* Mark test as a integration test
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: style
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* Use tiny instead of base BP builder.
* Decrease minimal required Go version.
* Make the self-signed certificate CA==true so it works with update-ca-trust utility.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* 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>
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>
* 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>
* 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>
* 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>
* 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>
* 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>
* chore: use custom jammy paketo builder
Use our own modified jammy builder with additional buildpacks for
GoFunc and Rust. This enables on cluster build for Go and Rust functions.
Where possible (Go, Java) we use "tiny" variant, other runtimes use "base"
variant.
The updated task is new file instead of modifying existing task
this is done for sake of keeping compatiblility.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: remove unnecessary code per review request
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: podman test refers correct tkn task yamls
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* 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>
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.
Allows buildpacks to be updated by updating to a newer version of
func. Previously, buildpacs were fixed at time of function creation
without a manual edit of func.yaml. Currently using Go as the reference
implementation in this commit.
Some Rust libraries using system libraries need pkg-config installed and
it is not present in the base builder, only in the full one.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* 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>
* 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>