dstandish commented on code in PR #40897:
URL: https://github.com/apache/airflow/pull/40897#discussion_r1685103512


##########
airflow/api_internal/internal_api_call.py:
##########
@@ -68,21 +73,31 @@ def get_internal_api_endpoint():
             InternalApiConfig._init_values()
         return InternalApiConfig._internal_api_endpoint
 
+    @staticmethod
+    def get_auth() -> AuthBase | None:
+        return InternalApiConfig._internal_api_auth
+
     @staticmethod
     def _init_values():
         use_internal_api = conf.getboolean("core", 
"database_access_isolation", fallback=False)
         if use_internal_api and not _ENABLE_AIP_44:
             raise RuntimeError("The AIP_44 is not enabled so you cannot use 
it.")
-        internal_api_endpoint = ""
         if use_internal_api:
-            internal_api_url = conf.get("core", "internal_api_url")
-            internal_api_endpoint = internal_api_url + 
"/internal_api/v1/rpcapi"
-            if not internal_api_endpoint.startswith("http://";):
-                raise AirflowConfigException("[core]internal_api_url must 
start with http://";)
+            internal_api_endpoint = conf.get("core", "internal_api_url")
+            if internal_api_endpoint.find("/", 8) == -1:
+                internal_api_endpoint = internal_api_endpoint + 
"/internal_api/v1/rpcapi"
+            if not internal_api_endpoint.startswith("http://";) and not 
internal_api_endpoint.startswith(
+                "https://";
+            ):
+                raise AirflowConfigException("[core]internal_api_url must 
start with http:// or https://";)
+            InternalApiConfig._internal_api_endpoint = internal_api_endpoint
+            internal_api_user = conf.get("core", "internal_api_user")
+            internal_api_password = conf.get("core", "internal_api_password")

Review Comment:
   depends how official you want to get, given that this is going to be 
experimental.  but typically airflow config params are added to `config.yaml`. 
And i think `internal_api` wants to be its own section.  lastly, i would 
suggest considering rebranding it as `rpc_server`.  That's how i called it in 
the helm chart, with the intention (though not the certainty) that we would 
call it that, and the reason is because there's a sort of not well known 
"internal API" already that exists just for the webserver... and ultimately i 
think we need in 3.0 a proper internal / external API distinction for the 
webserver (so we can freely build things that support webserver functionality 
without worrying about backcompat).  so that results in a bit of a collision 
here.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to