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
* 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>
* 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>
* 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
* 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>
* 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>
* 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>
* 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
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>
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