Pulumi Architecture
External
Internal
Overview
Architecture
Resource Provider
A resource provider consists of a resource plugin and an SDK. Example of resource providers: AWS resource provider, Datadog resource provider. The providers are generated according to the API schema create by Terraform. That is what in some platform infrastructure logs it'll show "terraform provider", when in fact it's Pulumi.
Resource Plugin
SDK
Published as a package available from Pulumi registry and/or (?) from the language specify registry like PyPI.
Provider List
AWS Resource Provider
Datadog Resource Provider
Kubernetes Resource Provider
State Management
TO PROCESS: https://www.pulumi.com/docs/intro/concepts/state/
State can be interacted with via both CLI and programming model.
What Happens when Code is Applied to Platform?
The pulumi up
command evaluates the program and determines resource updates to make. Part of the update process, pulumi will run the preview step of the update, which computes the minimally disruptive change to achieve the desired state described by the program.
- Where is the code executed?
- Where does stdout/stderr go?
- Reconcile with Deploying a Project