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

Switch to using one Compose recipe with multiple profiles/flavours #27

Closed
7 of 8 tasks
alyssadai opened this issue Mar 25, 2024 · 1 comment · Fixed by #32
Closed
7 of 8 tasks

Switch to using one Compose recipe with multiple profiles/flavours #27

alyssadai opened this issue Mar 25, 2024 · 1 comment · Fixed by #32
Assignees
Labels
infrastructure Software or graph infrastructure-related changes. released This issue/pull request has been released.

Comments

@alyssadai
Copy link
Contributor

alyssadai commented Mar 25, 2024

By having tools which are supposed to work together in different Docker networks, we currently often need to jump through hoops to make the networking work correctly so that the containers can communicate with one another using their public IPs/URLs.

Meanwhile, the point of having cooperative containers all in the same network is to avoid the hassle of having to do this, as containers can simply refer to one another by their service name. Having all tools be part of the same Docker network by default will make setup a lot less brittle compared to having to potentially manage multiple networks at once.

We should switch to a single docker-compose.yml with different profiles (see https://stackoverflow.com/a/65957695 for example) replacing our separate .yml files for each deployment flavour we support.

context: https://docs.docker.com/compose/profiles/

  • update README.md with relevant info about this recipe e.g., run commands with profiles

To close ensure that:

  • admin password et al are ENV variables
  • profiles are set up so we can run the different flavours (everything currently done via discrete docker compose file) - or any required combo
  • check if there is a clever way to have a "default" profile that is launched if no profile is explicitly provide
  • write output of setup.sh to default named log file

To check:

  • do we want to keep .env and local_nb_nodes.json as templates? If so, should we make the repo gitignore them?
  • setting up two nodes to test the f-API? won't be addressed in this issue
  • add note (in docs, maybe) that data path needs to be changed
@alyssadai alyssadai added the infrastructure Software or graph infrastructure-related changes. label Mar 25, 2024
@surchs surchs added the flag:schedule Flag issue that should go on the roadmap or backlog. label Mar 27, 2024
@alyssadai alyssadai moved this to Backlog in Neurobagel Mar 27, 2024
@alyssadai alyssadai removed the flag:schedule Flag issue that should go on the roadmap or backlog. label Mar 27, 2024
@alyssadai alyssadai moved this from Backlog to Implement - Active in Neurobagel Apr 5, 2024
@rmanaem rmanaem linked a pull request Apr 5, 2024 that will close this issue
6 tasks
@alyssadai alyssadai self-assigned this Apr 9, 2024
@alyssadai alyssadai moved this from Implement - Active to Implement - Done in Neurobagel Apr 10, 2024
@surchs surchs moved this from Implement - Done to Review - Active in Neurobagel Apr 10, 2024
@github-project-automation github-project-automation bot moved this from Review - Active to Review - Done in Neurobagel Apr 11, 2024
Copy link
Contributor

neurobagel-bot bot commented Aug 7, 2024

🚀 Issue was released in v0.0.1 🚀

@neurobagel-bot neurobagel-bot bot added the released This issue/pull request has been released. label Aug 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
infrastructure Software or graph infrastructure-related changes. released This issue/pull request has been released.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants