Welcome to the official Liara Cloud Platform OpenAPI Specification repository. This repository contains comprehensive OpenAPI specifications for all Liara API services, enabling developers to integrate with Liara's cloud platform seamlessly.
Liara provides a comprehensive suite of cloud services designed to help developers build, deploy, and scale their applications. This repository serves as the single source of truth for all Liara API specifications, including:
| Service | Description | Specification |
|---|---|---|
| PaaS | Platform as a Service for deploying and managing applications | spec/paas.yaml |
| DBaaS | Database as a Service for managed databases | spec/dbaas.yaml |
| Object Storage | Scalable object storage for any amount of data | spec/object-storage.yaml |
| DNS | DNS zone and record management | spec/dns.yaml |
| Email delivery and management platform | spec/mail.yaml |
|
| File Browser | Web-based file management for disks | spec/file-browser.yaml |
| IaaS | Infrastructure as a Service for virtual machines | spec/Iaas.yaml |
Before you begin, ensure you have the following installed:
- Docker (version 20.10 or higher)
- Docker Compose (version 2.0 or higher)
- Node.js (version 20.17.0 or higher) - for Mintlify development
- A code editor (we recommend VS Code)
Choose your preferred development environment:
Preview and interact with API specifications using Swagger UI:
-
Clone the repository
git clone https://github.com/liara-cloud/openapi.git cd openapi -
Start the Swagger UI container
docker compose up -d
-
Access the documentation
Open your browser and navigate to: http://localhost:8080
Preview the full documentation site with Mintlify:
-
Clone the repository
git clone https://github.com/liara-cloud/openapi.git cd openapi -
Install Mintlify CLI
npm i -g mint
-
Start the development server
mint dev
-
Access the documentation
The documentation will automatically open in your browser, or navigate to the URL shown in your terminal (typically http://localhost:3000).
openapi/
βββ .github/ # GitHub workflows and configurations
βββ pages/ # Documentation pages for Mintlify (MDX format)
β βββ dbaas.mdx # DBaaS introduction
β βββ dns.mdx # DNS introduction
β βββ file-browser.mdx # File Browser introduction
β βββ iaas.mdx # IaaS introduction
β βββ mail.mdx # Mail service introduction
β βββ object-storage.mdx # Object Storage introduction
β βββ paas.mdx # PaaS introduction
βββ spec/ # OpenAPI specification files
β βββ database-inspector.yaml
β βββ dbaas.yaml
β βββ dns.yaml
β βββ file-browser.yaml
β βββ Iaas.yaml
β βββ mail.yaml
β βββ object-storage.yaml
β βββ paas.yaml
βββ docs.json # Mintlify documentation configuration
βββ index.mdx # Documentation landing page
βββ docker-compose.yml # Docker Compose configuration
βββ Dockerfile # Container build instructions
βββ logo.png # Liara logo
βββ README.md # README
We welcome contributions from the community! Whether you're fixing a typo, improving documentation, or adding new API endpoints, your help is appreciated.
Click the "Fork" button at the top right of this page to create a copy of this repository in your GitHub account.
git clone https://github.com/YOUR_USERNAME/openapi.git
cd openapiCreate a descriptive branch name that reflects your changes:
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fix
# or
git checkout -b docs/your-documentation-update-
Start the local development environment
Choose your preferred environment:
For Swagger UI (API specification preview):
docker compose up -d
Then open http://localhost:8080 in your browser.
For Mintlify (Full documentation preview):
npm i -g mint mint dev
The documentation will open automatically in your browser.
-
Edit the relevant files
- For API specification changes, edit files in the
spec/directory - For documentation changes, edit files in the
pages/directory orindex.mdx
- For API specification changes, edit files in the
-
Validate your changes
- Swagger UI: Verify that your changes render correctly and there are no validation errors
- Mintlify: Check that the documentation site builds without errors
-
Test API endpoints (if applicable)
Use the "Try it out" feature in Swagger UI to test API endpoints with your changes.
git add .
git commit -m "feat: add new endpoint for listing databases"
# or
git commit -m "fix: correct response schema for DNS records"
# or
git commit -m "docs: update authentication instructions"git push origin feature/your-feature-name- Navigate to your fork on GitHub
- Click "Compare & pull request"
- Fill in the PR template:
- Title: A clear, descriptive title
- Description: Explain what changes you made and why
- Related Issues: Link any related issues (e.g., "Fixes #123")
- Click "Create pull request"
When modifying API specifications, please follow these guidelines:
-
Use OpenAPI 3.0+ syntax
Ensure your specification is compatible with OpenAPI 3.0 or later.
-
Include complete endpoint documentation
/endpoint: get: summary: Brief description description: Detailed description operationId: getEndpoint tags: - Category responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/SomeModel'
-
Define reusable components
Use the
componentssection for reusable schemas, parameters, and responses:components: schemas: Error: type: object properties: code: type: integer message: type: string
-
Include examples
Provide examples for request bodies and responses:
examples: ExampleName: value: id: "123" name: "Example"
- Ensure all checks pass before requesting review
- Update documentation if you change functionality
- Request review from maintainers
- Swagger UI - API documentation visualization
- Mintlify - Documentation platform
- Docker - Containerization
Need help? We're here for you!
- Documentation: https://docs.liara.ir
- Email: info@liara.ir
- Website: https://liara.ir
- GitHub Issues: Open an issue
Made with β€οΈ by the Liara Team