Update README & gif demo
Fix README
- commit
- c71ea92201d83a1717813d7a966eeebcb39044c6
- author
- bamen · · 2024-09-16 19:05 UTC
- committer
- bamen · · 2024-09-16 20:35 UTC
- parent
- 1e21245
- signature
- unsigned
5 files · +93 -15
M README.md +14 -13
| @@ -13,16 +13,22 @@ Gordon is a tool written in Go that aims to simplify the deployment of your cont | |||
| 13 | 13 | ||
| 14 | 14 | ## **Key Features** | |
| 15 | 15 | ||
| 16 | - | - **Ease of use**: Deploy container images effortlessly using the command **`gordon deploy`**. | |
| 17 | - | - **Self-Hosted**: Operates within your existing self-hosted environment and don't interfere with your setup. | |
| 16 | + | - **Ease of use**: | |
| 17 | + | - Push your container images effortlessly using the **`gordon push`** command. A container creation URL is generated upon successful push. | |
| 18 | + | ||
| 19 | + |  | |
| 20 | + | ||
| 21 | + | - Deploy your web applications quickly with **`gordon deploy`**. | |
| 22 | + | ||
| 23 | + |  | |
| 24 | + | ||
| 25 | + | - **Self-Hosted**: Operates within your existing self-hosted environment without interfering with your setup. | |
| 18 | 26 | - **Self-Updated**: The client can update itself to the latest version with `gordon update`. The backend is updated by pulling the latest image from ghcr.io. | |
| 19 | 27 | - **Minimal WebUI**: Provides a simple web UI to manage your deployments, domains, exposed ports. Using a very minimal stack (sqlite3, Go templates, HTMX and Tailwind CSS). | |
| 20 | 28 | - **Simple authentication**: Use GitHub OAuth for the web UI and OAuth 2.0 device authorization grant (device flow) for the CLI client. | |
| 21 | 29 | - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain. | |
| 22 | 30 | - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities. | |
| 23 | 31 | ||
| 24 | - |  | |
| 25 | - | ||
| 26 | 32 | ## **Why ?** | |
| 27 | 33 | ||
| 28 | 34 | I needed a simple tool that would automate the process of quickly spin up my web apps and preferably not on someone else's computer. And since I wanted to learn Go, I decided to build it myself. | |
| @@ -44,15 +50,10 @@ I also want to emphasize that I am far from being a Go expert yet. Hence, if you | |||
| 44 | 50 | ||
| 45 | 51 | ## **Roadmap beyond 0.1** | |
| 46 | 52 | ||
| 47 | - | - Bug fixes (obviously) | |
| 48 | - | - Add tests | |
| 49 | - | - Better error handling and logging | |
| 50 | - | - Sexier WebUI with more features while keeping it simple (spa) | |
| 51 | - | - Sexier CLI (💕 [Charm](https://github.com/charmbracelet)) | |
| 52 | - | - Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow) | |
| 53 | - | - `deploy` command with no params | |
| 54 | - | - `push` command | |
| 55 | - | - Templates for databases (mysql, postgresql, redis, etc.) | |
| 53 | + | - [ ] Bug fixes | |
| 54 | + | - [x] Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow) | |
| 55 | + | - [x] `push` command | |
| 56 | + | - [ ] Templates for databases (mysql, postgresql, redis, etc.) | |
| 56 | 57 | ||
| 57 | 58 | Have suggestions? Feel free to open an issue! | |
| 58 | 59 | ||
| @@ -13,16 +13,22 @@ Gordon is a tool written in Go that aims to simplify the deployment of your cont | |||||
| 13 | 13 | ||||
| 14 | ## **Key Features** | 14 | ## **Key Features** | ||
| 15 | 15 | ||||
| 16 | - | - **Ease of use**: Deploy container images effortlessly using the command **`gordon deploy`**. | 16 | + | - **Ease of use**: |
| 17 | - | - **Self-Hosted**: Operates within your existing self-hosted environment and don't interfere with your setup. | 17 | + | - Push your container images effortlessly using the **`gordon push`** command. A container creation URL is generated upon successful push. |
| 18 | + | ||||
| 19 | + |  | |||
| 20 | + | ||||
| 21 | + | - Deploy your web applications quickly with **`gordon deploy`**. | |||
| 22 | + | ||||
| 23 | + |  | |||
| 24 | + | ||||
| 25 | + | - **Self-Hosted**: Operates within your existing self-hosted environment without interfering with your setup. | |||
| 18 | - **Self-Updated**: The client can update itself to the latest version with `gordon update`. The backend is updated by pulling the latest image from ghcr.io. | 26 | - **Self-Updated**: The client can update itself to the latest version with `gordon update`. The backend is updated by pulling the latest image from ghcr.io. | ||
| 19 | - **Minimal WebUI**: Provides a simple web UI to manage your deployments, domains, exposed ports. Using a very minimal stack (sqlite3, Go templates, HTMX and Tailwind CSS). | 27 | - **Minimal WebUI**: Provides a simple web UI to manage your deployments, domains, exposed ports. Using a very minimal stack (sqlite3, Go templates, HTMX and Tailwind CSS). | ||
| 20 | - **Simple authentication**: Use GitHub OAuth for the web UI and OAuth 2.0 device authorization grant (device flow) for the CLI client. | 28 | - **Simple authentication**: Use GitHub OAuth for the web UI and OAuth 2.0 device authorization grant (device flow) for the CLI client. | ||
| 21 | - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain. | 29 | - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain. | ||
| 22 | - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities. | 30 | - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities. | ||
| 23 | 31 | ||||
| 24 | - |  | |||
| 25 | - | ||||
| 26 | ## **Why ?** | 32 | ## **Why ?** | ||
| 27 | 33 | ||||
| 28 | I needed a simple tool that would automate the process of quickly spin up my web apps and preferably not on someone else's computer. And since I wanted to learn Go, I decided to build it myself. | 34 | I needed a simple tool that would automate the process of quickly spin up my web apps and preferably not on someone else's computer. And since I wanted to learn Go, I decided to build it myself. | ||
| @@ -44,15 +50,10 @@ I also want to emphasize that I am far from being a Go expert yet. Hence, if you | |||||
| 44 | 50 | ||||
| 45 | ## **Roadmap beyond 0.1** | 51 | ## **Roadmap beyond 0.1** | ||
| 46 | 52 | ||||
| 47 | - | - Bug fixes (obviously) | 53 | + | - [ ] Bug fixes |
| 48 | - | - Add tests | 54 | + | - [x] Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow) |
| 49 | - | - Better error handling and logging | 55 | + | - [x] `push` command |
| 50 | - | - Sexier WebUI with more features while keeping it simple (spa) | 56 | + | - [ ] Templates for databases (mysql, postgresql, redis, etc.) |
| 51 | - | - Sexier CLI (💕 [Charm](https://github.com/charmbracelet)) | |||
| 52 | - | - Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow) | |||
| 53 | - | - `deploy` command with no params | |||
| 54 | - | - `push` command | |||
| 55 | - | - Templates for databases (mysql, postgresql, redis, etc.) | |||
| 56 | 57 | ||||
| 57 | Have suggestions? Feel free to open an issue! | 58 | Have suggestions? Feel free to open an issue! | ||
| 58 | 59 | ||||
M assets/vhs/demo_deploy.gif +0 -0 binary file: no text diff
binary file: no text diff
R assets/vhs/demo.tape → assets/vhs/demo_deploy.tape +2 -2 renamed, 99% similar
| @@ -60,10 +60,10 @@ Require curl | |||
| 60 | 60 | ||
| 61 | 61 | Set TypingSpeed 75ms | |
| 62 | 62 | Set Shell "bash" | |
| 63 | - | Set FontSize 19 | |
| 63 | + | Set FontSize 17 | |
| 64 | 64 | Set FontFamily "FiraCode Nerd Font" | |
| 65 | 65 | Set Width 1200 | |
| 66 | - | Set Height 500 | |
| 66 | + | Set Height 300 | |
| 67 | 67 | ||
| 68 | 68 | Type "gordon" | |
| 69 | 69 | Sleep 1 | |
| @@ -60,10 +60,10 @@ Require curl | |||||
| 60 | 60 | ||||
| 61 | Set TypingSpeed 75ms | 61 | Set TypingSpeed 75ms | ||
| 62 | Set Shell "bash" | 62 | Set Shell "bash" | ||
| 63 | - | Set FontSize 19 | 63 | + | Set FontSize 17 |
| 64 | Set FontFamily "FiraCode Nerd Font" | 64 | Set FontFamily "FiraCode Nerd Font" | ||
| 65 | Set Width 1200 | 65 | Set Width 1200 | ||
| 66 | - | Set Height 500 | 66 | + | Set Height 300 |
| 67 | 67 | ||||
| 68 | Type "gordon" | 68 | Type "gordon" | ||
| 69 | Sleep 1 | 69 | Sleep 1 | ||
A assets/vhs/demo_push.gif +0 -0 binary file: no text diff
binary file: no text diff
A assets/vhs/demo_push.tape +77 -0
| @@ -0,0 +1,77 @@ | |||
| 1 | + | # VHS documentation | |
| 2 | + | # | |
| 3 | + | # Output: | |
| 4 | + | # Output <path>.gif Create a GIF output at the given <path> | |
| 5 | + | # Output <path>.mp4 Create an MP4 output at the given <path> | |
| 6 | + | # Output <path>.webm Create a WebM output at the given <path> | |
| 7 | + | # | |
| 8 | + | # Require: | |
| 9 | + | # Require <string> Ensure a program is on the $PATH to proceed | |
| 10 | + | # | |
| 11 | + | # Settings: | |
| 12 | + | # Set FontSize <number> Set the font size of the terminal | |
| 13 | + | # Set FontFamily <string> Set the font family of the terminal | |
| 14 | + | # Set Height <number> Set the height of the terminal | |
| 15 | + | # Set Width <number> Set the width of the terminal | |
| 16 | + | # Set LetterSpacing <float> Set the font letter spacing (tracking) | |
| 17 | + | # Set LineHeight <float> Set the font line height | |
| 18 | + | # Set LoopOffset <float>% Set the starting frame offset for the GIF loop | |
| 19 | + | # Set Theme <json|string> Set the theme of the terminal | |
| 20 | + | # Set Padding <number> Set the padding of the terminal | |
| 21 | + | # Set Framerate <number> Set the framerate of the recording | |
| 22 | + | # Set PlaybackSpeed <float> Set the playback speed of the recording | |
| 23 | + | # Set MarginFill <file|#000000> Set the file or color the margin will be filled with. | |
| 24 | + | # Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set. | |
| 25 | + | # Set BorderRadius <number> Set terminal border radius, in pixels. | |
| 26 | + | # Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) | |
| 27 | + | # Set WindowBarSize <number> Set window bar size, in pixels. Default is 40. | |
| 28 | + | # Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms. | |
| 29 | + | # | |
| 30 | + | # Sleep: | |
| 31 | + | # Sleep <time> Sleep for a set amount of <time> in seconds | |
| 32 | + | # | |
| 33 | + | # Type: | |
| 34 | + | # Type[@<time>] "<characters>" Type <characters> into the terminal with a | |
| 35 | + | # <time> delay between each character | |
| 36 | + | # | |
| 37 | + | # Keys: | |
| 38 | + | # Backspace[@<time>] [number] Press the Backspace key | |
| 39 | + | # Down[@<time>] [number] Press the Down key | |
| 40 | + | # Enter[@<time>] [number] Press the Enter key | |
| 41 | + | # Space[@<time>] [number] Press the Space key | |
| 42 | + | # Tab[@<time>] [number] Press the Tab key | |
| 43 | + | # Left[@<time>] [number] Press the Left Arrow key | |
| 44 | + | # Right[@<time>] [number] Press the Right Arrow key | |
| 45 | + | # Up[@<time>] [number] Press the Up Arrow key | |
| 46 | + | # Down[@<time>] [number] Press the Down Arrow key | |
| 47 | + | # PageUp[@<time>] [number] Press the Page Up key | |
| 48 | + | # PageDown[@<time>] [number] Press the Page Down key | |
| 49 | + | # Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C) | |
| 50 | + | # | |
| 51 | + | # Display: | |
| 52 | + | # Hide Hide the subsequent commands from the output | |
| 53 | + | # Show Show the subsequent commands in the output | |
| 54 | + | ||
| 55 | + | Output demo_push.gif | |
| 56 | + | ||
| 57 | + | Require echo | |
| 58 | + | Require gordon | |
| 59 | + | Require curl | |
| 60 | + | ||
| 61 | + | Set TypingSpeed 75ms | |
| 62 | + | Set Shell "bash" | |
| 63 | + | Set FontSize 17 | |
| 64 | + | Set FontFamily "FiraCode Nerd Font" | |
| 65 | + | Set Width 1200 | |
| 66 | + | Set Height 300 | |
| 67 | + | ||
| 68 | + | Type "gordon" | |
| 69 | + | Sleep 1 | |
| 70 | + | Space | |
| 71 | + | Type "push" | |
| 72 | + | Sleep 1 | |
| 73 | + | Space | |
| 74 | + | Type "bnema/go-helloworld:latest" | |
| 75 | + | Enter | |
| 76 | + | ||
| 77 | + | Sleep 15 | |
| @@ -0,0 +1,77 @@ | |||||
| 1 | + | # VHS documentation | |||
| 2 | + | # | |||
| 3 | + | # Output: | |||
| 4 | + | # Output <path>.gif Create a GIF output at the given <path> | |||
| 5 | + | # Output <path>.mp4 Create an MP4 output at the given <path> | |||
| 6 | + | # Output <path>.webm Create a WebM output at the given <path> | |||
| 7 | + | # | |||
| 8 | + | # Require: | |||
| 9 | + | # Require <string> Ensure a program is on the $PATH to proceed | |||
| 10 | + | # | |||
| 11 | + | # Settings: | |||
| 12 | + | # Set FontSize <number> Set the font size of the terminal | |||
| 13 | + | # Set FontFamily <string> Set the font family of the terminal | |||
| 14 | + | # Set Height <number> Set the height of the terminal | |||
| 15 | + | # Set Width <number> Set the width of the terminal | |||
| 16 | + | # Set LetterSpacing <float> Set the font letter spacing (tracking) | |||
| 17 | + | # Set LineHeight <float> Set the font line height | |||
| 18 | + | # Set LoopOffset <float>% Set the starting frame offset for the GIF loop | |||
| 19 | + | # Set Theme <json|string> Set the theme of the terminal | |||
| 20 | + | # Set Padding <number> Set the padding of the terminal | |||
| 21 | + | # Set Framerate <number> Set the framerate of the recording | |||
| 22 | + | # Set PlaybackSpeed <float> Set the playback speed of the recording | |||
| 23 | + | # Set MarginFill <file|#000000> Set the file or color the margin will be filled with. | |||
| 24 | + | # Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set. | |||
| 25 | + | # Set BorderRadius <number> Set terminal border radius, in pixels. | |||
| 26 | + | # Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight) | |||
| 27 | + | # Set WindowBarSize <number> Set window bar size, in pixels. Default is 40. | |||
| 28 | + | # Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms. | |||
| 29 | + | # | |||
| 30 | + | # Sleep: | |||
| 31 | + | # Sleep <time> Sleep for a set amount of <time> in seconds | |||
| 32 | + | # | |||
| 33 | + | # Type: | |||
| 34 | + | # Type[@<time>] "<characters>" Type <characters> into the terminal with a | |||
| 35 | + | # <time> delay between each character | |||
| 36 | + | # | |||
| 37 | + | # Keys: | |||
| 38 | + | # Backspace[@<time>] [number] Press the Backspace key | |||
| 39 | + | # Down[@<time>] [number] Press the Down key | |||
| 40 | + | # Enter[@<time>] [number] Press the Enter key | |||
| 41 | + | # Space[@<time>] [number] Press the Space key | |||
| 42 | + | # Tab[@<time>] [number] Press the Tab key | |||
| 43 | + | # Left[@<time>] [number] Press the Left Arrow key | |||
| 44 | + | # Right[@<time>] [number] Press the Right Arrow key | |||
| 45 | + | # Up[@<time>] [number] Press the Up Arrow key | |||
| 46 | + | # Down[@<time>] [number] Press the Down Arrow key | |||
| 47 | + | # PageUp[@<time>] [number] Press the Page Up key | |||
| 48 | + | # PageDown[@<time>] [number] Press the Page Down key | |||
| 49 | + | # Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C) | |||
| 50 | + | # | |||
| 51 | + | # Display: | |||
| 52 | + | # Hide Hide the subsequent commands from the output | |||
| 53 | + | # Show Show the subsequent commands in the output | |||
| 54 | + | ||||
| 55 | + | Output demo_push.gif | |||
| 56 | + | ||||
| 57 | + | Require echo | |||
| 58 | + | Require gordon | |||
| 59 | + | Require curl | |||
| 60 | + | ||||
| 61 | + | Set TypingSpeed 75ms | |||
| 62 | + | Set Shell "bash" | |||
| 63 | + | Set FontSize 17 | |||
| 64 | + | Set FontFamily "FiraCode Nerd Font" | |||
| 65 | + | Set Width 1200 | |||
| 66 | + | Set Height 300 | |||
| 67 | + | ||||
| 68 | + | Type "gordon" | |||
| 69 | + | Sleep 1 | |||
| 70 | + | Space | |||
| 71 | + | Type "push" | |||
| 72 | + | Sleep 1 | |||
| 73 | + | Space | |||
| 74 | + | Type "bnema/go-helloworld:latest" | |||
| 75 | + | Enter | |||
| 76 | + | ||||
| 77 | + | Sleep 15 | |||