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

feat: run ftl serve as part of ftl dev #987

Merged
merged 1 commit into from
Feb 26, 2024
Merged

feat: run ftl serve as part of ftl dev #987

merged 1 commit into from
Feb 26, 2024

Conversation

wesbillman
Copy link
Collaborator

@wesbillman wesbillman commented Feb 26, 2024

Fixes #979

New help exposes embedded serve- flags:

ftl dev --help

Usage: ftl dev [<base-dir>]

Watch a directory for FTL modules and hot reload them.

Arguments:
  [<base-dir>]    Directory to watch for FTL modules

Flags:
  -h, --help           Show context-sensitive help.
      --version        Show version.
      --config=FILE    Load configuration from TOML file.
      --endpoint=http://127.0.0.1:8892
                       FTL endpoint to bind/connect to ($FTL_ENDPOINT).
      --authenticators=HOST=EXE,…
                       Authenticators to use for FTL endpoints ($FTL_AUTHENTICATORS).

Logging:
  --log-level=info    Log level ($LOG_LEVEL).
  --log-json          Log in JSON format ($LOG_JSON).

Command flags:
      --watch=500ms            Watch template directory at this frequency and regenerate
                               on change.
      --failure-delay=500ms    Delay before retrying a failed deploy.
      --reconnect-delay=1s     Delay before attempting to reconnect to FTL.
      --exit-after-deploy      Exit after all modules are deployed successfully.
      --no-serve               Do not start the FTL server.
      --serve-bind=http://localhost:8892
                               Starting endpoint to bind to and advertise to. Each
                               controller and runner will increment the port by 1
      --serve-allow-origins=SERVE-ALLOW-ORIGINS,...
                               Allow CORS requests to ingress endpoints from these origins
                               ($FTL_CONTROLLER_ALLOW_ORIGIN).
      --serve-db-port=54320    Port to use for the database.
      --serve-recreate         Recreate the database even if it already exists.
  -c, --serve-controllers=1    Number of controllers to start.
  -r, --serve-runners=0        Number of runners to start.
      --serve-background       Run in the background.
      --serve-stop             Stop the running FTL instance.

ftl dev with server and flags

ftl dev examples/go --serve-recreate

info: Starting FTL with 1 controller(s) and 0 runner(s)
warn: Detected change in +/Users/wesbillman/dev/ftl/examples/go/echo/echo.go, rebuilding...
error: Error deploying module /Users/wesbillman/dev/ftl/examples/go/echo. Will retry: module "time" not found
warn: Detected change in +/Users/wesbillman/dev/ftl/examples/go/time/time.go, rebuilding...
info:time: Building module
info:controller0: Web console available at: http://localhost:5173
info: Preparing module 'time' for deployment
info: Successfully created deployment time-e0368491b5
info:echo: Building module
info: Preparing module 'echo' for deployment
info: Successfully created deployment echo-092543e753

ftl dev without server

ftl dev examples/go --no-serve

warn: Detected change in +/Users/wesbillman/dev/ftl/examples/go/echo/go.sum, rebuilding...
error: Error deploying module /Users/wesbillman/dev/ftl/examples/go/echo. Will retry: module "time" not found
warn: Detected change in +/Users/wesbillman/dev/ftl/examples/go/time/go.mod, rebuilding...
info:time: Building module
info: Preparing module 'time' for deployment
error: Error deploying module /Users/wesbillman/dev/ftl/examples/go/time. Will retry: unavailable: dial tcp [::1]:8892: connect: connection refused
info:time: Building module
info: Preparing module 'time' for deployment
error: Error deploying module /Users/wesbillman/dev/ftl/examples/go/time. Will retry: unavailable: dial tcp [::1]:8892: connect: connection refused
error: Error deploying module /Users/wesbillman/dev/ftl/examples/go/echo. Will retry: module "time" not found

@wesbillman wesbillman merged commit 4d176d4 into main Feb 26, 2024
11 checks passed
@wesbillman wesbillman deleted the run-serve-on-dev branch February 26, 2024 21:09
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.

Local development. Should start server, build, deploy, hot reload.
2 participants