version = node.metadata.get('php/version')

directories['/var/lib/php/sessions'] = {
    'owner': 'www-data',
    'mode': None,
    'after': {
        'pkg_apt:',
    }
}

files[f'/etc/php/{version}/fpm/php-fpm.conf'] = {
    'source': f'{version}/fpm.conf',
    'content_type': 'mako',
    'context': {
        'num_cpus': node.metadata.get('vm/cpu'),
        'clear_env': node.metadata.get('php/clear_env', True),
    },
    'after': {
        # "all php packages"
        'pkg_apt:'
    },
    'triggers': {
        f'svc_systemd:php{version}-fpm:restart',
    },
}

files[f'/etc/php/{version}/fpm/php.ini'] = {
    'source': f'{version}/php.ini',
    'content_type': 'mako',
    'context': {
        'num_cpus': node.metadata.get('vm/cpu'),
        'post_max_size': node.metadata.get('php/post_max_size', 10),
        'memory_limit': node.metadata.get('php/memory_limit', 256),
    },
    'after': {
        # "all php packages"
        'pkg_apt:'
    },
    'triggers': {
        f'svc_systemd:php{version}-fpm:restart',
    },
}

files[f'/etc/php/{version}/cli/php.ini'] = {
    'source': f'{version}/php.ini',
    'content_type': 'mako',
    'context': {
        'num_cpus': node.metadata.get('vm/cpu'),
        'post_max_size': node.metadata.get('php/post_max_size', 10),
        'memory_limit': node.metadata.get('php/memory_limit', 256),
    },
    'after': {
        # "all php packages"
        'pkg_apt:'
    },
}

svc_systemd[f'php{version}-fpm'] = {
    'needs': {
        'pkg_apt:',
        f'file:/etc/php/{version}/fpm/php-fpm.conf',
        f'file:/etc/php/{version}/fpm/php.ini',
    },
}