Prototyping Framework for Cloud Products
- infra - Infrastructure (docker,kubernetes)
- skel-http - HTTP Service (+ Kubernetes)
- skel-auth - Authentication/Authorization (IDP for Web3)
- skel-user - UserProfile Service reference
- skel-notify - Notification Service
- skel-enroll - Registration Flow
- skel-syslog - Auditlog service (Cloud syslog)
- skel-kafka - Kafka Processors (Source/Sink)
- skel-ingest - Data Ingestion with Prometheus telemerty reference
- skel-telemetry - TimeSeries Service + Prometheus/InfluxDB/Graphite/Loki/Grafana infra
- skel-db - DB Related stuff
- skel-otp - OTP Service reference service
- skel-test - Test helpers
- skel-crypto - Cryptography and Ethereum utilities
- skel-spark - Spark tools
- skel-datalake - Datalake and Warehouses (+ Notebooks)
- skel-flow - Streaming DataFlows (Workflows -> skel-wf)
- skel-scrap - Scraping pipelines
- skel-cli - Shell command line client
- skel-cron - Cron engine
- skel-serde - Serializers
- skel-video - Movie Metadata processors
- skel-stream - Akka Steams
- skel-pdf - PDF Utils
- skel-tag - Tags searchable service (e.g. labels, tags)
- skel-wf - Workflow Engine (long running jobs/tasks with complex steps)
- skel-odometer - Counters Datastore
- skel-plugin - Experiments with plugins
sbt -mem 2000
or
sbt -J-Xmx2G
or
# Jvm11
export SBT_OPTS="-XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=2G -Xmx2G -Xms2G"
# Jvm21
export SBT_OPTS="-Xmx2G -Xms2G"
Go to skel-http for Building and Running generic skel component.
Refer to specific demo for running Kubernetes Deployments or Docker-Compose topologies
- https://github.com/syspulse/skel-demo for demo projlets
- Akka: https://akka.io/
- Akka-HTTP https://doc.akka.io/docs/akka-http/current/index.html
- Akka-Streams
- Metrics (Prometheus): https://github.com/RustedBones/akka-http-metrics
- OpenAPI (Swagger): https://github.com/swagger-akka-http/swagger-akka-http
- UUID: https://github.com/melezov/scala-uuid
- Args: https://github.com/scopt/scopt
- Configuration: https://github.com/lightbend/config
- Logging: http://logback.qos.ch
- JDBC: Quill https://getquill.io
- Kafka: Alpakka https://github.com/akka/alpakka
- InfluxDB Stream: Alpakka https://github.com/akka/alpakka
- InfluxDB Java Client: https://github.com/influxdata/influxdb-client-java
- Geohash: https://github.com/davidallsopp/geohash-scala
- Quartz: http://www.quartz-scheduler.org
- Web3: https://github.com/web3j/web3j
- BLS: https://github.com/ConsenSys/teku
- elastic4s: [https://github.com/sksamuel/elastic4s]
- akka-quartz-scheduler: [https://github.com/enragedginger/akka-quartz-scheduler]
Other libraries are referenced in corresponding modules