New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Watch Mode #3448
Comments
Adds a new experimental `pulumi watch` CLI command which can be used for inner loop development on a Pulumi stack. This command is only available currently via `PULUMI_EXPERIMENTAL=true` while in active development. The `watch` command does the following: 1. Watches the workspace (the tree rooted at the `Pulumi.yaml` file) for changes 2. Triggers an `update` to the stack whenever there is a change 3. Streams output containing summaries of key update events as well as logs from any resources under management into a combined CLI output Part of #3448. The PULUMI_EXPERIMENTAL flag also makes`query` and `policy` available.
As part of this, do we plan to improve how we handle errors? It seems we swallow the stderr stream (maybe what is meant by treating output streams differently). E.g.
|
Yes. Most errors are reported correctly when they come through the event stream. But the error above is one we report out of band. I suspect this also causes problems for correctly storing the update log in the backend and so should ideally be fixed by reporting these error through standard event stream - but either way we definitely want to surface in watch regardless. |
In #3391 we are introducing a new experimental
pulumi watch
command. This command can be used during active development of a Pulumi project to automatically update the active stack as soon as changes are made to any files in the working directory.For inner-loop development on many modern application architectures (like serverless, Kuberenetes, and container-based services - but also increasingly for many other managed services) developers are in one of two modes - either stable production maintenance or active development of a new project or capability. In the former mode, the existing
pulumi up
,pulumi preview
and other commands provide robust tools to carefully manage the exact changes that will be made to infrastructure. But in the latter mode, developers often just want to move quickly and be able to have resources in the cloud be created, updated and even destroyed quickly as they make changes.By making the cloud resources feel so immediately malleable,
pulumi watch
encourages patterns of usage that would otherwise feel "clunky" or slow with standard Pulumi commands.On top of watching the filesystem and automatically deploying updates -
pulumi watch
also incorporates runtime logs to provide insight into what is happening inside the deployed infrastructure. This uses the same logs capabilities aspulumi logs
, but intertwines log output and update progress into a single output stream.This experimental command works today for simple servleress apps (based around AWS Lambda for compute), but to more fully flesh out the interesting scenarios - several additional capabilities will be explored.
pulumi watch
command (Add an experimentalpulumi watch
command #3391)watch
session, to get outputs, see resource tree view, etc.awsx
ECS to improve usability generally, but especially during active development forwatch
style use caseswatch
outputWe'll use this issue to track progress on these.
The text was updated successfully, but these errors were encountered: