migrate service (or at least volume) from to new project
tparyan
PROOP

a year ago

It would be useful to be able to move a service (perhaps with downtime or some manual effort) from one project/canvas to another.

Alternatively, it would be useful to enable private networking between projects (e.g. service1.projectA.usernamspace.railway.internal maps to service1 in projectA).

Specific application: Project A is a web app, Project B is an api endpoint/data processor that collects data from a 3rd party service. A wants to pull data from B, it's more efficient over internal network.

That there could be a C later that also wants to interact with B points towards the "way to connect projects" solution, but moving a service for now seems easier.

If not possible as a feature, is there a good way (aside from writing it myself) to download/upload a database image? e.g. I could just manually move all the config, download the data and then push it back in, but that's pretty inefficient from an egress cost POV. Not that in my case right now it's a huge cost, but just as a principle.

I'm not sure how the railway backend is set up or how google meters egress, but at least on the metal infra it should be possible?

Thanks!

Solved

1 Replies

Hi Ryan,

Thank you for your feedback.

Regarding Services:

  • It's not currently possible to move a service from one project to another

  • You would have to manually recreate the service in the new project, configure it to use the same source, and migrate data over

  • You can see your build configuration if you click on a successful deployment, and click the Details tab. You can also consider using Config as Code to ensure you have the same configuration across projects.

Regarding inter-project private networking:

  • Private networks are currently scoped to projects

  • Projects are created to represent a capsule for composing infrastructure on Railway, and we see that teams typically take all services that are connected and add them to the same project, even if you prefer to operate with a microservices architecture at your code level

  • This approach allows you to ensure that all components of your system work as expected as you work through environments before deploying changes to production

Regarding dumping and restoring data:

  • If you're looking to move the contents of a database, you can dump and restore using the databases built-in tools

  • You can also deploy a template, like File Browser, from the market place. If you take this approach, make sure you have a service variable USE_VOLUME_ROOT set to 1.

We'll consider your feedback as we prioritize features and improvements in the future. It would be helpful, however, if you create or upvote your requests in the Feedback section of Help Station, as that helps us prioritize feature requests.


Status changed to Awaiting User Response Railway over 1 year ago


Railway
BOT

7 months ago

This thread has been marked as solved automatically due to a lack of recent activity. Please re-open this thread or create a new one if you require further assistance. Thank you!

Status changed to Solved Railway 7 months ago


Loading...