From 8cd0d6f7ecc8156d348128f2f8eba4cbaff13c07 Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 14:29:14 +0100 Subject: [PATCH 1/6] defang with defang portal blog --- ...-14-deploying-defang-with-defang-part-1.md | 114 ++++++++++++++++++ static/img/defang-logo.svg | 2 +- 2 files changed, 115 insertions(+), 1 deletion(-) create mode 100644 blog/2025-03-14-deploying-defang-with-defang-part-1.md diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md new file mode 100644 index 000000000..72c5a01dc --- /dev/null +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -0,0 +1,114 @@ +--- +slug: deploying-defang-with-defang-part-1 +title: "Deploying Defang with Defang: Part 1" +author: Defang Team +tags: [defang-with-defang, deployment, defang-portal] +--- + +### **Deploying Defang with Defang - Part 1** + +Deploying applications is hard. Deploying **complex, multi-service applications** is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. + +This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve build with Defang. + +Finally, though, the Defang Portal—an application with six services, including two managed data stores, authentication, and a frontend—is fully deployed using just Docker Compose files and the Defang CLI using GitHub Actions. + +--- + +### **The Initial Setup: A More Complex Deployment** + +The Portal isn’t a simple static website; it’s a **full-stack application** with the following services: + +- **Next.js frontend** – Including server components and server actions. +- **Hasura (GraphQL API)** – Serves as a GraphQL layer. +- **Hono (TypeScript API)** – Lightweight API for custom business logic. +- **OpenAuth (Authentication Service)** – Manages authentication flows. +- **Redis** – Used for caching and session storage. +- **Postgres** – The main database. + +Initially, we provisioned databases and some DNS configurations using Infra-as-Code because Defang couldn’t yet manage them for us. We also deployed the services themselves manually through infrastructure-as-code, requiring us to define each service separately. + +This worked, but seemed unnecessarily complex, if we had the right tooling… + +--- + +### **The Transition: Expanding Defang to Reduce Complexity** + +We’ve made it a priority to expand Defang’s capabilities a lot over the last year so it could take on more of the heavy lifting of a more complex application. Over the past year, we’ve added load of features to handle things like: + +- **Provisioning databases**, including managing passwords and other secrets securely +- **Config interpolation using values stored in AWS SSM**, ensuring the same Compose file works both locally and in the cloud +- **Provisioning certs and managing dns records** from configuration in the Compose file. + +As a result, we reached a point where we no longer needed custom infrastructure definitions for most of our deployment. + +### **What Changed?** + +- **Previously**: GitHub Actions ran infra-as-code scripts to provision databases, manage DNS, and define services *separately from the docker compose file we used for local dev* +- **Now**: Our [Defang Github Action](https://github.com/marketplace/actions/defang-deployment-action) targets normal compose files and deploys everything, using secrets and variables managed in GitHub Actions environments. +- **Result**: We **eliminated hundreds of lines of Infra-as-Code**, making our deployment leaner and easier to manage and reduced the differences between running the Portal locally and running it in the cloud. + +This wasn’t just about reducing complexity—it was also a validation exercise. We knew that Defang had evolved enough to take over much of our deployment, but by going through the transition process ourselves, we could identify and close the remaining gaps and make sure our users could really make use of Defang for complex production-ready apps. + +--- + +### **How Deployment Works Today** + +### **Config & Secrets Management** + +- **Sensitive configuration values** (database credentials, API keys) are stored **securely in AWS SSM** using Defang’s [configuration management tooling](https://docs.defang.io/docs/concepts/configuration). +- [**Environment variable interpolation**](https://docs.defang.io/docs/concepts/configuration#interpolation) allows these **SSM-stored config values** to be referenced directly in the Compose file, ensuring the same configuration works in local and cloud environments. +- **Defang provisions managed Postgres and Redis instances automatically** when using the `x-defang-postgres` and `x-defang-redis` extensions, securely injecting credentials where needed with variable interpolation. + +### **Deployment Modes** + +- [**Deployment modes](https://docs.defang.io/docs/concepts/deployment-modes) (`development`, `staging`, `production`)** adjust infrastructure settings across our dev/staging/prod deployments making sure dev is low cost, and production is secure and resilient. + +### **DNS & Certs** + +- When we first setup the portal (before we even released the private beta) dns and certs had to be managed outside the Defang context. Now, [**we can provision certs](https://docs.defang.io/docs/concepts/domains) using ACM or Let’s Encrypt.** + +### **CI/CD Integration** + +- **Previously**: GitHub Actions ran custom infra-as-code scripts. +- **Now**: The **Defang GitHub Action** installs Defang automatically and runs `defang compose up`, simplifying deployment. +- **Result**: A streamlined, repeatable CI/CD pipeline. + +--- + +### **A Flexible Multi-Compose Workflow** + +One key part of our setup is how we **organize our Compose files** using the `extends` syntax. + +- **A base `compose.yaml` file** defines core services and configurations. +- **Environment-specific files (`compose.dev.yaml`, `compose.staging.yaml`, etc.)** extend the base file extending each of its services. In the following example, you see how we load a .env.dev file just for the local development compose file `compose.dev.yaml` : + + ```yaml + # compose.dev.yaml + services: + auth: + extends: + file: compose.yaml + service: auth + env_file: .env.dev + ``` + +- **Shared environment variables** are stored at the **project level**, not per service. + - This ensures consistency across environments. + - Example: Postgres credentials are stored once and referenced by multiple services which need to connect. +- **Environment-specific tweaks** (like enabling Hasura’s console in staging) are handled in the corresponding Compose file, making them easy to manage. + +This setup allows us to **treat each environment as a simple Compose file** while keeping configurations DRY and maintainable. + +--- + +### **The Takeaway: Why This Matters** + +By transitioning to **fully Compose-based deployments**, we: + +✅ **Eliminated hundreds of lines of Infra-as-Code** +✅ **Simplified configuration management** with secure, environment-aware secrets handling +✅ **Streamlined CI/CD** with a lightweight GitHub Actions workflow +✅ **Simplified DNS and cert management** + +Every sample project we built, every conversation we had with developers, and every challenge we encountered with the Portal helped us get to this point where we could focus on closing the gaps last few gaps to deploying everything from a Compose file. \ No newline at end of file diff --git a/static/img/defang-logo.svg b/static/img/defang-logo.svg index c81b6b8eb..c61a9dda1 100644 --- a/static/img/defang-logo.svg +++ b/static/img/defang-logo.svg @@ -8,4 +8,4 @@ - \ No newline at end of file + From 73f15be8eb0eee653691d6a7fa0bd53ea5e13bda Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 16:55:10 +0100 Subject: [PATCH 2/6] fix bullets --- blog/2025-03-14-deploying-defang-with-defang-part-1.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md index 72c5a01dc..91c1d378d 100644 --- a/blog/2025-03-14-deploying-defang-with-defang-part-1.md +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -5,8 +5,6 @@ author: Defang Team tags: [defang-with-defang, deployment, defang-portal] --- -### **Deploying Defang with Defang - Part 1** - Deploying applications is hard. Deploying **complex, multi-service applications** is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve build with Defang. @@ -106,9 +104,9 @@ This setup allows us to **treat each environment as a simple Compose file** whil By transitioning to **fully Compose-based deployments**, we: -✅ **Eliminated hundreds of lines of Infra-as-Code** -✅ **Simplified configuration management** with secure, environment-aware secrets handling -✅ **Streamlined CI/CD** with a lightweight GitHub Actions workflow -✅ **Simplified DNS and cert management** +* ✅ **Eliminated hundreds of lines of Infra-as-Code** +* ✅ **Simplified configuration management** with secure, environment-aware secrets handling +* ✅ **Streamlined CI/CD** with a lightweight GitHub Actions workflow +* ✅ **Simplified DNS and cert management** Every sample project we built, every conversation we had with developers, and every challenge we encountered with the Portal helped us get to this point where we could focus on closing the gaps last few gaps to deploying everything from a Compose file. \ No newline at end of file From 28f6bf499d62cf0bbb107ed533e68736449ff289 Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 17:01:58 +0100 Subject: [PATCH 3/6] add pulumi section --- ...-14-deploying-defang-with-defang-part-1.md | 70 +++++++++---------- 1 file changed, 32 insertions(+), 38 deletions(-) diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md index 91c1d378d..bbd46e68c 100644 --- a/blog/2025-03-14-deploying-defang-with-defang-part-1.md +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -7,13 +7,13 @@ tags: [defang-with-defang, deployment, defang-portal] Deploying applications is hard. Deploying **complex, multi-service applications** is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. -This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve build with Defang. +This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve built with Defang. Finally, though, the Defang Portal—an application with six services, including two managed data stores, authentication, and a frontend—is fully deployed using just Docker Compose files and the Defang CLI using GitHub Actions. --- -### **The Initial Setup: A More Complex Deployment** +## **The Initial Setup: A More Complex Deployment** The Portal isn’t a simple static website; it’s a **full-stack application** with the following services: @@ -30,27 +30,47 @@ This worked, but seemed unnecessarily complex, if we had the right tooling… --- -### **The Transition: Expanding Defang to Reduce Complexity** +## **The Transition: Expanding Defang to Reduce Complexity** -We’ve made it a priority to expand Defang’s capabilities a lot over the last year so it could take on more of the heavy lifting of a more complex application. Over the past year, we’ve added load of features to handle things like: +We’ve made it a priority to expand Defang’s capabilities a lot over the last year so it could take on more of the heavy lifting of a more complex application. Over the past year, we’ve added loads of features to handle things like: - **Provisioning databases**, including managing passwords and other secrets securely - **Config interpolation using values stored in AWS SSM**, ensuring the same Compose file works both locally and in the cloud -- **Provisioning certs and managing dns records** from configuration in the Compose file. +- **Provisioning certs and managing DNS records** from configuration in the Compose file. As a result, we reached a point where we no longer needed custom infrastructure definitions for most of our deployment. -### **What Changed?** +## **What Changed?** -- **Previously**: GitHub Actions ran infra-as-code scripts to provision databases, manage DNS, and define services *separately from the docker compose file we used for local dev* -- **Now**: Our [Defang Github Action](https://github.com/marketplace/actions/defang-deployment-action) targets normal compose files and deploys everything, using secrets and variables managed in GitHub Actions environments. -- **Result**: We **eliminated hundreds of lines of Infra-as-Code**, making our deployment leaner and easier to manage and reduced the differences between running the Portal locally and running it in the cloud. +- **Previously**: GitHub Actions ran infra-as-code scripts to provision databases, manage DNS, and define services *separately from the Docker Compose file we used for local dev* +- **Now**: Our [Defang GitHub Action](https://github.com/marketplace/actions/defang-deployment-action) targets normal Compose files and deploys everything, using secrets and variables managed in GitHub Actions environments. +- **Result**: We **eliminated hundreds of lines of Infra-as-Code**, making our deployment leaner and easier to manage and reducing the differences between running the Portal locally and running it in the cloud. This wasn’t just about reducing complexity—it was also a validation exercise. We knew that Defang had evolved enough to take over much of our deployment, but by going through the transition process ourselves, we could identify and close the remaining gaps and make sure our users could really make use of Defang for complex production-ready apps. --- -### **How Deployment Works Today** +## **Looking Ahead: Scaling Beyond Compose with Pulumi** + +We’ve come a long way since we started this journey. What used to be a complicated, infrastructure-heavy deployment is now dramatically simpler. But as any product grows, so does its complexity. The Defang Portal will evolve over time, and we know that certain deployment needs will extend beyond our current Compose-based workflow. + +That’s why we’ve been planning ahead. + +While Defang’s current iteration expanded what can be deployed with just a Compose file, we recognize that some things won’t fit neatly into this model in the future. Some applications will need to integrate with SaaS providers, deploy across multiple clouds, or require more specialized infrastructure. Instead of forcing these needs into our existing tooling, we’re taking a more flexible approach. + +Enter the **Defang Pulumi provider**. + +We’re rebuilding our provider from the ground up to extend the power of Docker Compose across cloud platforms, SaaS integrations, and external APIs. With it, developers will be able to: + +- Seamlessly integrate infrastructure provisioning into their existing Compose files. +- Deploy across multiple clouds while maintaining the simplicity of the Defang workflow. +- Adapt to compliance requirements and other constraints without losing automation benefits. + +Our goal is simple: to **preserve the ease of using Compose while removing its traditional limits**. Whether you need a simple monolithic deployment or a complex, multi-cloud setup, Defang will continue to streamline the process and make sure you can deploy applications on your terms. + +--- + +## **How Deployment Works Today** ### **Config & Secrets Management** @@ -64,7 +84,7 @@ This wasn’t just about reducing complexity—it was also a validation exercise ### **DNS & Certs** -- When we first setup the portal (before we even released the private beta) dns and certs had to be managed outside the Defang context. Now, [**we can provision certs](https://docs.defang.io/docs/concepts/domains) using ACM or Let’s Encrypt.** +- When we first set up the portal (before we even released the private beta) DNS and certs had to be managed outside the Defang context. Now, [**we can provision certs](https://docs.defang.io/docs/concepts/domains) using ACM or Let’s Encrypt.** ### **CI/CD Integration** @@ -74,33 +94,7 @@ This wasn’t just about reducing complexity—it was also a validation exercise --- -### **A Flexible Multi-Compose Workflow** - -One key part of our setup is how we **organize our Compose files** using the `extends` syntax. - -- **A base `compose.yaml` file** defines core services and configurations. -- **Environment-specific files (`compose.dev.yaml`, `compose.staging.yaml`, etc.)** extend the base file extending each of its services. In the following example, you see how we load a .env.dev file just for the local development compose file `compose.dev.yaml` : - - ```yaml - # compose.dev.yaml - services: - auth: - extends: - file: compose.yaml - service: auth - env_file: .env.dev - ``` - -- **Shared environment variables** are stored at the **project level**, not per service. - - This ensures consistency across environments. - - Example: Postgres credentials are stored once and referenced by multiple services which need to connect. -- **Environment-specific tweaks** (like enabling Hasura’s console in staging) are handled in the corresponding Compose file, making them easy to manage. - -This setup allows us to **treat each environment as a simple Compose file** while keeping configurations DRY and maintainable. - ---- - -### **The Takeaway: Why This Matters** +## **The Takeaway: Why This Matters** By transitioning to **fully Compose-based deployments**, we: From cafb44d96fe8005c6e084d7735d0affbf220de69 Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 17:10:04 +0100 Subject: [PATCH 4/6] add image to post --- ...3-14-deploying-defang-with-defang-part-1.md | 2 ++ static/img/defang-logo.svg | 2 +- static/img/defang-on-defang/part-1/header.png | Bin 0 -> 145975 bytes 3 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 static/img/defang-on-defang/part-1/header.png diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md index bbd46e68c..a4f1b0a32 100644 --- a/blog/2025-03-14-deploying-defang-with-defang-part-1.md +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -5,6 +5,8 @@ author: Defang Team tags: [defang-with-defang, deployment, defang-portal] --- +![Defang Compose Update](/img/defang-on-defang/part-1/header.png) + Deploying applications is hard. Deploying **complex, multi-service applications** is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve built with Defang. diff --git a/static/img/defang-logo.svg b/static/img/defang-logo.svg index c61a9dda1..c81b6b8eb 100644 --- a/static/img/defang-logo.svg +++ b/static/img/defang-logo.svg @@ -8,4 +8,4 @@ - + \ No newline at end of file diff --git a/static/img/defang-on-defang/part-1/header.png b/static/img/defang-on-defang/part-1/header.png new file mode 100644 index 0000000000000000000000000000000000000000..e024e263f05128cbe5b033805feedad87aa5310b GIT binary patch literal 145975 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%0DS9pyLQdow5)t4E9)vrQ*-w8=0=0(bci1J(S~W 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

xW;te03!g4CUUlgwPsd?oY`78$iMM3 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 N<~?22GG*(q{{xFKZh-&* literal 0 HcmV?d00001 From 51d45574383da77baa12c8954e93741b2ccf6dad Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 17:40:40 +0100 Subject: [PATCH 5/6] rm pulumi --- ...-14-deploying-defang-with-defang-part-1.md | 20 ------------------- 1 file changed, 20 deletions(-) diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md index a4f1b0a32..72d83a03a 100644 --- a/blog/2025-03-14-deploying-defang-with-defang-part-1.md +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -52,26 +52,6 @@ This wasn’t just about reducing complexity—it was also a validation exercise --- -## **Looking Ahead: Scaling Beyond Compose with Pulumi** - -We’ve come a long way since we started this journey. What used to be a complicated, infrastructure-heavy deployment is now dramatically simpler. But as any product grows, so does its complexity. The Defang Portal will evolve over time, and we know that certain deployment needs will extend beyond our current Compose-based workflow. - -That’s why we’ve been planning ahead. - -While Defang’s current iteration expanded what can be deployed with just a Compose file, we recognize that some things won’t fit neatly into this model in the future. Some applications will need to integrate with SaaS providers, deploy across multiple clouds, or require more specialized infrastructure. Instead of forcing these needs into our existing tooling, we’re taking a more flexible approach. - -Enter the **Defang Pulumi provider**. - -We’re rebuilding our provider from the ground up to extend the power of Docker Compose across cloud platforms, SaaS integrations, and external APIs. With it, developers will be able to: - -- Seamlessly integrate infrastructure provisioning into their existing Compose files. -- Deploy across multiple clouds while maintaining the simplicity of the Defang workflow. -- Adapt to compliance requirements and other constraints without losing automation benefits. - -Our goal is simple: to **preserve the ease of using Compose while removing its traditional limits**. Whether you need a simple monolithic deployment or a complex, multi-cloud setup, Defang will continue to streamline the process and make sure you can deploy applications on your terms. - ---- - ## **How Deployment Works Today** ### **Config & Secrets Management** From 30d043588c26d62408ee87723e3005c6dcf68789 Mon Sep 17 00:00:00 2001 From: Raphael Titsworth-Morin Date: Fri, 14 Mar 2025 17:48:44 +0100 Subject: [PATCH 6/6] minor styling and markdown tweaks --- ...2025-03-14-deploying-defang-with-defang-part-1.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/blog/2025-03-14-deploying-defang-with-defang-part-1.md b/blog/2025-03-14-deploying-defang-with-defang-part-1.md index 72d83a03a..aae84f9e3 100644 --- a/blog/2025-03-14-deploying-defang-with-defang-part-1.md +++ b/blog/2025-03-14-deploying-defang-with-defang-part-1.md @@ -7,7 +7,7 @@ tags: [defang-with-defang, deployment, defang-portal] ![Defang Compose Update](/img/defang-on-defang/part-1/header.png) -Deploying applications is hard. Deploying **complex, multi-service applications** is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. +Deploying applications is hard. Deploying complex, multi-service applications is even harder. When we first built the Defang Portal, we quickly recognized the complexity required to deploy it, even with the early Defang tooling helping us simplify it a lot. But we’ve worked a lot to expand Defang’s capabilities over the last year+ so it could take on more of the work and simplify that process. This evolution wasn’t just based on our own instincts and what we saw in the Portal—it was informed by listening to developers who have been using Defang, as well as our experience building dozens of sample projects for different frameworks and languages. Each time we build a new sample, we learn more about the different requirements of various types of applications and developers and refine Defang’s feature set accordingly. The Portal became an extension of this learning process, serving as both a proving ground and an opportunity to close any remaining gaps, since it’s one of the most complex things we’ve built with Defang. @@ -45,7 +45,7 @@ As a result, we reached a point where we no longer needed custom infrastructure ## **What Changed?** - **Previously**: GitHub Actions ran infra-as-code scripts to provision databases, manage DNS, and define services *separately from the Docker Compose file we used for local dev* -- **Now**: Our [Defang GitHub Action](https://github.com/marketplace/actions/defang-deployment-action) targets normal Compose files and deploys everything, using secrets and variables managed in GitHub Actions environments. +- **Now**: Our [**Defang GitHub Action**](https://github.com/marketplace/actions/defang-deployment-action) targets normal Compose files and deploys everything, using secrets and variables managed in GitHub Actions environments. - **Result**: We **eliminated hundreds of lines of Infra-as-Code**, making our deployment leaner and easier to manage and reducing the differences between running the Portal locally and running it in the cloud. This wasn’t just about reducing complexity—it was also a validation exercise. We knew that Defang had evolved enough to take over much of our deployment, but by going through the transition process ourselves, we could identify and close the remaining gaps and make sure our users could really make use of Defang for complex production-ready apps. @@ -60,18 +60,18 @@ This wasn’t just about reducing complexity—it was also a validation exercise - [**Environment variable interpolation**](https://docs.defang.io/docs/concepts/configuration#interpolation) allows these **SSM-stored config values** to be referenced directly in the Compose file, ensuring the same configuration works in local and cloud environments. - **Defang provisions managed Postgres and Redis instances automatically** when using the `x-defang-postgres` and `x-defang-redis` extensions, securely injecting credentials where needed with variable interpolation. -### **Deployment Modes** +### Deployment Modes -- [**Deployment modes](https://docs.defang.io/docs/concepts/deployment-modes) (`development`, `staging`, `production`)** adjust infrastructure settings across our dev/staging/prod deployments making sure dev is low cost, and production is secure and resilient. +- [**Deployment modes**](https://docs.defang.io/docs/concepts/deployment-modes) (`development`, `staging`, `production`) adjust infrastructure settings across our dev/staging/prod deployments making sure dev is low cost, and production is secure and resilient. ### **DNS & Certs** -- When we first set up the portal (before we even released the private beta) DNS and certs had to be managed outside the Defang context. Now, [**we can provision certs](https://docs.defang.io/docs/concepts/domains) using ACM or Let’s Encrypt.** +- When we first set up the portal (before we even released the private beta) DNS and certs had to be managed outside the Defang context. Now, **[we can provision certs using ACM or Let’s Encrypt](https://docs.defang.io/docs/concepts/domains)**. ### **CI/CD Integration** - **Previously**: GitHub Actions ran custom infra-as-code scripts. -- **Now**: The **Defang GitHub Action** installs Defang automatically and runs `defang compose up`, simplifying deployment. +- **Now**: The [**Defang GitHub Action**](https://github.com/DefangLabs/defang-github-action) installs Defang automatically and runs `defang compose up`, simplifying deployment. - **Result**: A streamlined, repeatable CI/CD pipeline. ---