Pulumi Architecture: Difference between revisions
Line 18: | Line 18: | ||
{{Internal|Pulumi AWS Resource Provider#Overview|AWS Resource Provider}} | {{Internal|Pulumi AWS Resource Provider#Overview|AWS Resource Provider}} | ||
====Datadog Resource Provider==== | ====Datadog Resource Provider==== | ||
{{Internal|Managing_Datadog_with_Pulumi#Datadog_Resource_Provider|Datadog Resource Provider}} | |||
====Kubernetes Resource Provider==== | ====Kubernetes Resource Provider==== | ||
{{Internal|Pulumi Kubernetes Resource Provider#Overview|Kubernetes Resource Provider}} | {{Internal|Pulumi Kubernetes Resource Provider#Overview|Kubernetes Resource Provider}} |
Latest revision as of 23:41, 18 January 2022
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