Skip to content

Commit

Permalink
Merge branch 'master' into release-notes
Browse files Browse the repository at this point in the history
  • Loading branch information
aimeeu committed Nov 29, 2023
2 parents 60b2393 + 803ecce commit d8bcd5d
Show file tree
Hide file tree
Showing 45 changed files with 1,737 additions and 125 deletions.
6 changes: 4 additions & 2 deletions content/en/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,14 @@ description: >

Modern software delivery requires sophisticated control of delivery speed and traffic management, as well as integration with external tools and verification processes. Software is rarely deployed to a single environment. Most workflows require promotion from one environment or region to another after meeting constraints such as test executions, manual approvals, CI workflows, and canary analysis. **CD-as-a-Service is a centralized control plane that encapsulates those features and enables deployment to multiple Kubernetes clusters using a secure Kubernetes agent architecture.** CD-as-a-Service supports multi-environment, multi-region app deployments with promotion constraints and advanced deployment strategies, such as canary and blue/green.

## Why you should use CD-as-a-Service
## Why you should use CD-as-a-Service for your Kubernetes deployments

* **Native Kubernetes resources:** You create your Kubernetes manifests how you want - manually or by using a tool like Helm or Kustomize.
* **Logicless Kubernetes agents in your clusters:** CD-as-a-Service's _Remote Network Agents (RNAs)_ act as simple network relays and provide the CD-as-a-Service control plane with Kubernetes ServiceAccount-based credentials. You don't need to open any ports to grant CD-as-a-Service deployment access to your Kubernetes clusters.
* **Centralized business logic:** Deployment logic is encapsulated in the control plane. You get new features immediately without having to worry about edge maintenance -- no Remote Network Agent upgrade campaigns within your organization, no need to manage [Custom Resource Definitions (CRDs)](https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/#customresourcedefinitions).
* **Declarative deployment:** You define your software delivery requirements, traffic shaping, canary analysis, webhooks, and manual approvals in a [declarative deployment configuration file]({{< ref "deployment/overview.md" >}}).
* **Declarative deployment:** You define your software delivery requirements, traffic shaping, canary analysis,
webhooks, and manual approvals in a [declarative deployment configuration file]({{< ref
"deployment/kubernetes/overview.md" >}}).
* **Integration with your existing SDLC:** You build and publish your containers where and how you want, whether you use Docker Hub or a private registry that is only accessible in your network.

{{< include "cdaas-explained-how.md" >}}
24 changes: 18 additions & 6 deletions content/en/deployment/create-deploy-config.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
---
title: Create a Deployment Config File
linkTitle: Create Deploy Config
weight: 2
categories: ["Deployment", "Guides"]
tags: ["Deploy Config"]
weight: 3
description: >
Create a config file to deploy your app to your Kubernetes cluster using CD-as-a-Service.
---
Expand All @@ -14,11 +12,25 @@ Make sure you have [installed the CD-as-a-Service CLI]({{< ref "cli" >}}), which

## How to create a deployment config file

{{< include "create-config.md" >}}
{{< tabpane text=true right=true >}}
{{% tab header="**Platform:**" disabled=true /%}}
{{% tab header="AWS Lambda" %}}
{{< include "create-lambda-config.md" >}}
{{% /tab %}}
{{% tab header="Kubernetes" %}}
{{< include "create-k8s-config.md" >}}
{{% /tab %}}
{{< /tabpane >}}

## Deployment config file example
## Deployment config file examples

{{< include "dep-file/skeleton-config.md" >}}
### AWS Lambda

{{< include "dep-file/lambda-skeleton-config.md" >}}

### Kubernetes

{{< include "dep-file/k8s-skeleton-config.md" >}}

## {{% heading "nextSteps" %}}

Expand Down
7 changes: 3 additions & 4 deletions content/en/deployment/kubernetes/_index.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
---
title: Kubernetes
title: Kubernetes Deployments Using Armory CD-as-a-Service
linkTitle: Kubernetes
weight: 100
no_list: false
weight: 1
exclude_search: true
description: >
In this section, learn how to use Argo Rollouts with CD-as-a-Service. Also, learn how CD-as-a-Service implements Horizontal Pod Autoscaling when it's part of your deployment.
In this section, learn about Kubernetes deployments using CD-as-a-Service, how to use Argo Rollouts with CD-as-a-Service. Also, learn how CD-as-a-Service implements Horizontal Pod Autoscaling when it's part of your deployment.
---
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Deployment Overview
title: Kubernetes Deployment Overview
linktitle: Overview
weight: 1
description: >
Learn what an Armory CD-as-a-Service deployment is and how it works - strategies (blue/green, canary) and constraints for deploying your app to your target Kubernetes clusters.
categories: ["Canary Analysis", "Features", "Concepts"]
tags: ["Deploy Strategy", "Canary", "Blue/Green", "Kubernetes"]
Learn what an Armory CD-as-a-Service deployment to Kubernetes is and how it works - strategies (blue/green, canary) and constraints for deploying your app to your target Kubernetes clusters.
aliases:
- /deployment/overview/
---

## What a deployment is
Expand Down Expand Up @@ -83,17 +83,7 @@ defines how to deploy your software and route traffic.
#### Target constraints
You can also configure your deployment targets to use constraints that prevent a deployment from beginning or completing until certain conditions are met. For example, you can configure your deployment to wait for your code to be deployed to your staging environment before promoting that code to production.
You can set `beforeDeployment` or `afterDeployment` constraints depending on your use case.

CD-as-a-Service offers you multiple constraint options including:

* `dependsOn`
Use `dependsOn` to specify a target deployment that must successfully complete prior to starting this target's deployment.
* `pause`
Use `pause` to pause a deployment for a set period of time or until an authorized user issues an approval.

{{< include "overview-target-constraints.md" >}}
**Example**
Expand Down
16 changes: 6 additions & 10 deletions content/en/deployment/lambda/_index.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,8 @@
---
title: Lambda
linktitle: Lambda
weight: 10
description: >
placeholder
draft: true
no_list: false
title: AWS Lambda Deployments Using Armory CD-as-a-Service
linkTitle: AWS Lambda
weight: 1
exclude_search: true
---

@TODO placeholder change to DRAFT
description: >
In this section, learn about AWS Lambda deployments using CD-as-a-Service.
---
17 changes: 17 additions & 0 deletions content/en/deployment/lambda/create-iam-role-lambda.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
title: Create an Armory IAM Role for AWS Lambda Deployment
linkTitle: Create Armory IAM Role
weight: 5
description: >
Create the Armory IAM Role that CD-as-a-Service assumes when it deploys your AWS Lambda function.
---

## {{% heading "prereq" %}}

Make sure you have [installed the CD-as-a-Service CLI]({{< ref "cli" >}}), which you use to load the AWS Cloud Formation template into your AWS Account.

## Create the Armory IAM role

{{< include "lambda/iam-role.md" >}}

{{< include "lambda/iam-role-steps.md" >}}
Loading

0 comments on commit d8bcd5d

Please sign in to comment.