Files
policy-service/flake.nix
HaimKortovich f658cb6e7f
All checks were successful
Build and Publish / build-release (push) Successful in 2m8s
set ERL_SSL_PATH
2026-05-05 16:39:09 -05:00

61 lines
1.7 KiB
Nix

{
description = "Policy Service - Phoenix/Commanded CQRS/ES service";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
};
outputs = {
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
beamPackages = pkgs.beamPackages;
pname = "policy_service";
version = "1.0.0";
mixFodDeps = beamPackages.fetchMixDeps {
inherit pname version;
src = ./.;
sha256 = "sha256-YqPo8102nqTd6cAxt6O2R+nLLa9UfRLza4qojxoMtqM=";
};
package = beamPackages.mixRelease {
inherit pname version mixFodDeps;
src = ./.;
meta = {
mainProgram = "policy_service";
};
removeCookie = false;
};
dockerImage = pkgs.dockerTools.buildLayeredImage {
name = "policy_service";
contents = [ package pkgs.bashInteractive pkgs.busybox pkgs.shadow pkgs.cacert ];
config = {
Cmd = [ "${package}/bin/policy_service" "start" ];
Env = [
"SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt"
"SSL_CERT_DIR=${pkgs.cacert}/etc/ssl/certs"
"ERL_SSL_PATH=${pkgs.cacert}/etc/ssl/certs"
];
};
};
in
{
packages.default = package;
packages.dockerImage = dockerImage;
devShells.default = pkgs.mkShell {
buildInputs = with pkgs; [
elixir
elixir-ls
kubernetes-helm
git
];
};
}
);
}