Repository navigation
Start AuthProxy and Ante in cratis run when the model declares them - #525
Merged
Merged
Conversation
Register a model key source that asks Screenplay's EnvironmentRequirements for the keys a .play file, or a folder of them, needs: the client id, client secret, tenant and authority of every identity provider, and the mail settings when the model declares onboarding. A model that does not compile is refused with its first errors, since its keys cannot be known. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Add the pure planning for a model that declares authentication: the Stage on a per-run network published on loopback only, AuthProxy configured through its application contract, and with onboarding the application's own Ante, its MongoDB and the onboarding emails written to a local folder unless the environment names a mail server. Secrets only ever become the content of planned files, one file per environment key. The container arguments carry names, paths and values that are not secret. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Resolve the selected environment before Docker starts and fail with the missing keys, never their values. Write the environment's values to an owner-only temporary folder, start the planned containers beside the Stage, wait for AuthProxy to answer, list each service's address, and on Ctrl+C stop everything in reverse order, remove the network and delete the folder. A model without authentication runs as before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Contributor
Author
|
Notes for reviewers (part of Cratis/Screenplay#1114):
Generated by Claude Code |
# Conflicts: # Directory.Packages.props
Add the application realization to the render profile, reading the model root so onboarding email images are found. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Set Stage__Sandbox__ForwardedIdentity so the sandbox stops playing a persona when AuthProxy fronts it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
Stage 4.211.0 realizes the authentication and onboarding blocks that cratis render and cratis run now use, and is the default cratis/stage image. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PWbnPHNUxsNQARmQXpTzpe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
cratis runnow runs a Screenplay model the way it runs in production: behind AuthProxy when the model declares authentication, with its own Ante when it declares onboarding, configured from the selected environment.Added
cratis runstarts AuthProxy in front of the Stage when the model hasauthentication, configured from the model's providers and the selected environment, and opens the application through it; the Stage trusts the identity AuthProxy forwards instead of playing a persona (cratis run: start AuthProxy and Ante when the model declares them #516)cratis runstarts the application's own Ante in development mode, with a MongoDB and the model's legal terms, when the model hasonboarding; onboarding emails are written to.cratis/local/mailunless the environment names a mail servercratis runstops before starting any container when the environment lacks keys the model needs, and lists themcratis runoptions--environment,--auth-port,--lobby-port,--authproxy-tagand--ante-tagcratis config --missing <model>reads the keys a.playfile or folder needs and lists those the environment lackscratis renderrenders a model'sauthenticationandonboarding: the AuthProxy, Ante and environment configuration under.runtime/, sign-in and persona mapping, onboarding provisioning and the email templatesChanged
cratis runuses thecratis/stage:4.211.0image by default