Skip to main content
Version: Next

Managed Lunar.dev Gateway Setup

note

A managed Lunar.dev API Consumption Gateway is available to closed-beta users. Claim your own Managed Lunar.dev Gateway at Lunar.dev control plane

Welcome to Managed Lunar.dev Gateway Setup. In this section we will walk through the steps of setting up your Lunar.dev profile, Gateway, and applying your first Lunar.dev Flow.

Step 1: Sign up for your Managed Lunar.dev Gateway​

Sign up in the Control Plane. Once you have signed up you’ll get an email sent to you with the next steps.

Step 2: Download Configuration Folder​

Next, please download the Hosted Lunar Tools file containing a config file with a sample Lunar.dev Quota, Flow, and the correct file structure you will need to use Lunar.dev. This file will also contain sample flow.yaml and quota.yaml files we will use to test the system.

Step 3: Make a test HTTP call to your Lunar.Dev Gateway​

Use the following command to make sure you succeed in passing traffic through your newly provisioned Lunar Gateway.

curl -H "x-lunar-api-key: $LUNAR_API_KEY" \
-H "x-lunar-scheme: https" \
-H "x-lunar-host: httpbin.org" \
-w "\nHTTP Code: %{http_code}\n" \
https://hosted-gateway.lunar.dev/anything/hello-world
note

Make sure that your API key is correct and matches what can be found in the Control Plane. This can be found by:

  1. Clicking on your initials in the bottom left corner of the screen
  2. Going to Profile
  3. Going to Organization

Here you will find your API Key Field from which you can copy your API Key.

After successfully making this call to the API Provider you should get this response:

{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Host": "httpbin.org",
"User-Agent": "curl/8.7.1",
"X-Amzn-Trace-Id": "Root=1-67adc555-05c06de202863a9137538d52",
"X-Forwarded-Host": "hosted-gateway.lunar.dev"
},
"json": null,
"method": "GET",
"origin": "10.10.1.92, 123.222.321
.31",
"url": "https://hosted-gateway.lunar.dev/anything/hello-world"
}

The values in some of the fields, like User-Agent or Origin IP Address may have different values.

Step 4: Apply Your First Lunar.dev Flow​

Unzip the file that was downloaded in Step 2 and navigate to your newly created directory in your terminal. Evoke the following script to apply your test flow.

./apply_config.sh ./config $LUNAR_API_KEY
note
  • ./apply_config.sh is the name of our script
  • ./config is the location where this script exists. If you have changed the file name or location of the script make sure to update this parameter.
  • $LUNAR_API_KEY is your API key. Make sure to update this with your personal key.

Once you have successfully run this you will see this response:

βœ… Flows applied successfully

Β 


Congrats! You've now set up your Managed Lunar.dev Gateway πŸŽ‰

Β 

Testing your first Lunar.dev Flows​

Now that we have seen that we get a response from the system, we can test how Lunar.dev Flows will work.

The Scenario: the example flow we have shared with you allows for 1 request per minute, any additional request within the same minute will result in a 429 Quota Exceeded response generated by Lunar.dev.

First, try sending one response as we did above - and see the successful response from the provider httpbin.org.

{
"args": {},
"data": "",
"files": {},
"form": {},
"headers": {
"Accept": "*/*",
"Host": "httpbin.org",
"User-Agent": "curl/8.7.1",
"X-Amzn-Trace-Id": "Root=1-67add9a9-1f81b3c73cd54ba049804da3",
"X-Forwarded-Host": "hosted-gateway.lunar.dev"
},
"json": null,
"method": "GET",
"origin": "10.10.1.98, 123.123.123.31",
"url": "https://hosted-gateway.lunar.dev/anything/hello-world"
}

Now, wait one minute and try sending two requests one after the other, without waiting in between. Here you’ll see that the second request has a 429 response since it passed the limit of 1 request per minute. The second response will look like this:

Quota Exceeded. Please try again later.
HTTP Code: 429

Β 

All that’s left for you to see the full power of Lunar.dev is to route your own traffic through the system and apply a flow!

Β