Skip to content

Access-scoped server endpoints + generated-only Python SDK#697

Merged
yasithdev merged 4 commits into
apache:masterfrom
yasithdev:typed-portal
Jul 1, 2026
Merged

Access-scoped server endpoints + generated-only Python SDK#697
yasithdev merged 4 commits into
apache:masterfrom
yasithdev:typed-portal

Conversation

@yasithdev

Copy link
Copy Markdown
Contributor

Server + SDK groundwork so the Django portal (and any client) can run on raw gRPC with no Python SDK facade.

  • server: additive *WithAccess reads + composite/reconciled write endpoints across research / compute / storage / credential / iam — server-computed access flags, GetFullExperiment, SearchExperimentsWithAccess, SetEntitySharing + SharedEntity composites, reconciled group & group-resource-profile writes, LaunchExperimentWithStorageSetup, CloneExperimentWithInputFiles, CopyFile / DownloadDataProduct.
  • server: ExperimentSet service — define-from-spec, sweep expansion, persistence (+ V1 baseline tables).
  • iam: user-preferences service — most-recent project / GRP / compute selections + per-app favorites.
  • sdk: thin generated-only airavata package over the server stubs; delete the facade / helpers / clients; codegen folded into a uv script.
  • keycloak: restore pga-public to a public PKCE client (drop the authorizationSettings block that forced it confidential and broke portal login).

yasithdev added 4 commits July 1, 2026 00:45
Add UserPreferences to iam-service (most-recent project /
group-resource-profile / compute selections + per-app favorites):
entity, composite PK, repository, service, proto RPCs, and gRPC wiring.
Add additive *WithAccess reads and composite/reconciled write endpoints
across research/compute/storage/credential/iam services: server-computed
access flags, GetFullExperiment, SearchExperimentsWithAccess,
SetEntitySharing + SharedEntity composites, reconciled group and
group-resource-profile writes, LaunchExperimentWithStorageSetup,
CloneExperimentWithInputFiles, and CopyFile/DownloadDataProduct storage
primitives. Add the ExperimentSet service (define-from-spec, sweep
expansion, persistence) and the V1 baseline tables backing it.
Delete the airavata_sdk facade/helpers/clients; regenerate a single
top-level `airavata` package of raw gRPC stubs plus a thin
airavata_experiments client and Bearer-authed channel. Fold codegen into
a self-contained uv script.
Drop the authorizationSettings block and authorizationServicesEnabled
from pga-public. A client carrying authorization services is imported as
a confidential resource server (publicClient forced false), which broke
the portal's public PKCE login with unauthorized_client.
@yasithdev yasithdev merged commit 45d6050 into apache:master Jul 1, 2026
5 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant