failed to validate config for Apps V2 platform: App configuration is not valid

i tried following the instructions to migrate my app from nomad but ran into this issue (fly migrate-to-v2) this was after running fly config save -a app_name


has anyone faced this? throw at me possible solutions

below is my fly.toml

app = ""
primary_region = "fra"
kill_signal = "SIGINT"
kill_timeout = 5

[deploy]
  release_command = "python manage.py migrate"

[env]
  PORT = "8000"

[experimental]
  auto_rollback = true
  cmd = []
  entrypoint = []
  exec = []

[processes]
  app = "gunicorn -c gunicorn.conf.py"
  beat = "python -m celery -A beat -l info"
  flower = "python -m celery -A  flower --purge_offline_workers=300"
  worker = "python -m celery -A worker -l info"

[[services]]
  http_checks = []
  internal_port = 8000
  processes = ["app"]
  protocol = "tcp"
  script_checks = []
  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    force_https = true
    handlers = ["http"]
    port = 80

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 443

  [[services.tcp_checks]]
    grace_period = "1s"
    interval = "15s"
    restart_limit = 0
    timeout = "2s"

[[services]]
  http_checks = []
  internal_port = 5555
  processes = ["flower"]
  protocol = "tcp"
  script_checks = []
  tcp_checks = []
  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    handlers = ["tls", "http"]
    port = 5555

[[services]]
  http_checks = []
  internal_port = 5432
  processes = []
  protocol = "tcp"
  script_checks = []
  tcp_checks = []
  [services.concurrency]
    hard_limit = 25
    soft_limit = 20
    type = "connections"

  [[services.ports]]
    handlers = []
    port = 10000

[[statics]]
  cache_key = "_static___app_public"
  guest_path = "/app/public"
  processes = []
  url_prefix = "/static/"

@lubien maybe you have an idea

Hi,

Purely based on the error message, I’d guess it’s complaining about this line:

...
[[services]]
  http_checks = []
  internal_port = 5432
  processes = [] <-----
  protocol = "tcp"
...

It looks like each service needs one set … and that one doesn’t. Which of your four I don’t know :thinking:.

that was partly the issue, running my toml through fly config validate -c fly.toml --machines now passes but can’t still migrate to v2, the error thrown is the same as i had posted in the question

@greg is right. The service needs a process name to know what process group will serve it.

You either update it to processes = ["app"] or remove the whole service considering 5432 is Postgres port and I don’t see any of your process groups serving a database.

1 Like

even after entirely removing the section it still did work (fly migrate-to-v2). i had to do a “blank” deploy with only the change in fly.toml then retry and it worked then

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.