UNPKG

@softvisio/core

Version:
83 lines (71 loc) 2.58 kB
- $id: config type: object properties: clearInterval: { type: string, format: interval } maxCacheSize: { type: integer, minimum: 1 } location: { type: string, format: kebab-case-root-or-absolute-file-path } listenPublicHttpServer: { type: boolean } listenPrivateHttpServer: { type: boolean } buckets: type: object properties: "/": { $ref: common#/$defs/bucket } propertyNames: { type: string, format: kebab-case-root-or-absolute-file-path } additionalProperties: { $ref: common#/$defs/bucket } required: ["/"] locations: type: object properties: "/": { $ref: common#/$defs/location } propertyNames: { type: string, format: kebab-case-root-or-absolute-file-path } additionalProperties: { $ref: common#/$defs/location } required: ["/"] additionalProperties: false required: [clearInterval, maxCacheSize, location, listenPublicHttpServer, listenPrivateHttpServer, buckets, locations] - $id: common $defs: bucket: anyOf: - type: object properties: type: { const: local } additionalProperties: false required: [type] - type: object properties: type: { const: google } bucket: { type: string, format: kebab-case } serviceAccount: type: object properties: type: { type: string } project_id: { type: string } private_key_id: { type: string } private_key: { type: string } client_email: { type: string } client_id: { type: string } auth_uri: { type: string } token_uri: { type: string } auth_provider_x509_cert_url: { type: string } client_x509_cert_url: { type: string } additionalProperties: false required: [project_id, private_key, client_email, token_uri] additionalProperties: false required: [type, bucket, serviceAccount] location: type: object properties: private: { type: boolean } encrypt: { type: boolean } deduplicate: { type: boolean } cacheControl: { type: ["null", string] } maxAge: anyOf: - type: "null" - { type: string, format: interval } inactiveMaxAge: anyOf: - type: "null" - { type: string, format: interval } additionalProperties: false required: []