You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,13 @@
2
2
3
3
4
4
### Description
5
-
Sunbird RC 2.0 is an interoperable and unified registry infrastructure that needs to be established to enable "live," "reusable," and "trustworthy" registries as a "single source of truth" to address the three core issues mentioned. To learn more about Sunbird RC, please visit [SunbirdRC 2.0](https://docs.sunbirdrc.dev/).
5
+
Sunbird RC 2.0 is an interoperable and unified registry infrastructure that needs to be established to enable "live," "reusable," and "trustworthy" registries as a "single source of truth" to address the three core issues mentioned.
To learn more about Sunbird RC, please visit [SunbirdRC 2.0](https://docs.sunbirdrc.dev/).
6
12
7
13
### Packaging overview
8
14
This packaging initiative offers a practical approach to increase the adoption, streamline deployment and management of Sunbird RC 2.0 building blocks on AWS by providing a reference architecture and one-click deployment automation scripts. It allows builders to manage AWS resource provisioning and application deployment in a programmatic and repeatable way.
@@ -23,9 +29,9 @@ An alternative deployment approach accommodates users with existing essential AW
Copy file name to clipboardExpand all lines: documentation/01-Deployment-CDK-Sunbirdrc2.md
+39-23Lines changed: 39 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,9 +4,15 @@
4
4
5
5
-**AWS Account**: An AWS account to deploy AWS CDK stacks
6
6
-**[AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)**: Configured with AWS account
7
-
-**Kubectl Client**: Configured with the Amazon EKS cluster.
7
+
-**Amazon EC2 bastion host**: For accessing a [private only Amazon EKS API](https://docs.aws.amazon.com/eks/latest/userguide/cluster-endpoint.html) server.
8
+
-**Kubectl Client**: Configured on Amazon EC2 bastion host with the Amazon EKS cluster.
8
9
-**Public Domain/Sub-Domain**: Along with SSL certificates for HTTPS.
9
10
11
+
12
+

13
+
14
+
15
+
10
16
### Public Domain/sub-domain
11
17
12
18
Sunbird RC requires a public domain to be associated with `Registry` service.
| RDS_USER | postgres | Database user name for core registory service, default 'postgres' |
85
-
| RDS_PASSWORD | NLhL*I-e54e | Database password, used while DB creation and passed down to Sunbrd RC services helm chart |
86
-
| EKS_CLUSTER_NAME | ekscluster-sbrc2 | AWS EKS Cluster name |
87
-
| ROLE_ARN | `arn:aws:iam::<aws-account-id>:role/Admin` | Amazon EKS mastersRole, to be associated with the system:masters RBAC group, giving super-user access to the cluster
88
-
| CERT_ARN | `arn:aws:acm:ap-south-1:<aws-account-id>:certificate/<identifier>` | SSL Certificate Role ARN obtain from AWS Certificate Manager service
89
-
|
90
-
| RC_EXTERNAL_DOMAIN | `sunbric-rc.exmaple.com` | Domain/subdomain to be used with `registry` service and for which SSL CERT ARN is generated.
91
-
|
92
-
| SUNBIRD_RC_MODULES_CHOICE | RC | Modules to be installed as part of this deployment. Values may be **'R'** - Registry, **'C'** - Credentialing, **'RC'** - Registry and Credentialing. Default value is 'RC' |
93
-
=======
83
+
| ENVIRONMENT VARIABLES | EXAMPLE VALUE | DESCRIPTION |
| RDS_USER | postgres | Database user name for core registry service, default 'postgres' |
90
+
| RDS_PASSWORD | NLhL*I-e54e | Database password, used while DB creation and passed down to Sunbird RC services Helm chart |
91
+
| EKS_CLUSTER_NAME | ekscluster-sbrc2 | AWS EKS Cluster name |
92
+
| ROLE_ARN |`arn:aws:iam::<aws-account-id>:role/Admin`| Amazon EKS mastersRole, to be associated with the system:masters RBAC group, giving super-user access to the cluster |
93
+
| CERT_ARN |`arn:aws:acm:ap-south-1:<aws-account-id>:certificate/<identifier>`| SSL Certificate ARN obtained from AWS Certificate Manager service |
94
+
| RC_EXTERNAL_DOMAIN |`sunbird-rc.example.com`| Domain/subdomain to be used with `registry` service and for which SSL CERT ARN is generated. |
95
+
| SUNBIRD_RC_MODULES_CHOICE | RC | Modules to be installed as part of this deployment. Values may be **'R'** - Registry, **'C'** - Credentialing, **'RC'** - Registry and Credentialing. Default is 'RC'. |
96
+
94
97
**Ensure you have updated the .env file before running following commands to begin deployment.**
95
-
>>>>>>> 934116f0a2f90356de78f18792b55e39e7f0a9fc
96
98
97
99
```
98
100
# Emits the synthesized CloudFormation template
@@ -101,16 +103,30 @@ cdk synth
101
103
# List CDK stack
102
104
cdk list
103
105
104
-
# Deploy single stack - vpcstacksbrc2, rdsstacksbrc2, eksstacksbrc2,sunbirdrc2helmStacksbrc2
106
+
Expected output:
107
+
vpcstacksbrc2
108
+
rdsstacksbrc2
109
+
eksstacksbrc2
110
+
vaulthelmstacksbrc2
111
+
vaultinithelmstacksbrc2
112
+
sunbirdrc2helmStacksbrc2
113
+
114
+
# Deploy single stack
105
115
cdk deploy <stack_name>
106
116
107
-
# Alternatively you could also deploy all stacks and CDK would handle the sequence
117
+
# Alternatively you could also deploy all stacks and CDK would handle the dependencies
108
118
cdk deploy --all
109
119
```
110
120
111
-
After installing all the CDK stacks, verify the AWS services in the AWS web console. The stack 'sunbirdrc2helmStacksbrc2' installs the Sunbird RC 2.0 helm chart, vault helm chart and vault init helm chart to initialize and unseal the vault in the EKS cluster. It is recommended to review the [Deployment through Helm](02-Deployment-Helm-Sunbirdrc2.md) guide to become familiar with Helm charts, services, and parameters. This will be beneficial if you opt to run the Helm chart separately from the CDK, following the "Mode Two: Direct Helm Chart Invocation" approach for installing the Sunbird RC stack.
121
+
After installing all the CDK stacks, verify the AWS services in the AWS web console such as VPC, Amazon EKS cluster and RDS Postgres instance.
122
+
123
+
The CDK creates a private only EKS cluster. You would require to have an EC2 client machine in the same VPC where EKS is deployed. The `ROLE_ARN` variable governs Amazon EKS mastersRole, giving super-user access to the cluster. If you need to grant access to additional IAM users, groups, or roles, create the necessary [EKS access entries](https://docs.aws.amazon.com/eks/latest/userguide/creating-access-entries.html) accordingly.
124
+
125
+
The stack `sunbirdrc2helmStacksbrc2` installs the Sunbird RC 2.0 services' helm chart including its dependencies `vaulthelmstacksbrc2` and `vaultinithelmstacksbrc2` that initializes and unseal the vault in the EKS cluster.
126
+
127
+
It is recommended to review the [Deployment through Helm](02-Deployment-Helm-Sunbirdrc2.md) guide to become familiar with Sunbird RC 2.0 Helm charts.
112
128
113
-
Follow the post installation steps to start using Sunbird RC2.0 services
129
+
Follow the post installation steps to start using Sunbird RC 2.0 services
0 commit comments