Transfer to the new platform
How to transfer projects from cyndra.rs to cyndra.dev
This guide is for transferring projects from cyndra.rs to the new cyndra.dev platform. If you are a new Cyndra user, you can ignore this document and start from Installation.
1. Check platform features & policies
Due to the large re-write of the Cyndra platform, some features have been dropped or moved to the feature roadmap.
Make sure you have read the Platform Update Changelog to verify that it is currently possible to migrate your project. Notably:
-
Cyndra Persist is not supported in the same way. Shared Postgres DB with a similar key-value store abstraction exists instead (
SerdeJsonOperator
in cyndra_shared_db). For help with migrating data, please reach out to us. -
Migrating Shared MongoDB is not possible since the feature has been dropped.
Cyndra remains fully committed to providing an excellent development and deployment experience to all users.
In order to keep the free Community Tier sustainable and fair on cyndra.dev, we reserve the right to automatically shut down Community Tier projects after 30 days of inactivity (no new deployments).
This policy will be adjusted as the cyndra.dev platform matures.
2. Update CLI
Follow Installation to install the latest Cyndra CLI.
After installation, you will have two commands: cyndra
and cargo cyndra
.
cyndra
is used for interacting with the cyndra.dev platform.cargo cyndra
is used for interacting with the cyndra.rs platform.
This documentation covers the cyndra.dev platform.
The same Cyndra API key is used on both platforms. If you are already logged in, you donβt need to cyndra login
again.
To verify that your new CLI is installed and working correctly, try the new account command:
If the command does not error, you are ready to use cyndra.dev.
3. Access the new Console
The Cyndra Console for cyndra.dev is accessed at console.cyndra.dev.
The Cyndra Console for cyndra.rs is still accessed at console.cyndra.rs.
4. Update Code
Most Cyndra projects should run on the new platform with minimal code changes. This is the list of required changes.
Cargo.toml
Update to the latest version of Cyndra dependencies:
Cyndra.toml
The name
field is now unused.
The assets
field has been renamed to deploy.include
(docs).
If you want the deploy command to keep blocking dirty deployments, add the deploy.deny_dirty
field (docs).
The new field build.assets
might need to be added:
If your project uses static assets or other files at runtime, you need to declare them in build.assets
to have them copied from the builder to the runtime image (docs).
Secrets.toml
Secrets.toml must now be in the root of the cargo workspace, so move it there if it is in a member crate.
--secrets <file>
on the deploy command can still be used for a custom secrets file location.
5. Local Run
Check that your project builds and runs locally with
6. Deploy
Time to deploy!
Note your project URL: project subdomains are now under *.cyndra.app
instead of *.cyndraapp.rs
.
7. (Optional) Migrate Shared Postgres data
If you use a Shared Postgres database and want to migrate data to the new platform, follow the migration guide!
8. (Optional) Update GitHub Action
If you are using deploy-action, check the new v2 branch for renamed and new required fields:
- Use
cyndra-hq/deploy-action@v2
instead ofcyndra-hq/deploy-action@main
- Rename
deploy-key
tocyndra-api-key
- Add a
project-id
value - Any other args for
cyndra deploy
can be added inextra-args
9. (Optional) Custom domains
Once you have moved resources, deployed your app to cyndra.dev, and want to move your custom domain, update your DNS records according to Domain names and use the new cyndra certificate
command to add SSL certificates.
HTTPS traffic should then be enabled for your custom domain.