sgammon/GUST

View on GitHub
samples/todolist/src/application.yml

Summary

Maintainability
Test Coverage
##
# Copyright © 2020, The Gust Framework Authors. All rights reserved.
#
# The Gust/Elide framework and tools, and all associated source or object computer code, except where otherwise noted,
# are licensed under the Zero Prosperity license, which is enclosed in this repository, in the file LICENSE.txt. Use of
# this code in object or source form requires and implies consent and agreement to that license in principle and
# practice. Source or object code not listing this header, or unless specified otherwise, remain the property of
# Elide LLC and its suppliers, if any. The intellectual and technical concepts contained herein are proprietary to
# Elide LLC and its suppliers and may be covered by U.S. and Foreign Patents, or patents in process, and are protected
# by trade secret and copyright law. Dissemination of this information, or reproduction of this material, in any form,
# is strictly forbidden except in adherence with assigned license requirements.
##

gust:
  serving:
    language: en-US

    etags:
      enabled: yes
      strong: on
      match: on

    vary:
      enabled: yes
      accept: on
      charset: off
      encoding: on
      language: off
      origin: off

    additionalHeaders:
      X-Content-Type-Options: nosniff

  assets:
    etags: on
    lastModified: on
    noSniff: on

    cdn:
      enabled: no
      hostnames:
        - 1.cdn.todo.elide.deliver
        - 2.cdn.todo.elide.deliver

    vary:
      enabled: yes
      accept: yes
      language: no
      charset: no
      origin: no

    compression:
      enabled: yes
      vary: on
      modes:
        - GZIP
        - BROTLI

    caching:
      enabled: no
      mode: public
      shared: true
      additionalDirectives:
        - immutable

micronaut:
  application:
    name: Todolist

  server:
    server-header: K9v6
    maxRequestSize: 10MB
    host: 0.0.0.0
    port: 8080

    cors:
      enabled: false

    netty:
      maxHeaderSize: 500KB
      chunked-supported: true
      use-native-transport: true
      compression-level: 2
      compression-threshold: 1024
      parent:
        threads: 4
      worker:
        threads: 4
      epoll:
        options:
          tcpFastopen: 128
          tcpQuickack: true
      childOptions:
        soKeepalive: true

  validator:
    enabled: true

  session:
    enabled: true
    http:
      cookie: true
      header: false
      redis:
        enabled: true
        cookie: true
        header: true
        namespace: 'todolist:sessions'
        write-mode: BACKGROUND
        enable-keyspace-events: true
        valueSerializer: io.micronaut.jackson.serialize.JacksonObjectSerializer

  security:
    enabled: true
    session:
      enabled: true
      login-success-target-url: /app
      login-failure-target-url: /login
      unauthorized-target-url: /login
      logout-target-url: /logout
      legacy-rejection-handler: false
    endpoints:
      login:
        enabled: true
        path: /login/go
      logout:
        enabled: true
        get-allowed: true
        path: /logout

  views:
    soy:
      enabled: true
      engine: sauce
      renaming: false

    csp:
      enabled: true
      generateNonce: true
      reportOnly: false
      policyDirectives: "default-src 'self' https:; font-src data: https://fonts.gstatic.com; script-src-elem 'self' https://static.cloudflareinsights.com 'nonce-{#nonceValue}';"

  executors:
    io:
      type: fixed
      nThreads: 4

  config-client:
    enabled: true

grpc:
  server:
    port: 8083
    keep-alive-time: 1h

  client:
    plaintext: true
    max-retry-attempts: 10

graphql:
  enabled: true
  path: /_/graph
  graphiql:
    enabled: false
    version: 0.13.2
    path: /_/admin/graphiql
    page-title: "Dashboard - GraphiQL"

kubernetes:
  client:
    discovery:
      enabled: true
    config-maps:
      enabled: true
    secrets:
      enabled: true

redis:
  uri: redis://fcache
  caches:
    todolist:
      expire-after-access: 4h

endpoints:
  beans:
    enabled: true
    sensitive: false
  info:
    enabled: true
    sensitive: false

tracing:
  zipkin:
    enabled: true
    sampler: probability=1.0

gcp:
  project-id: elide-ai
  tracing:
    enabled: true