* 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>
* 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
* fix env var casing otherwise flags with hyphens will continue to have hyphens
* Introduce an --registry-insecure flag
* fix build tests
* fix TestList
* fix insecure (http) push
* 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>
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.
This commit adds a new error type `UninitializedError` to minimize
redundancy across commands, and applies it in all of the commands which
need an initialized function to operate.
Fixes: https://github.com/knative/func/issues/1744
Signed-off-by: Lance Ball <lball@redhat.com>
* feat: build stamp and log
- Adds an explicit "Stamp" step to client builds
- Building always "Stamps" the function, allowing builds to cache
- Commands which alter function in inconsequential ways update the stamp
as-needed.
- Tests updated to use the API rather than hard-coding func.yaml
* fix misspellings
* temporarily disable Quarkus tests
* stamping also creates necessary run directory
* reenable Quarkus tests
* comments
* cli help text and flags cleanup
- verbose flag uses global setting throughout
- confirm flag added using shared visitor throughout
- path flag added using shared visitor throughout
- removes --version flag on root as redundant with subcommand
- splits main help's 'Main Commands' into 'Primary Commands' and 'Development
Commands' groups
- Moves RunE definition into flag struct literals
* remove commented code
* feat: deploy command global config function context
* fix static check errors
* fix test
* fix remote persists test
* env opaque box test
* use keyed fields (govet)
* mock deployer expansion
* ClearEnvs now in shared testing pkg
* effectivePath now uses plfags
* list directly uses config for default namespace
* Improved Namespace calculation and Caching
- Built() now a client package function
- Namespace evaluation delegeate to implementations
This enables the func.yaml to avert dirtiness checks on rebuilds
(caching)
- Build and Deploy update build stamp on completion
Enables dirtiness checks to be unaffects, leading to better caching.
- CLI Namespace checks no longer require k8s env evaluation for default
- Fixed missing condition check in TestDeploy_Namespace
- Fixes some minor linter and spelling errors
- Global config does not directly set namespace - it is corrected to be
deferred evaluation used by implementations.
- Skips writing func.yaml on f.Write if there were no modifications,
which leads to better caching (no timestamp update means Built ==
true)
- HasImage removed in favor of a corrected fn.Built
* linting, misspellings and docs rebuild
* warn user if git settings exist on a non-remote build
* lint error fix
* test flag unsetting persists
* allow unknown flags in preparsing of flags
* pre-submit cleanup
* update cmd to use client.Init
* feat: global config function context
The function with context is considered when determining flag defaults
such that:
- No special logic is required to determine "if changed"
- help text correctly reflects the actual values which will be used
- Global config can be a direct parent of command-specific config via
embed
Also included:
- CLI tests clear environment of FUNC_* variables
- Command's bindEnv helper also sets up environment variable auto-binding
and prefix.
- Verbosisty flag default now globally configurable
* Update cmd/build.go
Co-authored-by: Lance Ball <lball@redhat.com>
* Update cmd/build.go
Co-authored-by: Lance Ball <lball@redhat.com>
* Update cmd/build.go
Co-authored-by: Lance Ball <lball@redhat.com>
* move clearEnvs test function to test file
* docs regen
Co-authored-by: Lance Ball <lball@redhat.com>
* effective path
* function context for build builder
* code review suggestions
- fix misspelled 'precedence' throughout
- remove superfluous command execution from test
- remove debug statements
- add FUNC_PATH precedence check with short-flag in effectivePath test
* rebase and update to NewTestClient
* feat: config members and paths
- Adds Builder, Namespace, Registry and Verbose as globally
configurable.
- Fixes problems where file paths were being created or required when
not necessary.
- Relocates environment variable usage to main's use of config
- Adds FUNC_CONFIG_PATH
- Only creates paths on disk when necessary
- Makes non-existent config paths nonfatal
* postpone adding some members
* chore: update all references to kn-plugin-func
I did not change references in CHANGELOG.md but otherwise, I believe
this should cover all configuration settings, image names, package
names, etc.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: fix instances_test.go
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: still some stray kn-plugin-func
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* rebased and updated func struct
* fixing migration to 1.0.0 struct
* fixing on cluster tests
* updaating migration version to 0.34.0
* adding tests for marshalling and migration errors
* adding EOF new line
* updating migrations
* fixing wrong name
* fixing marshalling test
* adding EOF line
* fixing assertion
* fix: registry prompt result being ignored
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* feat: deploy autobuild and flag persistence
* cleanup
* help text, comments and test cleanup
* removing usurped commands.txt
* add platform to deploy synopsis help
* fix: image name derivation and flag precidence
* cleanup
* fix image prompt, reorganize and cleanup
* client deploy image test
* be explicit about registry treatment in tests
* ineffassign
* fix: k8s env not required
* misspell
* minor cleanup
* recombine build and deploy configs
* test namesace choosing logic
* fix: check for `--image` flag in build command
If the user provides an `--image` flag on the command line, it should be
used. This commit modifies the image resolving code to check whether or
not the image name was provided on the command line.
Fixes: https://github.com/knative-sandbox/kn-plugin-func/issues/1125
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: review feedback
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* chore: shared builder constants etc
* pretty-print the shared unknown builder error
* update builder impls to use shared defs and validators
* error and docs text formatting
* include static default short names
* comment updates and typos
* docs paths
* use the constants for the in-package builder defaults
* use builders.All but with caviat
* use '.' in flags to indicate default function path
* regen commands.txt with '.' as default path
* centralize dot expansion
* minor cleanup
* update all references to path flag
* exits should be panics
* fix: ensure registry in func.yaml is respected
If the user has a value specified in func.yaml for the image registry,
that value should be used by the build command, if not otherwise
specified as a flag or via the environment.
Fixes: https://github.com/knative-sandbox/kn-plugin-func/issues/1159
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: lint
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* first run, F -> f
* fix
* fix
* misspells
* client*.go files
* add client*.go: misspells
* cmd dir test files
* docker dir
* function* files
* i*.go and job.go
* job.go,mock dir,repos*,s2i dir,schema dir,templates*
* test dir
* testing dir
* root dir *.go second round