* chore: use codegen script for docs
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: codegen updated docs
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: update tekton
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: param introduced in new version of gitlab lib
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: update tekton,PaC used in test env
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: disable affinity assistant for tekton
The affinity assistant is causing troubles in testing KinD cluster.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* refactor: extracted function
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: update pack dep
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: updated imgutil
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: run hack/update-deps.sh
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fixup: remote the now unnecessary rename
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fix: namespace logic cleanup and test isolation
- Pulls logic for defaulting to active namespace (K8S) moved UP to CLI during
flag default calculation.
- Pushes logic of deciding between f.Namespace vs f.Deploy.Namespace down into
implementations.
- Updates some tests which needed to have their environment cleared.
- Refactors Pipelines tests to use client API.
- Removes namespaces as a state variable all structures, instead passing as
an argument.
- Moves FromTempDirectory to testing package for use outside cmd.
* fix spelling errors
* fix: pipelines remover always returned (empty) error
* update tekton namespace handling
* fix: remove deprecated GitLab config: max_concurrency
* fix: downgrade Java version for Spring Boot
The newer version of Spring Boot does not work with Java 21
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: replace axios with fetch()
* Removed dependency on axios by using standard node fetch() function.
* Fixed getLatestPlatform(): using the 'tag_name' property instead of the 'name' property.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* Revert "fix: downgrade Java version for Spring Boot"
This reverts commit fcfe65a0ad.
* empyt: just trigger CI
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* chore: update setup-java action
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fix: add missing description property
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fix: set distroless for setup-java action
Signed-off-by: Matej Vašek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vašek <mvasek@redhat.com>
The current binaries and allocation scrips are very CI-centric, this PR
takes a few steps to make them more friendly to running in a dev
environment; mainly centered around not polluting global scope (keeping
filesystem mutations in a relative local directory).
- binaries (and kind kubeconfig) are installed in ./hack/bin
- adds /hack/bin to .gitignore
- binary paths can be overridden via env vars FUNC_TEST_{name}
- binary fallback is system-installed (when binaries.sh not run)
- Cleanup of the UX, including colors and some shared helpers via
library.sh
- Removes `yq` as the hack that required it appears to no longer be necessary.
- Adds some notes for Nix users
- Better error messaging when !linux
- Refactors the installers to pipe directly to tar rather than touch
disk.
- begin to standardize on hyphens in filenames
The version 1.77.0 is not compatible with paketo buildpack.
* Updated version of Rust buildpack 0.35.0 => 0.45.0,
version 0.45.0 includes Rust 1.76.0.
* Disabling rustup buildpack so latest Rust (1.77.0) is not used,
instead Rust 1.76.0 from rust-dist buildpack is used.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* The socat/tar image is now build in GH Actions.
* We use new tiny deploy binary for deployment instead of whole func.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* update go-http templates to match new idiomatic handler
* update embedded templates
* bump func-go dependency
* regenerate templates
* update template deps again
* run embed again
* update test fixtures
* use go1.22 in CI
* setup metallb right after creating k8s cluster
* func-go v1.21.2
* revert static http handler signature update
Since the Pack and S2I builders do not yet use the new func-go
middleware, we are not yet able update the static static handler template.
* func-go v0.21.3
* revert static handler template test
* update embedded template fs
* try go 1.21 throughout
---------
Co-authored-by: Luke Kingland <luke@lukekingland.com>
Newer version of pack does support adding custom labels to the builder
so the Dockerfile workaround is not needed anymore.
Also the Dockerfile workaround was failing recently due to high
number of layers in full builder.
Signed-off-by: Matej Vašek <mvasek@redhat.com>
* fix: GitLab test
Update to URL used in newer versions of GitLab.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: increase resource limit
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* refactor: rename func
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* chore: include Quarkus buildpack in our builder
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: add err check
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: close body after use
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: validate path in tar header
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: disable symlink support
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: sanitize tar file name
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: use correct image path
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* test: optimise disk usage
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: change tag
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: use create to build testing buildah image
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: install crane
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* test: use custom buildah image in tests
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* refactor: rename
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* test: use internal registry in on cluster tests
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* chore: more verbose output
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fix: use fake ctx until fixing termination properly
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Use a different approach to pass current func image to the tests, this
approach does not require modification of task yaml nor access
to outer internet (ttl.sh).
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>
* fix: spring boot dep update
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: update also spring-cloud version
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: install new deps
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: clean up
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* test cluster versions update
Updates versions used for the test clutser, and includes a change
to use a specific kind node version rather than the kubernetes version per
Kind's docs.
- knative_serving v1.10.1
- knative_eventing v1.10.1
- contour v1.10.0
- kubectl v1.27.2
- dapr v1.10.0
- helm v3.12.0
- kind v0.19.0
- kind_node v1.27.1
* remove dapr dashboard patch
* dapr init flags resuscitation
* fixup: more verbose output
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: refactor extract version into variable
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* test: integration tests for Tekton builds
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: disable s2i integration test for now
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* chore: clean up PaC GitLab test
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: missing EOL
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: generate random password for GitLab
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* feat: PaC for Gitlab
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: different approach to hostname resolution
Resolve '[*.]127.0.0.1.sslip.io' to cluster node IP.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: error handling
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: added TODO
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: small refactor
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* initial chg
* fix parent version selection
* change from `false` to false
* move platform checking as first task in main
* re-make generate/zz_filesystem_generated.go
* fixes of spaces in code at line 105, in following lint rules
* Use Contour Ingress instead of Kourier
Contour can be used to expose resources other that ksvc
(e.g. PaC controller).
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: use defined version of contour
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: shellcheck
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Use LoadBalancer instead of NodePort in test
This makes services available on port 80 on both localhos and in docker
network, before these ports differed.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* doc: refer specific verision of Tekton not latest
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup: shell-check
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* chore: update references to zz_filesystem_generated.go
Some places were missed in the repo restructuring. This should fix
test_infra build failures.
Signed-off-by: Lance Ball <lball@redhat.com>
* fix: do not put "." into template zip array (#24)
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Co-authored-by: Matej Vasek <matejvasek@gmail.com>
* cleanup: style
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fix: use current func image for in cluster tests
Signed-off-by: Matej Vasek <mvasek@redhat.com>
---------
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Dapr runtime support
- installs Dapr cli in CI
- installs Dapr runtime on allocation of test cluster
- annotates services to enable dapr sidecar integration
- installs redis via helm, enabling state store, pub/sub and distributed
lock
- integration test added for local invocation
- integration test added for service-to-service invocation via the
sidecar
Note that Dapr runs metrics on port 9002 so as not to collide with
Knative metrics.
* create constants for knative service labels
* extract dapr annotations and use labels
This commit removes the docs/reference/commands.txt file and instead
uses the Cobra built-in documentation generator to create markdown
documents for every command.
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* docs: replace commands.md with generated text file
This commit removes commands.md document which tends to get out of date
pretty easily and replaces it with a generated commands.txt file. The
help text generation is fairly naive, but should be sufficient for the
time being.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: tweak title formatting
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: run build-docs.sh again after recent change
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: add docs generation to make build target
Also removes the random UUID as the default for `invoke` since it's a
little misleading. That value will not be the one that's used, since
it's random. And because it's random, it changes the docs every time.
Signed-off-by: Lance Ball <lball@redhat.com>
Use the latest Knative release in the hack/allocate.sh script.
In addition, there is a small change to how the munged yaml files
are piped through `yq`, adding a final pass through `yq` itself
essentially sanitizing the data.
Signed-off-by: Lance Ball <lball@redhat.com>
* fix: add func_darwin_arm64 to the release artifacts
Signed-off-by: Lance Ball <lball@redhat.com>
* chore: add ARM64 release target/propose process
I noticed in the most recent release, that a MacOS M1 binary was not
produced. This commit adds that target to `hack/release.sh`. Additionally
the CHANGELOG.md files and version.txt files have been updated to accurately
reflect the current status. Finally, I've proposed a release process in
the new file `docs/RELEASING.md`.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: remove trailing whitespace
Signed-off-by: Lance Ball <lball@redhat.com>
The upstream release pipeline does not tag the source until the build and
tests have successfully completed. This should allow for our release builds
to pick up the knative infra TAG environment variable when building releases.
Signed-off-by: Lance Ball <lball@redhat.com>
The localhost alias was causing problems with new approach for registry access.
The new access is done directly not via daemon.
This renders any insecure registry exception in daemon config irrelevant.
The library facilitating registry access seems to allow insecure registry on localhost only.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fix: move registry port to unregistered range
Moves the integration testing port into the unregistered range (above
49151) to minimized potential conflicts.
* update e2e and podman with named registry
* ci: increase dns update max retries
* src: Makefile accessibility
Restructures the Makefile for better readibility
Separates core unit tests from template unit tests
Adds a `help` target highlighting core targets
Removes unused 'cluser' and 'release' targets
Removes unused targets
Restructures repository cluster setup and configuration scripts
to be used both for local testing as well as in CI. Adds a
CI-specific ci.sh script for the differences. Additionally:
- Upgrades to knative v0.23.0
- Upgrades eventing from v1beta1 API to v1
- Adds binary installation script (linux)
- Serializes Build, Int Test, e2e test steps
- Installs Broker and Channel to support Knative Quickstart tutorial.
- Runs a test echo server during installation
- Adds event-based waits in place of most blind time-based waits
- Adds explicit Kubernetes version for KinD
- Replaces a NodePort patched Koourier with an explicit ingress
- Adds retries while activator webhook becomes available
- Merges allocate and configure