![]() SAMInputFile) are expected to exist within the GitHub repository. The CloudFormation deployment will notify that it will create IAM Permissions check the box acknowledging the permissions creation to proceed. GitHubToken: GitHub token to use for authentication to the GitHub account.GitHubRepoBranch: Branch of the GitHub repo that houses the application code.GitHubRepName: Name of the GitHub repo that houses the application code.(Don't change unless willing to edit buildspec.yml accordingly.) CodeBuildImage: Name of the CodeBuild container image to use.(This doesn't need to be changed unless the artifact file inside the buildspec.yml file is changed to a different name.) SAMOutputFile: The filename for the output file from the buildspec file.(Don't change unless renaming wsportal.json) By default, this is the included wsportal.json file. SAMInputFile: Serverless transform file.CognitoPool: Name of the Cognito Pool to create to use for authentication purposes.This must be unique within the S3 namespace. BucketName: Name of the S3 Bucket to create that should house the website.AppName: Name of the application that will be used in some components naming scheme.The deploy.json template will ask for the following parameters: Save the Personal Access Token as it will be entered into the CloudFormation deployment.ĭeploying the application starts by running the deploy.json file inside CloudFormation.Give the token an appropriate name, and select: repo and admin:repo_hook.If the repository is private, navigate to to generate a new Personal Access Token for the pipeline to use.Create a GitHub repository that mirrors the project repository.This includes setting up a Directory Services directory and registering it for WorkSpaces. Amazon WorkSpaces at the most basic level should be setup.By default, SES is locked down, and needs to be moved out of the Amazon SES Sandbox. The AWS account must be setup for SES for production usage.What things you need to install the software and how to install them ![]() They can also begin managing the WorkSpace through the portal: rebuild, reboot, or delete. Managing a WorkSpaceĪfter the WorkSpace is provisioned, the user will receive an email directly from Amazon with details on how to access their WorkSpace. Once approved, the WorkSpace will begin automatically and immediately. Upon signing in, they will see the WorkSpace Request form as they have not created a WorkSpace yet. The Approver email as specified within the stack will receive an email with links to Approve or Reject the request. They can submit a request which will start the Approval process. Once verified, the user can sign in to the portal with their created credentials. Users are automatically redirected to the verify page after registering however, they can also access it by accessing the site and browsing the verify from the top-right dropdown. The user must enter this token on the verification page. Anyone with an email on the Approved Domain as specified in the stack can register.Īfter registering, users will receive a verification token through email. Users can create their accounts through the register page. Jekyll: Provides static web site generation to convert the website/ directory.Could theoretically be replaced with CodeCommit. GitHub: Used as the source code repository.Code Build: Used to build the project as part of CodePipeline process.CodePipeline: Used to provide the pipeline functionality for our CI/CD process.CloudFront: Provides HTTPS in front of S3 web site.IAM: Provides security controls for our process.CloudWatch Events: Used to set a timer event for Lambda functions.Cognito: Used to provide authentication for our website.Step Functions: Used to provide a State Machine for Approval workflows.API Gateway: Used to provide an integration point to our Lambda functions.These can be tested with events in corresponding sample_events/ folder using lambda-local. Lambda: Used to perform Functions-as-a-Service.S3: Used to provide static website hosting and to store our build artifacts.AWS Serverless Application Model: Used to provision Lambda/API Gateway.CloudFormation: Used to deploy the entire stack.This project leverages the following services: The application provides continuous deployment through AWS CodePipeline, CodeBuild, CloudFormation with SAM, and GitHub. The application is entirely serverless leveraging AWS Lambda, S3, API Gateway, Step Functions, Cognito, and SES. The portal provides the ability for users to create, rebuild, reboot, and delete their WorkSpace. The WorkSpaces Portal provides Self-Service capability to end-users for Amazon WorkSpaces virtual desktops.
0 Comments
Leave a Reply. |