GitHub user stephen-bracken created a discussion: Keycloak returns 'error: 404 
not found' when setting up provider

Hi all, I am having trouble running the `airflow keycloak-auth-manager 
create-all` command. Does anyone know what is causing this error please?
Info below:

Error:
```
Traceback (most recent call last):
  File "/turbo/sbracken/pyenvs/airflow-test/bin/airflow", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/__main__.py",
 line 55, in main
    args.func(args)
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/cli/cli_config.py",
 line 49, in command
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/utils/cli.py",
 line 114, in wrapper
    return f(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/utils/providers_configuration_loader.py",
 line 54, in wrapped_function
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/providers/keycloak/auth_manager/cli/utils.py",
 line 43, in wrapper
    result = func(*args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/providers/keycloak/auth_manager/cli/commands.py",
 line 116, in create_all_command
    _create_scopes(client, client_uuid, _dry_run=args.dry_run)
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/providers/keycloak/auth_manager/cli/utils.py",
 line 77, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/airflow/providers/keycloak/auth_manager/cli/commands.py",
 line 170, in _create_scopes
    client.create_client_authz_scopes(client_id=client_uuid, payload=scope)
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/keycloak/keycloak_admin.py",
 line 3174, in create_client_authz_scopes
    res = raise_error_from_response(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File 
"/turbo/sbracken/pyenvs/airflow-test/lib/python3.11/site-packages/keycloak/exceptions.py",
 line 203, in raise_error_from_response
    raise error(  # pyright: ignore[reportCallIssue]
keycloak.exceptions.KeycloakPostError: 404: b'{"error":"HTTP 404 Not Found"}'
```

Airflow version: 3.1.6

Providers:
```
apache-airflow-providers-cncf-kubernetes | 10.12.0
apache-airflow-providers-common-compat   | 1.12.0 
apache-airflow-providers-common-io       | 1.7.1  
apache-airflow-providers-common-sql      | 1.30.3 
apache-airflow-providers-git             | 0.2.1  
apache-airflow-providers-http            | 5.6.3  
apache-airflow-providers-keycloak        | 0.5.0  
apache-airflow-providers-smtp            | 2.4.2  
apache-airflow-providers-standard        | 1.10.3 
```

configuration:
```
auth_manager = 
airflow.providers.keycloak.auth_manager.keycloak_auth_manager.KeycloakAuthManager

...

[keycloak_auth_manager]

client_id = airflow_local

client_secret = XXXXXXXXXXXXXXXXXXXX

realm = master

server_url = http://myserver:8880/
```

keycloak docker-compose:
```
version: "3.7"

services:
  keycloak:
    container_name: keycloak_app
    image: quay.io/keycloak/keycloak:26.0.5
    restart: always
    environment:
      KC_HOSTNAME: myserver
      KC_HTTP_ENABLED: true
      KC_HTTP_PORT: 48080

      KEYCLOAK_ADMIN: admin
      KEYCLOAK_ADMIN_PASSWORD: admin

      KC_DB: postgres
      KC_DB_URL: jdbc:postgresql://keycloak_postgres/keycloak
      
      KC_DB_USERNAME: admin
      KC_DB_PASSWORD: admin
      KC_OPENAPI_ENABLED: true
    ports:
      - 8880:48080
    depends_on:
      - keycloak_postgres
    networks:
      - keycloak-network
    command:
      - start-dev
      - "--bootstrap-admin-username"
      - "admin"
      - "--bootstrap-admin-password"
      - "admin"
      - "--https-client-auth"
      - "request"
      - "--https-protocols"
      - "any"
      - "--verbose"
    volumes:
      - /etc/ssl/certs:/etc/ssl/certs:ro

  keycloak_postgres:
    container_name: keycloak_postgres
    image: postgres:16-alpine
    restart: always
    environment:
      POSTGRES_DB: keycloak
      POSTGRES_USER: admin
      POSTGRES_PASSWORD: admin
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - keycloak-network


networks:
  keycloak-network:
    name: keycloak-network
    driver: bridge

volumes:
  postgres_data:
```

client configuration:
<img width="1991" height="996" alt="image" 
src="https://github.com/user-attachments/assets/48eddf42-b36a-4ba3-b061-3de25d015bf1";
 />

<img width="1025" height="435" alt="image" 
src="https://github.com/user-attachments/assets/e37e8ac9-37ec-444c-90df-25a5433352e1";
 />


GitHub link: https://github.com/apache/airflow/discussions/61264

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to