Compare commits
	
		
			10 Commits
		
	
	
		
			image-entr
			...
			main
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | cf583f5ff6 | ||
| d3dbb6e673 | |||
|   | 851b3a6076 | ||
|   | dbc3103980 | ||
|   | 2dacd4f747 | ||
| 94ede9a168 | |||
|   | c38574e005 | ||
|   | 700d53fbb0 | ||
|   | c5c11ed181 | ||
| 36c9b880a7 | 
							
								
								
									
										12
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								README.md
									
									
									
									
									
								
							| @ -41,8 +41,10 @@ By setting `$BASE_DIR` you can persist the database for later runs. | |||||||
| 
 | 
 | ||||||
| ## TODO | ## TODO | ||||||
| 
 | 
 | ||||||
| - CI | - [x] CI | ||||||
| - Docker container (in flake) | - [x] Docker container (in flake) | ||||||
| - try fourmolu | - [x] try fourmolu | ||||||
| - Test leap second handling in the `time` package | - [x] Test leap second handling in the `time` package | ||||||
| - use queue to sync logging of indexer and main thread | - [ ] Fix container shutdown delay | ||||||
|  | - [ ] Fix `responseFile` always returning 200 | ||||||
|  | - [ ] use queue to sync logging of indexer and main thread | ||||||
|  | |||||||
| @ -65,6 +65,7 @@ import Data.Time.Clock.POSIX (getPOSIXTime) | |||||||
| import qualified Envy | import qualified Envy | ||||||
| import qualified Yore.DB as DB | import qualified Yore.DB as DB | ||||||
| import qualified Yore.Log as Log | import qualified Yore.Log as Log | ||||||
|  | import System.IO (hSetBuffering, BufferMode (..), stdout) | ||||||
| 
 | 
 | ||||||
| data ConfigT f = Config | data ConfigT f = Config | ||||||
|   { yorePort :: f =@@ Int ? 3000 |   { yorePort :: f =@@ Int ? 3000 | ||||||
| @ -79,6 +80,8 @@ deriving instance Show Config | |||||||
| 
 | 
 | ||||||
| main :: IO () | main :: IO () | ||||||
| main = do | main = do | ||||||
|  |   hSetBuffering stdout NoBuffering | ||||||
|  | 
 | ||||||
|   cfg <- |   cfg <- | ||||||
|     Envy.load @ConfigT >>= \case |     Envy.load @ConfigT >>= \case | ||||||
|       Left errs -> do |       Left errs -> do | ||||||
|  | |||||||
							
								
								
									
										23
									
								
								flake.nix
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								flake.nix
									
									
									
									
									
								
							| @ -64,19 +64,30 @@ | |||||||
|             name = "git.pbrinkmeier.de/paul/yore"; |             name = "git.pbrinkmeier.de/paul/yore"; | ||||||
|             tag = yore.version; |             tag = yore.version; | ||||||
|             copyToRoot = [ pkgs.cacert ]; |             copyToRoot = [ pkgs.cacert ]; | ||||||
|             config.Cmd = [ "${entrypoint}/bin/run" ]; |             config = { | ||||||
|  |               Cmd = [ "${entrypoint}/bin/run" ]; | ||||||
|  |               StopSignal = "SIGINT"; | ||||||
|  |             }; | ||||||
|           }; |           }; | ||||||
| 
 | 
 | ||||||
|         entrypoint = pkgs.writeShellApplication { |         entrypoint = pkgs.writeShellApplication { | ||||||
|           name = "run"; |           name = "run"; | ||||||
|           runtimeInputs = [ pkgs.coreutils pkgs.dbmate yore ]; |           runtimeInputs = [ pkgs.coreutils pkgs.dbmate yore ]; | ||||||
|           text = '' |           text = '' | ||||||
|             mkdir -p /workspace/db |             set -Eeuo pipefail | ||||||
|             cp -r ${./db}/* /workspace/db |  | ||||||
|             cd /workspace |  | ||||||
|             dbmate up |  | ||||||
| 
 | 
 | ||||||
| 	    yore |             mkdir -p "''${YORE_DBMATE_DIR}" | ||||||
|  |             TMPDIR=$(mktemp -dp "''${YORE_DBMATE_DIR}") | ||||||
|  |             mkdir -p "''${TMPDIR}/db" | ||||||
|  |             cp -r ${./db}/* "''${TMPDIR}/db" | ||||||
|  |             cd "''${TMPDIR}" | ||||||
|  |             dbmate up | ||||||
|  |             chmod +w -R "''${TMPDIR}" | ||||||
|  |             rm -rf "''${TMPDIR}" | ||||||
|  | 
 | ||||||
|  |             # Replace bash and inherit PID 1 | ||||||
|  |             cd / | ||||||
|  |             exec yore | ||||||
|           ''; |           ''; | ||||||
|         }; |         }; | ||||||
|       in { |       in { | ||||||
|  | |||||||
| @ -112,7 +112,7 @@ showpdfRequest (y, m, d) = | |||||||
|     NoReqBody |     NoReqBody | ||||||
|     bsResponse |     bsResponse | ||||||
|     ( formToQuery |     ( formToQuery | ||||||
|         [ ("cmd" :: Text, "showpdf") |         [ ("cmd" :: Text, "showpdfjs") | ||||||
|         , ("year", y) |         , ("year", y) | ||||||
|         , ("month", m) |         , ("month", m) | ||||||
|         , ("day", d) |         , ("day", d) | ||||||
|  | |||||||
| @ -1,7 +1,7 @@ | |||||||
| cabal-version: 3.4 | cabal-version: 3.4 | ||||||
| 
 | 
 | ||||||
| name:           yore | name:           yore | ||||||
| version:        0.0.2 | version:        0.0.9 | ||||||
| author:         Paul Brinkmeier | author:         Paul Brinkmeier | ||||||
| maintainer:     hallo@pbrinkmeier.de | maintainer:     hallo@pbrinkmeier.de | ||||||
| copyright:      2023 Paul Brinkmeier | copyright:      2023 Paul Brinkmeier | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user