Skip to content

Commit 86ba8aa

Browse files
committed
Initial skeleton of deployment documentation
1 parent d4f0cd3 commit 86ba8aa

File tree

9 files changed

+173
-69
lines changed

9 files changed

+173
-69
lines changed

docs/deployment/backup.md

Lines changed: 0 additions & 12 deletions
This file was deleted.

docs/deployment/components.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Components of a Plone 6 application for deployment"
5+
"property=og:description": "Components of a Plone 6 application for deployment"
6+
"property=og:title": "Components of a Plone 6 application for deployment"
7+
"keywords": "Plone, deployment, components, backend, volto, fronted, TLS termination proxy, load balancer, router, database, mail service, optimization, maintenance"
8+
---
9+
10+
(deployment-components-label)=
11+
12+
# Components
13+
14+
This page in the deployment guide covers the components in a Plone application deployment.
15+
The components can be broken down into those that are required, recommended, and optional.
16+
17+
18+
(deployment-required-components-label)=
19+
20+
## Required components
21+
22+
You need the following components to deploy a Plone application.
23+
24+
- {term}`Plone backend`
25+
- {term}`Volto` as the default {term}`Frontend` for Plone
26+
- {term}`TLS termination proxy`
27+
- {term}`Load balancer` or router
28+
- Database
29+
- Mail service
30+
- Optimization tasks
31+
- Database parameters
32+
- https://5.docs.plone.org/manage/deploying/performance/index.html
33+
- Maintenance tasks
34+
- Database backup
35+
- Packing database - https://5.docs.plone.org/manage/deploying/packing.html
36+
- Monitoring
37+
- Log rotation
38+
- Firewall
39+
- Attack protection
40+
- DNS
41+
- Host name resolution
42+
43+
44+
(deployment-recommended-components-label)=
45+
46+
## Recommended components
47+
48+
Recommended components, although not required, will help with the performance and user experience of your Plone application.
49+
50+
- HTTP caching
51+
52+
53+
(deployment-optional-components-label)=
54+
55+
## Optional components
56+
57+
- Search
58+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Continuous integration (CI) and continuous deployment (CD) for a Plone 6 application"
5+
"property=og:description": "Continuous integration (CI) and continuous deployment (CD) for a Plone 6 application"
6+
"property=og:title": "Continuous integration (CI) and continuous deployment (CD) for a Plone 6 application"
7+
"keywords": "Plone, Continuous integration, CI, continuous deployment, CD, pipeline, images, GitHub, actions, workflows"
8+
---
9+
10+
(deployment-continuous-integration-and-deployment-label)=
11+
12+
# Continuous integration and deployment
13+
14+
This page in the deployment guide covers {term}`continuous integration` (CI) and {term}`continuous deployment` (CD) for a Plone 6 application.
15+
16+
17+
## Deployment pipeline
18+
19+
20+
## Build images

docs/deployment/index.md

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,22 +4,28 @@ myst:
44
"description": "Deployment of Plone 6"
55
"property=og:description": "Deployment of Plone 6"
66
"property=og:title": "Deployment of Plone 6"
7-
"keywords": "Plone, deployment, automation"
7+
"keywords": "Plone, deployment, server, environment, continuous integration, continuous deployment, automation, tuning, optimatization, orchestration, Docker, Swarm, Kubernetes"
88
---
99

1010
(deployment-label)=
1111

1212
# Deployment
1313

14+
This part of the documentation describes how to deploy your Plone 6 application.
15+
This how-to guide covers the components of a Plone application, a server environment, continuous integration (CI) and continuous deployment (CD), and orchestration for a deployment.
16+
It is not comprehensive of all ways to deploy Plone, but covers common usage.
17+
18+
1419
```{todo}
15-
Intro to chapter "deployment"
20+
Find a better home for Caching, as it goes deep into explanation with a little bit of how-to guide.
1621
```
1722

1823
```{toctree}
1924
:maxdepth: 2
2025
21-
provision
22-
scaling
23-
backup
26+
components
27+
server-environment
28+
continuous-integration-and-deployment
29+
orchestration
2430
caching/index
2531
```

docs/deployment/orchestration.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Orchestration of a Plone 6 application"
5+
"property=og:description": "Orchestration of a Plone 6 application"
6+
"property=og:title": "Orchestration of a Plone 6 application"
7+
"keywords": "Plone, orchestration, scaling, Docker, Swarm, Kubernetes"
8+
---
9+
10+
(deployment-orchestration-label)=
11+
12+
# Orchestration
13+
14+
This page covers orchestration of a Plone 6 application.
15+
16+
The recommended procedure for Plone 6 is through the use of Docker Swarm.
17+
18+
```{seealso}
19+
Kubernetes is another orchestration option currently under development and testing in the [Plone Helm Charts](https://github.com/plone/helm-charts) GitHub repository.
20+
```

docs/deployment/provision.md

Lines changed: 0 additions & 23 deletions
This file was deleted.

docs/deployment/scaling.md

Lines changed: 0 additions & 28 deletions
This file was deleted.

docs/deployment/server-environment.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
myst:
3+
html_meta:
4+
"description": "Prepare a server environment for a deployment of Plone 6"
5+
"property=og:description": "Prepare a server environment for a deployment of Plone 6"
6+
"property=og:title": "Prepare a server environment for a deployment of Plone 6"
7+
"keywords": "Plone, deployment, server, environment"
8+
---
9+
10+
(deployment-server-environment-label)=
11+
12+
# Server environment
13+
14+
This page in the deployment guide covers how to prepare a server environment for a Plone 6 deployment.
15+
You will need to prepare your environment with the following items.
16+
17+
```{note}
18+
Should we reuse or update {ref}`install-packages-hardware-requirements-label`?
19+
```
20+
21+
- server instance with an operating system that Plone can run on
22+
- RAM
23+
- disk
24+
- SSH key
25+
- preparation for orchestration

docs/glossary.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,7 +403,7 @@ Traefik Proxy
403403
[Traefik Proxy](https://traefik.io/traefik/) is an open-source reverse proxy and load balancer, suitable for containerized architectures.
404404
405405
Volto
406-
[Volto](https://github.com/plone/volto) is a React-based frontend for the Plone CMS.
406+
[Volto](https://github.com/plone/volto) is a React-based frontend for Plone.
407407
It is the default user interface for Plone 6.
408408
409409
The other frontend is {term}`Classic UI`.
@@ -730,4 +730,42 @@ husky
730730
Jest
731731
[Jest](https://jestjs.io/) is a JavaScript testing framework.
732732
Volto uses Jest for unit tests.
733+
734+
Plone
735+
Plone is an open-source content management system (CMS) with over 20 years of stability and security wrapped in a modern, powerful, user-centric package.
736+
It continues to set the standard for content management systems by offering the most functionality and customization out of the box.
737+
738+
backend
739+
Plone backend
740+
Plone's backend includes a content management system, a REST API, and {term}`Classic UI` as a {term}`frontend`.
741+
742+
frontend
743+
Plone frontend
744+
A frontend consists of the user interface elements of a web application.
745+
Beginning with Plone 6, the default frontend is {term}`Volto`.
746+
{term}`Classic UI` is a secondary frontend that is part of the {term}`Plone backend`.
747+
748+
TLS
749+
Transport Layer Security
750+
Transport Layer Security (TLS) is a cryptographic protocol designed to provide communications security over a computer network.
751+
752+
```{seealso}
753+
[Transport Layer Security](https://developer.mozilla.org/en-US/docs/Web/Security/Transport_Layer_Security) article from MDN.
754+
```
755+
756+
TLS termination proxy
757+
A {term}`TLS` termination proxy is a proxy server that acts as an intermediary point between client and server applications.
758+
It is used to terminate or establish TLS tunnels by decrypting or encrypting communications.
759+
760+
Load balancer
761+
A load balancer acts as a traffic proxy and distributes network or application traffic across endpoints on a number of servers.
762+
763+
CI
764+
continuous integration
765+
Continuous integration (CI) is the practice of integrating all your code changes into the main branch of a shared source code repository early and often, automatically testing each change when you commit or merge them, and automatically kicking off a build.
766+
767+
CD
768+
continuous deployment
769+
continuous delivery
770+
Continuous deployment or continuous delivery is a software development practice that works in conjunction with {term}`CI` to automate the infrastructure provisioning and application release process.
733771
```

0 commit comments

Comments
 (0)