You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 1, 2024. It is now read-only.
The project is focused on quickly setting up infrastructure on the DigitalOcean cloud platform. It provides a collection of code modules that enable the creation of various resources such as projects, virtual machines (droplets), databases, DNS records, and VPCs. The code automates the deployment and configuration process.
⚙️ Features
Feature
Description
⚙️ Architecture
The codebase follows a modular architecture, where components are organized into separate folders. It utilizes Pulumi for infrastructure provisioning.
🔗 Dependencies
The code relies on external libraries like Pulumi, DigitalOcean API, and Cloudflare API for resource management and infrastructure tasks.
🔌 Integrations
The system heavily interacts with external services like DigitalOcean and Cloudflare through their respective APIs. There are no evident communication patterns with third-party systems apart from these integrations.
This code iterates over folders in a given directory, imports Python modules within these folders, and executes callable functions within these modules. It allows for dynamic execution of code in a structured manner.
This code defines an "AppProject" class that creates a new DigitalOcean project. The project is given a name, description, and environment. The class also registers the project's URN as an output.
The code sets up a Droplet (virtual machine) on DigitalOcean for the Paperless project. It defines the Droplet's specifications, including the region, size, image, and SSH key. The Droplet is also associated with a VPC and has monitoring and an agent enabled.
This code configures a DigitalOcean database and firewall rules for an Outline application. It defines a database, a user, and firewall rules that allow connections from a specific Droplet.
This code sets up a DigitalOcean VM (Virtual Machine) for the Outline app, assigns a reserved IP address, and adds the VM to a project for resource management.
This code sets up a DNS record for an Outline server using the Cloudflare DNS provider. It retrieves the Zone ID for "cdiaz.cloud", creates a DNS record named "outline" with the A record type, and points it to the Outline server's IP address. The DNS record is set to be proxied by Cloudflare. The code then exports the hostname of the DNS record.
This code sets up a project called "Outline" on the DigitalOcean cloud platform. It includes the project's name, description, environment, and purpose.
This Python Pulumi code deploys VPC(s) on DigitalOcean in the specified regions. It uses the Pulumi DigitalOcean provider to create VPC resources, setting the VPC name and region for each VPC. The created VPC(s) are stored in the vpcs list.
This code provisions a DigitalOcean virtual machine (Droplet) running Ubuntu, with specified tags and SSH key. It also associates the Droplet with a VPC and deploys cloud-init configuration. Finally, it adds the Droplet to a project for organization and management.
The code creates a database cluster on the DigitalOcean platform using different engines such as Postgres, MySQL, MongoDB, and Redis. It sets the engine version, cluster name, node count, region, size, and connects it to a private network.
This code deploys a DigitalOcean Droplet running Rocky Linux and sets up a firewall with inbound and outbound rules. It also creates a DNS record with Cloudflare.
🚀 Getting Started
✔️ Prerequisites
Before you begin, ensure that you have the following prerequisites installed: