pkg/

directory
v0.0.0-...-b9b5e9f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 16, 2024 License: Apache-2.0

README

Core Server

Core is composed of multiple backend servers.

login           Server that handles user login and identity federation 
forms-api       Handles form definitions and records
authnz-bouncer  Authorizes requests
authnz-api      Manages organizations, identity providers, OAuth2 clients

The servers can all be run simultaneously, using a single command

core serve all

Or ran separately

core serve forms-api
core serve authnz-api
core serve authnz-bouncer
core serve login

Configuration

Core must be configured using a configuration file

core serve forms-api --config=my-config-file.yaml,my-other-config.yaml
Configuration options
serve:
  
  # forms api server options
  forms_api:
  	
  	# listener host
  	host: 0.0.0.0
  	
  	# listener port
  	port: 8888
  	
  	# cors options
  	cors:
  	  
  	  # enable/disable cors
  	  enabled: false
  	  
  	  # cors allowed origins
  	  allowed_origins: []
  	  
  	  # cors allowed methods
  	  allowed_methods: []
  	  
  	  # cors allowed headers
  	  allowed_headers: []
  	  
  	  # cors exposed headers
  	  exposed_headers: []  
  	  
  	  # cors allow credentials	  
  	  allow_credentials: false
  	  
  	  # cors passthrough options requests
  	  options_passthrough: false
  	  
  	  # cors max age
  	  max_age: 0
  	  
  	  # debug cors requests
  	  debug: false
  	  
  	# tls options
  	tls:
  	
  	  # enables/disables TLS
  	  enabled: false
  	  cert:
  	  
  	    # path to the TLS cert
  	    path: /cert.pem  	 
  	      
  	  key:
  	  
  	  	# path to the TLS key
  	    path: /key.pem  	    
  	 
  	
  # authnz api server options
  authnz_api: 
  
  	# listener host
  	host: 0.0.0.0
  	
  	# listener port
  	port: 8888
  	
  	# cors options
  	cors:
  	  
  	  # enable/disable cors
  	  enabled: false
  	  
  	  # cors allowed origins
  	  allowed_origins: []
  	  
  	  # cors allowed methods
  	  allowed_methods: []
  	  
  	  # cors allowed headers
  	  allowed_headers: []
  	  
  	  # cors exposed headers
  	  exposed_headers: []  
  	  
  	  # cors allow credentials	  
  	  allow_credentials: false
  	  
  	  # cors passthrough options requests
  	  options_passthrough: false
  	  
  	  # cors max age
  	  max_age: 0
  	  
  	  # debug cors requests
  	  debug: false
  	  
  	# tls options
  	tls:
  	
  	  # enables/disables TLS
  	  enabled: false
  	  cert:
  	  
  	    # path to the TLS cert
  	    path: /cert.pem  	 
  	      
  	  key:
  	  
  	  	# path to the TLS key
  	    path: /key.pem  	     
  	 
  # login server options
  login:
    	
  	# listener host
  	host: 0.0.0.0
  	
  	# listener port
  	port: 8888
  	
  	# cors options
  	cors:
  	  
  	  # enable/disable cors
  	  enabled: false
  	  
  	  # cors allowed origins
  	  allowed_origins: []
  	  
  	  # cors allowed methods
  	  allowed_methods: []
  	  
  	  # cors allowed headers
  	  allowed_headers: []
  	  
  	  # cors exposed headers
  	  exposed_headers: []  
  	  
  	  # cors allow credentials	  
  	  allow_credentials: false
  	  
  	  # cors passthrough options requests
  	  options_passthrough: false
  	  
  	  # cors max age
  	  max_age: 0
  	  
  	  # debug cors requests
  	  debug: false
  	  
  	# tls options
  	tls:
  	
  	  # enables/disables TLS
  	  enabled: false
  	  cert:
  	  
  	    # path to the TLS cert
  	    path: /cert.pem  	 
  	      
  	  key:
  	  
  	  	# path to the TLS key
  	    path: /key.pem  	 	    
  	   	 
  # authnz_bouncer server options
  authnz_bouncer:
 
  	# listener host
  	host: 0.0.0.0
  	
  	# listener port
  	port: 8888
  	
  	# cors options
  	cors:  	
  	
  	  # enable/disable cors
  	  enabled: false
  	  
  	  # cors allowed origins
  	  allowed_origins: []
  	  
  	  # cors allowed methods
  	  allowed_methods: []
  	  
  	  # cors allowed headers
  	  allowed_headers: []
  	  
  	  # cors exposed headers
  	  exposed_headers: []  
  	  
  	  # cors allow credentials	  
  	  allow_credentials: false
  	  
  	  # cors passthrough options requests
  	  options_passthrough: false
  	  
  	  # cors max age
  	  max_age: 0
  	  
  	  # debug cors requests
  	  debug: false
  	  
  	# tls options
  	tls:
  	
  	  # enables/disables TLS
  	  enabled: false
  	  cert:
  	  
  	    # path to the TLS cert
  	    path: /cert.pem  	 
  	      
  	  key:
  	  
  	  	# path to the TLS key
  	    path: /key.pem  	     
  	 
  	

# Database connection string
# Additional query parameters can be passed to configure the database connection
#
# max_open_conns=10 set the sql.DB max open connections
# max_idle_conns=10 set the sql.DB max idle connections
# conn_max_idle_time=10 set the sql.DB connection max idle time (seconds)
# conn_max_lifetime=10 set the sql.DB connection max lifetime (seconds)
#
dsn: postgres://user:password@localhost:5432/dbname?sslmode=disable

# Logging configuration
log:
  level: info
  
hydra:
  
  # Hydra Admin endpoint configuration
  admin:  
    schemes: [http]
    host: hydra-host.com
    base_path: /my/custom/hydra/path
    
  # Hydra public endpoint configuration
  public: 
    schemes: [http]
    host: hydra-host.com
    base_path: /my/custom/hydra/path

Directories

Path Synopsis
api
server
formsapi/tests
Package tests This file is needed, otherwise this package is a test-only directory And we cannot run go test -coverpkg=all because of some go sheanigans
Package tests This file is needed, otherwise this package is a test-only directory And we cannot run go test -coverpkg=all because of some go sheanigans
sql

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL