I'm trying to do a case insensitive match inside of an {% if %} statement

The following two approaches do not work:

{% set role = 'APP' %}

{% if 'app' == role %}  1 {% endif %}
{% if 'app' in role  %} 2 {% endif %}

Nunucks only has a little documentation on their comparison operators, but don't refer to specific types.

Nunjucks is a port of Jinja2 and there is a similar question on how to lowercase a string in Jinja2

You can use one of the built in filters like lower to transform the string or nunjucks allows you to execute a limited set of JavaScript inside of expressions so calling toLowerCase() will also work.

Any of the following 3 approaches will work:

1 {% if 'app' == role.toLowerCase() %} 1 {% endif %}
2 {% if 'app' == role | lower %} 2 {% endif %}
3 {% set role_lower = 'App' | lower %} {% if 'app' == role_lower %} 3 {% endif %}