feat: adding background jobs, Dockerfile

This commit is contained in:
allanice001
2025-11-04 16:32:54 +00:00
parent 2170b9a945
commit 19d5cf7aab
34 changed files with 1269 additions and 148 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,20 @@
basePath: /api/v1
definitions:
dto.AnnotationResponse:
properties:
created_at:
type: string
id:
type: string
key:
type: string
organization_id:
type: string
updated_at:
type: string
value:
type: string
type: object
dto.AuthStartResponse:
properties:
auth_url:
@@ -239,6 +254,12 @@ definitions:
value:
type: string
type: object
handlers.HealthStatus:
properties:
status:
example: ok
type: string
type: object
handlers.createUserKeyRequest:
properties:
expires_in_hours:
@@ -495,6 +516,114 @@ paths:
summary: Get JWKS
tags:
- Auth
/annotations:
get:
consumes:
- application/json
description: 'Returns annotations for the organization in X-Org-ID. Filters:
`name`, `value`, and `q` (name contains). Add `include=node_pools` to include
linked node pools.'
operationId: ListAnnotations
parameters:
- description: Organization UUID
in: header
name: X-Org-ID
type: string
- description: Exact name
in: query
name: name
type: string
- description: Exact value
in: query
name: value
type: string
- description: name contains (case-insensitive)
in: query
name: q
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
items:
$ref: '#/definitions/dto.AnnotationResponse'
type: array
"401":
description: Unauthorized
schema:
type: string
"403":
description: organization required
schema:
type: string
"500":
description: failed to list annotations
schema:
type: string
security:
- BearerAuth: []
- OrgKeyAuth: []
- OrgSecretAuth: []
summary: List annotations (org scoped)
tags:
- Annotations
/annotations/{id}:
get:
consumes:
- application/json
description: Returns one annotation. Add `include=node_pools` to include node
pools.
operationId: GetAnnotation
parameters:
- description: Organization UUID
in: header
name: X-Org-ID
type: string
- description: Annotation ID (UUID)
in: path
name: id
required: true
type: string
- description: 'Optional: node_pools'
in: query
name: include
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/dto.AnnotationResponse'
"400":
description: invalid id
schema:
type: string
"401":
description: Unauthorized
schema:
type: string
"403":
description: organization required
schema:
type: string
"404":
description: not found
schema:
type: string
"500":
description: fetch failed
schema:
type: string
security:
- BearerAuth: []
- OrgKeyAuth: []
- OrgSecretAuth: []
summary: Get annotation by ID (org scoped)
tags:
- Annotations
/auth/{provider}/callback:
get:
operationId: AuthCallback
@@ -576,6 +705,22 @@ paths:
summary: Rotate refresh token
tags:
- Auth
/healthz:
get:
consumes:
- application/json
description: Returns 200 OK when the service is up
operationId: HealthCheck // operationId
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/handlers.HealthStatus'
summary: Basic health check
tags:
- Health
/labels:
get:
consumes: