go-fruits-api

command module
v0.0.0-...-98ece37 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2022 License: Apache-2.0 Imports: 19 Imported by: 0

README

Fruits API

A simple Fruits REST API built in golang using Labstack's Echo.

  • For RDBMS(PostgreSQL,MySQL/MariaDB) demo use the main branch
  • NoSQL(MongoDB) please switch to mongodb branch.

Pre-requisites

Environment Setup

Copy the .env.example to .env and update the following variables to suit your settings.

  • PLUGIN_REGISTRY - the docker registry to use
  • PLUGIN_TAG - the tag to push the image to docker registry
  • PLUGIN_REPO - the docker registry repository
  • PLUGIN_USERNAME - the docker Registry username
  • PLUGIN_PASSWORD - the docker registry password
Backend Database to use
  • FRUITS_DB_TYPE - the database to use with fruits api, defaults: sqlite
Postgresql DB Settings
  • POSTGRES_HOST - the postgresql host usually the docker or kubernetes service name e.g. postgresql
  • POSTGRES_PORT - the postgresql port e.g. 5432
  • POSTGRES_USER - the postgresql user e.g. demo
  • POSTGRES_PASSWORD - the postgresql password e.g pa55Word!
  • POSTGRES_DB - the postgresql database to use e.g demodb
MariaDB/MySQL Settings
  • MYSQL_HOST - the MySQL host usually the docker or kubernetes service name e.g.mysql
  • MYSQL_PORT - the MySQL port e.g. 3306
  • MYSQL_ROOT_PASSWORD - the MySQL root password superS3cret!
  • MYSQL_PASSWORD - the MySQL password pa55Word!
  • MYSQL_USER - the MySQL user e.g demo
  • MYSQL_DATABASE - the MySQL database to use e.g demodb
SQLite
  • FRUITS_DB_FILE - the default database file to use.

NOTE:

  • Most of the above database settings comes from how you setup the datbase. Please update accordingly
  • If you use FRUITS_DB_FILE to use for testing.

Build the Application

Set the FRUIT_DB_TYPE to pgsql or mysql to run tests against those databases. As by default all the tests are performed against SQLite.

drone exec --trusted --env-file=.env

The command will test, build and push the container image to the $PLUGIN_REPO:$PLUGIN_TAG.

Run Application

Locally
docker-compose up

Testing

The application provides a Swagger UI that can be used to used to play with the API.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
Package docs GENERATED BY SWAG; DO NOT EDIT This file was generated by swaggo/swag
pkg
db

Jump to

Keyboard shortcuts

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