tabarra / txAdmin

The official FiveM server management platform used by over 23k servers!
https://txadmin.gg/
MIT License
786 stars 528 forks source link

[FEATURE/SHOWCASE]: Git version control for server-data #933

Open AleksanderEvensen opened 3 months ago

AleksanderEvensen commented 3 months ago

Scope

Web

Feature Description

A system for managing git version control for the specified server-data folder

Use Case

Instead of logging into the server via SSH or other methods to update/pull/manage the git repoisitory, a simple panel in txAdmin can be used to switch branch/tag and fetch and pull changes from the remote.

Proposed Solution

A while ago I posted the same feature request. From the response that you guys gave in the comments, I thought maybe this was something that you guys were looking for. At the time I didn't want to attempt a prototype, but since you have switched over to react.js I would therefore like to do an attempt.

The video attached shows the prototype that I have so far. It's a bit rough around the edges, but it is just something I cooked durring the last 3 days. I wanted to show you what I have so far before putting more effort into the feature, or if someone else on the team is working on the feature.

https://github.com/tabarra/txAdmin/assets/19311856/bf12a7b8-567c-4625-b3bb-e16458874a02

Additional Info

No response

tabarra commented 3 months ago

That looks fantastic.
This is still something in the TODO list, but other stuff takes priority (react refactor, API, etc).

My current plan is to scan the resources for git repositories and integrate it into the new resources page, instead of making the whole server data be a single git repo.
There is still no ETA for that, specially considering it kinda conflicts with my idea of making the recipes be downloaded pre-built, instead of resource by resource.

AleksanderEvensen commented 3 months ago

So there would be no objections to continue on with the version control feature?

The git integration im making in the process could also come in handy with your plan to scan the resources folder for repositories. image

Im also wondering why you would go for a per resource repository instead of the whole server-data with git submodules (if a specified resource is not a part of the main repo)

tabarra commented 3 months ago

I do not know.
When talking about designing new features for txAdmin, some steps need to take place:

  1. Ballpark idealization (where I am right now), where just the broad idea is established;
  2. Writing down general specs and requirements, hopefully with community feedback, keeping in mind the technical limitations;
  3. Aligning that with the broader idea of txAdmin, so the feature is not just a random thing, but something that pushes the whole FiveM ecosystem as a whole forward (doesn't apply for small stuff);
  4. Aligning it with Rockstar;
  5. And finally, start development.

Since I am still at step 1, I'm still too far from development to be able to direct any kind of precise requirement.
The git thing will probably happen, but it's just not a priority over stuff like building an API.