* feat: add pvc-size flag to deploy command (#851)
* feat: move pvc-size from deploy to build func configuration section (#851)
* feat: add setting default value for pvc-size in func.yaml (#851)
* feat: change pvc-size to camel case (#851)
* feat: add omitempty to pvcSize (#851)
* feat: regenerate func yaml schema (#851)
* feat: update docs for deploy command (#851)
* feat: update usage help for the pvc-size flag (#851)
* 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
* add option 'branch' to command 'repository add'
* Format go code (#1407)
Signed-off-by: Knative Automation <automation@knative.team>
* chore: refactor repository layout (#1554)
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
* fixup: removes --branch tag from repo commands
Removes the currently in-flight work on the `--branch` tag, simply
supporting a `refspec` on the repository URI. For example,
https://github.com/knative-sandbox/func-tastic#metacontroller will pull
the `func-tastic` repo, and set the currently active HEAD to the
`metacontroller` branch. Adds support for displaying this with the
command `func repo list -v`.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: add example to `func repo add` documentation
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: adjust test output expectations
Signed-off-by: Lance Ball <lball@redhat.com>
---------
Signed-off-by: Knative Automation <automation@knative.team>
Signed-off-by: Zbynek Roubalik <zroubalik@gmail.com>
Signed-off-by: Lance Ball <lball@redhat.com>
Co-authored-by: Yingchun Guo <yingchun.guo@intel.com>
Co-authored-by: knative-automation <automation@knative.team>
Co-authored-by: Zbynek Roubalik <zroubalik@gmail.com>
* 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>
Removes old, outdated documentation and links to existing docs on https://knative.dev. Restructures some of the documentation directory, moving everything that is not generated out of the `reference` directory.
/kind documentation
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@redhat.com>
* chore: list command namespace
- Adds namespace test to list command
- Moves namespace flag into list command for
- Better help text
- Easier testing
- Sets static default namespace for flag to "default"
* regen docs
* list test default from kubeconfig
* chore: delete command namespace
- Fixes bug where deleting by name fails if current path has no
initialized function.
- Adds namespace test to delete command
- Moves namespace flag into delete command for
- Better help text
- Easier testing
- Sets static default namespace for flag to "default"
* fix comments/docs
* delete tests with nonexistent kubeconfig
* fix help text
* fix: describe function
- Fixes error describing by name
- Adds ability to specify namespace
- Fixes inconsistency between Describe and Info
* fix misspelling
* clear test cmd args
* remove old doc file
* docs cleanup
* test describe with no kubeconfig
This is causing trouble with new PRs that potentially change CLI flags
or other user-facing UX. Another option besides completely removing the
version information is to modify Version.StringVerbose() so that it uses
the value of the most recent semver tag (or Knative tag).
```
❯ git describe --match "v*"
v0.34.0-6-g6d26e64c
❯ git describe --match "knative*"
knative-v1.7.0-6-g6d26e64c
```
This is nice, but could be misleading if the UX has changed since that
release.
Signed-off-by: Lance Ball <lball@redhat.com>
Signed-off-by: Lance Ball <lball@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
* feat: add initial version of command groups and template engine (#215)
* feat: add relevant dependencies and vendor files (#215)
* feat: extend TestUsageFlags for hidden flags and flags with no shorthand (#215)
* feat: refactor root.go to use command groups (#215)
* feat: move the long help of root cmd to the usage templates section (#215)
* feat: updates after rebase (#215)
* feat: update after review (#215)
* feat: rename 'options' into 'flags' to align with the old help (#215)
* feat: remove support for help options, add template for global flags help section (#215)
* feat: update handling of root command help to support proper use of templates and docs generation (#215)
* feat: generate new docs (#215)
* Added ability to add env non-interactively
* Added ability to list envs as JSON
Signed-off-by: Matej Vasek <mvasek@redhat.com>
Signed-off-by: Matej Vasek <mvasek@redhat.com>
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>
* 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
* 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>
* doc: fix some func.yaml fields
Addresses recent changes in func.yaml processing. Not all fields
for the file are documented. I'm not sure if they all should be.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup whitespace
Signed-off-by: Lance Ball <lball@redhat.com>
* docs: restructure & add a language pack "contract"
The docs/guides/langugage-packs.md document does a good job of describing
what's required of a language pack in terms of directory structure and the
options for the `manifest.yaml` file. But it does a pretty crappy job of
describing the whole thing in context. I've tried to do that here.
Also some fixes to links and reorganization of the docs to make things a
little easier to find.
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: inline language pack referenc into contract
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: minor wording tweak
Signed-off-by: Lance Ball <lball@redhat.com>
* fixup: whitespace
Signed-off-by: Lance Ball <lball@redhat.com>