Skip to content

Commit 22c597e

Browse files
committed
adding github pages doc
1 parent de9662d commit 22c597e

16 files changed

+348
-0
lines changed

.github/workflows/linkcheck.json

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
{
2+
"timeout": "5s",
3+
"retryOn429": true,
4+
"retryCount": 5,
5+
"fallbackRetryDelay": "30s",
6+
"aliveStatusCodes": [200, 206],
7+
"httpHeaders": [
8+
{
9+
"urls": ["https://help.github.com/"],
10+
"headers": {
11+
"Accept-Encoding": "zstd, br, gzip, deflate"
12+
}
13+
}
14+
],
15+
"ignorePatterns": [
16+
{
17+
"pattern": [
18+
"localhost"
19+
]
20+
},
21+
{
22+
"pattern": [
23+
"127.0.0.1"
24+
]
25+
}
26+
]
27+
}
+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
name: Check Markdown links
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "**/*.md"
9+
10+
pull_request:
11+
branches:
12+
- main
13+
paths:
14+
- "**/*.md"
15+
16+
permissions:
17+
contents: read
18+
19+
jobs:
20+
markdown-link-check:
21+
runs-on: ubuntu-latest
22+
steps:
23+
- name: Harden Runner
24+
uses: step-security/harden-runner@v2
25+
with:
26+
egress-policy: audit
27+
28+
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29
29+
- uses: actions/setup-node@v4
30+
with:
31+
node-version: '16.x'
32+
- name: install markdown-link-check
33+
run: npm install -g [email protected]
34+
- name: markdown-link-check version
35+
run: npm list -g markdown-link-check
36+
- name: Run markdown-link-check on MD files
37+
run: find docs -name "*.md" | xargs -n 1 markdown-link-check -q -c .github/workflows/linkcheck.json

.github/workflows/publish-docs.yml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Publish docs via GitHub Pages
2+
on:
3+
push:
4+
branches:
5+
- main
6+
7+
env:
8+
PYTHON_VERSION: 3.x
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
build:
15+
name: Deploy docs
16+
runs-on: ubuntu-latest
17+
permissions:
18+
contents: write
19+
steps:
20+
- name: Harden Runner
21+
uses: step-security/harden-runner@v2
22+
with:
23+
egress-policy: audit
24+
25+
- name: Checkout main
26+
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29
27+
with:
28+
fetch-depth: 0
29+
30+
- name: Set up Python ${{ env.PYTHON_VERSION }}
31+
uses: actions/setup-python@v5
32+
with:
33+
python-version: ${{ env.PYTHON_VERSION }}
34+
35+
- name: Install dependencies
36+
run: |
37+
python -m pip install --upgrade pip
38+
python -m pip install mkdocs-material==9.5.21 \
39+
mkdocs-include-markdown-plugin==6.0.6 \
40+
mkdocs-awesome-pages-plugin==2.9.2
41+
42+
- name: git config
43+
run: |
44+
git config --local user.email "[email protected]"
45+
git config --local user.name "GitHub Action"
46+
47+
- run: mkdocs gh-deploy --force

.github/workflows/scorecards.yml

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# This workflow uses actions that are not certified by GitHub. They are provided
2+
# by a third-party and are governed by separate terms of service, privacy
3+
# policy, and support documentation.
4+
5+
name: Scorecard supply-chain security
6+
on:
7+
# For Branch-Protection check. Only the default branch is supported. See
8+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
9+
branch_protection_rule:
10+
# To guarantee Maintained check is occasionally updated. See
11+
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
12+
schedule:
13+
- cron: '20 7 * * 2'
14+
push:
15+
branches: ["main"]
16+
17+
# Declare default permissions as read only.
18+
permissions: read-all
19+
20+
jobs:
21+
analysis:
22+
name: Scorecard analysis
23+
runs-on: ubuntu-latest
24+
permissions:
25+
# Needed to upload the results to code-scanning dashboard.
26+
security-events: write
27+
# Needed to publish results and get a badge (see publish_results below).
28+
id-token: write
29+
contents: read
30+
actions: read
31+
32+
steps:
33+
- name: Harden Runner
34+
uses: step-security/harden-runner@55d479fb1c5bcad5a4f9099a5d9f37c8857b2845 # v2.4.1
35+
with:
36+
egress-policy: audit
37+
38+
- name: "Checkout code"
39+
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.5.4
40+
with:
41+
persist-credentials: false
42+
43+
- name: "Run analysis"
44+
uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3
45+
with:
46+
results_file: results.sarif
47+
results_format: sarif
48+
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
49+
# - you want to enable the Branch-Protection check on a *public* repository, or
50+
# - you are installing Scorecards on a *private* repository
51+
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action#authentication-with-pat.
52+
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
53+
54+
# Public repositories:
55+
# - Publish results to OpenSSF REST API for easy access by consumers
56+
# - Allows the repository to include the Scorecard badge.
57+
# - See https://github.com/ossf/scorecard-action#publishing-results.
58+
# For private repositories:
59+
# - `publish_results` will always be set to `false`, regardless
60+
# of the value entered here.
61+
publish_results: true
62+
63+
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
64+
# format to the repository Actions tab.
65+
- name: "Upload artifact"
66+
uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3
67+
with:
68+
name: SARIF file
69+
path: results.sarif
70+
retention-days: 5
71+
72+
# Upload the results to GitHub's code scanning dashboard.
73+
- name: "Upload to code-scanning"
74+
uses: github/codeql-action/upload-sarif@9fdb3e49720b44c48891d036bb502feb25684276 # v3.25.6
75+
with:
76+
sarif_file: results.sarif

docs/.pages

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
nav:
2+
- Overview: index.md
3+
- Getting Started: getting-started.md
4+
- Patterns: patterns
5+
- FAQ: faq.md

docs/faq.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Frequently Asked Questions
2+
3+
## Timeouts on destroy
4+
5+
Customers who are deleting their environments using `terraform destroy` may see timeout errors when VPCs are being deleted. This is due to a known issue in the [vpc-cni](https://github.com/aws/amazon-vpc-cni-k8s/issues/1223#issue-704536542)
6+
7+
Customers may face a situation where ENIs that were attached to EKS managed nodes (same may apply to self-managed nodes) are not being deleted by the VPC CNI as expected which leads to IaC tool failures, such as:
8+
9+
* ENIs are left on subnets
10+
* EKS managed security group which is attached to the ENI can’t be deleted by EKS
11+
12+
The current recommendation is to execute cleanup in the following order:
13+
14+
1. delete all pods that have been created in the cluster.
15+
2. add delay/ wait
16+
3. delete VPC CNI
17+
4. delete nodes
18+
5. delete cluster

docs/getting-started.md

+68
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Getting Started
2+
3+
This getting started guide will help you bootstrap your first cluster using Crossplane Blueprints.
4+
5+
## Prerequisites
6+
7+
Ensure that you have installed the following tools locally:
8+
9+
- [awscli](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html)
10+
- [kubectl](https://Kubernetes.io/docs/tasks/tools/)
11+
- [terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
12+
13+
## Deploy
14+
15+
### eksctl
16+
17+
1. TBD
18+
19+
### terraform
20+
21+
1. For consuming Crossplane Blueprints, please see the [Consumption]() section.
22+
23+
2. To bootstrap using terraform, the typical steps of execution are as follows:
24+
25+
```sh
26+
terraform init
27+
terraform apply -target="module.vpc" -auto-approve
28+
terraform apply -target="module.eks" -auto-approve
29+
terraform apply -target="module.eks_blueprints_addons" -auto-approve
30+
terraform apply -target="module.crossplane" -auto-approve
31+
terraform apply -auto-approve
32+
```
33+
34+
3. Once all of the resources have successfully been provisioned, the following command can be used to update the `kubeconfig`
35+
on your local machine and allow you to interact with your EKS Cluster using `kubectl`.
36+
37+
```sh
38+
aws eks --region <REGION> update-kubeconfig --name <CLUSTER_NAME>
39+
```
40+
41+
!!! info "Terraform outputs"
42+
The examples will output the `aws eks update-kubeconfig ...` command as part of the Terraform apply output to simplify this process for users
43+
44+
4. Once you have updated your `kubeconfig`, you can verify that you are able to interact with your cluster by running the following command:
45+
46+
```sh
47+
kubectl get nodes
48+
```
49+
50+
This should return a list of the node(s) running in the cluster created. If any errors are encountered, please re-trace the steps above
51+
and consult the pattern's `README.md` for more details on any additional/specific steps that may be required.
52+
53+
## Destroy
54+
55+
To teardown and remove the resources created in the bootstrap, the typical steps of execution are as follows:
56+
57+
```sh
58+
terraform destroy -target="module.crossplane" -auto-approve
59+
terraform destroy -target="module.eks_blueprints_addons" -auto-approve
60+
terraform destroy -target="module.eks" -auto-approve
61+
terraform destroy -target="module.vpc" -auto-approve
62+
terraform destroy -auto-approve
63+
```
64+
65+
!!! danger "Resources created outside of Terraform"
66+
Some resources may have been created that Terraform is not aware of that will cause issues
67+
when attempting to clean up the pattern. Please see the `destroy.md` for more
68+
details.

docs/images/colored-logo.png

104 KB
Loading

docs/images/white-logo.png

92.4 KB
Loading

docs/index.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{%
2+
include-markdown "../README.md"
3+
%}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

mkdocs.yml

+67
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
site_name: Amazon Crossplane Blueprints
2+
docs_dir: docs/
3+
copyright: Copyright &copy; Amazon 2024
4+
site_author: AWS
5+
site_url: https://awslabs.github.io/crossplane-on-eks/
6+
repo_name: crossplane-on-eks
7+
repo_url: https://github.com/awslabs/crossplane-on-eks
8+
9+
theme:
10+
name: material
11+
logo: images/white-logo.png
12+
favicon: images/colored-logo.png
13+
font:
14+
text: ember
15+
palette:
16+
primary: orange
17+
accent: orange
18+
icon:
19+
repo: fontawesome/brands/github
20+
admonition:
21+
note: octicons/tag-16
22+
abstract: octicons/checklist-16
23+
info: octicons/info-16
24+
tip: octicons/squirrel-16
25+
success: octicons/check-16
26+
question: octicons/question-16
27+
warning: octicons/alert-16
28+
failure: octicons/x-circle-16
29+
danger: octicons/zap-16
30+
bug: octicons/bug-16
31+
example: octicons/beaker-16
32+
quote: octicons/quote-16
33+
features:
34+
- navigation.tabs.sticky
35+
highlightjs: true
36+
hljs_languages:
37+
- yaml
38+
- json
39+
40+
plugins:
41+
- include-markdown
42+
- search:
43+
lang:
44+
- en
45+
- awesome-pages
46+
47+
extra:
48+
version:
49+
provider: mike
50+
51+
markdown_extensions:
52+
- attr_list
53+
- admonition
54+
- codehilite
55+
- footnotes
56+
- md_in_html
57+
- pymdownx.critic
58+
- pymdownx.details
59+
- pymdownx.highlight:
60+
anchor_linenums: true
61+
line_spans: __span
62+
pygments_lang_class: true
63+
- pymdownx.inlinehilite
64+
- pymdownx.snippets
65+
- pymdownx.superfences
66+
- toc:
67+
permalink: true

0 commit comments

Comments
 (0)