Set up DNS
Edit on GitHubTo make your application accessible through your own domain, configure DNS records that point your domain to the Spryker-managed endpoint.
In most cases, this means adding a CNAME record in your DNS management for the domain you want to use. Spryker provides the target values as part of the setup process.
Before you start
Before requesting DNS setup:
- Make sure the endpoint you want to use is final.
- Make sure the endpoint has been tested and approved internally.
- Make sure the
deploy.ymlfile you provide to Spryker is the same file that will later be used for the Normal or Destructive deployment pipeline. - Be aware that DNS setup is not immediate and can take up to a week to complete.
This process can take up to a full week because it includes both DNS propagation time and Spryker infrastructure work. To avoid rework, submit only final endpoint selections.
DNS setup process
The DNS setup usually follows these steps:
-
Add the endpoint you want to use to the appropriate
deploy.ymlfile. For example, add a new endpoint under the desired application in yourdeploy.yml:groups: EU: region: EU applications: yves: application: yves endpoints: www.example.com: store: DE -
Create a support case and provide the
deploy.ymlfile that contains the endpoint configuration. For example: “We have added the endpointwww.example.comto ourdeploy.ymland would like to set up DNS for it.” -
Ensure that this is the same
deploy.ymlfile that will later be used for the Normal or Destructive deployment pipeline. -
Spryker prepares the endpoint configuration and sends you the DNS records required for TLS verification. For example, you may receive a
CNAMErecord like_acme-challenge.www.example.compointing to a validation target. -
Add the provided TLS verification records in your DNS management.
-
After the records are in place and have propagated, notify Spryker Support.
-
Spryker completes the infrastructure configuration.
-
Spryker sends you the final DNS target values, usually
CNAMErecords, that must be added in your DNS management. For example:www.example.com CNAME xxx.elb.amazonaws.com. Root domains are treated differently — see Root domain configuration. -
After the DNS records are added and propagated, your application becomes accessible through the new domain.
-
Trigger the Normal or Destructive deployment pipeline using the same
deploy.ymlfile that was provided to Spryker.
Important: Configuration changes are staged
DNS-related endpoint changes are prepared first, but they do not become active immediately.
After Spryker prepares the new endpoint configuration, the change remains staged until a deployment pipeline is triggered.
This is especially important for infrastructure components that support only one active endpoint at a time.
Critical constraint for Scheduler and Queue endpoints
The following services support only one active endpoint configuration at a time:
- Scheduler (
Jenkins) - Queue (
RabbitMQ)
When a new domain endpoint is configured for either of these services, the previous endpoint is replaced. It is not kept in parallel.
Dual-domain operation is not supported for these components.
If a deployment is triggered before the required DNS records are fully added and propagated, Jenkins and RabbitMQ can become unreachable because their previous endpoints will already have been replaced.
Safe activation sequence
Do not trigger deployment immediately after receiving the DNS records from Spryker.
Before triggering a Normal or Destructive deployment pipeline:
- Confirm that the pipeline will use the same
deploy.ymlfile that was provided to Spryker for DNS setup. - Add all required TLS verification records.
- Add all required final DNS records at your registrar or DNS provider.
- Verify that DNS propagation is complete.
- Notify Spryker Support that DNS setup is complete.
- Wait for confirmation from Spryker that the infrastructure-side setup is finished.
- Only then trigger the deployment pipeline.
Recommended pre-deployment checklist
Before triggering deployment for a new domain or domain migration, confirm all of the following:
- The
deploy.ymlfile used for deployment is the same one that was provided to Spryker for DNS setup. - TLS verification records were added.
- Final DNS records were added at the registrar or DNS provider.
- DNS propagation was verified, for example with
digor another DNS checker. - Spryker Support was notified that DNS setup is complete.
- Spryker confirmed that the infrastructure configuration is complete.
Only after all items are completed should deployment be triggered.
Root domain configuration
If you want to use a root domain such as example.com, use an A record instead of a CNAME record.
In this case, contact Spryker so the team can provide the correct IP address to use.
Do not use the load balancer IP addresses directly as your A record target, because those IP addresses are subject to rotation.
NS record delegation
Spryker does not normally support full DNS delegation.
Do not change your domain’s NS records to delegate the full DNS zone to Spryker unless explicitly instructed by Spryker.
Troubleshooting and practical notes
Adding the endpoint to deploy.yml does not make it active
Adding the endpoint in code only starts the setup flow. The endpoint becomes active only after the DNS setup is complete and deployment is triggered.
The deploy.yml file must match the one shared for DNS setup
The deploy.yml file used in the Normal or Destructive deployment pipeline must match the one provided to Spryker during the DNS setup process. Otherwise, the deployed configuration may not match the DNS configuration prepared by Spryker.
Old and new domains cannot be active at the same time for Jenkins or RabbitMQ
These services support only one active endpoint configuration at a time.
Biggest risk: premature deployment or mismatched deploy.yml
The main risk is triggering deployment too early or using a different deploy.yml file than the one shared with Spryker. If DNS records are not fully in place and propagated, or if the deployed configuration does not match the prepared DNS setup, Jenkins and RabbitMQ can become unavailable.
Verifying DNS propagation
You can verify propagation with tools such as dig or another public DNS checker. Check that the records returned publicly match the values provided by Spryker.
Thank you!
For submitting the form