init commit

This commit is contained in:
2025-06-05 09:17:47 -04:00
commit db8ec76921
53 changed files with 12126 additions and 0 deletions

117
templates/openapi/v1.yaml Normal file
View File

@@ -0,0 +1,117 @@
openapi: "3.0.0"
info:
version: "1.0.0"
title: vStash S3 Compatible API
description: |
A high-performance S3-compatible object storage API with management console.
## Features
- Full S3 API compatibility for basic operations
- Multipart upload support
- Presigned URLs
- Management console API
- Enterprise storage backend
## Authentication
Uses AWS Signature Version 4 for S3 API endpoints and API keys for management endpoints.
contact:
email: support@vultr.com
name: 'vStash Support'
url: https://www.vultr.com
x-logo:
url: 'https://www.vultr.com/dist/img/brand/vultr-logo-onwhite.svg'
backgroundColor: '#fafafa'
altText: 'vStash - S3 Compatible API and Management'
servers:
- url: https://vstash.vultr.com
description: Production server
- url: https://vstash-staging.vultr.com
description: Staging server
- url: http://localhost:8000
description: Development server
tags:
- name: S3 Buckets
description: S3 bucket operations
- name: S3 Objects
description: S3 object operations
- name: S3 Multipart
description: S3 multipart upload operations
- name: Management - Stats
description: System statistics and monitoring
- name: Management - Credentials
description: Access key and credential management
- name: Management - Buckets
description: Bucket management via console
- name: Management - Objects
description: Object management via console
- name: Management - Presigned URLs
description: Presigned URL management
paths:
$ref: './paths.yaml'
components:
schemas:
$ref: './schemas.yaml'
parameters:
$ref: './parameters.yaml'
securitySchemes:
$ref: './security.yaml'
responses:
'400':
description: Bad Request
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'401':
description: Unauthorized
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'403':
description: Forbidden
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'404':
description: Not Found
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'409':
description: Conflict
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'500':
description: Internal Server Error
content:
application/xml:
schema:
$ref: '#/components/schemas/S3Error'
application/json:
schema:
$ref: '#/components/schemas/ApiError'