Commit Graph
100 Commits
Author SHA1 Message Date
sashakoshka 0f3c563dbf cmd/stepd: Set up logging after dropping privelege
This has to be done because we can't just create a log file as
root and not be able to open it later
2024-12-11 03:13:07 -05:00
sashakoshka 728d50f6b5 openrc: Make init script executable 2024-12-11 02:59:04 -05:00
sashakoshka 45b8eb2a26 Fix install target 2024-12-11 02:54:46 -05:00
sashakoshka 7e708f84f1 Never mind, maybe root shouldn't be building things 2024-12-11 02:53:23 -05:00
sashakoshka ce6c5b6285 cmd/stepd: Surpress some go vet warnings 2024-12-11 02:50:20 -05:00
sashakoshka f8b739ac4d cmd/step: Fix calls to template parsing/loading functions 2024-12-11 02:43:46 -05:00
sashakoshka 09fa576873 Make check target work 2024-12-11 02:42:14 -05:00
sashakoshka 5ba3dfd26f Improved Makefile install target 2024-12-11 02:41:06 -05:00
sashakoshka b865dd251c Improve Makefile 2024-12-11 02:32:08 -05:00
sashakoshka cbc31b64a8 Add Makefile 2024-12-11 02:28:24 -05:00
sashakoshka 0a040cad92 Ignore build directory 2024-12-11 02:28:15 -05:00
sashakoshka c48e67e022 openrc: Add untested init script 2024-12-11 02:00:52 -05:00
sashakoshka f8bbf7f3fc cmd/stepd: Add privelege dropping 2024-12-11 02:00:24 -05:00
sashakoshka d24cf1cdc1 cmd/stepd: Remove periods in help text 2024-12-11 01:04:51 -05:00
sashakoshka 32d10ef7c6 providers/http: Remove unnecessary FIXME 2024-12-10 22:07:30 -05:00
sashakoshka 79ac18c8c3 providers/http: Make redirect function better 2024-12-10 21:32:50 -05:00
sashakoshka efc3fc0990 http: Add an HTTP redirect senteniel error 2024-12-10 21:32:12 -05:00
sashakoshka bf668b0cf7 Things I did while unable to commit
- Log rotation
- Execution cancellation
- HTTP redirect, error functions
- Changed naming of document parsing/loading functions
2024-12-10 20:37:40 -05:00
sashakoshka f112a2e564 Plugins work now oughghgghughgghg 2024-12-10 15:51:34 -05:00
sashakoshka c2ccaff8ab Progress on plugin loading 2024-12-10 14:03:02 -05:00
sashakoshka df7f3bdadc Ignore shared objects 2024-12-10 14:02:53 -05:00
sashakoshka d694a8acf6 examples/testplugin: Add test plugin example 2024-12-10 14:02:21 -05:00
sashakoshka 4c3f0056fd cmd/stepd: Load plugins from STEP_PLUGIN_PATH 2024-12-10 13:25:32 -05:00
sashakoshka 209270a179 Add untested plugin support 2024-12-10 13:25:20 -05:00
sashakoshka 9a6607494f cmd/stepd: List all loaded providers on startup 2024-12-10 12:53:15 -05:00
sashakoshka ab167234d0 Providers are now required to state their name/package 2024-12-10 12:22:58 -05:00
sashakoshka 4a1b78b857 cmd/stepd: Fix pid file being spawned even if not specified 2024-12-10 02:58:50 -05:00
sashakoshka 666a9b0c77 cmd/step: Fix setting providers 2024-12-10 02:53:54 -05:00
sashakoshka eb7da68de6 providers/os: readDir now returns a slice of fs.DirEntry 2024-12-10 02:18:42 -05:00
sashakoshka dc378008d6 cmd/stepd: Add config key and arguments for the directory document 2024-12-10 02:12:14 -05:00
sashakoshka 70a1194bca http: Add the ability to serve a directory 2024-12-10 02:11:45 -05:00
sashakoshka 68c8deb269 cmd/stepd: Automatically forbid the configuration file 2024-12-10 00:39:25 -05:00
sashakoshka 7480742e9e http: Add mechanism to forbid certain files/directories 2024-12-10 00:38:47 -05:00
sashakoshka 11e8e7460a cmd/stepd: Configuration file is read and used for the HTTP server
Closes #7
2024-12-10 00:29:33 -05:00
sashakoshka d4d882c40e Rename Environment.Conf to Config 2024-12-09 23:36:02 -05:00
sashakoshka a2680c40d2 Silly idea I had 2024-12-09 23:34:14 -05:00
sashakoshka 8084b7749a Environment configures providers 2024-12-09 23:27:58 -05:00
sashakoshka 433a112875 Add Provider interface 2024-12-09 22:57:59 -05:00
sashakoshka 952ce8f184 Rename plugin.go to provider.go in accordance with #12 2024-12-09 19:32:45 -05:00
sashakoshka adcb195f78 Add configurable interface 2024-12-09 18:22:48 -05:00
sashakoshka 380a5b9223 Metadata keys can have multiple values
Closes #6
2024-12-09 15:53:29 -05:00
sashakoshka ccff4e56c0 Add DecodeMeta function for decoding metadata from an io.Reader. 2024-12-09 13:48:55 -05:00
sashakoshka 43084fb5bb Add ability to parse quoted strings in meta
This should actually make migration from Caddy easier, because
Caddy's YAML front matter seems to support quoted strings? IDK,
the current Holanet has them. Closes #11
2024-12-09 12:56:16 -05:00
sashakoshka b14d92205c Rename a bunch of internal things from frontmatter to meta 2024-12-09 11:58:23 -05:00
sashakoshka 37022e051a Rename front matter errors to meta errors 2024-12-09 11:56:20 -05:00
sashakoshka 847eff17b9 Split ParseMeta out of SplitMeta 2024-12-09 11:54:53 -05:00
sashakoshka 88c5ef2922 Rename frontmatter.go files to meta.go equivalents 2024-12-09 02:23:06 -05:00
sashakoshka 67480bb974 Rename FrontMatter to Meta 2024-12-09 02:22:37 -05:00
sashakoshka c618d7bc5e Add .editorconfig 2024-12-08 20:24:19 -05:00
sashakoshka a12377b7d6 Ignore stepd.pid 2024-12-08 20:23:50 -05:00
sashakoshka 04149fe218 cmd/stepd: PID file is properly removed now 2024-12-08 20:22:35 -05:00
sashakoshka e79417ec9d cmd/stepd: Add periods in the help text 2024-12-08 20:05:04 -05:00
sashakoshka b6cd237ed3 cmd/stepd: Serve a named directory
Closes #8
2024-12-08 20:02:28 -05:00
sashakoshka d06b03bbfe cmd/stepd: Write PID file
Closes #9
2024-12-08 19:45:14 -05:00
sashakoshka deb3d7e935 providers/slice: Make the slice functions way better 2024-12-08 19:20:18 -05:00
sashakoshka 947cbc1440 Add type mismatch error 2024-12-08 16:12:54 -05:00
sashakoshka 860d083c11 providers/mime: use Document.Rel 2024-12-08 03:28:57 -05:00
sashakoshka 52b8b5a347 providers/import: use Document.Rel 2024-12-08 03:28:48 -05:00
sashakoshka 25541dadfe providers/os: use Document.Rel 2024-12-08 03:28:33 -05:00
sashakoshka cc13abd8f8 Documents now make use of relative paths to parse parent documents 2024-12-08 02:57:49 -05:00
sashakoshka f1fccdc2ae Add ParseRelative to Environment 2024-12-08 02:51:13 -05:00
sashakoshka 3c9f91a2c9 Add Abs method on Document 2024-12-08 02:51:01 -05:00
sashakoshka 17b6253211 Add Abs method to Document 2024-12-08 02:18:14 -05:00
sashakoshka efb1f455c9 http: Wrap the recorder instead of the actual response writer 2024-12-08 01:55:02 -05:00
sashakoshka 6f635825a9 http: Make methods of .Data.Res actually work 2024-12-08 01:50:15 -05:00
sashakoshka 3c9eb01790 providers/os: Add appendFile 2024-12-08 01:30:00 -05:00
sashakoshka 889850c04c Move all http stuff into the http package 2024-12-08 01:01:10 -05:00
sashakoshka 6f04353512 providers/import: Add panic function 2024-12-08 01:00:50 -05:00
sashakoshka b654829428 providers: Add mime provider 2024-12-08 00:08:38 -05:00
sashakoshka d76374719d providers: Add slice functions provider 2024-12-07 22:18:45 -05:00
sashakoshka 7f64686323 providers/os: isFile, isDir no longer return errors, just false 2024-12-07 21:51:57 -05:00
sashakoshka 0d456b7508 providers/os: Change name of fileExists to exists 2024-12-07 21:50:53 -05:00
sashakoshka 891e4dc140 Fix bugs surrounding adding funcs to a template 2024-12-07 21:47:36 -05:00
sashakoshka 5e3421a0a7 providers/path: Add functions to check if a file is hidden 2024-12-07 21:47:11 -05:00
sashakoshka b7952cf8eb providers/os: Add functions to check if something is a dir or file 2024-12-07 21:46:43 -05:00
sashakoshka b66b64a327 Make frontmatter splitting work with CRLF files 2024-12-07 16:25:34 -05:00
sashakoshka bc08186d30 cmd/stepd: Include error document flag 2024-12-07 13:07:44 -05:00
sashakoshka 5c9168c9b0 providers/http: Include status text in func map 2024-12-07 13:07:26 -05:00
sashakoshka d67738b29a assets: Add icon 2024-12-07 13:07:02 -05:00
sashakoshka a2edaf30e1 Add some TODOs 2024-12-07 03:13:58 -05:00
sashakoshka 006a311aeb cmd/stepd: Add ability to specify error document 2024-12-07 03:11:12 -05:00
sashakoshka a7b360cc09 http: Error template documents are supported 2024-12-07 03:10:45 -05:00
sashakoshka 62885b2e37 http: Handler now uses redirects to ensure dirs end on a / 2024-12-07 02:34:40 -05:00
sashakoshka 7c9e1a429e Move handler out of cmd and into separate pacakge 2024-12-07 02:27:34 -05:00
sashakoshka e7e31f0e60 providers: Add path functions to supplement sprig's 2024-12-07 02:13:06 -05:00
sashakoshka 30323c0d59 providers/import: Add execute function that returns ExecutionResult 2024-12-07 01:57:53 -05:00
sashakoshka 1b3c1d3585 cmd/stepd: Fix goofy mistakes 2024-12-07 01:41:05 -05:00
sashakoshka 561e72427f Fix HTTPResponseRecorder playing back a zero status code 2024-12-07 01:40:35 -05:00
sashakoshka e292c9fbb2 FuncProviderFor now implies FuncProvider 2024-12-07 01:36:06 -05:00
sashakoshka 17bb6a383b providers: Add import/include provider 2024-12-07 01:35:44 -05:00
sashakoshka e6415a250b Add method to Document to get the current environment 2024-12-07 01:29:33 -05:00
sashakoshka 243659e9ee cmd/stepd: Resetting makes a bit more sense now 2024-12-07 01:20:11 -05:00
sashakoshka 60f1b62965 cmd/stepd: Buffer templates 2024-12-07 00:59:20 -05:00
sashakoshka c85bd09ac5 Make HTTPResponseRecorder more useful 2024-12-07 00:53:39 -05:00
sashakoshka af6c705d8c Add HTTPResponseRecorder 2024-12-07 00:46:24 -05:00
sashakoshka ed1cdf4e89 cmd/stepd: Get content-type information from front matter 2024-12-06 02:01:10 -05:00
sashakoshka 5b88d13052 Export Document.FrontMatter 2024-12-06 02:00:08 -05:00
sashakoshka ceff4d1205 Remove ContentType from Document 2024-12-06 01:49:41 -05:00
sashakoshka 489e6a8425 providers: Rename url provider to http 2024-12-06 01:12:09 -05:00
sashakoshka 90183a2759 providers/url: Add ability to parse POST form data 2024-12-06 01:10:29 -05:00