Service | Description | Language/Framework | Docs |
---|---|---|---|
landing | Welcome page | JS/JQuery | |
docs | Example blog | Hugo | https://batazor.github.io/shortlink/ |
next | UI service | JS/NextJS | docs |
api | GateWay | Go | docs |
link | Link service | Go | docs |
proxy | Proxy service for redirect to original URL | TypeScript | |
bot | Telegram bot | JAVA | |
billing | Billing service | Go | |
logger | Logger service | Go | |
metadata | Parser site by API | Go | |
notify | Send notify to smtp, slack, telegram | Go | |
shortctl | Shortlink CLI | Go | docs |
csi | CSI example | Go | |
ory/kratos | User management service | Go | docs |
ory/hydra | OAuth 2.0 Provider | Go | docs |
DETAILS
git submodule update --init --recursive
make run
make down
make minikube-up
make helm-shortlink-up
make minikube-down
Skaffold (link)
make skaffold-init
make skaffold-up
make skaffold-down
make skaffold-debug
- Import Postman link for test HTTP API
- Swagger docs
- HTTP (chi)
- gRPC-gateway
- GraphQL
- Optional
- go-kit
- CloudEvents
- Development
- Skaffold
- Telepresence
- Logger
- Loki
- DataDog
- Prometheus
- prometheus-operator
- notify: slack, email, telegram
- prometheus-operator
- HealthCheck
- Support K8S
- Helm Chart
- Minikube
- Backup/Restore (Velero)
- Custom CSI driver (fork csi-driver-host-pat)
- Istio
- MetalLB
- kyverno - Kubernetes Native Policy Management
- DataBase
- Traefik
- Nginx
Use .env
file in ui/[next/etc]
directories for setting your UI
Name | Default | Description |
---|---|---|
NODE_ENV | - | Select: production, development, etc... |
SENTRY_DSN | - | Your sentry DSN |
Hello World
on flutter ;-)
Service | Ip address | Description |
---|---|---|
store | 10.5.0.100 | Main database (postgres/mongo/cassandra/redis) |
Sometimes a container without a specified ip may occupy a binding
address of another service, which will result in Address already in use
.
DETAILS
cd ops/vagrant
vagrant up
cd ops/ansible
ansible-playbook playbooks/playbook.yml
ui-next.shortlink.vagrant:8081