detached 2b2083b

Update README for the 0.1

commit
2b2083b8766af20b7410827d4e455f588953ad2c
author
bnema · · 2023-11-08 17:53 UTC
committer
bnema · · 2023-11-08 22:40 UTC
parent
750013f
signature
unsigned
1 file · +29 -13
M README.md +29 -13
@@ -13,29 +13,45 @@ Gordon is a tool written in Go that aims to simplify the deployment of your cont
1313
1414 ## **Key Features**
1515
16-- **Quick Deployment**: Deploy container images effortlessly using the command **`gordon deploy <image:version> -p 8080:80 -t gordon.sld.tld`**
17-- **Self-Hosted**: Operates within your existing self-hosted environment.
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 existing setup.
1818 - **Web UI**: Provides a simple web UI to manage your deployments, domains, exposed ports, and more.
1919 - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain.
2020 - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities.
21-- **Minimal stack**: Sqlite3 is used as in memory database (no ORM), the web UI is built using Go templates, HTMX and Tailwind CSS
21+- **Minimal stack**: Sqlite3 (no ORM) for the db, the web UI is built using Go templates, HTMX and Tailwind CSS
22+- **Simple authentication**: Use Github OAuth to authenticate with the web UI and a token for the CLI.
23+
24+![Demo Deploy](assets/vhs/demo_deploy.gif?raw=true)
25+
2226
2327 ## **Why ?**
2428
25-I found myself spending excessive time manually deploying my containerized applications using remote SSH. Being a lazy developer, I wanted a tool that would automate this process. However, I couldn't find one that met my requirements (dead simple), so I decided to make my own.
29+I found myself spending excessive time manually deploying my containerized applications via remote SSH. I needed a tool that would automate the process to quickly spin up my test environments, and since I was eager to learn Go, I decided to create it myself.
30+
31+## **Installation / Getting Started / Usage**
32+
33+For detailed instructions, please refer to the wiki: <https://github.com/bnema/gordon/wiki/>
34+
35+
36+## **Development Status & Disclaimer**
37+
38+🛠️ **Note**: Gordon is under heavy development and is absolutely not ready for production. Thank you in advance for taking the time to test it and report any issues you may encounter.
2639
27-## **Development Status**
40+I also want to emphasize that I am far from being a Go expert yet. Hence, if you notice any poor practices, I welcome your feedback—respectfully, of course. It's a valuable part of the learning process!
2841
29-🛠️ **Note**: This project is currently under heavy development. A 0.1 release with basic features will be available soon.
42+## **Roadmap beyond 0.1**
3043
31-## **TODO for 0.1 release**
44+- Bug fixes (obviously)
45+- Add tests
46+- Better error handling and logging
47+- Sexier WebUI with more features while keeping it simple (spa)
48+- Sexier CLI (<3 [Charm](https://github.com/charmbracelet))
49+- Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow)
50+- `deploy` command with no params
51+- `push` command
52+- Templates for databases (mysql, postgresql, redis, etc.)
3253
33-- [x] Basic web UI for managing deployments
34-- [x] CRUD operations with the container engine
35-- [x] Improve authentication security
36-- [x] Interaction with the database
37-- [ ] New version update mechanism (backup, rollback etc.)
38-- [ ] Basic CLI to push images to the container engine
54+Have suggestions? Feel free to open an issue!
3955
4056 ## **License**
4157
@@ -13,29 +13,45 @@ 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-- **Quick Deployment**: Deploy container images effortlessly using the command **`gordon deploy <image:version> -p 8080:80 -t gordon.sld.tld`**16+- **Ease of use**: Deploy container images effortlessly using the command **`gordon deploy`**.
17-- **Self-Hosted**: Operates within your existing self-hosted environment.17+- **Self-Hosted**: Operates within your existing self-hosted environment and don't interfere with your existing setup.
18 - **Web UI**: Provides a simple web UI to manage your deployments, domains, exposed ports, and more.18 - **Web UI**: Provides a simple web UI to manage your deployments, domains, exposed ports, and more.
19 - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain.19 - **Automated Routing**: Collaborates with Traefik to automatically route your application to your desired domain or subdomain.
20 - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities.20 - **One binary**: Gordon follows the Golang philosophy of keeping things simple, offering a single binary for all functionalities.
21-- **Minimal stack**: Sqlite3 is used as in memory database (no ORM), the web UI is built using Go templates, HTMX and Tailwind CSS21+- **Minimal stack**: Sqlite3 (no ORM) for the db, the web UI is built using Go templates, HTMX and Tailwind CSS
22+- **Simple authentication**: Use Github OAuth to authenticate with the web UI and a token for the CLI.
23+
24+![Demo Deploy](assets/vhs/demo_deploy.gif?raw=true)
25+
22 26
23 ## **Why ?**27 ## **Why ?**
24 28
25-I found myself spending excessive time manually deploying my containerized applications using remote SSH. Being a lazy developer, I wanted a tool that would automate this process. However, I couldn't find one that met my requirements (dead simple), so I decided to make my own.29+I found myself spending excessive time manually deploying my containerized applications via remote SSH. I needed a tool that would automate the process to quickly spin up my test environments, and since I was eager to learn Go, I decided to create it myself.
30+
31+## **Installation / Getting Started / Usage**
32+
33+For detailed instructions, please refer to the wiki: <https://github.com/bnema/gordon/wiki/>
34+
35+
36+## **Development Status & Disclaimer**
37+
38+🛠️ **Note**: Gordon is under heavy development and is absolutely not ready for production. Thank you in advance for taking the time to test it and report any issues you may encounter.
26 39
27-## **Development Status**40+I also want to emphasize that I am far from being a Go expert yet. Hence, if you notice any poor practices, I welcome your feedback—respectfully, of course. It's a valuable part of the learning process!
28 41
29-🛠️ **Note**: This project is currently under heavy development. A 0.1 release with basic features will be available soon.42+## **Roadmap beyond 0.1**
30 43
31-## **TODO for 0.1 release**44+- Bug fixes (obviously)
45+- Add tests
46+- Better error handling and logging
47+- Sexier WebUI with more features while keeping it simple (spa)
48+- Sexier CLI (<3 [Charm](https://github.com/charmbracelet))
49+- Refined CLI to backend authentication process (utilizing GitHub OAuth Device flow)
50+- `deploy` command with no params
51+- `push` command
52+- Templates for databases (mysql, postgresql, redis, etc.)
32 53
33-- [x] Basic web UI for managing deployments54+Have suggestions? Feel free to open an issue!
34-- [x] CRUD operations with the container engine
35-- [x] Improve authentication security
36-- [x] Interaction with the database
37-- [ ] New version update mechanism (backup, rollback etc.)
38-- [ ] Basic CLI to push images to the container engine
39 55
40 ## **License**56 ## **License**
41 57

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 7

Tags 106

↑↓ moveenter openesc close