Expose your application

February 20, 2020

What are endpoints? #

Once you have installed an application on one of your deployments, you can communicate with it through an endpoint. To get an overview of all the endpoints of your application, you should navigate to the endpoints page via the side navigation on the application page.

This page, as shown in the screenshot below, contains one or more endpoints which have one of the following types:

  1. Internal endpoint: All the applications on the same deployment are interconnected via a local network. This allows them to communicate securely with each other, without having to expose an external endpoint to the worldwide web. In order to communicate over this network, you can use an internal endpoint.
  2. External endpoint: If you want to expose your application to the worldwide web or want to access it from outside your deployment, you should create an external endpoint.

Endpoints page

Create an external endpoint #

To create a new endpoint, hover the button in the right upper corner of the endpoints table and click Create endpoint. Then, a form will appear similar to the one in the screenshot below.

In the first step of this form, you need to specify which port of which container you like to expose using the endpoint.

tip

In some cases, Smoothy figures out by itself which container and which port it needs to expose. In these cases, you should not alter the prepopulated fields.

Create endpoint

In the next step you can decide what type of endpoint you like to create. There are three options:

  1. Open a port on your deployment
  2. Point a Smoothy-generated domain to your application
  3. Point one of your domains to your application

Create endpoint

Open a port on your deployment #

Example: http://142.93.232.235:30140

Suitable for Exposing applications that communicate over TCP, for example, databases.

Not suitable for Exposing web applications that communicate over HTTPS, since the endpoint does not use the HTTPS protocol.

warning

Smoothy automatically alters the firewall of your deployment to allow all connections on the opened port. However, if you only want to allow certain IP addresses to connect to the endpoint you should manually adapt the firewall rules to your needs.

Point a Smoothy-generated domain to your application #

Example: https://be253669-3550-4a74-b844-096bdc1dd73d-142-93-232-235.ip.smoothy.cloud

Suitable for Exposing web applications that communicate over HTTPS in development.

Not suitable for Exposing web applications that communicate over HTTPS in production.

Point one of your domains to your application #

Example: https://michielkempen.com

Suitable for Exposing web applications that communicate over HTTPS in production.

Not suitable for Exposing web applications that communicate over HTTPS in development, since the number of time Smoothy can generate a free TLS certificate for a certain domain is limited. If you repeatedly create and delete your application, as is often the case in development, you may quickly reach your monthly limit.

warning

If you point one of your domains to your application, make sure to add the required DNS record that points your specified (sub)domain to the IP address of your deployment.

Create endpoint

HTTP health check #

Smoothy can periodically check the health of your endpoint by sending an HTTP GET request to it and verifying that the application returns a successful response. If no successful response is returned within 5 seconds, something may be wrong with your application and you receive a notification.

If you want to enable the HTTP health check for your endpoint, you can specify this in the last step of the creation process or during the update process.

Create endpoint

Michiel Kempen

Michiel Kempen

A passionate cloud engineer who helps software companies adopt modern cloud technologies through an intelligent all-in-one cloud platform called Smoothy.