> ## Documentation Index
> Fetch the complete documentation index at: https://docs.goldsky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Static IPs

export const CalBooking = ({inline = false}) => {
  useEffect(() => {
    (function (C, A, L) {
      let p = function (a, ar) {
        a.q.push(ar);
      };
      let d = C.document;
      C.Cal = C.Cal || (function () {
        let cal = C.Cal;
        let ar = arguments;
        if (!cal.loaded) {
          cal.ns = {};
          cal.q = cal.q || [];
          d.head.appendChild(d.createElement("script")).src = A;
          cal.loaded = true;
        }
        if (ar[0] === L) {
          const api = function () {
            p(api, arguments);
          };
          const namespace = ar[1];
          api.q = api.q || [];
          if (typeof namespace === "string") {
            cal.ns[namespace] = cal.ns[namespace] || api;
            p(cal.ns[namespace], ar);
            p(cal, ["initNamespace", namespace]);
          } else p(cal, ar);
          return;
        }
        p(cal, ar);
      });
    })(window, "https://app.cal.com/embed/embed.js", "init");
    window.Cal("init", "website-intro", {
      origin: "https://app.cal.com"
    });
    window.Cal.ns["website-intro"]("ui", {
      cssVarsPerTheme: {
        light: {
          "cal-brand": "#FFAD33"
        },
        dark: {
          "cal-brand": "#FFAD33"
        }
      },
      hideEventTypeDetails: false,
      layout: "month_view"
    });
  }, []);
  if (inline) {
    return <div className="my-6">
        <cal-inline cal-namespace="website-intro" cal-link="team/goldsky/website-intro" style={{
      width: '100%',
      height: '600px'
    }} config="{&quot;layout&quot;:&quot;month_view&quot;}" />
      </div>;
  }
  return <button data-cal-namespace="website-intro" data-cal-link="team/goldsky/website-intro" data-cal-config="{&quot;layout&quot;:&quot;month_view&quot;}" className="inline-flex items-center justify-center px-6 py-3 text-base font-medium text-zinc-950 bg-[#FFAD33] rounded-lg hover:bg-[#FFBF60] transition-colors duration-200 cursor-pointer">
      Schedule a call
    </button>;
};

## Overview

Goldsky can connect to your sinks using static IPs. This can be helpful if you want to further restrict access to your sinks and ensure that only Goldsky owned services can access them.

This feature is currently in a closed beta and only available for our enterprise customers. Please contact us at [support@goldsky.com](mailto:support@goldsky.com) (or through Slack/Telegram) to request access to this feature, or schedule a call with our team.

<CalBooking />

### Usage

1. Reach out to us to have this feature enabled for your account.
2. Whitelist the following IPs: `100.21.15.214`, `44.229.26.196`, `44.230.239.184`, `52.38.124.121`
3. Make sure you're using the latest version of the CLI: `curl  | sh`
4. Deploy your pipelines with the flag for enabling static IPs by setting the `use_dedicated_ip: true|false` in the YAML config of your pipeline

Example:

```
name: private-ip-pipeline
apiVersion: 3
resource_size: s
use_dedicated_ip: true
sources:
  reward:
    type: subgraph_entity
    subgraphs:
      - name: rewards-subgraph
        version: 1.0.1
    name: reward_payout
transforms: {}
sinks:
  rewards_payout_sink:
    type: postgres
    table: reward_payout
    schema: rewards
    secret_name: DB_WITH_IP_WHITELISTED
    from: reward
```
