Skip to content

ignitialio/utils-service

Repository files navigation

utils: Ignitial.io service

Utilities service providing basic features mainly provided by external libraries:

  • mailing
  • parser/encoders
  • encrypting
  • algorithms
  • etc.

WIP !

Screenshot

Work with the repository

The following npm run targets are available:

  • client:serve: serves client source code through webpack dev server
  • client:build: builds service client source code (using webpack)
  • server:start: starts service server side
  • dev:standalone: runs service without Docker container
  • dev:start: starts development containers, including IIOS application for intergrated testing
  • dev:hr:start: starts development containers with sort of hot reaload
  • dev:hr:reload: used for restarting container on reload trig: do not use it directly
  • dev:stop: stops and cleans up development deployment
  • prod:start: starts production service container
  • prod:stop: stops and cleans up production service container
  • docker:build:minikub: buils Docker image directly inside minikube environment (minikube must be installed and started)
  • docker:publish:private: publishes Docker image to an eventually private Docker registry (registry.ignitial.io is private: you must change this, unless we gave you an access to it)
  • docker:publish:public: publishes Docker image to Docker Hub registry (ignitial/ means that this uses ignitial: you must change this, unless we gave you an access to it)
  • docker:publish:minikube: publishes Docker image to local minikube (copy existing image instead of building it)

Develop

Add server files in the server folder and client ones in src.

You can add any dependency thanks to npm. The only constraint is to have dependencies that work with webpack, if used client side.

You can run development environment as below:

# only first time, or changes for server part, since client volume is mounted
# based on local folder
npm run docker:build

npm run dev:start:full

# then stop it and remove related containers
npm run dev:stop:full

You can use hot reload for client side as below:

npm run dev:start:hr

# then stop it and remove related containers
# ^CTRL-C
npm run dev:stop:full

Known issues

  • Hot reload needs a delay when restarting container: service discovery inverts destroy and create message if no delay: hot reload needs more than 2 seconds to operate (~5s on core i7)

About

Utilities IIO service

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published