Skip to content

Exposing the FestivalsFilesAPI providing file storage and file manipulation functions used by the FestivalsApp project.

License

Notifications You must be signed in to change notification settings

Festivals-App/festivals-fileserver

Repository files navigation



FestivalsApp File Server

A lightweight service providing a RESTful API called FestivalsFilesAPI. The FestivalsFilesAPI exposes file storage and file manipulation functions to be used for all file assets needed by the FestivalsApp.

Figure 1: Architecture Overview Highlighted


DevelopmentDeploymentEngage


Development

The developement of the FestivalsFilesAPI (see documentation) and the festivals-fileserver is quite forward and does not dependend on the festivals-api-ios client library directly.

To find out more about the architecture and technical information see the ARCHITECTURE document. The general documentation for the Festivals App is in the festivals-documentation repository. The documentation repository contains architecture information, general deployment documentation, templates and other helpful documents.

Deployment

The Go binaries are able to run without system dependencies so there are not many requirements for the system to run the festivals-fileserver binary. The config file needs to be placed at /etc/festivals-fileserver.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-fileserver/ca.crt
  • The default path to the server certificate is /usr/local/festivals-fileserver/server.crt
  • The default path to the corresponding key is /usr/local/festivals-fileserver/server.key

Where the root CA certificate is required to validate incoming requests and the server certificate and key is required to make outgoing connections. For instructions on how to manage and create the certificates see the festivals-pki repository.

VM

The install, update and uninstall scripts should work with any system that uses systemd and firewalld. Additionally the scripts will somewhat work under macOS but won't configure the firewall or launch service.

#Installing
curl -o install.sh https://raw.githubusercontent.com/Festivals-App/festivals-fileserver/master/operation/install.sh
chmod +x install.sh
sudo ./install.sh

#Updating
curl -o update.sh https://raw.githubusercontent.com/Festivals-App/festivals-fileserver/master/operation/update.sh
chmod +x update.sh
sudo ./update.sh

#To see if the server is running use:
sudo systemctl status festivals-fileserver

Build and run using make

make build
make run
# Default API Endpoint : https://localhost:1910

Engage

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-fileserver 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

Licensing

Copyright (c) 2017-2024 Simon Gaus. Licensed under the GNU Lesser General Public License v3.0

About

Exposing the FestivalsFilesAPI providing file storage and file manipulation functions used by the FestivalsApp project.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published