Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs(lambda): Add Lambda content #92

Merged
merged 28 commits into from
Nov 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
769b8d2
docs(lambda): Add Lambda content
aimeeu Nov 3, 2023
12f9da1
add skeleton lambda deploy config file
aimeeu Nov 6, 2023
89385b1
stub lambda overview; troubleshoot page
aimeeu Nov 8, 2023
2ed22f8
update account to be user-supplied name
aimeeu Nov 13, 2023
3285cd1
get started - add buckets
aimeeu Nov 13, 2023
d308537
add second deployment with manual judgment and screenshots
aimeeu Nov 15, 2023
a1eb011
add screenshots for deployed function list and test function
aimeeu Nov 15, 2023
002ff34
bit more content to lambda quickstart
aimeeu Nov 15, 2023
d6bac0c
finish targets
aimeeu Nov 15, 2023
8b098b0
finish create lambda config part of create deploy config page
aimeeu Nov 16, 2023
d56138c
add more **Kubernetes Only**
aimeeu Nov 16, 2023
4fb3f4a
change quickstart manual approval to afterDeployment staging node
aimeeu Nov 16, 2023
c0ecaea
address stephen's text feedback
aimeeu Nov 17, 2023
78456e5
move k8s overview to k8s folder; move create iam role to lambda folder
aimeeu Nov 17, 2023
1b19624
nits
aimeeu Nov 17, 2023
81808f7
add traffic management for traffic split
aimeeu Nov 21, 2023
24779bc
fix typo
aimeeu Nov 21, 2023
392f6b7
revert get started to before traffic split content
aimeeu Nov 21, 2023
b76be28
stephen feedback
aimeeu Nov 21, 2023
2d7ff36
fixed a dangling sentence
aimeeu Nov 21, 2023
c03918b
remove k8s sentence in lambda overview; fix typos
aimeeu Nov 22, 2023
3897a2b
change trafficManagement.alias.function to functionName
aimeeu Nov 22, 2023
6120d5f
fixed a few typos and expanded a bit on get started
aimeeu Nov 22, 2023
b19d2ce
reorder sections in sample yaml
aimeeu Nov 27, 2023
f200478
move aws lambda first in tab panes
aimeeu Nov 27, 2023
ea2350d
fix internal link in lambda get started
aimeeu Nov 27, 2023
35f6861
make sure AWS Lambda is always first; added clarification
aimeeu Nov 27, 2023
31f5f91
remove architecture link from lambda get started
aimeeu Nov 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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 @@

## 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" >}}

Check failure on line 21 in content/en/deployment/create-deploy-config.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/en/deployment/create-deploy-config.md#L21

[Google.Units] Put a nonbreaking space between the number and the unit in '8s'.
Raw output
{"message": "[Google.Units] Put a nonbreaking space between the number and the unit in '8s'.", "location": {"path": "content/en/deployment/create-deploy-config.md", "range": {"start": {"line": 21, "column": 22}}}, "severity": "ERROR"}
{{% /tab %}}
{{< /tabpane >}}

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

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

Check warning on line 27 in content/en/deployment/create-deploy-config.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/en/deployment/create-deploy-config.md#L27

[Google.Headings] 'AWS Lambda' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] 'AWS Lambda' should use sentence-style capitalization.", "location": {"path": "content/en/deployment/create-deploy-config.md", "range": {"start": {"line": 27, "column": 5}}}, "severity": "WARNING"}

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

### Kubernetes

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

Check failure on line 33 in content/en/deployment/create-deploy-config.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/en/deployment/create-deploy-config.md#L33

[Google.Units] Put a nonbreaking space between the number and the unit in '8s'.
Raw output
{"message": "[Google.Units] Put a nonbreaking space between the number and the unit in '8s'.", "location": {"path": "content/en/deployment/create-deploy-config.md", "range": {"start": {"line": 33, "column": 24}}}, "severity": "ERROR"}

## {{% 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" %}}

Check warning on line 9 in content/en/deployment/lambda/create-iam-role-lambda.md

View workflow job for this annotation

GitHub Actions / vale

[vale] content/en/deployment/lambda/create-iam-role-lambda.md#L9

[Google.Headings] '{{% heading "prereq" %}}' should use sentence-style capitalization.
Raw output
{"message": "[Google.Headings] '{{% heading \"prereq\" %}}' should use sentence-style capitalization.", "location": {"path": "content/en/deployment/lambda/create-iam-role-lambda.md", "range": {"start": {"line": 9, "column": 4}}}, "severity": "WARNING"}

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