Skip to content

docs: Add comprehensive AWS EKS deployment guide#297

Open
hossain-rayhan wants to merge 1 commit intodocumentdb:mainfrom
hossain-rayhan:rayhan/docs-aws-eks-setup
Open

docs: Add comprehensive AWS EKS deployment guide#297
hossain-rayhan wants to merge 1 commit intodocumentdb:mainfrom
hossain-rayhan:rayhan/docs-aws-eks-setup

Conversation

@hossain-rayhan
Copy link
Collaborator

Summary

Adds a comprehensive deployment guide for DocumentDB on AWS EKS, following the documentation improvement plan (Phase 1.6).

Changes

New Files

  • docs/operator-public-documentation/preview/getting-started/deploy-on-eks.md - Complete EKS deployment guide

Updated Files

  • mkdocs.yml - Added Getting Started navigation section and enabled Material theme features:
    • Code annotations (content.code.annotate)
    • Mermaid diagram support via pymdownx.superfences
    • Syntax highlighting with pymdownx.highlight

Documentation Highlights

  • Quick Start: One-command deployment using playground scripts
  • Manual Deployment: Step-by-step guide for production environments (7 steps)
  • AWS-Specific Content:
    • EBS storage classes explained (gp3, io1, io2) with recommendations
    • NLB annotations and configuration
    • IAM/IRSA setup for EBS CSI and Load Balancer Controller
  • Troubleshooting: Common issues with EBS CSI, LoadBalancer, and cert-manager
  • Cost Optimization: Tips for right-sizing and using spot instances
  • Architecture Diagram: Mermaid flowchart showing component relationships

References

  • Improvement plan: PR Link
  • Playground scripts: documentdb-playground/aws-setup/

Signed-off-by: Rayhan Hossain <rhossain@microsoft.com>
Copilot AI review requested due to automatic review settings March 9, 2026 18:55
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new “Deploy on AWS EKS” getting-started guide to the public preview documentation and updates the MkDocs configuration to support code annotations and Mermaid diagrams.

Changes:

  • Added a comprehensive AWS EKS deployment guide (quick-start via playground scripts + manual steps).
  • Updated mkdocs.yml navigation to include the new Getting Started section.
  • Enabled MkDocs Material features and markdown extensions for code annotations, syntax highlighting, and Mermaid fences, and added Mermaid JS loading.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
mkdocs.yml Adds nav entry for the EKS guide; enables code annotations + pymdownx extensions; loads Mermaid JS.
docs/operator-public-documentation/preview/getting-started/deploy-on-eks.md New end-to-end EKS deployment guide with architecture diagram, step-by-step instructions, and troubleshooting.

Comment on lines +60 to +62
| eksctl | 0.160+ | EKS cluster creation and management | [Install eksctl](https://eksctl.io/installation/) |
| kubectl | 1.28+ | Kubernetes cluster interaction | [Install kubectl](https://kubernetes.io/docs/tasks/tools/) |
| Helm | 3.x | Package management for Kubernetes | [Install Helm](https://helm.sh/docs/intro/install/) |
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The prerequisites list kubectl 1.28+, but the operator docs require a Kubernetes 1.35+ cluster (ImageVolume GA) and kubectl should generally match the cluster minor version. Consider updating this guide to explicitly require EKS/Kubernetes 1.35+ (and adjust the kubectl version accordingly), and optionally show eksctl create cluster --version ... so readers don’t end up with an unsupported EKS version.

Copilot uses AI. Check for mistakes.
Comment on lines +328 to +334
# Install the operator
helm install documentdb-operator \
oci://ghcr.io/documentdb/documentdb-operator \
--version 0.1.0 \
--namespace documentdb-operator \
--create-namespace \
--wait
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Helm install example pins --version 0.1.0, but the Helm chart in this repo is currently version 0.1.3. Pinning an older version here is likely to install an outdated operator (or fail if 0.1.0 isn’t published). Please update the guide to use the current chart version (or explain how to discover the latest published version).

Copilot uses AI. Check for mistakes.
Comment on lines +588 to +590
--region $REGION \
--node-type t3.medium \ # Smaller instance type
--nodes 2
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This eksctl example uses a line-continuation backslash followed by an inline comment (--node-type t3.medium \ # ...). Because the backslash isn’t the last character on the line, copying this command into a shell will break. Move the comment to its own line or keep the \ as the final character.

Copilot uses AI. Check for mistakes.
Comment on lines +492 to +500
echo "Connection string: mongodb://docdbadmin:YourSecurePassword123!@${EXTERNAL_IP}:10260/"
```

### Test Connection

```bash
# Using mongosh (if installed)
mongosh "mongodb://docdbadmin:YourSecurePassword123!@${EXTERNAL_IP}:10260/"

Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The example password includes ! and is later embedded inside double-quoted strings (e.g., the echo and mongosh "mongodb://..." commands). In interactive bash, ! triggers history expansion and can cause event not found errors when users paste these commands. Consider either using a password without ! in the examples, escaping it, or wrapping the connection string in single quotes.

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +51
extra_javascript:
- https://unpkg.com/mermaid@10/dist/mermaid.min.js
Copy link

Copilot AI Mar 9, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

extra_javascript pulls Mermaid from an external CDN (unpkg.com). This introduces a supply-chain/availability dependency for the rendered docs site (and may be disallowed in some environments). Consider vendoring a pinned Mermaid asset in the repo (or another trusted hosting approach) instead of loading it at runtime from a third-party CDN.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants