Skip to main content

Projects

A project represents a collection of cloud resources that work together to form a complete application, such as a website, API.

Each project belongs to a specific team within your organization, creating a clear hierarchical structure that mirrors your development workflow. This organization helps maintain separation between different applications and enables proper access control and resource management.

Projects are identified by a unique name within their team, ensuring clear identification and preventing conflicts. Each project comes with its own dedicated API gateway that handles incoming traffic routing and provides a single entry point for external requests.

Security and isolation are built into every project through an isolated service mesh with mutual TLS (mTLS) encryption. This ensures that communication between resources within your project is secure and separate from other projects, providing both security and performance benefits.

It's important to note that creating a project provisions dedicated infrastructure resources, which incurs a monthly rental fee. This ensures your project has guaranteed compute capacity and dedicated networking resources for optimal performance.

Creating a Project

To create a new project within your selected team:

  1. Select your team from the team selector in the sidebar
  2. Locate the projects list below the team selector
  3. Click the plus (+) icon to start creating a new project
  4. Enter a unique project name and display label in the dialog
  5. Click Confirm to create your project

Once created, your project will begin provisioning the necessary infrastructure resources, including the dedicated API gateway and service mesh components.

Project Settings

Project settings provide comprehensive control over your project's configuration, domains, environment variables, and cost monitoring. To access project settings:

  1. Hover over your project name in the sidebar
  2. Click the options menu icon (...) that appears
  3. Select Settings from the dropdown menu

The settings dialog contains four main tabs: General, Domains, Environment, and Costs. Each tab provides specific management capabilities for different aspects of your project.

General

The General tab displays your project's basic information and allows limited configuration changes:

  • Project Name: Displays the unique project name, which cannot be changed after creation to maintain system integrity
  • Display Label: Can be edited to reflect changes in your project's purpose or branding without affecting the underlying system references

Project Domains

Custom domains allow you to serve your application from your own branded URLs instead of the default Viduli subdomain.

Every project automatically receives a default Viduli subdomain in the format organization-team-project.viduli.app. This subdomain is immediately available and requires no additional configuration, making it perfect for development, testing, and internal applications.

Adding custom domains enables you to serve your application from domains like www.yourcompany.com or api.yourservice.com, providing the professional web presence your users expect.

Adding a domain

To add a custom domain to your project:

  1. Navigate to the Domains tab in project settings
  2. Enter your domain name in the text box (e.g., www.yoursite.com)
  3. Click the Add button
  4. The domain will enter pending status while awaiting verification
  5. Configure your DNS provider:
    • Add a CNAME record pointing to cname.viduli.app
    • Or add an ALIAS record pointing to cname.viduli.app (if supported by your DNS provider)
  6. Stay on the page until the domain verification completes

The verification process typically takes a few minutes but can take up to 24 hours depending on DNS propagation times.

info

Domain Limit: Each project can have up to 5 custom domains.

Removing a domain

To remove a custom domain from your project:

  1. Navigate to the Domains tab in project settings
  2. Locate the domain you want to remove
  3. Click the Remove button next to the domain
  4. Confirm the removal when prompted

Note: Removing a domain will immediately stop serving your application from that URL. Ensure you've updated any external references before removing a domain.

Project Environment

The project environment section provides centralized management of environment variables and secrets that your applications need to function properly. This includes API keys, database connection strings, configuration values, and other sensitive information that should be kept secure.

Environment variables configured at the project level are automatically made available to all resources deployed within that project. This approach simplifies configuration management by eliminating the need to duplicate common settings across multiple resources.

For more granular control, you can also add environment variables directly to individual resources through their respective Resource Environment views. This flexibility allows you to maintain both shared project-wide configurations and resource-specific settings as needed.

info

Scope: Environment variables added to the project apply to all resources, while variables added to a specific resource only apply to that resource. Resource-level variables take precedence over project-level variables with the same name.

Costs

The Costs tab provides detailed visibility into your project's resource spending, helping you monitor expenses and optimize resource usage. This section displays comprehensive billing information for both current and historical periods.

Current Billing Cycle: Shows the total costs incurred by your project during the current month, with real-time updates as resources are consumed.

Resource Breakdown: Expand the cost section to view a detailed breakdown showing exactly how much each resource within your project is costing. This granular view helps identify high-usage resources and optimization opportunities.

Historical Data: Access cost information from previous months to analyze spending trends, compare usage patterns, and make informed decisions about resource scaling and optimization.

This cost transparency enables proactive budget management and helps ensure your project stays within expected spending limits.