diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml index 6deb81f..d19f844 100644 --- a/.github/workflows/nix.yml +++ b/.github/workflows/nix.yml @@ -18,7 +18,6 @@ jobs: signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}' authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' - run: | - nix-build docker.nix docker load -i result docker tag xena/christinewebsite:latest xena/christinewebsite:$GITHUB_SHA echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin diff --git a/default.nix b/default.nix index 901845d..1dcc5ea 100644 --- a/default.nix +++ b/default.nix @@ -1,6 +1,23 @@ -{ }: +{ system ? builtins.currentSystem }: let sources = import ./nix/sources.nix; - pkgs = import sources.nixpkgs { }; -in pkgs.callPackage ./site.nix { inherit pkgs; } + pkgs = import sources.nixpkgs { inherit system; }; + callPackage = pkgs.lib.callPackageWith pkgs; + site = callPackage ./site.nix { }; + + dockerImage = pkg: + pkgs.dockerTools.buildLayeredImage { + name = "xena/christinewebsite"; + tag = "latest"; + + contents = [ pkg ]; + + config = { + Cmd = [ "${pkg}/bin/xesite" ]; + Env = [ "CONFIG_FNAME=${pkg}/config.dhall" "RUST_LOG=info" ]; + WorkingDir = "/"; + }; + }; + +in dockerImage site diff --git a/docker.nix b/docker.nix deleted file mode 100644 index 1dcc5ea..0000000 --- a/docker.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ system ? builtins.currentSystem }: - -let - sources = import ./nix/sources.nix; - pkgs = import sources.nixpkgs { inherit system; }; - callPackage = pkgs.lib.callPackageWith pkgs; - site = callPackage ./site.nix { }; - - dockerImage = pkg: - pkgs.dockerTools.buildLayeredImage { - name = "xena/christinewebsite"; - tag = "latest"; - - contents = [ pkg ]; - - config = { - Cmd = [ "${pkg}/bin/xesite" ]; - Env = [ "CONFIG_FNAME=${pkg}/config.dhall" "RUST_LOG=info" ]; - WorkingDir = "/"; - }; - }; - -in dockerImage site diff --git a/site.dhall b/site.dhall index 7def3f3..48d66db 100644 --- a/site.dhall +++ b/site.dhall @@ -19,6 +19,7 @@ in kms.app.make , name = "christinewebsite" , appPort = 3030 , image = image + , replicas = 2 , domain = "${prefix}christine.website" , leIssuer = "prod" , envVars = vars