Documentation
¶
Overview ¶
Package config provides the bebop configuration file structure, initialization and reading.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Config ¶
type Config struct {
Address string `hcl:"address" envconfig:"BEBOP_ADDRESS"`
BaseURL string `hcl:"base_url" envconfig:"BEBOP_BASE_URL"`
Title string `hcl:"title" envconfig:"BEBOP_TITLE"`
JWT struct {
Secret string `hcl:"secret" envconfig:"BEBOP_JWT_SECRET"`
} `hcl:"jwt"`
FileStorage struct {
Type string `hcl:"type" envconfig:"BEBOP_FILE_STORAGE_TYPE"`
Local struct {
Dir string `hcl:"dir" envconfig:"BEBOP_FILE_STORAGE_LOCAL_DIR"`
} `hcl:"local"`
GoogleCloudStorage struct {
ServiceAccountFile string `hcl:"service_account_file" envconfig:"BEBOP_FILE_STORAGE_GCS_SERVICE_ACCOUNT_FILE"`
Bucket string `hcl:"bucket" envconfig:"BEBOP_FILE_STORAGE_GCS_BUCKET"`
} `hcl:"google_cloud_storage"`
AmazonS3 struct {
AccessKey string `hcl:"access_key" envconfig:"BEBOP_FILE_STORAGE_S3_ACCESS_KEY"`
SecretKey string `hcl:"secret_key" envconfig:"BEBOP_FILE_STORAGE_S3_SECRET_KEY"`
Region string `hcl:"region" envconfig:"BEBOP_FILE_STORAGE_S3_REGION"`
Bucket string `hcl:"bucket" envconfig:"BEBOP_FILE_STORAGE_S3_BUCKET"`
} `hcl:"amazon_s3"`
} `hcl:"file_storage"`
Store struct {
Type string `hcl:"type" envconfig:"BEBOP_STORE_TYPE"`
PostgreSQL struct {
Address string `hcl:"address" envconfig:"BEBOP_STORE_POSTGRESQL_ADDRESS"`
Username string `hcl:"username" envconfig:"BEBOP_STORE_POSTGRESQL_USERNAME"`
Password string `hcl:"password" envconfig:"BEBOP_STORE_POSTGRESQL_PASSWORD"`
Database string `hcl:"database" envconfig:"BEBOP_STORE_POSTGRESQL_DATABASE"`
SSLMode string `hcl:"sslmode" envconfig:"BEBOP_STORE_POSTGRESQL_SSLMODE"`
SSLRootCert string `hcl:"sslrootcert" envconfig:"BEBOP_STORE_POSTGRESQL_SSLROOTCERT"`
} `hcl:"postgresql"`
MySQL struct {
Address string `hcl:"address" envconfig:"BEBOP_STORE_MYSQL_ADDRESS"`
Username string `hcl:"username" envconfig:"BEBOP_STORE_MYSQL_USERNAME"`
Password string `hcl:"password" envconfig:"BEBOP_STORE_MYSQL_PASSWORD"`
Database string `hcl:"database" envconfig:"BEBOP_STORE_MYSQL_DATABASE"`
} `hcl:"mysql"`
} `hcl:"store"`
OAuth struct {
Google struct {
ClientID string `hcl:"client_id" envconfig:"BEBOP_OAUTH_GOOGLE_CLIENT_ID"`
Secret string `hcl:"secret" envconfig:"BEBOP_OAUTH_GOOGLE_SECRET"`
} `hcl:"google"`
Facebook struct {
ClientID string `hcl:"client_id" envconfig:"BEBOP_OAUTH_FACEBOOK_CLIENT_ID"`
Secret string `hcl:"secret" envconfig:"BEBOP_OAUTH_FACEBOOK_SECRET"`
} `hcl:"facebook"`
Github struct {
ClientID string `hcl:"client_id" envconfig:"BEBOP_OAUTH_GITHUB_CLIENT_ID"`
Secret string `hcl:"secret" envconfig:"BEBOP_OAUTH_GITHUB_SECRET"`
} `hcl:"github"`
} `hcl:"oauth"`
}
Config is a bebop configuration struct.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package api provides an HTTP handler that handles the bebop REST API requests.
|
Package api provides an HTTP handler that handles the bebop REST API requests. |
|
Package avatar provides a service that manages bebop user avatars.
|
Package avatar provides a service that manages bebop user avatars. |
|
cmd
|
|
|
bebop
command
Bebop is a simple discussion board / forum web application.
|
Bebop is a simple discussion board / forum web application. |
|
Package config provides the bebop configuration file structure, initialization and reading.
|
Package config provides the bebop configuration file structure, initialization and reading. |
|
Package filestorage provides a file storage service that manages public web app files e.g.
|
Package filestorage provides a file storage service that manages public web app files e.g. |
|
Package jwt provides a service to create and verify JWT auth tokens for the bebop web app.
|
Package jwt provides a service to create and verify JWT auth tokens for the bebop web app. |
|
Package oauth provides an HTTP handler to handle OAuth2 redirect and callback requests for the bebop web app.
|
Package oauth provides an HTTP handler to handle OAuth2 redirect and callback requests for the bebop web app. |
|
Package static provides http handlers for serving static files from the embedded filesystem or from a local directory.
|
Package static provides http handlers for serving static files from the embedded filesystem or from a local directory. |
|
Package store provides a bebop data store interface.
|
Package store provides a bebop data store interface. |
|
mysql
Package mysql provides a MySQL implementation of the bebop data store interface.
|
Package mysql provides a MySQL implementation of the bebop data store interface. |
|
postgresql
Package postgresql provides a PostgreSQL implementation of the bebop data store interface.
|
Package postgresql provides a PostgreSQL implementation of the bebop data store interface. |
Click to show internal directories.
Click to hide internal directories.

