* functions: application updates no longer accept name in the body
AppUpdate was initially conceived as an upsert endpoint for apps.
It turns out that it created an inconsistency regarding updates:
updates with names divergent with URL would not actually change
application's name.
This commit atempts to address the issue by returning an HTTP
error when trying to update an application name. In swagger.yml,
application names are already `readOnly:true`. Thus there is no
change from expected behavior.
Fixes#380
* functions: use specific error value for name change
Ensure that attempts to update route's path are properly handled
with a HTTP error. Moreover, updates swagger file to make it
explicit that routes are immutable.
Fixes#381
* functions: modify datastore to accomodate hot containers support
* functions: protocol between functions and hot containers
* functions: add hot containers clockwork
* fn: add hot containers support
* fn: make UX more consistent with regards to app name position
* fn: improve detection of missing routes
* fn: fix update operations
- No longer delete-than-add for configuration updates
- Path cleaning before most of routes operations
* functions: add bounded concurrency
* functions: plug runners to sync and async interfaces
* functions: update documentation about the new env var
* functions: fix test flakiness
* functions: the runner is self-regulated, no need to set a number of runners
* functions: push the execution to the background on incoming requests
* functions: ensure async tasks are always on
* functions: add prioritization to tasks consumption
Ensure that Sync tasks are consumed before Async tasks. Also, fixes
termination races problems for free.
* functions: remove stale comments
* functions: improve mem availability calculation
* functions: parallel run for async tasks
* functions: check for memory availability before pulling async task
* functions: comment about rnr.hasAvailableMemory and sync.Cond
* functions: implement memory check for async runners using Cond vars
* functions: code grooming
- remove unnecessary goroutines
- fix stale docs
- reorganize import group
* Revert "functions: implement memory check for async runners using Cond vars"
This reverts commit 922e64032201a177c03ce6a46240925e3d35430d.
* Revert "functions: comment about rnr.hasAvailableMemory and sync.Cond"
This reverts commit 49ad7d52d341f12da9603b1a1df9d145871f0e0a.
* functions: set a minimum memory availability for sync
* functions: simplify the implementation by removing the priority queue
* functions: code grooming
- code deduplication
- review waitgroups Waits
* Added high level roadmap.
* Changed to funtion.yaml.
* Added logo
* updating quickstart code example, WIP, waiting on another merge.
* Minor updates.
* Changed function.yaml to func.yaml and updated fnctl README.
* moving documentation around to be more clear and easier to browse
- moved assets into their own directory and updated links to them
- moved operating docs into their own directory
- consolidated kubernetes docs
- added docker-swarm folder for docs
- updated docs layout in docs/README.md to reflect the changes and make it easier to read
* docs: s/Operating Functions/Operating IronFunctions/
* docs: removing duplicate database link
* docs: moving databases into general docs
* docs: moving databases/mqs back
* docs: removing memory.md (duplicate of operating/routes.md)
* docs: converting to markdown bullets
* More doc updates, explanation of serverless.
* Moved howto directory to examples and some minor doc updates.
* Added apps and routes docs.
* Fixes for Carlos' comments.
* Added bit about importing lambda functions.
* WIP on writing functions and the functions format.
* Added more docs on writing functions.
* Running on windows docs.
* Linked README to writing.md
* Minor fixes from PR feedback.
* fnctl: improve UX for howto's
* doc: go function howto
* fnctl: show the progress of build calls
* doc: php function howto
* doc: fix Go HOWTO
* doc: Node Functions HOWTO
* doc: Python Functions HOWTO
* doc: improve README files
* doc: ccirello -> USERNAME
* docs: fix Python example
Used an idiomatic method (isatty) to decide whether stdin must
be read or not.
* doc: fix go example
* fnctl: fix docker push output
* Draft for Swarm support
Fixes#65
* fix shell prompt
* Add instructions for production deployments
Further set of instructions with steps for:
- PostgreSQL
- Redis
- Load Balancer