Skip to content
This repository has been archived by the owner on Jun 1, 2022. It is now read-only.

IBM/swift-web-app

Repository files navigation

WARNING: This repository is no longer maintained ⚠️

Please see the replacement repositories available for Node.js, Go, Java Liberty, Java Spring, Python Flask, Python Django, and Swift.

This repository will not be updated. The repository will be kept available in read-only mode.

Kitura

IBM Cloud platform macOS Linux Apache 2 Slack Status

Create and deploy a Swift Web Application using Kitura

We have similar applications available for Node.js, Java Spring, Go, Python Django & Flask, and Java Liberty.

In this sample application, you will create a basic web application using Kitura to serve web pages in Swift, complete with standard best practices, including a health check.

Steps

You can deploy this application to IBM Cloud or build it locally by cloning this repo first. Once your app is live, you can access the /health endpoint to build out your cloud native application.

Deploying to IBM Cloud

Deploy to IBM Cloud

Use the button above to deploy this same application to IBM Cloud. This option will create a deployment pipeline, complete with a hosted Git lab project and DevOps toolchain. You will have the option of deploying to either Cloud Foundry or a Kubernetes cluster. IBM Cloud DevOps services provides toolchains as a set of tool integrations that support development, deployment, and operations tasks inside IBM Cloud.

Building Locally

To get started building this application locally, you can either run the application natively or use the IBM Cloud Developer Tools for containerization and easy deployment to IBM Cloud.

Native Application Development

In the root of this project, first build the application using swift build. swift run will launch the application and render it at http://localhost:8080.

IBM Cloud Developer Tools

Install IBM Cloud Developer Tools on your machine by running the following command:

curl -sL https://ibm.biz/idt-installer | bash

Create an application on IBM Cloud by running:

ibmcloud dev create

This will create and download a starter application with the necessary files needed for local development and deployment.

Your application will be compiled with Docker containers. To compile and run your app, run:

ibmcloud dev build
ibmcloud dev run

This will launch your application locally. When you are ready to deploy to IBM Cloud on Cloud Foundry or Kubernetes, run one of the commands:

ibmcloud dev deploy -t buildpack // to Cloud Foundry
ibmcloud dev deploy -t container // to K8s cluster

You can build and debug your app locally with:

ibmcloud dev build --debug
ibmcloud dev debug

Next Steps

License

This sample application is licensed under the Apache License, Version 2. Separate third-party code objects invoked within this code pattern are licensed by their respective providers pursuant to their own separate licenses. Contributions are subject to the Developer Certificate of Origin, Version 1.1 and the Apache License, Version 2.

Apache License FAQ