/s3-hello

S3 Server-side Swift hello server

Primary LanguageSwiftMIT LicenseMIT

Hello Microservice

This repository contains the hello microservice from Udacity's server-side Swift curriculum. The hello microservice is a simple Swift server that exposes two endpoints:

  • /
    • returns a basic message
  • /secure
    • when provided a valid auth token, returns a "secure" message

To experiment with the endpoints, see the Lesson 1: Hello Microservice Docs on Apiary.

Also, the hello microservice uses the Swift Package Manager to manage dependencies.

Swift Dependencies

  • Kitura
  • HeliumLogger
  • Perfect-Crypto

How to Use

The hello microservice can technically be built to run on macOS or Ubuntu Linux. However, we recommend building for Ubuntu Linux since that will likely be the environment used if you were to deploy the microservice into the cloud. Furthermore, to assure consistency between development and possible deployment environments, Docker is used. Take the following steps to build and run the monolith:

1] Build the Docker Image

docker build -t s3-hello:1.0.0 .

2] Run the Docker Image (start Bash shell)

docker run --rm -it -v $(pwd):/app -p 8081:8081 s3-hello:1.0.0 /bin/bash

3] Build the Microservice

# assuming you are located at /app
swift build

4] Run the Microservice

# assuming you are located at /app

5] Test an Endpoint!

curl localhost:8081

test secure end-point

curl -H "Authorization: Bearer ${TOKEN}"  localhost:8081/secure
{"message":"Secure hello from Swift!"}%     

${TOKEN} change token