I am trying to import the custom connector YAML fr...
# replication-ask-ai
t
I am trying to import the custom connector YAML from my current environment (Airbyte instance 0.59.1) into a new 2.3.0 instance, and I get the following error:
POST [<https://dev-airbyte.ellabs.net/api/v1/connector_builder_projects/create](https://dev-airbyte.ellabs.net/api/v1/connector_builder_projects/create)> 403 (Forbidden)
k
Thinking completed I'm sorry, but the knowledge sources don't describe your exact case (importing a YAML from 0.59.1 into 2.3.0). They do cover a closely related 403/404 pattern on the Connector Builder API in self-managed Kubernetes (Helm) deployments, which may be the cause. Likely cause: ingress routing (Helm deployments) Since Airbyte 1.7, ingress rules must route Connector Builder API traffic to a separate service. Airbyte maintainers described this as an undocumented ingress change that you need to handle in your deployment. [Ingress change] If your ingress sends everything to the webapp or server only, builder API calls fail with errors such as 403 or 404. [Builder 404] The fix is to route
/api/v1/connector_builder
to
airbyte-airbyte-connector-builder-server-svc
and everything else (
/
) to
airbyte-airbyte-server-svc
. Port 8001 is the server port, not 8000. [Ingress change]
Copy code
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: airbyte-ingress
  namespace: airbyte
spec:
  ingressClassName: nginx
  rules:
    - host: localhost
      http:
        paths:
          - backend:
              service:
                name: airbyte-airbyte-connector-builder-server-svc
                port:
                  number: 80
            path: /api/v1/connector_builder
            pathType: Prefix
          - backend:
              service:
                name: airbyte-airbyte-server-svc
                port:
                  number: 8001
            path: /
            pathType: Prefix
Adjust the host and service names to match your release name. Some users found they needed a trailing slash (
/api/v1/connector_builder/
), so that
/api/v1/connector_builder_projects/...
isn't wrongly routed to the builder service. [Trailing slash] Other things to check • If you use abctl, it handles ingress itself, so this doesn't apply. Older abctl versions had a similar 403, fixed in abctl 0.28. [abctl fix] • If you run in low-resource mode, the connector builder service may be disabled even though the UI is still accessible. [Low-resource mode] Please share how you deployed 2.3.0 (abctl or Helm) and which ingress or proxy you use, so I can narrow it down. Note that your request goes to
connector_builder_projects/create
, which in the examples above is served by the server and not the builder service, so a general 403 from the proxy or auth layer is also possible. The knowledge sources don't confirm this. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
t
@kapa.ai, Could it be that I need to adapt the YAML for the latest version?
k
Thinking completed Probably not for the 403 itself. A 403 Forbidden on
POST /api/v1/connector_builder_projects/create
is an HTTP-level rejection, so it is returned before Airbyte reads or validates your YAML. The knowledge sources don't show a manifest-version problem producing a 403. In the sources I have, 403s on the Connector Builder come from ingress or proxy configuration after upgrading to 1.7 or later. [Ingress 1.7+] Your YAML may still need attention, but that's a separate issue • The manifest
version
field is the low-code CDK version the connector was built with. Airbyte now sets it automatically to the platform's current CDK version when you test or publish a connector in the Builder. [Builder version consistency] • The platform also runs syncs using the CDK version declared in the manifest. [Builder version consistency] • The sources don't say whether a manifest from 0.59.1 imports cleanly into 2.3.0, or whether you need to edit it. So I can't confirm whether manual changes are required. If the import succeeds but tests fail, you may need to adjust the YAML. Suggested next steps 1. Fix the 403 first by checking your ingress or proxy routing, as described earlier. 2. If you deploy with Helm, note that in 2.1 the
connector-builder-server
was replaced by the manifest server. Config keys moved from
connectorBuilderServer.*
to
server.connectorBuilder.*
in
values.yaml
. Your ingress may still point to the old
connector-builder-server
service, which no longer exists. [Manifest server change] 3. Once the 403 is gone, retry the import. If you then see manifest or validation errors, we can look at adapting the YAML. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
t
@kapa.ai, What do I need to configure to resolve the 403 error?
k
Thinking completed I'm sorry, but the knowledge sources don't identify one confirmed cause for your 403, so I can only list what to check. They don't cover your exact case (a 2.3.0 instance,
connector_builder_projects/create
). 1. Ingress routing (Helm deployments) If you use Helm, you must configure ingress yourself, either through the chart's
values.yaml
or with your own ingress resource. [Ingress overview] Option A is the chart's ingress configuration. The documented example routes
/
to
server
and
/connector-builder
to `connector-builder-server`:
Copy code
ingress:
  enabled: true
  className: "nginx"
  hosts:
    - host: airbyte.example.com
      paths:
        - path: /
          pathType: Prefix
          backend: server
        - path: /connector-builder
          pathType: Prefix
          backend: connector-builder-server
[Helm ingress option] Be careful with this example. Release 2.1 removed
connector-builder-server
from the chart and replaced it with the manifest server. [Manifest server change] The ingress documentation I have still references
connector-builder-server
, so I can't confirm the correct backend for 2.3.0. Check which services exist in your cluster (
kubectl get svc -n <namespace>
). Option B is your own ingress. The documented examples send
/
to
airbyte-airbyte-server-svc
on port 8001, and send the builder path to
airbyte-airbyte-connector-builder-server-svc
. [Manual ingress examples] If that builder service no longer exists in 2.3.0, remove or update that rule. 2. Other settings • Set
global.airbyteUrl
in
values.yaml
to match your ingress URL. [Airbyte URL] • Set backend timeouts on the server ingress that aren't too short. [Ingress overview] • Since 2.1, authentication is enabled by default in new deployments. [Airbyte 2.1] The sources don't link this to your 403, but a proxy or auth layer in front of Airbyte is worth checking. • If you installed with abctl in low-resource mode, the Connector Builder isn't accessible. Redeploy without
--low-resource-mode
. [Low-resource mode] If you tell me how you deployed (abctl or Helm) and share your ingress or values configuration, I can help narrow it down. 👍 0 button 👎 0 button ℹ️ Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
t
@kapa.ai, Can you convert the YAML for this connector from the old environment so that it works in the new instance (2.30)?
k
Sorry @tarcisio.pacheco, I encountered an error processing the file(s) you uploaded: Text file is too large (max 60K characters)