diff --git a/environments/config-download-environment.yaml b/environments/config-download-environment.yaml
index dbd127596e..29e366ecf5 100644
--- a/environments/config-download-environment.yaml
+++ b/environments/config-download-environment.yaml
@@ -1,3 +1,6 @@
+# DEPRECATED: these mappings are now the default in
+# overcloud-resource-registry-puppet.j2.yaml. This environment file will be
+# removed during the Stein release.
 resource_registry:
   OS::TripleO::SoftwareDeployment: ../config-download-structured.yaml
 
diff --git a/environments/disable-config-download-environment.yaml b/environments/disable-config-download-environment.yaml
new file mode 100644
index 0000000000..06f52f2904
--- /dev/null
+++ b/environments/disable-config-download-environment.yaml
@@ -0,0 +1,6 @@
+# Deprecated as config-download is now the default.
+resource_registry:
+  OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
+  OS::TripleO::Ssh::HostPubKey: ../extraconfig/tasks/ssh/host_public_key.yaml
+  OS::TripleO::Ssh::KnownHostsDeployment: OS::Heat::StructuredDeployments
+  OS::TripleO::DeploymentSteps: OS::Heat::StructuredDeploymentGroup
diff --git a/overcloud-resource-registry-puppet.j2.yaml b/overcloud-resource-registry-puppet.j2.yaml
index 25fc8776a9..86d708ea79 100644
--- a/overcloud-resource-registry-puppet.j2.yaml
+++ b/overcloud-resource-registry-puppet.j2.yaml
@@ -1,13 +1,15 @@
 resource_registry:
 
-  OS::TripleO::SoftwareDeployment: OS::Heat::StructuredDeployment
+  OS::TripleO::SoftwareDeployment: config-download-structured.yaml
+  OS::Heat::SoftwareDeployment: config-download-software.yaml
+  OS::Heat::StructuredDeployment: config-download-structured.yaml
   OS::TripleO::PostDeploySteps: common/post.yaml
   OS::TripleO::AllNodes::SoftwareConfig: puppet/all-nodes-config.yaml
   OS::TripleO::AllNodesDeployment: OS::Heat::StructuredDeployments
   OS::TripleO::Hosts::SoftwareConfig: hosts-config.yaml
-  OS::TripleO::Ssh::HostPubKey: extraconfig/tasks/ssh/host_public_key.yaml
+  OS::TripleO::Ssh::HostPubKey: OS::Heat::None
   OS::TripleO::Ssh::KnownHostsConfig: extraconfig/tasks/ssh/known_hosts_config.yaml
-  OS::TripleO::Ssh::KnownHostsDeployment: OS::Heat::StructuredDeployments
+  OS::TripleO::Ssh::KnownHostsDeployment: OS::Heat::None
   OS::TripleO::DefaultPasswords: default_passwords.yaml
   OS::TripleO::RandomString: OS::Heat::RandomString
 
@@ -94,7 +96,7 @@ resource_registry:
 
   OS::TripleO::DeployedServerEnvironment: OS::Heat::None
 
-  OS::TripleO::DeploymentSteps: OS::Heat::StructuredDeploymentGroup
+  OS::TripleO::DeploymentSteps: OS::Heat::None
   OS::TripleO::WorkflowSteps: OS::Mistral::ExternalResource
 
   # services
diff --git a/releasenotes/notes/config-download-default-to-true-2331debd56c396eb.yaml b/releasenotes/notes/config-download-default-to-true-2331debd56c396eb.yaml
new file mode 100644
index 0000000000..bb4f8d395f
--- /dev/null
+++ b/releasenotes/notes/config-download-default-to-true-2331debd56c396eb.yaml
@@ -0,0 +1,10 @@
+---
+features:
+  - The mappings from environments/config-download-environment.yaml are now
+    included by default in overcloud-resource-registry.j2.yaml. config-download
+    is now the default way of deploying. An environment at
+    environments/disable-config-download.yaml is added to enable the previous
+    method, but that method is deprecated.
+deprecations:
+  - environments/disable-config-download.yaml can be used to disable
+    config-download but is deprecated.