pulumi/ci-mgmt

Deterministic provider builds: opt out of automatic plugin installation

t0yv0 opened this issue · 0 comments

t0yv0 commented

This is an important step toward deterministic builds. Provider P can indirectly depend on providers Q, R, S if those are needed to render examples for using provider P (at least for bridged providers). We want to make sure that Q, R, S are pinned, so that examples render deterministically. Currently it is easy to forget to pin or even specify Q, R, S, because the engine plugin loader automatically installs missing plugins on the fly.

Per pulumi/pulumi#14083 there is now an env var to disable auto-installing providers: PULUMI_DISABLE_AUTOMATIC_PLUGIN_ACQUISITION

This should affect the plugin loader used for schema rendering in the bridge, as well as plugin loader used by pulumi convert.

Let us set it for bridged providers.

Bridged Providers

Tier 1

  • aws
  • gcp
  • azure
  • azuread

Tier 2

  • aiven
  • akamai
  • alicloud
  • archive
  • artifactory
  • auth0
  • azuredevops
  • civo
  • cloudamqp
  • cloudflare
  • cloudinit
  • confluentcloud
  • consul
  • databricks
  • datadog
  • digitalocean
  • dnsimple
  • docker
  • ec
  • equinix-metal
  • external
  • f5bigip
  • fastly
  • github
  • gitlab
  • hcloud
  • http
  • kafka
  • keycloak
  • kong
  • libvirt
  • linode
  • local
  • mailgun
  • minio
  • mongodbatlas
  • mysql
  • newrelic
  • nomad
  • ns1
  • null
  • oci
  • okta
  • onelogin
  • openstack
  • opsgenie
  • pagerduty
  • postgresql
  • rabbitmq
  • rancher2
  • random
  • rke
  • signalfx
  • slack
  • snowflake
  • splunk
  • spotinst
  • sumologic
  • tailscale
  • tls
  • vault
  • venafi
  • vsphere
  • wavefront