Accessing Service Previews

Workspaces typically have one or more preview URLs associated with them. All generated preview URLs are authenticated. You will need to pass in an API Key as explained below.

Using HTTP Preview URLs

If the preview URL is pointing to a frontend application, you can load it up in your web browser and authenticate to it just as you log into the Signadot Dashboard and gain access to your service in the workspace.

You can also access backend URLs over http(s) using cURL or Postman for manual testing. This requires that you provision an API key from the Signadot Dashboard, and then issue a request with the signadot-api-key header as shown below.

curl -H "signadot-api-key: <api-key-here>" https://<preview-endpoint>--<workspace-name>.preview.signadot.com

Using gRPC Preview URLs

For gRPC requests, the service running within the cluster must be accessible without encryption or authentication. The gRPC preview endpoint itself is secured using TLS and can be connected to at <full-preview-url>:443 with the server authentication using SSL/TLS. The certificate issued to the preview URL is authenticated by a public CA, so, it can be validated using default CA certificates included in your system. gRPC requests also require a Signadot API key to invoke. An example request using grpcurl is shown below.

grpcurl -vv \
    -H 'signadot-api-key: ...' \
    -d '{"context_words": ["cookware"]}' \
    <preview-endpoint>--<workspace-name>.preview.signadot.com:443 service.someService/Method

Discovering the preview URL from within a service

In most cases, your services should be able to use URLs that are relative to the requested host, so they don't need to know that they are now being served through the preview proxy. However, sometimes it's necessary to generate absolute URLs, such as when redirecting to a third-party service that needs to redirect back to your callback URL.

To make such callbacks work through the preview proxy, you can build your callback URL based on the value provided in the X-Forwarded-Host header, which will be of the form *.preview.signadot.com.

Accessing End-to-End Previews

Signadot enables you to test your changes to a backend service (contained in a branch or PR) from the frontend. You can add one or more additional preview endpoints which point to frontend services running within your Kubernetes cluster. This will generate preview URLs that you can then use to access those services in the context of your workspace. For more details refer to Multi-Service Workspaces.


Did this page help you?