FAQs
This page answers some of the most frequently asked questions (FAQs) about Magnolia PaaS.
What is the minimum Java version needed for PaaS?
Expand for answer
Currently, the minimum supported Java version for Magnolia PaaS is Java 11 (LTS).
For more details, see Set up Magnolia PaaS. |
What is the base image used for Magnolia as part of PaaS?
Expand for answer
The recommended base image is:
Key | Type | Default | Description |
---|---|---|---|
|
|
|
Tomcat repo tag. |
This is defined in the image.tomcat.tag
helm value. For more, see Helm Values reference.
How do I handle redirects?
Expand for answer
Typically, you’ll want to use the redirects server to handle redirects. However, if you have fewer than 20
redirects, you can create a redirect ingress to handle them.
For more details, see Redirects. |
What is the latest Maven archetype version?
Expand for answer
The latest maven archetype version for the cloud bundle is 1.5
.
For more, see Create a project using the Maven archetype. |
How do I find the latest Helm chart version?
Expand for answer
The latest helm chart version is 1.6.2
.
Check out the Magnolia helm repo for more details. |
I’m upgrading my helm chart, what do I do now?
Expand for answer
When you upgrade your Helm chart because of a major release, like moving from 1.4.x
to 1.5.x
, you need to delete the workloads before your next deployment. You also need to recreate the indexes folder from your Author environment.
For more information, see Delete indexes and workloads after Helm upgrade. |
Can I deploy a frontend with Magnolia PaaS?
Expand for answer
Yes, you can. You can deploy as many frontend applications as you need. In fact, we have a few frontend templates to get you started.
Check them out here.
How do you prevent DDoS attacks?
Expand for answer
To prevent and mitigate DDoS attacks, Magnolia PaaS grants all customers (using Fastly as their CDN):
-
Access to origin shielding
-
Automatic resistance to availability attacks
-
Access to Fastly cache IP space
-
Custom DDoS filter creation abilities
Learn more at Fastly’s Always-on DDos Mitigation page. |
What if I’m not using Fastly?
-
Go to https://ipinfo.io/www.xxx.yyy.zzz (where
www.xxx.yyy.zzz
is the suspicious IP). -
Update your values.yml file with the following snippet:
kind: Ingress (1) metadata: annotations: nginx.ingress.kubernetes.io/server-snippet: deny www.xxx.yyy.zzz; (2)
1 Specifies the kind Ingress
.2 Denies the specific IP address. For more information on server-snippet
, see NGINX Ingress Controller reference.
For more details, see Preventing DDoS attacks. |
What is a sticky session?
Expand for answer
Sticky sessions, or session persistence, is when you instruct the load balancer to remain linked to a specific node (server) to avoid losing the session data if the request goes to the other server. Essentially, you send the request from a given IP to the delivery server, but continue to send follow-up requests to the same server until the session expires. Session persistence is needed when the project has transactions or required data in the session.
Sticky sessions are typically used in situations where you have some data in the session and the sessions are not replicated between servers, but you also need to ensure that the data doesn’t get lost.

How do I configure sticky sessions?
Expand for answer
To enable sticky sessions:
-
Go to your
values.yml
file in your Magnolia PaaS project. -
Set the following ingress annotations:
ingress: enabled: true annotations: kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/proxy-body-size: 512m cert-manager.io/cluster-issuer: "letsencrypt-prod" nginx.ingress.kubernetes.io/affinity: "cookie" (1) nginx.ingress.kubernetes.io/affinity-mode: "persistent" (2) nginx.ingress.kubernetes.io/session-cookie-name: "COOKIE_NAME" (3) nginx.ingress.kubernetes.io/session-cookie-max-age: 10 (4) nginx.ingress.kubernetes.io/configuration-snippet: | more_set_headers "X-Robots-Tag: noindex, nofollow"; nginx.ingress.kubernetes.io/default-backend: {{ .Env.DEPLOYMENT }}-magnolia-error-page-svc nginx.ingress.kubernetes.io/custom-http-errors: "503" hosts: - host: {{ .Env.DEPLOYMENT }}.eu-playground.magnolia-platform.com paths: - path: / instance: public - path: /author instance: author .....
1 Set nginx.ingress.kubernetes.io/affinity
tocookie
.2 Set nginx.ingress.kubernetes.io/affinity-mode
topersistent
.3 Put the COOKIE_NAME
atnginx.ingress.kubernetes.io/session-cookie-name
.4 Set nginx.ingress.kubernetes.io/session-cookie-max-age
to the time (in seconds) you want the cookie to persist. After this configured time, the cookie is deleted.
Find out more here. |
How do I define custom environment variables?
Expand for answer
You can define custom environment variables in the Helm Values file in your project.
- To define a varible for the OS
-
Define the name and value of the variable like so:
...
magnoliaAuthor:
- name: VARIABLE
value: "VALUE"
...
- To define a varible for the Java Virtual Machine (JVM)
-
Set the value for the specified object like so:
...
magnoliaAuthor:
catalinaExtraEnv:
variable: "VALUE"
...