Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion content/en/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,4 +34,4 @@ Modern software delivery requires sophisticated control of delivery speed and tr
"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" >}}
{{< include "cdaas-explained-how-k8s.md" >}}
40 changes: 23 additions & 17 deletions content/en/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,9 @@ description: >
Learn how Armory Continuous Deployment-as-a-Service works and how its key components orchestrate continuous deployment to your Kubernetes clusters.
---

{{< include "cdaas-explained-how.md" >}}

## Key components

### CD-as-a-Service control plane

The control plane is the set of services comprising the CD-as-a-Service platform. This control plane utilizes Remote Network Agents to talk to your networked resources such as Kubernetes APIs, Jenkins, and Prometheus, as well as external services like New Relic and Datadog.

### Remote Network Agent (RNA)

The RNA is a logicless network relay that enables CD-as-a-Service to integrate with privately networked resources such as Jenkins, Prometheus, and Kubernetes clusters. For Kubernetes, the CD-as-a-Service control plane uses an RNA's ServiceAccount credentials to automatically register the cluster the RNA is installed in as a deployment target. Once you install the RNA in your cluster, you don't need to update it beyond security updates since deployment logic is encapsulated in CD-as-a-Service's centralized control plane.

See the [Remote Network Agent]({{< ref "remote-network-agent/overview.md" >}}) overview for details.

### Agent Hub

_Agent Hub_ routes deployment commands to RNAs and caches data received from them. Agent Hub does not require direct network access to the RNAs since they connect to Agent Hub through an encrypted, long-lived gRPC HTTP2 connection. Agent Hub uses this connection to send deployment commands to the RNA for execution.
## Key components

### Command Line Interface (CLI)

Expand All @@ -41,8 +27,28 @@ _Cloud Console_ is the browser-based UI for CD-as-a-Service. You can visually mo
- Creating secrets
- Configuring RBAC
- Inviting users
- Monitoring your Remote Network Agents
- Monitoring your Kubernetes Remote Network Agents



## Kubernetes components

{{< include "cdaas-explained-how-k8s.md" >}}

### CD-as-a-Service control plane

The control plane is the set of services comprising the CD-as-a-Service platform. This control plane utilizes Remote Network Agents to talk to your networked resources such as Kubernetes APIs, Jenkins, and Prometheus, as well as external services like New Relic and Datadog.

### Remote Network Agent (RNA)

The RNA is a logicless network relay that enables CD-as-a-Service to integrate with privately networked resources such as Jenkins, Prometheus, and Kubernetes clusters. For Kubernetes, the CD-as-a-Service control plane uses an RNA's ServiceAccount credentials to automatically register the cluster the RNA is installed in as a deployment target. Once you install the RNA in your cluster, you don't need to update it beyond security updates since deployment logic is encapsulated in CD-as-a-Service's centralized control plane.

See the [Remote Network Agent]({{< ref "remote-network-agent/overview.md" >}}) overview for details.

### Agent Hub

_Agent Hub_ routes deployment commands to RNAs and caches data received from them. Agent Hub does not require direct network access to the RNAs since they connect to Agent Hub through an encrypted, long-lived gRPC HTTP2 connection. Agent Hub uses this connection to send deployment commands to the RNA for execution.

## Networking

{{< include "req-networking.md" >}}
{{< include "req-networking-k8s.md" >}}
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
## How CD-as-a-Service works

CD-as-a-Service is a centralized control plane that utilizes flexible promotion constraints to safely deploy software and/or config changes across multiple clusters, environments, and/or regions.

CD-as-a-Service uses secure, logicless Remote Network Agents to access privately networked resources and Kubernetes clusters via ServiceAccounts. You do not need to upgrade agents for new features since business logic is encapsulated in the CD-as-as-Service control plane.
Expand All @@ -8,7 +6,7 @@ Remote Network Agents connect to CD-as-a-Service to establish gRPC via HTTP/2 co

{{< figure src="/media/how-cdaas-works.png" alt="How CD-as-a-Service Works" height="75%" width="75%" >}}

1. You render your Kubernets manifests using the tools you want. You build and publish your containers where and how you want, from DockerHub to a private registry on your network.
1. You render your Kubernetes manifests using the tools you want. You build and publish your containers where and how you want, from DockerHub to a private registry on your network.
2. You create a CD-as-a-Service deployment config file in which you define your deployment: canary and/or blue/green strategy; traffic shaping; deployment constraints such as manual judgments; external automation using webhooks; and retrospective analysis. You include the path to your Kubernetes manifests in the deployment config file. CD-as-a-Service can deploy any Kubernetes object that you define in your Kubernetes manifest.
3. You start your deployment by sending the deployment config file to CD-as-a-Service using the [Armory CLI]({{< ref "cli" >}}), which you can run locally or in a Docker container. You can trigger deployments automatically from any CI system. If you're using GitHub, Armory provides a [GitHub Action]({{< ref "integrations/ci-systems/gh-action" >}}) for triggering deployments from your GitHub workflow.

Expand Down
2 changes: 1 addition & 1 deletion content/en/integrations/plugin-spinnaker/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The Armory Continuous Deployment-as-a-Service Plugin for Spinnaker™ adds new s

Your Spinnaker instance and the cluster(s) where you install the CD-as-a-Service Remote Network Agent(s) need specific ports open.

{{< include "req-networking.md" >}}
{{< include "req-networking-k8s.md" >}}

Additionally, your Armory CD instance needs access to GitHub to download the plugin during installation.

Expand Down