Projects

Cloud Projects

These are Personal Projects in order to get exposure to the cloud

AWS Infrastructure SFTP Server

This project involves setting up a secure and scalable infrastructure on AWS using Terraform. It includes creating a custom VPC, subnets, security groups, and an EC2 instance with an Elastic IP. Additionally, it configures SFTP-only access for enhanced security.

  • Provider: AWS
  • Region: eu-west-1
  • Tools: Terraform, AWS EC2, VPC
  • Key Features:
    • Custom VPC with public and private subnets
    • EC2 instance with SFTP-only access
    • Elastic IP and Security Groups
    • Automated key pair generation and file permissions
  • Challenges: Setting up secure SFTP-only access.
AWS Rustdesk Remote Solution

This project involves setting up a Rustdesk remote desktop server on AWS using Terraform. It includes creating a custom VPC, subnets, security groups, and an EC2 instance with an Elastic IP. The setup also configures necessary key pairs and network settings for secure access.

  • Provider: AWS
  • Region: eu-west-1
  • Tools: Terraform, AWS EC2, VPC
  • Key Features:
    • Custom VPC with public and private subnets
    • EC2 instance for Rustdesk server
    • Elastic IP and Security Groups
    • Automated key pair generation and file permissions
  • Challenges: Configuring security group rules for Rustdesk.
AWS Lambda Google Groups Automation

This project involves creating a Lambda function using AWS SAM (Serverless Application Model) to automate the process of adding users to Google Groups. The Lambda function is triggered by a CloudWatch Events rule, which schedules the function to run at specified intervals. It includes a custom IAM role to manage permissions and integrates with SNS for email notifications and CloudWatch for error monitoring.

  • Provider: AWS
  • Region: eu-west-1
  • Programming Language: Python 3.12
  • Tools: AWS SAM, AWS Lambda, CloudWatch, SNS
  • Key Features:
    • Scheduled Lambda function using CloudWatch Events
    • Custom IAM role for permissions
    • Email notifications via SNS
    • CloudWatch alarm for error monitoring
    • Secure access to parameters using AWS SSM
  • Challenges: Ensuring proper IAM role permissions and handling errors effectively.
AWS Lambda GoogleOU Automation

This project involves setting up an AWS Lambda function using AWS SAM (Serverless Application Model) to automate tasks for the GoogleOU service. The Lambda function is triggered by a scheduled CloudWatch Events rule to run every weekday at 9 AM. The setup includes a custom IAM role for permissions, SNS notifications for alerts, and CloudWatch alarms for error monitoring.

  • Provider: AWS
  • Region: eu-west-1
  • Programming Language: Python 3.12
  • Tools: AWS SAM, AWS Lambda, CloudWatch, SNS
  • Key Features:
    • Scheduled Lambda function triggered by CloudWatch Events
    • Custom IAM role with permissions for SSM and CloudWatch
    • Email notifications via SNS
    • CloudWatch alarm for monitoring Lambda function errors
    • Secure access to parameters using AWS SSM
  • Challenges: Ensuring correct IAM permissions and handling errors effectively.
AWS Step Function/Lambda Function Cisco Removal

This project demonstrates the creation and deployment of an AWS Step Function orchestrating multiple Lambda functions. It performs checks for Google suspended accounts, Jamf device lookups, and Cisco actions. The state machine handles error retries and complex decision-making based on the data processed by each Lambda task.

  • Provider: AWS
  • Region: eu-west-2
  • Tools: AWS Step Functions, Lambda, CloudWatch
  • Programming Language: Python
  • Key Features:
    • State machine with decision-based tasks
    • Lambda functions for Google, Jamf, and Cisco integration
    • Error handling with retry mechanisms
    • Conditional branching based on function outcomes
    • Resource management using AWS ARNs
  • Challenges: Handling Lambda failures, managing retries, and coordinating between multiple services in a robust workflow.
AWS Terraform Nextcloud Deployment

This project involves deploying a Nextcloud server on AWS using Terraform. It includes setting up a custom VPC, public and private subnets, and an EC2 instance with Nextcloud installed. An Elastic IP is allocated and associated with the EC2 instance for stable access. Security groups are configured to allow HTTP and HTTPS traffic.

  • Provider: AWS
  • Region: eu-west-1
  • Tools: Terraform
  • Key Features:
    • Custom VPC with public and private subnets
    • EC2 instance running Nextcloud
    • Elastic IP for stable access
    • Security Group allowing HTTP/HTTPS traffic
    • User Data script for automated Nextcloud setup
  • Challenges: Ensuring correct security group rules and proper Nextcloud configuration via user data.

Small Projects

Raja Ring Project

I used a Raspberry Pi along with a night vision camera to create a motion-activated surveillance system. MotionEyeOS was installed to record and save videos to NAS storage only when motion is detected.

  • Hardware:
    • Raspberry Pi
    • Night Vision Camera
  • Operating System: MotionEyeOS
  • Challenges: Configuring the camera for optimal night vision.

JAMF - Bash

Streamlining macOS Management with Automated Scripting

These projects showcase a series of Bash scripts developed to enhance macOS device management and security deployment in a corporate environment. Leveraging JAMF's management platform, each script automates crucial IT processes—saving time, reducing manual effort, and ensuring consistent execution across all managed devices.

Automated Pritunl Client Installation

This project involves a shell script designed to automate the download, installation, and cleanup of the Pritunl client on macOS. The script was created to streamline the deployment process using Jamf, a system management tool used by the company for VPN access.

  • Language: Bash
  • Purpose: Automate the installation of the Pritunl client as part of the company's VPN deployment strategy.
  • Key Features:
    • Fetches the latest release download link from GitHub's API
    • Downloads the Pritunl client package
    • Unzips and installs the package on macOS
    • Performs post-installation cleanup to free up disk space
  • Challenges: Ensuring smooth integration with Jamf, handling download errors, and maintaining a clean installation process.
  • Context: The script supports the company's IT infrastructure by automating the deployment of the Pritunl VPN client across multiple macOS devices using Jamf.
Erase Install Script

This project features a Bash script designed to fully reset macOS by erasing all data and restoring the system to its factory settings. It ensures a complete wipe of the system without installing any new macOS version. Additionally, it removes the computer from Jamf, streamlining the process for IT departments.

  • Language: Bash
  • Purpose: Automates the complete reset of macOS, erasing all data, restoring the system to factory settings, and removing the device from Jamf management.
  • Key Features:
    • Completely erases the macOS system and all data.
    • Restores macOS to its factory default state.
    • Removes the device from Jamf, reducing IT workload.
    • Requires minimal user input to initiate the reset process.
  • Context: Ideal for IT admins or technicians who need to reset macOS devices for re-deployment or as part of a troubleshooting process, with the added benefit of Jamf removal for a smoother reset experience.
Duo Security Desktop Installation Script

This Bash script automates the process of downloading, installing, and removing Duo Security Desktop for macOS. It also temporarily grants the user admin privileges for the installation and then removes them once the installation is complete.

  • Language: Bash
  • Purpose: Automates the installation of Duo Security Desktop with temporary admin privileges for installation.
  • Key Features:
    • Downloads the latest Duo Desktop package from the official URL.
    • Grants the user admin privileges temporarily for installation.
    • Installs Duo Security Desktop silently on macOS.
    • Removes the downloaded package and restores admin rights once installation is complete.
  • Context: Useful for IT admins who need to quickly deploy Duo Security Desktop to macOS users with minimal interaction.
SentinelOne Uninstallation Script

This project features a Bash script to automate the uninstallation of SentinelOne on macOS. It leverages the SentinelOne API for secure removal, including passphrase retrieval and process management.

  • Language: Bash
  • Purpose: Automated uninstallation of SentinelOne with minimal user intervention.
  • Key Features:
    • Authenticates via SentinelOne API to obtain uninstallation passphrase
    • Unprotects, kills processes, and fully removes SentinelOne
    • Manages user privileges and handles cleanup
  • Context: Useful for IT admins managing macOS endpoint security software.

GitHub Projects