ServerRoot {{ env.HTTPD_DIR }}
{%- if env.LISTEN_ALL_INTERFACES | lower == "true" %}
Listen 0.0.0.0:{{ env.HTTP_PORT }}
Listen [::]:{{ env.HTTP_PORT }}
{% else %}
{% if env.ENABLE_IPV4 %}
Listen {{ env.IRONIC_IP }}:{{ env.HTTP_PORT }}
{% endif %}
{% if env.ENABLE_IPV6 %}
Listen [{{ env.IRONIC_IPV6 }}]:{{ env.HTTP_PORT }}
{% endif %}
{% endif %}
Include /etc/httpd/conf.modules.d/*.conf
User ironic-suse
Group ironic-suse

<Directory />
    AllowOverride none
    Require all denied
</Directory>

DocumentRoot "/shared/html"

<Directory "/shared/html">
{%- if env.IPXE_TLS_SETUP | lower == "true" %}
    Options Indexes FollowSymLinks
    Require all denied
{%- else %}
    Options Indexes FollowSymLinks
    Require all granted
{%- endif %}
</Directory>

<Directory ~ "/shared/html/(redfish|ilo)/">
{%- if env.IRONIC_VMEDIA_TLS_SETUP | lower == "true" %}
    Require all denied
{%- else %}
    Require all granted
{%- endif %}
</Directory>

{%- set serve_img = env.HTTPD_SERVE_NODE_IMAGES | lower %}
{%- set image_tls = env.IRONIC_TLS_SETUP | lower %}
<Directory "/shared/html/images">
    Options Indexes FollowSymLinks
    AllowOverride None
{%- if serve_img == "true" and image_tls != "true" %}
    Require all granted
{%- else %}
    Require all denied
{%- endif %}

    <FilesMatch "^ironic.*">
{%- if env.IPXE_TLS_SETUP | lower == "true" %}
        Require all denied
{%- else %}
        Require all granted
{%- endif %}
    </FilesMatch>
</Directory>


<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

<Files ".ht*">
    Require all denied
</Files>

ErrorLog "/dev/stderr"

LogLevel warn

<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
    </IfModule>
    CustomLog "/dev/stderr" combined
</IfModule>

<IfModule mime_module>
    TypesConfig /etc/mime.types
    AddType application/x-compress .Z
    AddType application/x-gzip .gz .tgz
    AddType text/html .shtml
    AddOutputFilter INCLUDES .shtml
</IfModule>

AddDefaultCharset UTF-8

<IfModule mime_magic_module>
    MIMEMagicFile conf/magic
</IfModule>

PidFile {{ env.IRONIC_TMP_DATA_DIR }}/httpd.pid

# EnableSendfile directive could speed up deployments but it could also cause
# issues depending on the underlying file system, to learn more:
# https://httpd.apache.org/docs/current/mod/core.html#enablesendfile
{%- if env.HTTPD_ENABLE_SENDFILE | lower == "true" %}
EnableSendfile on
{% endif %}

# http TRACE can be subjected to abuse and should be disabled
TraceEnable off

# provide minimal server information
ServerTokens Prod
ServerSignature Off

IncludeOptional conf.d/*.conf

