Skip to content

Commit 06d9a1b

Browse files
authored
Merge pull request #112 from ravigurram8/topic-release-8
1.13.2 build updates
2 parents 69cd859 + 6d81874 commit 06d9a1b

6 files changed

Lines changed: 238 additions & 7 deletions

File tree

cft-templates/EFS.yaml

Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
AWSTemplateFormatVersion: 2010-09-09
2+
3+
Description: Sets up EFS on AWS
4+
Metadata:
5+
AWS::CloudFormation::Interface:
6+
ParameterGroups:
7+
- Label:
8+
default: File system settings
9+
Parameters:
10+
- BackupPolicy
11+
- VpcId
12+
- SubnetId
13+
- CidrIp
14+
- Label:
15+
default: Lifecycle management
16+
Parameters:
17+
- TransitionIntoIA
18+
- TransitionToPrimaryStorageClass
19+
- PerformanceMode
20+
- ThroughputMode
21+
- ProvisionedThroughputInMibps
22+
- Label:
23+
default: Encryption
24+
Parameters:
25+
- Encrypted
26+
- KmsKeyId
27+
28+
Parameters:
29+
BackupPolicy:
30+
Description: Automatically backup your file system data with AWS Backup using recommended settings. Additional pricing applies.
31+
Type: String
32+
Default: DISABLED
33+
AllowedValues: [ENABLED,DISABLED]
34+
VpcId:
35+
Description: The ID of the VPC that the file system will be accessible from
36+
Type: AWS::EC2::VPC::Id
37+
SubnetId:
38+
Description: The subnet where to launch the service
39+
Type: AWS::EC2::Subnet::Id
40+
CidrIp:
41+
Description: The IP address range that can be used to access the file system.
42+
Type: String
43+
MinLength: '9'
44+
MaxLength: '18'
45+
Default: 0.0.0.0/0
46+
AllowedPattern: (\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})/(\d{1,2})
47+
ConstraintDescription: must be a valid IP CIDR range of the form x.x.x.x/x.
48+
TransitionIntoIA:
49+
Description: Migrates files that have not been accessed for a set period of time to the EFS Standard–Infrequent Access (Standard-IA) or One Zone–Infrequent Access (One Zone-IA) storage class, depending on your file system.
50+
Type: String
51+
Default: AFTER_60_DAYS
52+
AllowedValues: [AFTER_7_DAYS,AFTER_14_DAYS,AFTER_60_DAYS,AFTER_90_DAYS]
53+
TransitionToPrimaryStorageClass:
54+
Description: Automatically moves files back to the EFS Standard or EFS One Zone storage classes when the TransitionToPrimaryStorageClass lifecycle policy is set to On first access. This helps to eliminate the risk of unbounded access charges, while providing consistent low latencies.
55+
Type: String
56+
Default: NONE
57+
AllowedValues: [AFTER_1_ACCESS, NONE]
58+
PerformanceMode:
59+
Description: >-
60+
Amazon EFS delivers more than 10 gibibytes per second (GiBps) of throughput over 500,000 IOPS, and sub-millisecond or low single digit millisecond latencies.
61+
General Purpose mode supports up to 35,000 IOPS and has the lowest per-operation latency. File systems with EFS One Zone storage classes always use General Purpose performance mode.
62+
Max I/O mode supports 500,000+ IOPS and has higher per-operation latencies when compared to General Purpose mode.
63+
Type: String
64+
Default: generalPurpose
65+
AllowedValues: [generalPurpose, maxIO]
66+
ThroughputMode:
67+
Description: >-
68+
determines the throughput available to your file system.
69+
Bursting Throughput mode is a good fit for traditional applications that have a bursty throughput pattern.
70+
In Provisioned Throughput mode, you specify a level of throughput that the file system can drive independent of the file system's size or burst credit balance.
71+
Type: String
72+
Default: bursting
73+
AllowedValues: [bursting, provisioned]
74+
ProvisionedThroughputInMibps:
75+
Description: >-
76+
The amount of provisioned throughput, measured in MiB/s, for the file system. Valid for file systems using ThroughputMode set to provisioned.
77+
Valid range is 1-1024 MiB/s
78+
Type: Number
79+
Default: 1
80+
Encrypted:
81+
Description: Choose to enable encryption of your file system's data at rest. Uses the AWS KMS service key (aws/elasticfilesystem) by default
82+
Type: String
83+
Default: false
84+
AllowedValues: [true, false]
85+
KmsKeyId:
86+
Description: The ID of the AWS Key Management Service (AWS KMS) key used to encrypt Amazon EFS file system data.
87+
Type: String
88+
Default: NONE
89+
ResearcherName:
90+
Description: Researcher name that will be added as tag to the resources
91+
Type: String
92+
ProjectId:
93+
Description: Project Id that will be added as tag to the resources
94+
Type: String
95+
Namespace:
96+
Description: Name your file system. Name can include letters, numbers, and +-=._:/ symbols, up to 256 characters.
97+
Type: String
98+
99+
Conditions:
100+
burstingThroughputMode: !Equals [!Ref ThroughputMode ,bursting]
101+
KMSKeyNotProvided: !Equals [!Ref KmsKeyId, 'NONE']
102+
103+
Resources:
104+
EFSSecurityGroup:
105+
Type: "AWS::EC2::SecurityGroup"
106+
Properties:
107+
VpcId: !Ref VpcId
108+
SecurityGroupIngress:
109+
- CidrIp: !Ref CidrIp
110+
FromPort: 2049
111+
ToPort: 2049
112+
IpProtocol: tcp
113+
GroupDescription: EFS Security Group
114+
115+
FileSystem:
116+
Type: AWS::EFS::FileSystem
117+
Properties:
118+
BackupPolicy:
119+
Status: !Ref BackupPolicy
120+
Encrypted: !Ref Encrypted
121+
KmsKeyId: !If [KMSKeyNotProvided, !Ref 'AWS::NoValue', !Ref KmsKeyId]
122+
LifecyclePolicies:
123+
- TransitionToIA: !Ref TransitionIntoIA
124+
- TransitionToPrimaryStorageClass: AFTER_1_ACCESS
125+
PerformanceMode: !Ref PerformanceMode
126+
ThroughputMode: !Ref ThroughputMode
127+
ProvisionedThroughputInMibps: !If [burstingThroughputMode, !Ref 'AWS::NoValue', !Ref ProvisionedThroughputInMibps]
128+
129+
FileSystemTags:
130+
- Key: Name
131+
Value: !Ref Namespace
132+
- Key: cost_resource
133+
Value: !Sub ${AWS::StackName}
134+
- Key: researcher_name
135+
Value: !Ref ResearcherName
136+
- Key: project_name
137+
Value: !Ref ProjectId
138+
- Key: Name
139+
Value: !Join ['-', [Ref: Namespace, 'file-system']]
140+
141+
MountTarget:
142+
Type: AWS::EFS::MountTarget
143+
Properties:
144+
FileSystemId: !Ref FileSystem
145+
SubnetId: !Ref SubnetId
146+
SecurityGroups:
147+
- !Ref EFSSecurityGroup
148+
Outputs:
149+
EFS:
150+
Description: The created EFS filesystem ID
151+
Value: !Ref FileSystem
152+
MountTarget:
153+
Description: MountTarget for the created EFS filesystem.
154+
Value: !Ref MountTarget

config/access-policy.json

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,25 @@
110110
"cognito-idp:DeleteUserPool",
111111
"codebuild:DeleteProject",
112112
"route53:*",
113-
"fsx:*"
113+
"fsx:*",
114+
"elasticfilesystem:Backup",
115+
"elasticfilesystem:CreateFileSystem",
116+
"elasticfilesystem:CreateMountTarget",
117+
"elasticfilesystem:CreateTags",
118+
"elasticfilesystem:CreateAccessPoint",
119+
"elasticfilesystem:CreateReplicationConfiguration",
120+
"elasticfilesystem:DeleteFileSystem",
121+
"elasticfilesystem:DeleteMountTarget",
122+
"elasticfilesystem:DeleteTags",
123+
"elasticfilesystem:DeleteAccessPoint",
124+
"elasticfilesystem:DeleteFileSystemPolicy",
125+
"elasticfilesystem:DeleteReplicationConfiguration",
126+
"elasticfilesystem:DescribeBackupPolicy",
127+
"elasticfilesystem:DescribeMountTargets",
128+
"elasticfilesystem:DescribeFileSystems",
129+
"elasticfilesystem:PutFileSystemPolicy",
130+
"elasticfilesystem:PutLifecycleConfiguration",
131+
"elasticfilesystem:PutBackupPolicy"
114132
],
115133
"Resource": [
116134
"*"

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ services:
1818
- sp2net
1919

2020
cc-3102:
21-
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.0_b1319
21+
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.2_b1352
2222
secrets:
2323
- source: sp2prod-config.json
2424
target: /rlc/cc/server/app/config/config.json
@@ -42,7 +42,7 @@ services:
4242
command: /bin/bash start.sh
4343

4444
scheduler-3102:
45-
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.0_b1319
45+
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.2_b1352
4646
secrets:
4747
- source: sp2prod-config.json
4848
target: /rlc/cc/server/app/config/config.json
@@ -62,7 +62,7 @@ services:
6262
command: node ./app/scheduler/app.js
6363

6464
notificationsink:
65-
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/notificationsink:1.12.1_b1
65+
image: 045938549113.dkr.ecr.us-east-2.amazonaws.com/notificationsink:1.13.2_b3
6666
secrets:
6767
- source: sp2prod-config.json
6868
target: /opt/app/config/config.json

dump/configs.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,8 @@
343343
"standardCatalogLink" : "https://researchgateway.readthedocs.io/en/latest/",
344344
"ownCatalogLink" : "https://researchgateway.readthedocs.io/en/latest/",
345345
"ownCatalogWithTagLink" : "https://researchgateway.readthedocs.io/en/latest/",
346-
"isProductDailyCostMigration_v1_13_0_Required" : true
346+
"isProductDailyCostMigration_v1_13_0_Required" : true,
347+
"projectStorage" : "https://researchgateway.readthedocs.io/en/latest/GettingStarted.html#project-storage"
347348
}
348349
},
349350
{

dump/standardcatalogitems.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -894,5 +894,63 @@
894894
},
895895
"cost_resource" : true
896896
}
897+
},
898+
{
899+
"_id": {
900+
"$oid": "60504955135663522b880abd"
901+
},
902+
"name" : "Amazon EFS",
903+
"description" : "Amazon Elastic File System (Amazon EFS) provides a simple, serverless, set-and-forget elastic file system for use with AWS Cloud services and on-premises resources.",
904+
"fileName" : "EFS.yaml",
905+
"tags" : [
906+
{
907+
"Key" : "EstimatedTimeToProvision",
908+
"Value" : "10 Minutes"
909+
},
910+
{
911+
"Key" : "DetailsLink",
912+
"Value" : "https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html"
913+
},
914+
{
915+
"Key" : "Service",
916+
"Value" : "EFS"
917+
},
918+
{
919+
"Key" : "TypeOfProduct",
920+
"Value" : "Research"
921+
}
922+
],
923+
"owner" : "RL",
924+
"portfolio" : "RGPortfolio",
925+
"availableRegions" : [ ],
926+
"assignedOU" : [ ],
927+
"metaData" : {
928+
"pre_provisioning" : [
929+
{
930+
"code" : "CFT_PARAMS",
931+
"params" : [
932+
{
933+
"name" : "ProjectId",
934+
"type" : "RL::SC::PARAM::HD"
935+
},
936+
{
937+
"name" : "ResearcherName",
938+
"type" : "RL::SC::PARAM::HD"
939+
},
940+
{
941+
"name" : "Namespace",
942+
"type" : "RL::SC::PARAM::HD"
943+
}
944+
]
945+
}
946+
],
947+
"post_provisioning" : [ ],
948+
"checks_before_assigning_product" : [ ],
949+
"checks_after_assigning_product" : [ ],
950+
"permission_required" : {
951+
952+
},
953+
"cost_resource" : true
954+
}
897955
}
898956
]

provisioners/provision-ecr.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/bash -xe
22
sudo docker login -u AWS -p $(aws ecr get-login-password --region us-east-2) 045938549113.dkr.ecr.us-east-2.amazonaws.com
3-
sudo docker pull 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.0_b1319
3+
sudo docker pull 045938549113.dkr.ecr.us-east-2.amazonaws.com/researchportal:_fd_1.13.2_b1352
44
sudo docker pull 045938549113.dkr.ecr.us-east-2.amazonaws.com/nginx:latest
5-
sudo docker pull 045938549113.dkr.ecr.us-east-2.amazonaws.com/notificationsink:1.12.1_b1
5+
sudo docker pull 045938549113.dkr.ecr.us-east-2.amazonaws.com/notificationsink:1.13.2_b3

0 commit comments

Comments
 (0)