| 600 | } |
| 601 | |
| 602 | func getServices( //nolint: funlen,cyclop |
| 603 | cfg *model.ConfigConfig, |
| 604 | subdomain string, |
| 605 | projectName string, |
| 606 | httpPort uint, |
| 607 | useTLS bool, |
| 608 | postgresPort uint, |
| 609 | nhostFolder string, |
| 610 | dotNhostFolder string, |
| 611 | rootFolder string, |
| 612 | ports ExposePorts, |
| 613 | branch string, |
| 614 | dashboardVersion string, |
| 615 | functionsVersion string, |
| 616 | configserviceImage string, |
| 617 | appID string, |
| 618 | startFunctions bool, |
| 619 | runServices ...*RunService, |
| 620 | ) (map[string]*Service, error) { |
| 621 | minioVolumeName := "minio_" + sanitizeBranch(branch) |
| 622 | minio := minio(subdomain, minioVolumeName) |
| 623 | |
| 624 | storage, err := storage(cfg, subdomain, useTLS, httpPort, ports.Storage) |
| 625 | if err != nil { |
| 626 | return nil, err |
| 627 | } |
| 628 | |
| 629 | pgVolumeName := "pgdata_" + sanitizeBranch(branch) |
| 630 | dataFolder := filepath.Join(dotNhostFolder, "data") |
| 631 | |
| 632 | postgres, err := postgres(cfg, subdomain, postgresPort, dataFolder, pgVolumeName) |
| 633 | if err != nil { |
| 634 | return nil, err |
| 635 | } |
| 636 | |
| 637 | graphql, err := graphql( |
| 638 | cfg, |
| 639 | subdomain, |
| 640 | useTLS, |
| 641 | httpPort, |
| 642 | ports.Graphql, |
| 643 | ) |
| 644 | if err != nil { |
| 645 | return nil, err |
| 646 | } |
| 647 | |
| 648 | jwtSecret := graphql.Environment["HASURA_GRAPHQL_JWT_SECRET"] |
| 649 | |
| 650 | console, err := console(cfg, subdomain, httpPort, useTLS, nhostFolder, ports.Console) |
| 651 | if err != nil { |
| 652 | return nil, err |
| 653 | } |
| 654 | |
| 655 | traefik, err := traefik(subdomain, projectName, httpPort, dotNhostFolder) |
| 656 | if err != nil { |
| 657 | return nil, err |
| 658 | } |
| 659 | |