deploy-to-cloud-frontend
Deploy to Cloud for GeneXus Frontend generators (ex: Angular)
This library provides CLIs in order to:
- Request Deployment Authorization to GX D2C Cloud
- Requst Cloud Provider Credentials to be able to make the Upload
- Confirm a successful deployment to D2C
Usage
Generate Credentials for Static Deployment
d2c-prepare
Confirm Deployment with D2C
d2c-confirm
Configuration
#Required
SET D2C_AUTH=%AuthToken%
SET D2C_DEPLOY_ID=<guid>
#Optional (Default Value)
SET D2C_SERVER_TYPE=awss3 (default)
SET D2C_SERVER_ID=apps-angular.genexus.com (default)
D2C Required Services
1. Service: AuthorizeDeployment
This service is called before deploying to AWS S3, in order to get new Temporal AWS Credentials.
Request
POST
Content-Type: Application/json
Body:
{
"authToken": "myAuthToken",
"path": "1234567",
"serverId": "apps-angular.genexus.com",
"serverType": "awss3",
"appName": "MyFirstAngularApp"
}
Response
Content-Type: Application/json
{
"code": 1,
"credential": {
"sessionToken": "dsfdsfs",
"accessKeyId": "AKIA4EZIEMMO5XXXXXXX",
"secretAccessKey": "xxxxxxx",
"expiration": "2090-07-15T23:28:33.359Z",
"type": "aws"
},
"properties": {
"bucketName": "gx-angular-deployments"
}
}
JSON Field Code
ErrorCodes {
ErrorUnknown = 0,
Ok = 1,
ErrorNotAuthorized = 2,
TokenExpired = 3
}
Service Responsabilities:
- Validate OAuth Token
- Validate User is authorized to deploy on VDir ("path")
- Validate server name: (apps-angular.genexus.com)
- Call AWS STS Service to Request New Temporal Credential.
2. Service: ConfirmDeployment
This service is called after deploying to AWS S3, in order to notify D2C that a successfully deploy has been completed.
Request
POST
Content-Type: Application/json
Body:
{
"authToken": "myAuthToken",
"path": "1234567",
"serverId": "apps-angular.genexus.com",
"serverType": "awss3",
"appName": "MyFirstAngularApp",
"deployStatus": DeployStatus
""
}
Response
Content-Type: Application/json
{
"code":1,
"description":"success"
}
JSON Field Code
ErrorCodes {
ErrorUnknown = 0,
Ok = 1,
ErrorNotAuthorized = 2,
TokenExpired = 3
}
DeployStatus {
ErrorUnknown = 0,
Ok = 1,
UploadFailed = 2
}
Service Responsabilities:
- Validate OAuth Token
- Validate User is authorized to deploy on VDir ("path")
- Validate server name: (apps-angular.genexus.com)
- Update Database with recent deployment