FAQs

This page answers some of the most frequently asked questions (FAQs) about Magnolia PaaS.

How do I find the latest Helm chart version?

Expand for answer

The latest helm chart version is 1.5.7.

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.

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

What if I’m not using Fastly?

  1. Go to https://ipinfo.io/www.xxx.yyy.zzz (where www.xxx.yyy.zzz is the suspicious IP).

    ipinfo report abuse

  2. 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.

sticky sessions majorTom

How do I configure sticky sessions?

Expand for answer

To enable sticky sessions:

  1. Go to your values.yml file in your Magnolia PaaS project.

  2. 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 to cookie.
    2 Set nginx.ingress.kubernetes.io/affinity-mode to persistent.
    3 Put the COOKIE_NAME at nginx.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"
...

Can I delete environment indexes?

Expand for answer

Yes you can.

  • Cockpit

  • k8s

To delete the index folders:

  1. Go to Environments.

  2. Click the Manage tab.

  3. Click Delete indexes for the desired environment.

    delete index

To delete the index folders:

  1. In Rancher, click on the Execute shell navigation item on the desired Author environment.

    rancher execute shell screenshot

  2. Run the following commands:

    cd /mgnl-home/repositories/magnolia/workspaces/ (1)
    find . -name index -exec rm -rf {} \; (2)
    1 Changes to your workspaces directory.
    2 Finds and removes the index folders.
Feedback