Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why?
So, the reason for switching to a GoLang backend is extensibility. This provides a better base for quickly adding features. To demonstrate this, I have added another page at the /admin endpoint that takes a password just as an example.
Furthermore, this can now run as a standalone binary, not requiring the use of an apache or Nginx server, making it far more simple to instantiate. But of course, the docker file provided also allow it to run easily atop the docker engine.
More features can be added to this, however, to ensure the pull request is focused, I have simply left the login page there as an example, thus, it does not provide any real benefit in its current format.
As a final benefit, the parsing of the JSON config is done statically, improving performance slightly.
More...
The scope of this is limited to the change of language, not new features. I do intend to push and merge other features that make use of the new backend program.