options.myServices.websites.aten.integration.enable = lib.mkEnableOption "enable Aten's website in integration";
config = lib.mkIf cfg.enable {
+ services.phpApplication.aten_dev = let
+ app = pkgs.webapps.aten.override { environment = "dev"; };
+ in {
+ websiteEnv = "integration";
+ httpdUser = config.services.httpd.Inte.user;
+ httpdGroup = config.services.httpd.Inte.group;
+ inherit (app) webRoot varDir;
+ inherit app;
+ serviceDeps = [ "postgresql.service" ];
+ preStartActions = [
+ "APP_ENV=${app.environment} ./bin/console --env=${app.environment} cache:clear --no-warmup"
+ ];
+ watchFiles = [
+ "${config.secrets.location}/webapps/${app.environment}-aten"
+ ];
+ webappName = "aten_dev";
+ };
+
secrets.keys = aten.keys;
- systemd.services.phpfpm-aten_dev.preStart = lib.mkAfter aten.phpFpm.preStart;
- systemd.services.phpfpm-aten_dev.after = lib.mkAfter aten.phpFpm.serviceDeps;
- systemd.services.phpfpm-aten_dev.wants = aten.phpFpm.serviceDeps;
services.phpfpm.poolConfigs.aten_dev = aten.phpFpm.pool;
- system.activationScripts.aten_dev = aten.activationScript;
- myServices.websites.webappDirs."${aten.apache.webappName}" = aten.app.webRoot;
- services.websites.integration.modules = aten.apache.modules;
services.websites.integration.vhostConfs.aten = {
certName = "eldiron";
addToCerts = true;
root = aten.apache.root;
extraConfig = [ aten.apache.vhostConf ];
};
- services.websites.integration.watchPaths = [
- "/var/secrets/webapps/${aten.app.environment}-aten"
- ];
};
}
-