Skip to content

Latest commit

 

History

History
88 lines (59 loc) · 4.75 KB

README.md

File metadata and controls

88 lines (59 loc) · 4.75 KB

FOSShowcase

Run unit tests Swift Package Manager

FOSShowcase contains a number of applications that showcase the Open Source technologies developed by David Hunt of FOS Comoputer Services, LLC. It demonstrates how to use Swift to build an M-V-VM full-stack suite of applications:

Documentation

For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.

Alpha Stability Warning

Please note that these libraries are currently a work in progress. The APIs are rapidly evolving and while the overall architecture is set, breaking changes will occur until 1.0 is released. The documentation is evolving, but the 'Getting Started' guidance is incomplete. Nonetheless, the implementations are stable and unit tests are in place to ensure proper code coverage and stability of all publicly-facing APIs. This warning will remain in place until I feel that these limitations are remedied. Please log any issues that you might find or suggestions for improvements.

FOSShowcaseWebServer

FOSShowcaseWebServer is the web service backend that supports the various front end applications.

For guides, articles, and API documentation see the library's documentation on the Web or in Xcode.

FOSShowcaseWebApp

FOSShowcaseWebApp is an Ignite-based web application that presents an HTTP version of the application to the public at http://www.foscomputerservices.com.

FOSShowcaseiOSApp

FOSShowcaseiOSApp is a cross-platform SwiftUI-based application that runs on:

Deploying

The public web service (Vapor backend + Leaf web app, behind nginx) runs as a Docker Compose stack on a small private Linux VM. The repo is the source of truth and the VM is disposable: rebuilding from the repo is the recovery path.

Where the VM is, how it is reached, how it was built, and the network rules around it are not in this repository. They live in the private ops repo (openclaw-config: docs/fos-showcase/runbook-pi-to-vm.md and deploy/fos-showcase/).

Routine deploy (code / config change)

Run from a machine that has the canonical secrets at ~/.foscs/fosshowcase/ (.env, ssl/, and deploy.env naming the VM):

git commit ...        # commit your change first
./deploy/deploy.sh

deploy/deploy.sh rsyncs the repo to the VM, delivers .env + ssl/ (mode 600), builds the three images one at a time (the VM is small), and runs docker compose up -d.

Notes:

  • A deploy rebuilds both Swift apps (the Dockerfiles COPY the whole repo, so any change invalidates the build cache); expect 30+ minutes.
  • Secrets, TLS certs and the VM address are not in git. deploy/env.example documents the required application variables; deploy.env holds VM_HOST and optionally JUMP_HOST / VM_PATH.

Maintainers

This project is maintained by David Hunt owner of FOS Computer Services, LLC.

License

FOSShowcase is under the Apache License. See the LICENSE file for more information.