package
0.5.4
Repository: https://github.com/chesscomputing/golib.git
Documentation: pkg.go.dev

# README

Configuration module

The configuration module for FOXDEN/CHESS services.

Client configuration

In order to run FOXDEN/CHESS client you should have the following configuration in your $HOME/.foxden.yaml file or supply your file to the client --config option:

Services:
  FrontendUrl: https://foxden.url
  DiscoveryUrl: https://foxden-discover.url
  DataManagementUrl: https://foxden-s3.url
  DataBookkeepingUrl: https://foxden-dbs.url
  MetaDataUrl: https://foxden-meta.url
  AuthzUrl: https://foxden-authz.url

Please note, you may change the above example according to FOXDEN setup, e.g. change urls or provide additional port to FOXDEN services.

Server configuration

The server configuration is more complex and defined according to config.go implementation. Here is an example of FOXDEN local setup:

Services:
  FrontendUrl: http://localhost:8344
  DiscoveryUrl: http://localhost:8320
  DataManagementUrl: http://localhost:8340
  DataBookkeepingUrl: http://localhost:8310
  MetaDataUrl: http://localhost:8300
  AuthzUrl: http://localhost:8380
CHESSMetaData:
  SchemaFiles:
    - "schemas/lite.json"
    - "schemas/ID4B.json"
    - "schemas/ID3A.json"
    - "schemas/ID1A3.json"
  SchemaSections: ["User", "Alignment", "DataLocations", "Beam", "Experiment", "Sample"]
  WebSectionKeys:
    User: ["Facility", "Cycle", "PI", "BTR", "Experimenters", "Beamline", "StaffScientist", "BeamlineFundingPartner"]
    Alignment: []
    DataLocations: ["DataLocationRaw", "DataLocationMeta", "DataLocationReduced", "DataLocationScratch", "DataLocationBeamtimeNotes"]
    Beam: ["CESRCondtions"]
    Experiment: ["Detectors","ExperimentType","Technique"]
    Sample: ["SampleType","SampleName","Calibration"] 
  MongoDB:
    DBUri: mongodb://localhost:8230
    DBName: chess
    DBColl: meta
  WebServer:
    Port: 8300
    Verbose: 1
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
Kerberos:
  Krb5Conf:  /etc/krb5.conf
  Realm: CLASSE.CORNELL.EDU
Authz:
  DBUri: ./auth.db
  ClientId: xxx
  ClientSecret: xyz
  WebServer:
    Port: 8380
    Verbose: 1
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
DataBookkeeping:
  ApiParametersFile: /Users/vk/Work/CHESS/FOXDEN/DataBookkeeping/static/parameters.json
  DBFile: /Users/vk/Work/CHESS/FOXDEN/DataBookkeeping/dbfile
  LexiconFile: /Users/vk/Work/CHESS/FOXDEN/DataBookkeeping/static/lexicon_reader.json
  WebServer:
    Port: 8310
    StaticDir: /Users/vk/Work/CHESS/FOXDEN/DataBookkeeping/static
    Verbose: 1
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
DataManagement:
  WebServer:
    Port: 8340
    Verbose: 1
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
Discovery:
  MongoDB:
    DBUri: mongodb://localhost:8230
    DBName: chess
    DBColl: meta
  WebServer:
    Port: 8320
    Verbose: 2
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
Encryption:
  Cipher: aes
  Secret: bla
Frontend:
  WebServer:
    Port: 8344
    StaticDir: Static
    Verbose: 1
    LogLongFile: true
    GinOptions:
      DisableConsoleColor: true
      Production: true
  OAuth:
    -
      Provider: github
      ClientID: clientid
      ClientSecret: secret
    -
      Provider: google
      ClientID: cleintid
      ClientSecret: secret
      RedirectURL: http://localhost:8344/google/callback

# Functions

No description provided by the author
No description provided by the author
No description provided by the author

# Variables

Config represnets configuration instance.

# Structs

Authz represents authz service configuration.
CHESSMetaData represents CHESS MetaData configuration.
DataBookkeeping represents data-bookkeeping service configuration.
DataManagement represents data-management service configuration.
DID structure.
Discovery represents discovery service configuration.
DOI attributes.
Embed structure.
Encryption represents encryption configuration parameters.
Frontend stores frontend configuration parameters.
GinOptions controls go-gin specific options.
Globug represents globus information.
Kerberos defines kerberos optinos.
LDAP attributes.
MaterialCommons represents MaterialCommons service configuration.
MetaData represents metadata service configuration.
ML defines ML configuration options.
MLAPI defines ML API structure.
MLBackend represents ML backend engine.
MLHub represents ML service configuration.
MongoDB represents MongoDB parameters.
OAuthRecord defines OAuth provider's credentials.
OreCastMetaData represents OreCast MetaData configuration.
Publication represents Publication service configuration.
QL structure.
S3 defines s3 structure.
Services represents services structure.
SpecScans represents SpecScansService configuration.
SrvConfig represents configuration structure.
TrustedUser represents single trusted user information.
WebServer represents common web server configuration.
Zenodo represents Zenodo service configuration.