Troubleshooting Airbyte running with abctl and Ngrok

Summary

Airbyte running on localhost:8000 with abctl, facing 404 Error with Ngrok, works with docker compose on public IPV4 address. Editing host to DNS in abctl.kubeconfig resolves the issue, but production server only has an IP Address.


Question

Could someone help me with this:

AirByte gets started when running with abctl. Says AirByte is running on localhost:8000. But when I try to use Ngrok to forward, it says 404 Error, nginx not found. When I do curl localhost:8000, it returns some webpage data. But when I do curl 127.0.0.1:8000, it throws the same 404 error.

Not sure what the issue is! When I run using docker compose, it works fine on the public IPV4 address of the EC2 instance.

Oh! One more thing, in abctl.kubeconfig when I edit the host to the DNS of EC2 instance, it is working again!

But the issue here is that the production sever to which I am planning to deploy AirByte doesn’t have any public DNS. It only has an IP Address.



This topic has been created from a Slack thread to give it more visibility.
It will be on Read-Only mode here. Click here if you want
to access the original thread.

Join the conversation on Slack

["airbyte", "abctl", "ngrok", "docker-compose", "dns", "ip-address", "404-error"]

If you want to use public IP, I think you need to set reverse proxy, because, as I recently checked, you cannot pass IP address to --host option for abctl local install https://docs.nginx.com/nginx/admin-guide/web-server/reverse-proxy/

<@U05JENRCF7C> <@U02U116B8BB>
Just want to clarify if I understood this right as I am in a similar situation. I am trying to install airbyte in my ubuntu server (not cloud based), I will need to follow the steps listed in “Editing the Ingress”

Initially I did not set the host - To check, I simply iinstalled without the --host parameter. When I tried to access airbyte using the server’s ip now I am facing a 404 Not found. I am guessing with the documentation update, I must be able to solve this

<@U072PURMB2N> you should also set a DNS or your /etc/hosts/ file to match the host flag i.e. --host airbyte.company.example
Can’t use IP address based on my testing as it will throw an error
ERROR unable to update existing ingress: Ingress.networking.k8s.io "ingress-abctl" is invalid: spec.rules[1].host: Invalid value: "1.2.3.4": must be a DNS name, not an IP address

+1 to what <@U07G8FST2JW> said. Did that resolve your issue?

<@U07G8FST2JW> Thanks I will try this.

<@U02U116B8BB> I will update you on this

<@U07FZFUJFEH> you would need a private DNS mapped to the private IP and run the command with --host as mentioned by Przemyslaw i.e. abctl local install airbyte.local or edit the ingress https://docs.airbyte.com/using-airbyte/getting-started/oss-quickstart#editing-the-ingress
You can’t pass IP as it will throw some error messages like below

  ERROR   Unable to install Airbyte locally
  ERROR   unable to update existing ingress: Ingress.networking.k8s.io "ingress-abctl" is invalid: spec.rules[1].host: Invalid value: "1.2.3.4": must be a DNS name, not an IP address```

Sorry for the hang up. We’ve <Quickstart | Airbyte Documentation our docs> on how you can get past this issue. Please let me know if this fixes things for you or if you’re still stuck.

<@U02U116B8BB> what do you think about mentioning few things explicitly about internals of installation by abctl in troubleshooting section? E.g. that it uses kind cluster under the hood and you can debug it as kubernetes cluster, and use tools like kind, kubectl, helm, kubectx, kubens, k9s, etc.

I used this message multiple times when answering in different threads
https://airbytehq.slack.com/archives/C021JANJ6TY/p1722323636667909?thread_ts=1722256915.689109&amp;cid=C021JANJ6TY
Treat it only as an example, but I think it might be useful to provide some that kind of extra information in docs.