Welcome, and thank you for your interest in the DevOps role at Fortress Technology Solutions!
This take-home assignment is designed to help us understand how you approach infrastructure, CI/CD, and learning new technologies. Don't worry if you're unfamiliar with AWS CDK or GitHub Actions — we’re more interested in how you reason and learn.
Using the included starter project, complete the following:
Update the existing AWS CDK project to do the following:
- Create an S3 bucket for logging
- Create a Lambda function (you can use Node.js or Python)
- This function should log the request to CloudWatch
- Create an API Gateway to expose the Lambda function publicly
- Make sure the Lambda function has permission to write to the bucket (you don’t have to implement writing to S3 in the Lambda)
✅ CDK stack should be deployable with npx cdk deploy
Set up the GitHub Actions workflow in .github/workflows/deploy.yml to:
- Install dependencies
- Build the TypeScript project
- Run
cdk synth - Run
cdk deployautomatically on push to themainbranch
We’ve included a working scaffold to help you get started.
We’ll review your submission based on:
- ✅ Infrastructure design and completeness
- ✅ Effort and ability to work with CDK and GitHub Actions
- ✅ Code organization and clarity
- ✅ Clarity of your explanations and README
This is not a test of perfection — it's about how you think, not just what you build.
These are completely optional but demonstrate initiative:
- Add a simple environment-based naming convention (
MyStack-dev) - Deny public access to the S3 bucket
- Write the Lambda function to write event data into the S3 bucket
- Fork this repository to your own GitHub account (you can keep it private).
- Complete the assignment in your forked repository.
- Update this
README.mdwith:
- Deployment or testing instructions
- Any assumptions, challenges, or learnings
- Share access to your fork with:
thoover@fortresstech.io.
Good luck, and have fun! If you get stuck or have questions, feel free to note that in your README — we value transparency and learning mindset above all.