Support for custom program sources #741
Merged
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.
Proposed changes
This PR relaxes a constraint on the
Stack
resource to allow a stack without any "source" information - Git, Flux, Program object - with the expectation that the user will provide the Pulumi project files by other means. One way is to bake the files into the Workspace's own docker image, by extendingpulumi/pulumi:latest
. Another way is to inject an init container that copies files to/share/workspace
.To make it easy to use the Docker image way, the
Workspace
spec has a newlocal.dir
element to specify the location of the baked-in Pulumi project. In that case, the system creates a symlink from/share/workspace
to the specified directory. This approach is similar to how the built-in sources work; the repo is cloned to/share/source
and then symlinked. For example:In the workspace pod, this causes an extra init container to be injected:
An example program is also provided explaining to users how to use this functionality.
Related issues (optional)
Closes #730