The service gateway for the FestivalsApp backend, providing access to the FestivalsAPI, static file server, database and the website node acting as a combined loadbalancer, ingress server and discovery service.
Development • Deployment • Usage • Documentation • Engage • Licensing
TBA
TBA
TBA
The Go binaries are able to run without system dependencies so there are not many requirements for the system to run the festivals-gateway binary.
The config file needs to be placed at /etc/festivals-gateway.conf
or the template config file needs to be present in the directory the binary runs in.
You also need to provide certificates in the right format and location:
- The default path to the root CA certificate is
/usr/local/festivals-gateway/ca.crt
- The default path to the server certificate is
/usr/local/festivals-gateway/server.crt
- The default path to the corresponding key is
/usr/local/festivals-gateway/server.key
Where the root CA certificate is required to validate incoming requests and the server certificate and key is requires to make outgoing connections. For instructions on how to manage and create the certificates see the festivals-pki repository.
The install and update scripts should work with any system that uses systemd and firewalld.
Installing
curl -o install.sh https://raw.githubusercontent.com/Festivals-App/festivals-gateway/main/operation/install.sh
chmod +x install.sh
sudo ./install.sh
Updating
curl -o update.sh https://raw.githubusercontent.com/Festivals-App/festivals-gateway/main/operation/update.sh
chmod +x update.sh
sudo ./update.sh
All of the scripts require Ubuntu 20 LTS as the operating system and that the server has already been initialised, see the steps to do that here.
TBA
base/health base/version base/info base/log
discovery.base/services discovery.base/loversear
api.base/*
files.base/*
The gateway is documented in detail here.
The full documentation for the Festivals App is in the festivals-documentation repository. The documentation repository contains technical documents, architecture information, UI/UX specifications, and whitepapers related to this implementation.
I welcome every contribution, whether it is a pull request or a fixed typo. The best place to discuss questions and suggestions regarding the festivals-gateway is the issues section. More general information and a good starting point if you want to get involved is the festival-documentation repository.
The following channels are available for discussions, feedback, and support requests:
Type | Channel |
---|---|
General Discussion | |
Other Requests |
Copyright (c) 2020-2023 Simon Gaus.
Licensed under the GNU Lesser General Public License v3.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://www.gnu.org/licenses/lgpl-3.0.html.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.