Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

0.13 rootless containers #4273

Closed
wants to merge 1,234 commits into from
Closed

0.13 rootless containers #4273

wants to merge 1,234 commits into from

Conversation

stefreak
Copy link
Member

  • refactor: remove openfaas provider
  • refactor: remove deprecated hot reload feature
  • refactor: remove experimental GCF and GAE providers
  • refactor: remove unused docker swarm plugin
  • refactor: remove unused npm-package plugin
  • test: post-merge fixes in tests
  • refactor: renamed delete commands (refactor: renamed delete commands #3056)
  • refactor(k8s): remove in-cluster registry and cluster-docker build mode (refactor(k8s): remove in-cluster registry and cluster-docker build mode #3049)
  • refactor: remove maven-container provider
  • refactor: remove original-color option from garden logs command
  • refactor: remove show-container option from garden logs command
  • refactor: remove allow-dirty option from garden publish command
  • feat: remove commented fields from create commands
  • docs: update getting started guide
  • docs: render new docs
  • chore: better wording for doc link
  • chore: add reference link to generated config
  • refactor(k8s): remove stern from k8s plugin's tools
  • chore: remove faas-cli from the list of macos dependencies
  • refactor: require environments field in project config
  • improvement: support only single dotIgnoreFile (improvement: support only single dotIgnoreFile #3069)
  • improvement: removed error-prone local ip inference
  • refactor: use one docker repo with many tags
  • refactor: remove deprecated providers config
  • chore: post-merge corrections
  • chore: re-generated docs
  • chore: fixed post-merge compilation errors
  • refactor: phase 1 of conversion from module code to new graph format
  • refactor: remove deprecated hot reload feature
  • refactor: phase 2 of graph v2 conversion
  • chore: update TypeScript to 4.6.4
  • refactor: phase 3 of graph v2 conversion
  • refactor: phase 4 of graph v2 conversion
  • refactor: phase 5 of graph v2 conversion
  • refactor: phase 6 of graph v2 conversion
  • refactor: remove metadata-namespace output from kubernetes provider
  • improvement: support static keys to avoid unnecessary action execution
  • chore: add skipRuntimeDependencies flag back to action tasks
  • refactor: phase 7 of graph v2 conversion
  • refactor: get rid of runtimeContext
  • chore: get dashboard compiling, partially update for actions
  • chore: handle group variables + module variables during conversion
  • improve: properly implement static action outputs
  • test: graph-v2 fixes for commands unit tests (test: graph-v2 fixes for commands unit tests #3115)
  • test: fix build issues in /config tests
  • fix events-handler test build issues
  • test: fix /types package build issues
  • cr: add back expect case
  • cr: map getService to getDeploy
  • test: fix container build issues
  • test: fix build issues in plugins/exec
  • test: fix plugins/kubernetes/dev-mode build issues
  • tests: fix plugins/kubernetes build issues
  • chore: fix some lint errors
  • test: fixed compilation errors in build-staging.ts
  • test: muted all tests for the old task-graph
  • test: fixed compilation errors in get-service-status.ts
  • test: fixed compilation errors in deploy.ts
  • test: fixed compilation errors in run.ts (renamed from task.ts)
  • test: fixed compilation errors in config-graph.ts
  • test: fixed compilation errors in garden.ts
  • test: fixed compilation errors in commands/run/run-workflow.ts
  • test: partially fixed compilation errors in actions.ts
  • test: fixed compilation errors in kubernetes/task-results.ts
  • test: partially fixed compilation errors in actions.ts
  • test: fixed test plugin definition
  • test: proper task execution and resolution
  • test: fixed compilation errors in dev and local mode tests
  • test: fixed compilation errors in kubernetes/commands
  • test: fixed compilation errors in helm/common.ts
  • test: fixed compilation errors in helm/deployment.ts
  • test: fixed compilation errors in helm/run.ts
  • test: fixed compilation errors in helm/test.ts
  • test: explicit typing in generic method
  • test: fixed compilation errors in container/container.ts
  • test: fixed compilation errors in container/deployments.ts
  • test: partially fixed compilation errors in container/ingress.ts
  • test: fixed compilation errors in container/logs.ts
  • test: fixed compilation errors in container/build/build.ts
  • test: fixed compilation errors in container/run.ts
  • test: explicit typing in action resolving generic method
  • test: fixed compilation errors in kubernetes-module/common.ts
  • test: fixed compilation errors in kubernetes-module/run.ts
  • test: fixed compilation errors in kubernetes-module/test.ts
  • test: fixed compilation errors in kubernetes-module/handlers.ts
  • test: quickfix in event-handlers.ts
  • test: removed leftovers of runtime-context
  • test: fix build issues in output.ts
  • test: fix hadolint build issues
  • test: plugins/kubernetes/util build issues
  • test: plugins/kubernetes/system build issues
  • test: plugins/kubernetes/volume build issues
  • cr: make code cleaner
  • test: fix integ plugins/kubernetes/run.ts build issues
  • test: fix integ plugins/kubernetes/container/ingress.ts build issues
  • test: fix leftover issues in unit/src/plugins/container/
  • refactor: renamed action-router declaring variable
  • test: fixed test action creation in actions.ts
  • test: fixed executed action creation in actions.ts
  • test: explicit typing for resolved actions in actions.ts
  • chore: removed unused imports
  • test: fixed some errors in deploy actions tests
  • test: a quickfix to mute the rest compilation errors in actions.ts
  • test: implemented mocks for action router in actions.ts
  • refactor(test): a helper method to stub handlers of the action router
  • test: used skipRuntimeDependencies flag instead of skipDependencies
  • chore: fix compilation error after rebase
  • chore: linting
  • chore: fix circular import issues
  • chore: fix global before/after mocha hooks
  • chore: solver working in its basic form + basic tests
  • test: fixed error message in assertion
  • test: helper function to examine error messages
  • test: less strict matching criteria in error message assertions
  • test: fixed assertion
  • fix(config): fixed module conversion handler name
  • fix: action type schemas
  • fix: provider resolution issues
  • fix: test plugin missing convert handler
  • fix: some schema fixes
  • fix(solver): error when processing zero tasks
  • test: less strict assertions for error messages
  • fix: fixed group configs resolution
  • fix: null-safe access to the meta config field
  • fix: pick action kind-specific validation schema
  • fix: action kind router typing and configure method
  • fix: handle internal fields on action config schema during validation
  • fix: action ref handling
  • fix: config graph generation
  • fix: errors in action resolution flow
  • fix: update core/src/graph/config-graph.ts
  • fix: review comments
  • fix: loading actions from source tree
  • fix: conftest plugin compilation errors
  • feat: add action type reference docs
  • fix: fixed relative path resolution in build staging sync
  • test: skipped unnecessary async operations
  • test: restored test semantics
  • test: fix argument arity issues in mocked action handlers
  • test: corrected fully qualified name of the test
  • refactor(test): used existing method to get kind-specific router
  • chore: linting
  • test: fixed the most of the unit tests in config-graph.ts
  • fix: empty action group when converting basic exec module
  • fix: corrected varfiles definition in the base action config schema
  • refactor(test): multi-string error message matching
  • refactor(test): used the new way of error messages examination
  • refactor(test): used explicit type predicate in error checks
  • test: fixed error type assertion
  • test: fixed input data and errors in assertions
  • test: fixed assertions
  • test: explicit types + fixed typing errors
  • test: ensure all provider action handlers
  • test: fixed assertion
  • fix: fix typing problems in circular dep logic
  • chore: renamed function's argument
  • test: fix unit/types
  • chore: exract logic into separate functinons
  • test: add default project cfg for tests
  • test: add case for illegal templating
  • test: fix stub and make it typesafe
  • chore: clean code
  • chore: convert params to destructed object
  • chore: simplify code
  • chore: use cleaner error assertion
  • chore: always deep copy test project config
  • chore: make getPropertyName easier to grok
  • test: fixed most of the event handlers tests
  • refactor(test): got rid of redundant helper method
  • test: fixed input test data
  • test: fixed module converters' definitions
  • test: fixed plugin confguration tests
  • fix: fixed task dependencies resolution
  • fix: restore spec and vars after action validation
  • fix: added missing schema field definition
  • refactor: used more precise generic type in test config
  • refactor: extracted functions for container module conversion
  • refactor: extracted function to prepare build action
  • chore: navigable link in jsdoc
  • test: fixed build action names
  • fix: fixed field name in xor condition of action source schema
  • chore: fixed compilation error
  • chore: remove logEntry object from errors
  • chore: work on plugin initialization
  • test: fix test plugin in actions test
  • cr: use DRY types
  • docs: regenerated docs
  • chore: enabled all tests
  • chore: more informative error reporting
  • fix: fixed container deploy schema definition
  • test: fixed test plugin config
  • fix: some module conversion issues
  • test: corrected mocks in vcs handler unit tests
  • test: added unit tests for helpers
  • fix: fixed action kind detection in getActionTemplateReferences
  • chore: added todo-comment
  • fix: action router test plugin
  • fix: action resolution flow
  • docs: regenerated docs
  • fix: fixed actionConfigs schema definition
  • refactor: renamed baseRuntimeActionConfig schema
  • refactor: renamed buildActionConfig to buildActionConfigSchema
  • refactor: renamed testActionConfig to testActionConfigSchema
  • refactor: renamed runActionConfig to runActionConfigSchema
  • refactor: renamed deployActionConfig to deployActionConfigSchema
  • docs: regenerated docs
  • test: fix augmentGraph test assertion
  • chore: update actionStatusSchema
  • test: update test assertion
  • chore: fix module version and name handling in actions
  • chore: pass group name to actions
  • test: fix build action router tests
  • cr: remove accidental comment
  • cr: only include version string in events
  • docs: regenerate
  • chore: fix executeAction return
  • chore: add prefix to action versions
  • test: fix assertion
  • test: simplify helper
  • test: fix plugin output
  • test: fix all module actions tests
  • chore: always add base path to actions
  • cr: remove debug
  • chore: give action kind in validation err
  • chore: use run instead of task in artifact key
  • test: fix a myriad action tests
  • chore: report sgv2 unit test numbers to slack (report sgv2 unit test numbers to slack #3294)
  • test: remove tests for logic that no longer exists
  • test: move action tests to separate files
  • test: fix typo in Err validation
  • test: fix validation
  • test: move module action tests into own file
  • test: move provider action tests into own file
  • tes: augment graph with test, not container actions
  • chore: update BaseRouter comment
  • test: rename testPlugin -> testPluginA
  • test: clean up helpers
  • chore: reduce repetition
  • fix: properly give plugin name in error
  • test: add onlySpecifiedPlugins flag to test garden helper
  • test: rewrite router getHandler tests
  • fix: post-rebase errors
  • test: fixed tests in event-handlers.ts
  • chore: type fixes to Pulumi and jib plugins
  • chore: remove build metadata
  • chore: fix getExecutedAction
  • chore: remove module references in publish code
  • chore: fix publish output schema
  • chore: remove unneeded nested outputs
  • test: fix publish tests
  • chore: improve wording
  • chore: improve wording
  • test: rework setModuleConfigs helper
  • test: fix all outputs tests
  • chore: removed unnecessary type cast
  • chore: linting (removed unused imports)
  • chore: removed dead code
  • docs: re-generated reference docs
  • chore(test): use exec handlers in test plugin
  • test: add callHandler describe block
  • test: cleanup, remove garden var
  • test: use only createActionTypes
  • test: improve helpers to test callHandler
  • test: add tests to test callHandler
  • test: fix build-staging test (Sgv2 fix build-staging test #3334)
    • test: fixed module version assertions for build command
  • test: fixed module version assertions for build command (patches SGV2: fixed single test for build command #3345)
  • refactor(test): used setActionConfigs helper where possible
  • chore(test): fixed compilation errors
  • chore: update test results script
  • fix: run action result processing
  • chore: pass ops down to getActions
  • fix: action getFullVersion crash if dep is disabled
  • fix: include updated action in watch tasks
  • test: add a simple test case
  • test: fix task helper tests
  • test: remove uncached test case
  • refactor: use simpler types for helper
  • test: fix most of task tests
  • fix(core): serializing error detail could explode
  • fix: exec and test plugin schema issues
  • fix: missing resolve task dependency for delete task
  • chore: re-render docs
  • chore: resolve merge conflicts
  • chore: remove unnecessary import
  • chore: prettier
  • chore: comment out unused interface for commented out code block
  • chore: yarn run fix-format
  • chore: tslint fixes
  • chore: remove in-cluster registry test
  • chore: fix build issues caused by merge
  • chore: render docs
  • chore: update with latest 0.13 changes
  • chore: use new deploy terminology
  • docs: render docs
  • fix(exec): superfluous spec fields in conversion from modules to actions
  • improvement(config): better debug info for certain schema errors
  • perf(solver): use events to avoid stack piling up and improve performance
  • fix(solver): error in handling status during graph execution
  • test(graph): ensure skipRuntimeDependencies flag works correctly
  • fix(solver): deadlock when running multiple solver instances
  • fix(core): incorrect schema used for action configure handler
  • chore: improve debug info
  • fix(container): module conversion and schema issues
  • fix(k8s): error during helm module conversion
  • chore: fix import loop which messed with docs
  • fix(core): handling of action type base definitions and extensions
  • fix(core): rework and fix handling of static+runtime action outputs
  • fix(exec): env variables from action specs were not properly propagated
  • fix(k8s): bad error handling when initializing system services
  • fix(helm): correctly handle values file path and chart references
  • fix: re-initialize providers changing environments (fix: re-initialize providers changing environments #3481)
  • refactor: remove the deprecated local dashboard
  • chore: disable most of ci e2e and dist steps
  • cr: enable test-dist stage
  • fix(jib): fixed broken Maven Daemon support in 0.13
  • refactor: remove run service/deploy command
  • refactor: remove run module/build command
  • refactor: rename run workflow command to run-workflow
  • refactor: remove run test command
  • refactor: rename run task command to run
  • feat(cli): add --interactive flag to test command
  • fix(core): get test command working
  • feat(core): allow multiple Runs in garden run and add watch mode
  • refactor(core): remove the garden call command
  • refactor(core): remove garden scan command
  • chore(ci): fix some package installation issues
  • docs: apply suggestions from code review
  • chore: re-generated docs
  • test: fix clone recursions in unit tests
  • chore: re-generated yarn.lock
  • chore: re-generated docs
  • fix(dev-mode): [post-merge fix] proper support of absolute source paths
  • chore: update slack script regex
  • test: unit test assertion fixes on config directory (test: unit test assertion fixes on config directory #3527)
  • test: util artifacts test assertions (test: util artifacts test assertions  #3529)
  • test: core/garden test assertion fixes (test: core/garden test assertion fixes #3532)
  • test: build-stating test assertion fixes (test: build-stating test assertion fixes #3545)
  • test: update err msg assertions
  • test: allow unknown keys in action tests
  • test: reset action config after each test
  • test: fix tests in ./container/build/buildkit.ts
  • chore: export interface KubernetesDeployActionSpec
  • test: fix tests in ./port-forward.ts
  • test: fix test's initial condition in ./container/service.ts
  • style: removed empty lines
  • test: fix test action key
  • test: fix test assertions in build spec
  • test: fix test assertions in deployExecService spec
  • test: fix test assertions in runExecTask spec
  • test: fix test assertions in getExecServiceStatus spec
  • refactor: dry
  • fix: fix result schema of delete deploy action
  • fix: fixed test assertions in deleteExecService spec
  • test: fix custom command fail case
  • test: fix assertion
  • chore(k8s): use correct JSON schema for pod spec
  • refactor: remove old Helm migration field
  • fix(helm): fix base chart logic for helm modules
  • fix(k8s): fix Helm Tests, Runs and dev mode specs
  • fix(k8s): pod spec schema properly defined on kubernetes-pod action types
  • chore(helm): better error for missing defaultTarget in helm exec handler
  • refactor: remove docker version check from get debug-info command
  • test: fix get config tests
  • test: fix GetRunResultCommand tests
  • refactor: remove deprecated get/set/delete secret commands
  • fix(cli): error in get status command + updated tests
  • fix: get test-result schema + tests
  • fix: get tests schema + tests
  • chore: remove get-vaccine (chore: remove get-vaccine #3236)
  • chore: fix linting errors
  • chore: re-generated yarn.lock
  • test: post-merge corrections
  • chore: updated TODO comment
  • test: fixed some test cases
  • test: fixed the usages of ExecCommand
  • test: fixed the usage of RunCommand
  • test: corrected error assertions
  • test: corrected test conditions
  • fix: corrected test name definitions
  • fix(core): issues with disabled actions and BuildCommand tests
  • chore: fix dead links in docs
  • fix(core): fix delete environment --with-dependants flag + tests
  • test: fix DeleteDeployCommand tests
  • test: fix ExecCommand tests
  • test: fix LogsCommand tests
  • test: fix PublishCommand tests
  • test: fix RunWorkflowCommand tests
  • test: fix TestCommand tests
  • test: fixed assertion in get-run-result.ts
  • docs: re-generated docs
  • fix(core): initialize compatibleTypes of a base action in the ctor
  • fix(hadolint): fixed description string
  • refactor: proper exhaustive type check implementation
  • refactor: unified action config type checking
  • refactor: proper exhaustive type check implementation
  • refactor: fixed typo in the interface name
  • test: fixed some assertions
  • test: fix GetConfigCommand tests
  • test: implement remaining GetStatusCommand test
  • test: implement RunCommand tests
  • chore: fix linting errors
  • refactor: remove unnecessary schema field definition
  • chore: linting errors
  • test: fixed template module config
  • test: do deep merge of configs in makeTestModule helper
  • test: fixed module config spec
  • test: fixed test configs
  • test: fixed deploy name
  • test: fixed typo in the local var name
  • refactor: named constant for default env name
  • test: helper to create customized project configs
  • test: use helper function to create project configs
  • test: use named constant as the default env value
  • test: use DEFAULT_API_VERSION where possible
  • refactor: more usages of the named constants
  • refactor: remove old garden dev command implementation
  • chore: fix lint errors
  • fix(framework): increase consistency in verbose plugin logs
  • fix(exec): more informative error msg on timeout (fix(exec): more informative error msg on timeout #3584)
  • fix(events): update log event timestamp type be string or number
  • improvement(server): ensure serverReady event has correct type
  • fix(helm): stream logs to CLI and Garden Cloud (fix(helm): stream logs to CLI and Garden Cloud #3582)
  • fix(plugins): ensure PluginEventBroker is correctly passed to PluginContext
  • test: (refactor) inline redundant variables
  • test: (refactor) remove unused constant
  • test: (refactor) use getDataDir helper where possible
  • test: (refactor) use getDataDir helper where possible
  • test: (refactor) use getDataDir helper in garden.ts
  • test: (refactor) do not export internally used constants
  • test: add JSDocs for the getDataDir helper function
  • chore: port "upgrade node version to 16" to 0.13 (chore: port "upgrade node version to 16" to 0.13 #3597)
  • test: some basic tests for getAction(s)ByKind
  • test: add new tests (throw on missing actions)
  • test: (refactor) split module- and action-based configs
  • test: add new tests (throw on disabled actions)
  • test: add new tests (optionally return specified actions)
  • test: extended initial test config
  • test: add new tests (optionally include disabled actions)
  • test: add new tests (omit disabled actions)
  • test: (refactoring) extracted some local helpers
  • test: (refactoring) used getNames helper where applicable
  • test: todo comment on the future tests
  • fix(k8s): fix sync destination formatting issue
  • fix(k8s): fixed dev mode for container services
  • feat(commands): add experimental watch disable flag for dev mode
  • chore: fix lint+docs errors
  • refactor(deploy): remove --skip-watch and disallow --watch with dev/local mode
  • chore: fix main/files fields in terraform + pulumi plugin package.json files
  • perf(vcs): cut git CLI calls down by approx 60%
  • fix(deploy): watch triggers for module config files weren't firing correctly
  • test: move e2e tests to e2e/projects and split module-based tests out
  • chore(ci): remove unnecessary test filter from minikube 1.22 tests
  • fix(k8s): delete handler for container deploys wasn't wired up
  • chore(ci): re-organize e2e tests a bit
  • fix(config): application of default values on resolve action spec
  • fix(config): superfluous configPath field on action configs from disk
  • chore(ci): fix project names in module e2e tests
  • chore(ci): enable demo-project e2e test
  • fix(cli): failure in self-update command due to GitHub API change
  • chore: upgrade to node 18 (chore: upgrade to node 18 #3620)
  • chore(ci): fix issue with build-dist step
  • chore(ci): re-enable macos and windows smoke tests
  • chore(ci): remove rsync dependency from macos test
  • chore(build): avoid path exclusion issues with plugin handler directories
  • chore(ci): invalidate yarn cache after Node 18 upgrade
  • chore: fix some imports from outside the core package
  • chore: fix convert-jsonl-log script
  • fix(container): incorrect working directory when calling docker CLI
  • chore: loosen validation on internal path fields
  • chore: debug rsync error in macos test
  • fix(build): rsync version check was run prematurely (i.e. even if disabled)
  • test: implement base router validateActionOutputs tests
  • refactor: remove unused interface
  • fix(hadolint): correct Dockerfile path construction
  • refactor(hadolint): use explicit types on actions
  • fix(hadolint): fix internal config path initialization
  • fix(hadolint): attempt to fix schema validation issue
  • refactor(dev-mode): remove duplicate code
  • refactor(local-mode): move local mode config to ./local-mode.ts
  • refactor(k8s): fixed typo in the interface name
  • chore: linting
  • refactor(core): re-work the old ConfigStore classes and make type-safe
  • refactor(core): get rid of sqlite and just use file-backed config stores
  • improvement(config-store): tighter file mode on global config + atomic write
  • test: implement container module conversion tests
  • chore(ci): add automatic edge build for the 0.13 branch
  • test: fix version calculation tests
  • chore: enable and fix configureContainerModule tests
  • test: copy existing container build tests to new file as if
  • test: fix container build tests
  • chore: switch from tslint to eslint (chore: switch from tslint to eslint #3651)
  • fix(install): remove unnecessary rsync dependency in homebrew formula
  • refactor(k8s): remove rsync mode for syncing build contexts to in-cluster build
  • ci: attempt to fix unit test oom by increasing heap size
  • chore: fixed typo
  • refactor: named types for exec provider and its config
  • refactor: named interface for result of convertModules function
  • chore: helpers to extract the data from the modules conversion result
  • refactor: remove unnecessary interface
  • refactor: stricter type definition
  • test: converted comment to JSDoc
  • test: unified provider config for all tests
  • test: desc and setup/teardown logic for exec module conversion spec
  • test: exec module conversion spec (group variables)
  • test: exec module conversion spec (build.command)
  • test: exec module conversion spec draft (build.dependencies.copy)
  • test: added TODO comment
  • test: exec module conversion spec (buildAtSource)
  • test: exec module conversion spec (one more test for buildAtSource)
  • test: exec module conversion spec (serviceConfigs with build)
  • test: some cleanup and refactoring
  • test: move convert spec to own independent context
  • test: renamed variable
  • test: grouped tests by semantic categories
  • test: exec module conversion spec (taskConfigs with build)
  • test: exec module conversion spec (testConfigs with build)
  • fix: fix getDockerVersion helper
  • chore(test): fix link.ts and unlink.ts test assertions (chore(test): fix link.ts and unlink.ts test assertions #3682)
  • chore(lint): improve eslintrc configuration, fix e2e lint errors (chore(lint): improve eslintrc configuration, fix e2e lint errors #3684)
  • test: fix local-mode project cfg
  • test(template): implement some basic error asserting tests
  • test: split spec into 2 contexts: action and runtime
  • improvement(template): better error message on missing kind
  • improvement(template): aligned action and runtime kind validation
  • test: valid action template refs
  • test: valid runtime template refs
  • test: use special helper to create project configs
  • test: use named constant DEFAULT_API_VERSION
  • refactor(cli): make -V instead of -v (lowercase) print Garden version
  • refactor(k8s): change default kaniko namespace to the project namespace
  • fix(core): error when attempting to emit warning message
  • test: fix test config to be compatible with exec module type
  • test: fix error message assertions
  • refactor: separate logic
  • test: implenet plugin tests
  • chore: implement plugin schema validation
  • test: fix router test plugin schemas
  • cr: lint
  • cr: return missing context
  • refactor: remove -w/--watch flags from build, deploy, run and test commands
  • test: fix login and logout command tests
  • test: more granular control of git repo init in makeTempDir helper
  • test: use makeTempDir helper where possible
  • test: fix assertions in config/common.ts (test: fix assertions in config/common.ts #3719)
  • test: configure convert module handler for some tests
  • test: configure convert module handler in module variables context
  • test: fix test context init for warning tests
  • test: fix util/ext-source-util.ts assertions (test: fix util/ext-source-util.ts assertions #3724)
  • test: fix config-store.ts assertions (test: fix config-store.ts assertions #3726)
  • test: fix cloud/api.ts (test: fix cloud/api.ts #3728)
  • test: use shorter form of expectError to examine error messages
  • test: better type-safety control in module config helper
  • refactor: renamed interface: ExecBuildSpec -> ExecModuleBuildSpec
  • fix: corrected type definition
  • fix(exec): prevent ExecModuleBuildSpec from extending BaseBuildSpec
  • fix(container): detached container build spec from BaseBuildSpec
  • test: stricter type control for exec plugin test configs
  • fix: allow default value in schema
  • test: attempt to fix local mode integ test
  • test: fix an integ tests
  • test: use helper to create module config
  • test: fix module path to be a valid git dir
  • fix(core): allowed undefined values in mapped types
  • test: fixed module key
  • test: fixed compilation error
  • test: fix analytics.ts assertions (test: fix analytics.ts assertions #3734)
  • test: use expectError helper in template string tests
  • test: custom message support with contains predicate in expectError
  • test: more usages of expectError helper
  • test: more usages of expectError helper
  • test: more usages of expectError helper
  • test: use new form of expectError helper in commands tests
  • test: fix handlers' arity in plugin unit tests
  • chore: fix links in docs
  • feat(cli): new, minty fresh interactive dev command
  • feat(dev): add reload command to dev console
  • chore: update docs and fix lint errors
  • feat(dev): add blinking cursor
  • refactor(cli): remove API server from build, deploy, run and test commands
  • feat(dev): add autocomplete, reload and log-level commands to API server
  • fix(dev): autocomplete for partially entered option flags
  • improvement(dev): some styling tweaks in dev command
  • fix(dev): not all commands would be loaded on config load/reload
  • feat(dev): show status message while running commands
  • fix(dev): disallow persistent commands in the dev console
  • fix(get-config): error in output schema
  • test: skip watcher tests until it's reworked
  • improvement(container): slightly more clear log context for docker builds
  • chore(examples): update demo-project to use action configs
  • improvement(dev): autocomplete on right-arrow if at end of input line
  • fix(dev): correctly update autocompletes after config reload
  • chore: minor fixes after review
  • improvement(dev): add 'exit' as alias to 'quit' command
  • chore: reword exec deploy argument help text
  • fix(example): correct entrypoint in Dockerfile in base-image example
  • chore(examples): renamed garden config files in the base-image example
  • chore(examples): update base-image example to use action configs
  • docs(examples): update base-image example's readme
  • refactor(core): default action moduleName to null instead of action name
  • test: implement actionConfigsToGraph tests
  • test: implement TODO GraphSolver tests
  • fix(core): issues with validation and handling of base handlers on action types
  • fix(core): always ignore .garden directory when scanning for configs
  • test: remove two unnecessary TODO tests from template-string.ts
  • test: split up setActionConfigs and setModuleConfigs
  • fix(core): various issues with action/runtime template references
  • fix(server): errors in output serialization
  • test: fix CoreEventStream tests
  • test: fix createServiceResources tests
  • chore: remove .garden-version files
  • test: remove superfluous DeployTask tests
  • test: fix error in build action tests
  • test: fix containerHelper tests
  • test: fix CLI tests
  • test: fix build and publish version assertions
  • test: remove outdated ModuleConfigContext tests
  • test: fix processCliArgs test
  • chore: fix generate-docs error
  • test: fix CLI test
  • test: fix VcsHandler tests
  • fix(core): more narrow set of config fields to hash for module versions
  • test: move some container unit tests to integ suite (implementation still TODO)
  • test: fix augmentGraph tests
  • fix(cli): test command would hang if --interactive=true
  • fix(k8s): bad label on container Deployment manifest
  • chore: minor fixes after review
  • refactor: remove unnecessary spec-level deps processing
  • test: exec module conversion spec (serviceConfigs with no build)
  • test: exec module conversion spec (taskConfigs with no build)
  • test: exec module conversion spec (testConfigs with no build)
  • fix(exec): issues with log output propagation and env vars
  • feat(exec): add explicit shell: true option to exec action specs
  • fix(core): schema error in module resolution
  • test: fix some error message assertions
  • chore(ci): fix issues with test-framework step
  • chore: generate docs
  • test: fix cli package tests
  • chore: remove slack test report script (no longer needed)
  • chore(ci): fix namespace in test-macos demo-project deployment
  • fix(local-mode): fix ssh key names for local mode
  • chore(examples): update local-mode example to use action configs
  • docs(examples): update local-mode example's readme
  • refactor: proper exhaustive type check implementation
  • refactor: remove unused functions
  • refactor: use getResourceKey helper where possible
  • ci: remove slack test report from ci
  • chore(examples): update rust example to use action configs (chore(examples): update rust example to use action configs #3756)
  • fix(helm): fix conversion when skipDeploy = true
  • test: convert module to action
  • test: fix various integ tests
  • fix(k8s): fixed resource file processing in configure action handler
  • refactor(local-mode): unified way of section definitions in logger
  • chore: linting (remove unused local var)
  • refactor(local-mode): refactor local mode config interfaces
  • refactor(local-mode): remove containerName from k8s local mode spec
  • chore(examples): update vote example to use action configs (chore(examples): update vote example to use action configs #3761)
  • chore: switch the cleanup command emoji (chore: switch the cleanup command emoji #3768)
  • chore(examples): update local-mode-k8s example to use action configs
  • docs(examples): update local-mode-k8s example's readme
  • docs(examples): minor correction in local-mode example's readme
  • chore(examples): fix integration tests in local mode examples
  • chore(examples): update variables example to use action configs (chore(examples): update variables example to use action configs #3772)
  • test: stop founders introducing themselves in unit tests :)
  • perf(core): memoize frequently accessed Garden methods
  • perf(core): cache schemas to reduce load time and speed up tests
  • fix(config): ensure a path is set on augmentGraph actions
  • improvement(core): clear separation between input and output versions for tasks
  • fix(core): incorrect action version resolution in some cases
  • test: fix type errors in jib plugin tests
  • chore: update docs
  • chore: address review comments
  • chore(examples): update local-mode-helm example to use action configs
  • docs(examples): update local-mode-helm example's readme
  • chore(examples): config patch for local-mode-helm example
  • chore(examples): update tasks example to use action configs (chore(examples): update tasks example to use action configs #3773)
  • chore(examples): update local-exec example to use action configs
  • docs(examples): update local-exec example's readme
  • chore(examples): use relative link to demo-project example
  • chore(examples): update local-service example to use action configs
  • docs(examples): update local-service example's readme
  • chore(examples): update jib-container example to use action configs
  • fix(jib): remove timeout from build action spec
  • fix(jib): fix spec creation in jib module converter
  • ci: enable e2e tests for jib-container
  • test: fix artifacts container integ tests
  • test: fix various integ tests
  • fix(k8s): typo in volume access modes module conversion
  • chore(examples): patch local-service example's configs
  • chore: enabled eslint check for unused imports and clear up errors+warnings
  • chore(ci): use unique namespaces for test-dist and test-windows steps
  • chore(examples): update local-tls example to use action configs
  • refactor(hadolint): extract named lambdas
  • refactor(hadolint): remove unnecessary async from function definition
  • fix(hadolint): fix Dockerfile path processing for different specs
  • improvement(logger): remove fancy logger
  • chore(logger): remove node-emoji lib
  • chore(logger): cleanup as part of removing 'fancy' logger
  • chore(examples): update vote-helm example to use action configs (chore(examples): update vote-helm example to use action configs #3784)
  • refactor: rename "dev mode" to just sync or "sync mode"
  • refactor: rename "dev mode" to "sync mode" in more places
  • chore(ci): fix test-windows step in CI
  • fix(k8s): fix k8s module-to-action conversion
  • chore(examples): rename example directory
  • chore(examples): update kubernetes example to use action configs
  • docs(examples): update kubernetes example's readme
  • feat(config): add sourcePath and buildPath keys to action template references
  • chore(examples): fix vote-helm example
  • refactor: allow to hardcode action kind
  • fix: action kind schema logic
  • fix: volume action reference module conversion
  • chore(ci): fix namespace cleanup
  • feat(kubernetes): add sync helper commands
  • fix(k8s): error when getting status of container Deploy in sync mode
  • chore(examples): update kubernetes-secrets example to use action configs
  • improvement(hadolint): update hadolint to v.2.12.0
  • chore(examples): update hadolint example to use action configs
  • docs(examples): update hadolint example's readme
  • chore(examples): remove unnecessary dependencies in unit tests
  • chore(examples): update kaniko example to use action configs
  • chore(examples): fix provider config and update readme in kaniko example
  • chore(examples): delete deployment-strategies example
  • chore(examples): remove deployment-strategies from e2e test suite
  • fix(logger): ensure we print emoji instead of text description
  • test: fix ingress integ tests
  • chore(examples): update kustomize example to use action configs
  • chore(logger): more cleanup as part of removing 'fancy' logger
  • chore(examples): create a modules-to-actions example (chore(examples): create a modules-to-actions example #3805)
  • chore(examples): update gatsby-code-sync example to use actions (chore(examples): update gatsby-code-sync example to use actions #3833)
  • test: fix hadolint integration tests
  • refactor: type-safe deployment strategy retrieval
  • refactor: remove blue-green deployment strategy support
  • refactor: remove unnecessary method args
  • refactor: remove unnecessary function
  • refactor: update docs and comments
  • refactor(k8s): change container Deployment labels
  • ci: changed e2e namespace pattern
  • chore(examples): updated project name in garden config
  • ci: install gke-gcloud-auth-plugin in macos envs
  • chore: update dependencies and remove unused ones (chore: update dependencies and remove unused ones #3838)
  • test: fix k8s build integ tests
  • chore: run build integ tests in ci
  • fix: remove accessMode from configmap deploy spec
  • test: fix configMap integ test assertion
  • test: fix volume reference config
  • test: fix sync mode tests
  • test: fix a large portion of run.ts integ tests
  • test: fix the last of run integ tests
  • fix: correctly assign cfgMap and pvc names
  • test: remove unneeded action execution
  • docs: render new docs
  • chore: exclude lockfiles from GitHub diffs
  • cherry-pick for 0.13: ISO timestamp changes to event payloads (cherry-pick for 0.13: ISO timestamp changes to event payloads #3857)
  • test: fix a couple assertions
  • fix: action names from module conversion
  • test: convert module to actions
  • test: fix assertions in k8s handler integ
  • ci: add edge-bonsai tag to image release
  • fix: action module reference description
  • chore: simplify code
  • fix: k8s pod action conversion
  • test: fix assertions
  • refactor(cli): remove some aliases for CLI options
  • Strip ignore filter for release-docker
  • Clean-up docker tags This stops git hashes from proliferating in our Docker Hub by removing any step that pushes a git hash. Building is already taken care of by our push-containers.sh scripts which itself calls build-containers.sh.
  • improvement(dev-mode): address PR comments
  • chore(docs): remove mentions of old garden dev command
  • Use image digest for test
  • fix(kubernetes): detect that pod has been killed (fix(kubernetes): detect that pod has been killed #3571)
  • chore(mutagen): fix flaky test
  • fix(terraform): fix checksums for terraform 1.2.9 darwin builds (fix(terraform): fix checksums for terraform 1.2.9 darwin builds #3630)
  • fix(scripts): release.ts unintentionally also ran scripts (chore(scripts): release.ts unintentionally also ran scripts #3626)
  • fix(kubernetes): make preStop command work with busybox (fix(kubernetes): make preStop command work with busybox #3568)
  • fix(terraform): update condition to trigger tf init (fix(terraform): update condition that triggers terraform init #3632)
  • chore(release): fix brew install hint in test-release.sh
  • chore: add dependabot for github-actions (chore: add dependabot for github-actions #3641)
  • chore(release): bump version to 0.12.49
  • chore(release): sanitize changelog for 0.12.49
  • chore(deps): bump step-security/harden-runner from 1.4.5 to 2.1.0 (chore(deps): bump step-security/harden-runner from 1.4.5 to 2.1.0 #3646)
  • chore(deps): bump github/codeql-action from 1.0.26 to 2.2.1 (chore(deps): bump github/codeql-action from 1.0.26 to 2.2.1 #3645)
  • chore(deps): bump actions/setup-node from 1.4.6 to 3.6.0 (chore(deps): bump actions/setup-node from 1.4.6 to 3.6.0 #3644)
  • chore(deps): bump ossf/scorecard-action from 1.1.1 to 2.1.2 (chore(deps): bump ossf/scorecard-action from 1.1.1 to 2.1.2 #3642)
  • ci: refactor github workflows (ci: refactor github workflows #3649)
  • chore(release): bump version to 0.12.50
  • chore(deps): bump actions/upload-artifact from 3.0.0 to 3.1.2 (chore(deps): bump actions/upload-artifact from 3.0.0 to 3.1.2 #3656)
  • chore(deps): bump http-cache-semantics
  • chore(deps): bump http-cache-semantics
  • fix(terraform): improve init behaviour on validate and error messages (fix(terraform): improve init behaviour on validate and error messages #3663)
  • ci: updated list of allowed endpoints in the scorecard GH action
  • Fix README link
  • chore(deps): bump http-cache-semantics from 4.1.0 to 4.1.1
  • ci: use audit egress-policy in the scorecard GH action
  • chore(deps): bump tokio from 1.24.1 to 1.24.2 in /examples/rust/backend (chore(deps): bump tokio from 1.24.1 to 1.24.2 in /examples/rust/backend #3672)
  • ci: updated list of allowed endpoints in the scorecard GH action
  • docs: re-generated jib docs
  • fix: inherit module ns in action conversion
  • fix: k8s pod action conversin
  • test: add service dep to tests and tasks
  • test: fix assertions
  • test: skip test with solver issue
  • improvement(framework): allow users to specify proxy hostname in project config
  • docs: replace dead link (docs: replace dead link #3902)
  • ci: fix release workflow (ci: fix release workflow #3693)
  • chore(release): bump version to 0.12.51
  • chore(deps): bump github/codeql-action from 2.2.1 to 2.2.2 (chore(deps): bump github/codeql-action from 2.2.1 to 2.2.2 #3691)
  • chore(deps): bump @sideway/formula in /examples/vote-helm/vote-image
  • chore(deps): bump @sideway/formula in /examples/vote/vote
  • chore(deps): bump github/codeql-action from 2.2.2 to 2.2.3
  • chore(deps): bump github/codeql-action from 2.2.3 to 2.2.4
  • chore(deps): bump step-security/harden-runner from 2.1.0 to 2.2.0 (chore(deps): bump step-security/harden-runner from 2.1.0 to 2.2.0 #3817)
  • chore(deps): bump github/codeql-action from 2.2.4 to 2.2.5
  • docs(local-mode): restored the latest valid version of the guide
  • fix typo in configmap docs
  • fix(docs): fix broken links
  • fix(core): override Build version with module (fix(core): override Build version with module #3908)
  • feat(config): add $if/$else/$then conditional objects (feat(config): add $if/$else/$then conditional objects #3907)
  • chore(examples): update code-synchronization example to use actions (chore(examples): update code-synchronization example to use actions #3822)
  • test: fix k8s test integ suit
  • test: fix missing k8s resource status test
  • test: skip a few tricky tests
  • test: fix container deploy integ tests
  • test: fix run result caching integ test
  • chore(examples): remote-local-hybrid frontend: logic fix + formatting
  • chore(examples): update remote-local-hybrid example to use actions
  • chore(examples): remove remote-local-hybrid example as obsolete
  • test: fix assertion and make it human readable
  • test: fix helm base module tests
  • test: rewrite getChartPath for new behaviour
  • fix: handle chart with url as remote
  • test: implement helm prepareTemplates integ tests
  • test: implement helm dependency integ test
  • fix(logs): exit with error if services not found when getting logs
  • fix(k8s): more stable & performant log streaming (fix(k8s): more stable & performant log streaming #3730)
  • docs: add template string reference docs for actions
  • fix(core): improve graph result filtering (fix(core): improve graph result filtering #3911)
  • chore(examples): update build-dependencies example to use action configs
  • docs(examples): update build-dependencies example's readme
  • fix(sync-mode): fix source path definition in config schema
  • fix(sync-mode): fix predicate in init container matcher
  • refactor: more type-safety for dependencies retrieval
  • refactor: extracted local variable
  • fix: fix source build dir initialization and syncing
  • improvement(sync-mode): allow Windows paths as sync sources
  • refactor: introduce parameter object in syncFromSrc helper
  • chore(ci): re-enable more e2e tests (chore(ci): re-enable more e2e tests #3916)
  • chore(examples): update gke example to use actions (chore(examples): update gke example to use actions #3915)
  • chore(examples): update conftest example to use action configs (chore(examples): update conftest example to use action configs #3788)
  • chore(examples): update remote-k8s example to use actions (chore(examples): update remote-k8s example to use actions #3860)
  • chore: fix result filtering logic
  • chore: improve error message text in solver
  • improvement(container): redeploy when spec changes
  • fix(k8s): fix persistentvolumeclaim Deploy actions
  • chore: set default Cloud API auth token validity
  • fix: schema fixes around k8s/container conversion
  • fix(container): fix spec.image in container conversion
  • chore(examples): update pulumi example to use actions
  • chore: remove unnecessary template string
  • fix(hadolint): enable timeout in hadolint test config
  • fix: fix result schema definition of configure action handler
  • refactor: remove unnecessary overrides of type field
  • chore: fix discord invite link
  • ci(dependabot): add dependabot docker ecosystem (ci: add dependabot docker and npm ecosystems #3885)
  • chore: eslint: add no-console at error level (chore: eslint: add no-console at error level #3938)
  • feat(config): add ${this.mode} template variable to action spec context
  • fix: pulumi action config handler bug
  • feat(examples): add GitOps example based on ArgoCD
  • chore(docs): add github workflow, update README
  • chore: update README with suggested chages
  • chore: disable ingress, no ingress controller deployed
  • chore(rename): change docker registry namespace to gardendev
  • chore(deps): bump json5, loader-utils and @vue/cli-service
  • chore(deps): bump axios from 0.18.0 to 0.21.2 in /examples/argocd/web
  • chore(deps): bump github/codeql-action from 2.2.5 to 2.2.6
  • chore(deps): bump step-security/harden-runner from 2.2.0 to 2.2.1
  • test: update helm local mode test project
  • test: fix helm run tests
  • test: fix helm test integ tests
  • test: fix pvc integ test
  • test: fix sync-mode integ test
  • test: rename test file
  • fix: values for sync perms
  • test: fix k8s run integ test
  • refactor: remove unused var
  • test: remove duplicate tests
  • test: fix getServiceResourceSpec integ
  • test: fix k8s util integ tests
  • fix: configmap getK8sAction return
  • chore: revert dependency upgrade and fix README (chore: revert dependency upgrade and fix README #3946) (chore: revert dependency upgrade and fix README (#3946) #3952)
  • chore(examples): update disabled-configs example to use action configs
  • improvement(cli): slightly improved error detail logging
  • fix(config): issues with template resolution on built-in action config fields
  • fix(core): error when referencing a disabled Build action in Deploy
  • feat(cloud): garden cloud dashboard fallback (feat(cloud): Dashboard deprecation notice and garden cloud dashboard fallback #3666)
  • fix(cloud): continue when token refresh fails (fix(cloud): continue when token refresh fails #3814)
  • fix(cloud): update to use UUIDs (cloud(fix): Update to use UUIDs #3834)
  • chore: eslint mocha plugin, disallow exclusive tests, warn on skip (chore: eslint mocha plugin, disallow exclusive tests, warn on skip #3957)
  • chore(examples): update istio example to use actions
  • test(integ): fix or skip all failing tests
  • refactor(exec): replace syncMode from exec Deploy with persistent flag
  • refactor(exec): split exec.ts module
  • chore: remove tmp file
  • improvement(exec): run persistent exec processes detached from the Garden proc
  • refactor(core): explicitly inform framework of persistent attached child process
  • chore(cloud): update action status & log events
  • chore(cloud): improved actionUid handling
  • chore(cloud): add cached state to events
  • improvement(k8s): schedule runners w/o deploying
  • feat(cli): support spread positional arguments
  • feat(k8s): kubernetes-exec Runs and Tests
  • fix: initialize logger when not present
  • fix(solver): ready status was ignored for several task types
  • 0.13 some refactoring and minor fixes for local mode (0.13 some refactoring and minor fixes for local mode #3945)
  • fix(k8s): add log streaming for exec Runs/Tests
  • fix(container): ensure error message is properly indented
  • fix(k8s): retry exec attempts in PodRunner (fix(k8s): retry exec attempts in PodRunner #3956)
  • refactor: initialize and pass logger earlier
  • chore: remove unused import
  • chore: linting
  • improvement: track the command run result and duration (improvement: track the command run result and duration #3837)
  • docs(local-mode): documentation update
  • improvement(autocomplete): handful of small improvements based on feedback
  • improvement(logger): various fixes to make basic logger render nicer
  • chore(deps): bump actions/checkout from 3.3.0 to 3.4.0 (chore(deps): bump actions/checkout from 3.3.0 to 3.4.0 #3977)
  • chore(deps): bump github/codeql-action from 2.2.6 to 2.2.7 (chore(deps): bump github/codeql-action from 2.2.6 to 2.2.7 #3976)
  • chore(deps): bump webpack in /examples/gatsby-code-sync
  • chore: fix shas for latest Terraform binary
  • fix(docs): move pvc shared volumes info to the right page
  • improvement: add additional info to error message when sh is not found
  • refactor: rename ModuleTemplate to ConfigTemplate
  • feat(config): templating for actions and workflows + new RenderTemplate kind
  • improvement: deduplicate deploy status logs for ready statuses
  • chore: switch the cleanup command emoji
  • chore: fix confusing log lines in BuildTask
  • refactor: split sync start/stop out to specific plugin handlers
  • improvement(k8s): syncs keep running after Garden process exits
  • fix(cli): util fetch-tools command would not error if run outside project dir
  • improvement(core): tell user which envs are configured when bad env specified
  • feat(cli): add util mutagen command to ease troubleshooting sync issues
  • feat: add sync start and sync stop commands
  • fix(dev): crash when specifying bad command arguments
  • fix(cli): command-specified logger type wasn't respected
  • fix(dev): login and logout commands didn't work in dev command
  • improvement(sync): wait for first sync to complete (flush) when starting syncs
  • improvement(dev): persist command history between dev command sessions
  • fix(dev): handle most characters and symbols in the command input
  • fix(dev): handle -h/--help and print help if command group is matched
  • refactor(core): return plugin context with router handler results
  • fix(git): allow local submodules (prohibited by default in recent git versions)
  • test: fix K8sLogsFollower test
  • chore: add warning for beta release
  • cr: move warning and make it yellow
  • improvement: more granular version control in self-update command (improvement: more granular version control in self-update command #3999)
  • chore(deps): bump github/codeql-action from 2.2.7 to 2.2.9
  • chore(deps): bump actions/checkout from 3.4.0 to 3.5.0
  • fix(logger): ensure 'fixLevel' is used properly
  • improvement(logger): add ActionLog (v0)
  • test: fix container logs integ test
  • chore(logger): fix issues introduced in rebase
  • fix: add actionType to log events
  • feat: remaining actionTypes
  • docs: add migration guide from 0.12 to bonsai (docs: add migration guide from 0.12 to bonsai #4007)
  • fix: utilize validation handler
  • 0.13: fix random imagepull errs in ci (0.13: fix random imagepull errs in ci #4009)
  • chore: fix sync mode testing in test-release.sh
  • docs: update discord invite link
  • feat(cli): add set default-env command
  • chore: fix log output in tests (got overwritten by other PR)
  • chore: add missing .gitignore to test-garden-dir test directory
  • chore: update docs
  • chore: increase timeout for sync test
  • chore: stop sync after test
  • chore: revert any git changes as quick as possible
  • chore: garden serve: require login (chore: garden serve: require login #4028)
  • fix: validate via resolution
  • chore: add opts to getDependency
  • fix: don't throw on a disabled build dependency
  • fix: validate all runtime container actions
  • test: fix ingress tests
  • feat: support pre-release versions in self-update command (feat: support pre-release versions in self-update command #4022)
  • chore(local-mode): correct warn message on local mode exit
  • chore: better rendering of local mode command in logs
  • chore: log original process messages to the console
  • fix: set defaultEnv default value
  • chore(tests): use invalid domains instead of possibly-used ones
  • chore(tests): more invalid domain names instead of possibly-real ones
  • refactor(core): return plugin context with router handler results
  • fix(k8s): container deploy handler might return non-ready status
  • feat(dev): support persistent commands (logs, deploy --sync/local etc) in dev
  • test: fix log output in unit tests
  • chore: update docs
  • fix(cli): error when trying to clear default env with set default-env ''
  • chore: lower integ test timeout
  • fix(cli): error running noProject command (e.g. login) with default env set
  • improvement(api): allow unstructured string arguments in HTTP API commands (improvement(api): allow unstructured string arguments in HTTP API commands #4035)
  • chore(examples): clean up accidentally added files in local-mode example
  • refactor(k8s): don't set --atomic flag by default in helm Deploy actions
  • chore(example): improve ux in local mode container example
  • chore(example): improve ux in local mode k8s example
  • chore(example): improve ux in local mode helm example
  • fix: add mode annotation to getManifests
  • test: fix annotation assertions
  • test: fix ingress tls cert test
  • refactor: rename modules project config entry to scan (refactor: rename modules project config entry to scan #4036)
  • chore: update year range in license header comment
  • chore: revisit and update todo comments
  • chore: fix deploy name in the logs
  • improvement: set defaultTarget in module converter
  • chore: more informative error messages on missing config
  • style: minimize the diff between helm and kubernetes exec handlers
  • chore(examples): add defaultTarget config in kubernetes-deploy example
  • chore: update 0.13 status warning
  • docs: fix action kind rendering in reference docs
  • fix: prevent exec command from running any deployments (0.13 fix exec to not deploy anything #4052)
  • fix(deploy): duplicate log entry when deploying
  • fix(k8s): incorrect annotations on stored Run and Test results
  • fix(k8s): error in status checks in exec handlers
  • fix(core): prevent mutations on action configs, which could mess up versions
  • refactor: rename deploy state property for clarity
  • docs: re-generate docs
  • chore: fix post-rebase compilation error
  • 0.13 use new terms in commands help (0.13 use new terms in commands help #4062)
  • docs(k8s): update terraform-gke example for Bonsai (docs(k8s): update terraform-gke example for Bonsai  #4000)
  • fix: login/logout using the configured domain (fix: login/logout using the configured domain #4050)
  • chore(deps): bump step-security/harden-runner from 2.2.1 to 2.3.0
  • chore(deps): bump github/codeql-action from 2.2.9 to 2.2.11
  • chore(deps): bump ossf/scorecard-action from 2.1.2 to 2.1.3
  • improvement: always print ingress urls in console
  • improvement(k8s): catch internal etcdserver throttling error from API
  • docs: update docs for minikube registry auth (docs: update docs for minikube registry auth #3986)
  • chore: switch from k8s.gcr.io to registry.k8s.io due to deprecation (chore: switch from k8s.gcr.io to registry.k8s.io due to deprecation #4082)
  • chore(deps): bump json in /examples/vote/worker
  • chore(deps): bump json in /examples/vote-helm/worker-image
  • chore: remove cert-manager support (chore: remove cert-manager support #4085)
  • fix: use the correct secret in pullFromExternalRegistry in kaniko builds (fix: use the correct secret in pullFromExternalRegistry in kaniko builds #4094) (fix: use the correct secret in pullFromExternalRegistry in kaniko builds #4096)
  • chore(cli): logging tweaks
  • fix(cli): correctly handle multiple opt aliases
  • chore(docs): fix docstrings for sync commands
  • fix(sync-mode): ensure project mutagen dir exists
  • fix(helm): fix status checks around code syncing
  • docs: update a portion of docs (0.13: update a portion of docs #4084)
  • chore(deps): bump actions/checkout from 3.5.0 to 3.5.2
  • chore(deps): bump github/codeql-action from 2.2.11 to 2.2.12
  • docs: embed 'How Garden Works' video to guide
  • 0.13 docs: add cert manager docs dns and tls (0.13 docs: add cert manager docs dns and tls #4077)
  • docs: use new syntax in exclude/include configuration
  • docs: update ".ignore" file configuration description
  • chore: remove unused field and generic type
  • chore: fix typo in the function name
  • docs: use relative paths to examples
  • docs: update docs to use new concepts and terminology
  • fix: 0.13 export the status state-field consistently across action types (fix: 0.13 export the status state-field consistently across action types #4073)
  • fix: use default target in sync overrides
  • docs: update migration guide from 0.12 to Bonsai (docs: update migration guide from 0.12 to Bonsai #4104)
  • chore(examples): use local.demo.garden for local kubernetes examples
  • chore(examples): use local.demo.garden in the configs added in 0.13
  • fix(cli): don't throw in dev command if offline
  • refactor: moved some type definitions to other the packages
  • docs: update local mode guide to use 0.13 terms (docs: update local mode guide to use 0.13 terms #4106)
  • chore: linting
  • docs: 0.13 update "Using the CLI" guide (docs: 0.13 update "Using the CLI" guide #4108)
  • feat: retry k8s api calls on ECONNREFUSED and 500 errors
  • feat: allow -i alias for interactive mode in exec command
  • revert: remove noProject flag from custom commands
  • 0.13: some updates in "Using Garden" guide series (0.13: some updates in "Using Garden" guide series #4105)
  • chore(deps): bump github/codeql-action from 2.2.12 to 2.3.0
  • chore(deps): bump step-security/harden-runner from 2.3.0 to 2.3.1
  • chore: update helm/kubernetes-exec schema
  • docs: update examples with new actions types
  • docs: update container and helm guides
  • docs: make example links relative
  • docs: remove extra space
  • refactor: accept strings as secret and user ids in delete command
  • fix: temporary hard-code 0.13.0 version in api client
  • feat: garden community command (feat: garden community command #4129)
  • fix(sync): ensure key uniqueness for syncs
  • fix(k8s): stop retrying in LogFollower when Pod is in terminal phase
  • chore: update generated docs
  • refactor(logger): cleanup original implementation + remove fields
  • docs: update guides
  • chore: remove .only to run all the tests and added docs link (chore: 0.13 fix run all tests and add docs link #4147)
  • chore: remove dead code
  • chore: add explicit return type
  • refactor: rename method
  • fix: return startSync flag in DeployTaskParams
  • fix: return action-specific params in getDependencyParams()
  • chore: fix broken tests that got accidentally merged due to "only" flag
  • refactor: remove the color red from non-error related logging
  • improvement(k8s): reduce number of k8s API calls during status monitoring
  • fix(solver): results were not cleaned up on error in all cases
  • test: fix spec overrides in integ tests
  • chore: avoid eventemitter max listener warning
  • test: fix more integ tests
  • chore(ci): fix kind cluster init
  • test: replace usages of testdouble for containerHelpers object
  • chore: use action key instead of just name in waitForResources logs
  • test: fix helmDeploy test on minikube+kind
  • chore(ci): enable more k8s version integ tests
  • chore: fix build issues in plugin tests
  • chore(examples): address flaky postgres startup in vote-helm project
  • chore(ci): disable windows smoke test for the moment
  • feat(core): support remote repositories for action sources
  • 0.13: Mandatory apiVersion-field when using action kinds (feat: 0.13: Mandatory apiVersion-field when using action kinds #4102)
  • chore(ci): fix gcloud gke auth (chore(ci): fix gcloud gke auth #4161)
  • fix: do not throw if no action kinds & garden.io/v0 (fix: do not throw if no action kinds & garden.io/v0 #4162)
  • fix: throw when test or run is not found
  • test(workflows): add test case for lazy initialization (test(workflows): add test case for lazy initialization #4168)
  • fix(dev): fix changed sources not being detected
  • 0.13: improve task logging (0.13: improve task logging #4160)
  • feat: 0.13 login without project (feat: 0.13 login without project #4172)
  • fix: custom commands: spread true
  • chore: improved apiVersion related error messages (chore: 0.13 fix apiVersion message #4176)
  • chore(examples): update postgres helm chart
  • feat(core): --logs option for deploy command
  • fix(monitors): ensure status isn't overwritten due to a race condition
  • improvement(cli): detect calls to removed run cmds
  • fix(logs): ensure logs command sets tail/since flags properly
  • fix(server): ensure fresh command instance per request
  • improvement(monitors): allow multiple commands to subscribe to a monitor
  • fix(monitors): properly unsubscribe subscribers (flagged in review)
  • fix(commands): ensure cloning works for all commands
  • fix(commands): fix broken tests
  • fix(monitors): handle unsubscribes at manager level
  • refactor: rename run-workflow to workflow (refactor: rename run-workflow to workflow #4187)
  • chore(deps): bump github/codeql-action from 2.3.0 to 2.3.2
  • chore: replace brew kubernetes-helm with helm
  • docs: add info about Rosetta requirement for apple silicon in installation instructions
  • docs: 0.13 update for tutorials (0.13 docs update: tutorials #4127)
  • fix: add backwards compatibility for old-style run commands (fix: add backwards compatibility for old-style run commands #4195)
  • test: fix assertions for run command
  • improvement(server): prettier / consistent command logs
  • docs: remove some unnecessary social media links from readmes (docs: remove some unnecessary social media links from readmes #4205)
  • feat(server): stream log entries over ws
  • fix(tests): handle log entry messages in ws tests
  • fix(tests): fix a broken logger test
  • chore: add mutagen monitor start log
  • fix: await mutagen command
  • refactor: rename action to actions in template context (refactor: rename action to actions in template context #4194)
  • fix(dev): trim trailing whitespace from cmd args
  • fix(commands): make test -n option backwards compatible to 0.12 (fix(commands): make test -n option backwards compatible to 0.12 #4208)
  • fix: ensure proper usage of remote actions
  • chore: update remote-sources example
  • improvement(server): bump log level to silly on debug line
  • docs: improve sync mode docs (docs: improve sync mode docs #4215)
  • docs: update remote-sources guide
  • chore: remove unneeded lint ignore
  • fix: properly unmount dev react FC
  • test: add back the delay to helm example db run
  • fix: ignore historic kill events
  • fix(serve): ensure buffered event stream works with serve commands
  • chore(deps): bump github/codeql-action from 2.3.2 to 2.3.3
  • chore(deps): bump step-security/harden-runner from 2.3.1 to 2.4.0
  • chore: remove harden-runner
  • chore: update Bonsai warning text
  • fix: add the required apiVersion field
  • docs: update migration docs with info on apiVersion field
  • 0.13 clean up some skipped tests (0.13 clean up some skipped tests #4230)
  • fix(server): ensure GARDEN_SERVER_PORT env var is respected
  • fix(framework): inherit metadata in createActionLog (fix(framework): inherit metadata in createActionLog #4233)
  • feat(plugins): set the manifest to unknown if repository is not found (0.13 cherry-pick: feat(plugins): set the manifest to unknown if repository is not found #4236)
  • chore(examples): use explicit version of Python deps
  • feat: add self-managed state backends to pulumi stacks (feat: add self-managed state backends to pulumi stacks #4107)
  • chore: fix typo in pulumi cli's architecture
  • chore(pulumi): make pulumi backendURL and orgName as non-required fields (chore(pulumi): make pulumi backendURL and orgName as non-required fields #4164)
  • chore: improved messaging when the CLI fails with unhandled errors
  • chore: add more error handling and logs around configstore lock issues
  • chore: clearer log on unhandled error
  • chore: better warning log when lock is compromised
  • chore: combine log lines in configStore lock error
  • chore: globalConfig: improved error handling on lock issues
  • chore: set default timeouts (chore: set default timeouts #4066)
  • build(dockerhub): improved docker image building and tagging (build(dockerhub): improved docker image building and tagging #4239)
  • chore: 0.13 analytics improvements (chore: 0.13 analytics improvements #4179)
  • feat(dev): add --cmd flag to dev command to run commands on startup
  • refactor(deploy): match since param on deploy --logs with logs command
  • feat: add garden up cmd as alias for deploy --logs
  • improvement(deploy): delegate to dev when persistent
  • fix(core): only emit ready event once per task
  • improvement(dev): stop syncs when exiting gracefully
  • improvement(dev): warn when exiting with CTRL-C
  • improvement(dev): split --cmd by newlines
  • chore: corrected runBaseParams schema description
  • refactor: pull artifactsPath to runBaseParams
  • chore: remove dead code
  • chore: add a bounded cache datastructure
  • refactor: add UID to providers
  • fix(k8s): fix namespace caching logic for dev cmd
  • ci(dockerhub): secure sha256 references and multi-layer caching (ci(dockerhub): secure sha256 references and multi-layer caching #4252)
  • fix: make sure cacheTo returns proper list (fix: cache to fix #4253)
  • improvement(dev): handle config changes
  • fix(core): improve event listener cleanup
  • chore: re-enable windows ci tests
  • chore: re-enable microk8s tests in ci
  • fix(server): ensure server logs aren't emitted twice
  • feat: add "sync status" command
  • fix(server): ensure ws connection is closed on Garden "_exit" event
  • improvement(server): tone down server logs
  • chore: update cloud dashboard domain (chore: update cloud dashboard domain #4199)
  • ci(docker): remove cache in bakefile (ci(docker): remove cache in bakefile #4254)
  • chore(ci): own pre-release tag for Bonsai
  • docs: 0.13 update for docker compose migration guide (docs: 0.13 update for docker compose migration guide #4235)
  • 0.13 improvement(security): reference all images by sha256 from garden (0.13 improvement(security): reference all images by sha256 from garden #4268)
  • docs(0.13): add apiVersion to all example project snippets
  • feat(dockerhub): publish rootless containers

What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #

Special notes for your reviewer:

eysi09 and others added 30 commits March 28, 2023 11:38
* docs: add migration guide from 0.12 to bonsai

* docs: migrating-to-bonsai: address review comments

* docs: migrating-to-bonsai: fix in-cluster build doc link

Co-authored-by: Orzelius <[email protected]>

* docs: migrating-to-bonsai: address review comments

---------

Co-authored-by: Orzelius <[email protected]>
* test: allow all vms

* chore: update runner machine

* chore: disable microk8s tests
Locally set your default environment for a project.
Simple quality of life improvement, that I'm sure many will enjoy (I for sure
will).
1 minute might be not enough if the deloyment takes too long
Otherwise, manual revert is necessary if the test script has to be executed again after a failure.
The failures were caused by #3997 as the container validation
handler actually modifies the deployment's ingress hostname
to the project default hostname if it's not specified on the deploy
itself.
* perf: got rid of unnecessary HTTP requests

This improves performance by avoiding unnecessary target version searches when the version is specified explicitly.
Also, this removes the unnecessary local variable `targetVersion` which has been semantically equal to `desiredVersion`.

* refactor: utility function to find a release by a predicate

The new method `findReleaseVersion` contains machinery to traverse GitHub releases in a pagination mode and get the first one matching a given predicate.

* refactor: move GH helpers to a dedicated namespace

To reduce the semantic load of the `SelfUpdateCommand` class. Those helpers are generic and not tightly related to the semantics of the `self-update` command.

* refactor: inline `targetVersionMatches` method

That method was tightly connected to the caller's logic, and was used by the only caller.

* refactor: helper function to get release artifact details

To isolate the artifacts details collection and return the details as a structured object.
The artifacts details can differ depending on the `desiredVersion` type (edge/pre-release/release).
This change will support pre-prelease versions in `self-update` command.

* refactor: helper function to identify pre-release versions

* feat: support pre-release versions in `self-update` command

* chore: remove unnecessary log line

An empty message on the `error` level gets rendered as `✖ undefined`. That might be not very clear.

* fix: fix version comparing logic

To correctly handle `0.x` -> `0.y` updates as major ones.

---------

Co-authored-by: Orzelius <[email protected]>
edvald and others added 29 commits May 12, 2023 14:15
When the `deploy` command is called with options that would put it into
persistent operation, we now run it from inside the `dev` command.

This brings a more full-featured interactive experience, and makes the
UX more consistent.
This fixes an issue where some sync-related log lines would be
duplicated (since they were rendered when the task for the relevant
deploy action emitted a `ready` event).
We now stop any syncs started during a `dev` command session when
exiting the command with CTRL-D or the `exit` command.
`BoundedCache` is a simple "FIFO key-value cache" that prunes older keys
when the configured maximum entry count is exceeded.

This is useful where the number of cached keys can be expected to
potentially grow unboundedly.
These are generated when providers are instantiated from config, and can
be used by plugins e.g. for caching logic (e.g. when cache entries
should be scoped to a given provider instance and not be maintained
across reloads).
Because the `delete namespace` command can be called interactively
(which deletes the default app namespace), and because of the `reload`
command, we needed a different approach to caching namespace statuses in
the Kubernetes plugin.

The new approach scopes the cache by provider UID, and clears the cache
for a given provider UID if the `delete namespace` command is called.

We also introduced an async lock to the `ensureNamespace` helper, since
the first `deploy` command after a `delete namespace` command can result
in more than one concurrent `ensureNamespace` call for the same
namespace.

Fixes #4223.
* ci(dockerhub): secure sha256 references and multi-layer caching

- Use sha256 references that can be automatically updated by dependabot
- Use buildkit's cacheFrom and cacheTo to increase difficulty of supply chain attacks

Co-authored-by: Tim Beyer <[email protected]>
If one or more Garden configs is changed during a `dev` command, we
lazily reload the project when the next command is run.

This approach avoids multiple reloads when the user is modifying their
Garden configs.

The old Watcher class was reduced down to its bare essentials for this
purpose (up to this point, it had been unused in 0.13).
Closes #4186.

Before this fix, we weren't removing event listeners registered by the
plugin event brokers (mostly for the `_exit` and `_restart` control
events).

This is now done in a simple way via the new `onKey`  and `clearKey`
methods on the event bus, which facilitates removing all listeners
matching a given key.

We use `garden.sessionId` as the key now, which is not quite ideal
when running concurrent commands in `garden dev`, but we'll be assigning
a command-unique `sessionId` in an upcoming PR (which gives us precisely
the semantics we want here).
Before this, server logs would be emitted twice over ws. Once via the
'commandOutput' event which a request would subscribe to and once as a
'logEntry' event.

By setting the logger instance to the VoidLogger for the logs when
executed by the server, we eliminate the latter and only emit the log
once.

Note that this is a bit hacky and means that other log entries that the
logs command creates are also ignored.
This commit adds a command for getting the current status of all
configured syncs.

In this first iteration the command is not persistent but we may decide
to add a "--follow" or "--monitor" flag later.

The main reason I'm not doing it here is because even if we're
monitoring the sync statuses, we don't get the "sync stop" events from
Mutagen which is one of the main events we'd want to follow in the first
place.

So since sync monitoring would be incomplete and you'd need to re-run
the command to get the latest status I decided leave it out for now.
Before this fix, the dev command would appear to hang indefinitely after
typing "exit" or killing the process with ctrl+c because the websocket
connection wasn't closed properly.
It does not work with the docker driver, unfortunately.

Co-authored-by: Tim Beyer <[email protected]>
#4268)

* improvement: delete unused images

docker-dind and socat are not being used anymore in our code base as far
as I can tell.

* improvement: remove parametrization from buildkit image

This is to facilitate auto-updating e.g. using dependabot in the future.

* ci: fix test-docker-gcloud

The test only runs on main after edge releases from now on.

* improvement: emphasize we do not publish alpine-builder

* docs: use recent gcloud image tag

This tag will exist after the first bonsai production release.

* improvement(security): reference all builtin images using sha256 digest

This prevents changing code in images after a Garden release has been
cut. Improves security by preventing this supply chain attack vector.

* improvement(security): add sha256 hashes to gardendev images
Add rootless container variant for use in environments where
using the root user is not possible, for example GitLab's Runner Operator

Supersedes #3865
@stefreak stefreak closed this May 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.