Skip to content

Latest commit

 

History

History
730 lines (548 loc) · 22.9 KB

api-docs.md

File metadata and controls

730 lines (548 loc) · 22.9 KB

object

Config contains the configuration for the core server

Properties

Name Type Description Required
refreshInterval integer RefreshInterval determines how often to reload the config
server object Server settings for the echo server
yes
entConfig object Config holds the configuration for the ent server
auth object Auth settings including oauth2 providers and token configuration
yes
authz object yes
db object yes
jobQueue object
redis object
tracer object
email object
sessions object
totp object
ratelimit object Config defines the configuration settings for the default rate limiter
objectStorage object
subscription object

Additional Properties: not allowed

server: object

Server settings for the echo server

Properties

Name Type Description Required
debug boolean Debug enables debug mode for the server
no
dev boolean Dev enables echo's dev mode options
no
listen string Listen sets the listen address to serve the echo server on
yes
metricsPort string MetricsPort sets the port for the metrics endpoint
no
shutdownGracePeriod integer ShutdownGracePeriod sets the grace period for in flight requests before shutting down
no
readTimeout integer ReadTimeout sets the maximum duration for reading the entire request including the body
no
writeTimeout integer WriteTimeout sets the maximum duration before timing out writes of the response
no
idleTimeout integer IdleTimeout sets the maximum amount of time to wait for the next request when keep-alives are enabled
no
readHeaderTimeout integer ReadHeaderTimeout sets the amount of time allowed to read request headers
no
tls object TLS settings for the server for secure connections
no
cors object Config holds the cors configuration settings
no
secure object Config contains the types used in the mw middleware
no
redirects object Config contains the types used in executing redirects via the redirect middleware
no
cacheControl object Config is the config values for the cache-control middleware
no
mime object Config defines the config for Mime middleware
no
graphPool object PondPool contains the settings for the goroutine pool
no
enableGraphExtensions boolean EnableGraphExtensions enables the graph extensions for the graph resolvers
no
complexityLimit integer ComplexityLimit sets the maximum complexity allowed for a query
no
maxResultLimit integer MaxResultLimit sets the maximum number of results allowed for a query
no

Additional Properties: not allowed

server.tls: object

TLS settings for the server for secure connections

Properties

Name Type Description Required
enabled boolean Enabled turns on TLS settings for the server
certFile string CertFile location for the TLS server
certKey string CertKey file location for the TLS server
autoCert boolean AutoCert generates the cert with letsencrypt, this does not work on localhost

Additional Properties: not allowed

server.cors: object

Config holds the cors configuration settings

Properties

Name Type Description Required
enabled boolean Enable or disable the CORS middleware
prefixes object
allowOrigins string[]
cookieInsecure boolean CookieInsecure sets the cookie to be insecure

Additional Properties: not allowed

server.cors.prefixes: object

Additional Properties

Name Type Description Required
Additional Properties string[]

server.cors.prefixes.additionalProperties: array

Items

Item Type: string

server.cors.allowOrigins: array

Items

Item Type: string

server.secure: object

Config contains the types used in the mw middleware

Properties

Name Type Description Required
enabled boolean Enabled indicates if the secure middleware should be enabled
xssprotection string XSSProtection is the value to set the X-XSS-Protection header to - default is 1; mode=block
contenttypenosniff string ContentTypeNosniff is the value to set the X-Content-Type-Options header to - default is nosniff
xframeoptions string XFrameOptions is the value to set the X-Frame-Options header to - default is SAMEORIGIN
hstspreloadenabled boolean HSTSPreloadEnabled is a boolean to enable HSTS preloading - default is false
hstsmaxage integer HSTSMaxAge is the max age to set the HSTS header to - default is 31536000
contentsecuritypolicy string ContentSecurityPolicy is the value to set the Content-Security-Policy header to - default is default-src 'self'
referrerpolicy string ReferrerPolicy is the value to set the Referrer-Policy header to - default is same-origin
cspreportonly boolean CSPReportOnly is a boolean to enable the Content-Security-Policy-Report-Only header - default is false

Additional Properties: not allowed

server.redirects: object

Config contains the types used in executing redirects via the redirect middleware

Properties

Name Type Description Required
enabled boolean Enabled indicates if the redirect middleware should be enabled
redirects object
code integer Code is the HTTP status code to use for the redirect

Additional Properties: not allowed

server.redirects.redirects: object

Additional Properties

Name Type Description Required
Additional Properties string

server.cacheControl: object

Config is the config values for the cache-control middleware

Properties

Name Type Description Required
enabled boolean
noCacheHeaders object
etagHeaders string[]

Additional Properties: not allowed

server.cacheControl.noCacheHeaders: object

Additional Properties

Name Type Description Required
Additional Properties string

server.cacheControl.etagHeaders: array

Items

Item Type: string

server.mime: object

Config defines the config for Mime middleware

Properties

Name Type Description Required
enabled boolean Enabled indicates if the mime middleware should be enabled
mimeTypesFile string MimeTypesFile is the file to load mime types from
defaultContentType string DefaultContentType is the default content type to set if no mime type is found

Additional Properties: not allowed

server.graphPool: object

PondPool contains the settings for the goroutine pool

Properties

Name Type Description Required
maxWorkers integer MaxWorkers is the maximum number of workers in the pool

Additional Properties: not allowed

entConfig: object

Config holds the configuration for the ent server

Properties

Name Type Description Required
entityTypes string[]

Additional Properties: not allowed

entConfig.entityTypes: array

Items

Item Type: string

auth: object

Auth settings including oauth2 providers and token configuration

Properties

Name Type Description Required
enabled boolean Enabled authentication on the server, not recommended to disable
no
token object yes
supportedProviders string[] no
providers object OauthProviderConfig represents the configuration for OAuth providers such as Github and Google
no

Additional Properties: not allowed

auth.token: object

Properties

Name Type Description Required
kid string yes
audience string yes
refreshAudience string no
issuer string yes
accessDuration integer no
refreshDuration integer no
refreshOverlap integer no
jwksEndpoint string no
keys object yes
generateKeys boolean no

Additional Properties: not allowed

auth.token.keys: object

Additional Properties

Name Type Description Required
Additional Properties string

auth.supportedProviders: array

Items

Item Type: string

auth.providers: object

OauthProviderConfig represents the configuration for OAuth providers such as Github and Google

Properties

Name Type Description Required
redirectUrl string RedirectURL is the URL that the OAuth2 client will redirect to after authentication is complete
github object yes
google object yes
webauthn object yes

Additional Properties: not allowed

auth.providers.github: object

Properties

Name Type Description Required
clientId string yes
clientSecret string yes
clientEndpoint string no
scopes string[] yes
redirectUrl string yes

Additional Properties: not allowed

auth.providers.github.scopes: array

Items

Item Type: string

auth.providers.google: object

Properties

Name Type Description Required
clientId string yes
clientSecret string yes
clientEndpoint string no
scopes string[] yes
redirectUrl string yes

Additional Properties: not allowed

auth.providers.google.scopes: array

Items

Item Type: string

auth.providers.webauthn: object

Properties

Name Type Description Required
enabled boolean no
displayName string yes
relyingPartyId string yes
requestOrigins string[] yes
maxDevices integer no
enforceTimeout boolean no
timeout integer no
debug boolean no

Additional Properties: not allowed

auth.providers.webauthn.requestOrigins: array

Items

Item Type: string

authz: object

Properties

Name Type Description Required
enabled boolean enables authorization checks with openFGA
no
storeName string name of openFGA store
no
hostUrl string host url with scheme of the openFGA API
yes
storeId string id of openFGA store
no
modelId string id of openFGA model
no
createNewModel boolean force create a new model
no
modelFile string path to the fga model file
no
credentials object no
ignoreDuplicateKeyError boolean ignore duplicate key error
no

Additional Properties: not allowed

authz.credentials: object

Properties

Name Type Description Required
apiToken string api token for the openFGA client
clientId string client id for the openFGA client
clientSecret string client secret for the openFGA client
audience string audience for the openFGA client
issuer string issuer for the openFGA client
scopes string scopes for the openFGA client

Additional Properties: not allowed

db: object

Properties

Name Type Description Required
debug boolean debug enables printing the debug database logs
no
databaseName string the name of the database to use with otel tracing
no
driverName string sql driver name
no
multiWrite boolean enables writing to two databases simultaneously
no
primaryDbSource string dsn of the primary database
yes
secondaryDbSource string dsn of the secondary database if multi-write is enabled
no
cacheTTL integer cache results for subsequent requests
no
runMigrations boolean run migrations on startup
no
migrationProvider string migration provider to use for running migrations
no
enableHistory boolean enable history data to be logged to the database
no

Additional Properties: not allowed

jobQueue: object

Properties

Name Type Description Required
connectionURI string
runMigrations boolean
riverConf object

Additional Properties: not allowed

jobQueue.riverConf: object

Properties

Name Type Description Required
AdvisoryLockPrefix integer
CancelledJobRetentionPeriod integer
CompletedJobRetentionPeriod integer
DiscardedJobRetentionPeriod integer
ErrorHandler
FetchCooldown integer
FetchPollInterval integer
ID string
JobCleanerTimeout integer
JobInsertMiddleware array
JobTimeout integer
Hooks array
Logger object
MaxAttempts integer
Middleware array
PeriodicJobs array
PollOnly boolean
Queues object
ReindexerSchedule
RescueStuckJobsAfter integer
RetryPolicy
SkipUnknownJobCheck boolean
Test object
TestOnly boolean
Workers object
WorkerMiddleware array

Additional Properties: not allowed

jobQueue.riverConf.JobInsertMiddleware: array

Items

jobQueue.riverConf.Hooks: array

Items

jobQueue.riverConf.Logger: object

No properties.

Additional Properties: not allowed

jobQueue.riverConf.Middleware: array

Items

jobQueue.riverConf.PeriodicJobs: array

Items

jobQueue.riverConf.Queues: object

Additional Properties

Name Type Description Required
Additional Properties object

jobQueue.riverConf.Queues.additionalProperties: object

Properties

Name Type Description Required
MaxWorkers integer

Additional Properties: not allowed

jobQueue.riverConf.Test: object

Properties

Name Type Description Required
DisableUniqueEnforcement boolean
Time

Additional Properties: not allowed

jobQueue.riverConf.Workers: object

No properties.

Additional Properties: not allowed

jobQueue.riverConf.WorkerMiddleware: array

Items

redis: object

Properties

Name Type Description Required
enabled boolean
address string
name string
username string
password string
db integer
dialTimeout integer
readTimeout integer
writeTimeout integer
maxRetries integer
minIdleConns integer
maxIdleConns integer
maxActiveConns integer

Additional Properties: not allowed

tracer: object

Properties

Name Type Description Required
enabled boolean
provider string
environment string
stdout object
otlp object

Additional Properties: not allowed

tracer.stdout: object

Properties

Name Type Description Required
pretty boolean
disableTimestamp boolean

Additional Properties: not allowed

tracer.otlp: object

Properties

Name Type Description Required
endpoint string
insecure boolean
certificate string
headers string[]
compression string
timeout integer

Additional Properties: not allowed

tracer.otlp.headers: array

Items

Item Type: string

email: object

Properties

Name Type Description Required
companyName string
companyAddress string
corporation string
fromEmail string
supportEmail string
logoURL string
urls object
templatesPath string

Additional Properties: not allowed

email.urls: object

Properties

Name Type Description Required
root string
product string
docs string
verify string
invite string
reset string
verifySubscriber string

Additional Properties: not allowed

sessions: object

Properties

Name Type Description Required
signingKey string
encryptionKey string
domain string
maxAge integer

Additional Properties: not allowed

totp: object

Properties

Name Type Description Required
enabled boolean
codeLength integer
issuer string
redis boolean
secret string
recoveryCodeCount integer
recoveryCodeLength integer

Additional Properties: not allowed

ratelimit: object

Config defines the configuration settings for the default rate limiter

Properties

Name Type Description Required
enabled boolean
limit number
burst integer
expires integer

Additional Properties: not allowed

objectStorage: object

Properties

Name Type Description Required
enabled boolean Enabled indicates if the store is enabled
provider string Provider is the name of the provider, eg. disk, s3, will default to disk if nothing is set
accessKey string AccessKey is the access key for the storage provider
region string Region is the region for the storage provider
secretKey string SecretKey is the secret key for the storage provider
credentialsJSON string CredentialsJSON is the credentials JSON for the storage provider
defaultBucket string DefaultBucket is the default bucket name for the storage provider, if not set, it will use the default
this is the local path for disk storage or the bucket name for S3
localURL string LocalURL is the URL to use for the "presigned" URL for the file when using local storage
e.g for local development, this can be http://localhost:17608/files/
keys string[]
maxSizeMB integer MaxUploadSizeMB is the maximum size of file uploads to accept in megabytes
maxMemoryMB integer MaxUploadMemoryMB is the maximum memory in megabytes to use when parsing a multipart form

Additional Properties: not allowed

objectStorage.keys: array

Items

Item Type: string

subscription: object

Properties

Name Type Description Required
enabled boolean
publicStripeKey string
privateStripeKey string
stripeWebhookSecret string
trialSubscriptionPriceID string
personalOrgSubscriptionPriceID string
stripeWebhookURL string
stripeBillingPortalSuccessURL string
stripeCancellationReturnURL string
saasPricingTiers array
features array

Additional Properties: not allowed

subscription.saasPricingTiers: array

Items

subscription.features: array

Items