Quickstart

📘

Pre-Requisites

  • Signadot installed in a Kubernetes cluster running a baseline version of Services
  • A Service selected for testing
  • A custom docker image built for the above Service

At the end of this tutorial you would know how to:

  1. Fork a baseline deployment to create a Workspace
  2. Customize the fork with a new docker image
  3. Test the forked version of the Service using curl

This should take less than 5 mins. Let's get started!

Creating a Workspace

Login to the Signadot Dashboard using your GitHub credentials. Click the "Create Workspace" button and enter/choose the following information:

  1. name: enter a name
  2. description: enter a description
  3. cluster: pick the cluster where you installed the Signadot operator
  4. namespace: pick the namespace of your chosen deployment
  5. deployment: pick the chosen deployment

Customizing a Fork

When you first create a Workspace via the Dashboard, the forked deployment will be running the same image as the baseline. You can customize this by navigating to the Workspace details followed by Deployment details view. Under the "Image" tab, enter the name of the custom image/tag and click "Apply". The new docker image will be deployed and the Workspace will show a "Healthy" status shortly.

Testing the Fork

The "Forked Deployments" section in the Workspace details view will list the Preview URLs for the forked and baseline Service versions. The tooltip for the forked Service URL will contain the curl command to test the Service API. An example is shown below.

curl -H "signadot-api-key: ${SIGNADOT_API_KEY}" \
https://frontend--test-wsp-2.preview.staging.signadot.com

To use the curl command an api key is required that can be created from the "API Keys" section of the Dashboard. You can now use the curl command to test the code changes contained in the custom docker image. You can also hit the baseline version of the Service and compare the forked version to the baseline.

Congrats! You have tested a custom version of a Service using Workspaces.


Did this page help you?