Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 73 additions & 47 deletions .env.example
Original file line number Diff line number Diff line change
@@ -1,74 +1,100 @@
# Environment
ENV="dev"

# RabbitMQ
RABBITMQ_DEFAULT_USER="__RABBITMQ_DEFAULT_USER__"
RABBITMQ_DEFAULT_PASS="__RABBITMQ_DEFAULT_PASS__"
RABBITMQ_DEFAULT_USER=
RABBITMQ_DEFAULT_PASS=

# Authentication JWT
JWT_PRIVATE_KEY="__JWT_PRIVATE_KEY__"
JWT_PUBLIC_KEY="__JWT_PUBLIC_KEY__"
JWT_PRIVATE_KEY=
JWT_PUBLIC_KEY=

# Google OAuth
GOOGLE_CALLBACK_URL="__GOOGLE_CALLBACK_URL__"
GOOGLE_CLIENT_ID="__GOOGLE_CLIENT_ID__"
GOOGLE_CLIENT_SECRET="__GOOGLE_CLIENT_SECRET__"
GOOGLE_CALLBACK_URL=
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=

# Apple OAuth
APPLE_CLIENT_ID="__APPLE_CLIENT_ID__"
APPLE_CLIENT_SECRET="__APPLE_CLIENT_SECRET__"
APPLE_CLIENT_KEY="__APPLE_CLIENT_KEY__"
APPLE_CERTIFICATE_KEY="__APPLE_CERTIFICATE_KEY__"
APPLE_CLIENT_ID=
APPLE_CLIENT_SECRET=
APPLE_CLIENT_KEY=
APPLE_CERTIFICATE_KEY=

# Auth Service
AUTH_POSTGRES_PASSWORD="__AUTH_POSTGRES_PASSWORD__"
AUTH_SECRET_KEY="__AUTH_SECRET_KEY__"
DEFAULT_TENANT_HOST="__DEFAULT_TENANT_HOST__"
ROOT_API_KEY="__ROOT_API_KEY__"
AUTH_POSTGRES_PASSWORD=
AUTH_SECRET_KEY=
DEFAULT_TENANT_HOST="localhost"
ROOT_API_KEY=

# S3 Service
AWS_ACCESS_KEY_ID="__AWS_ACCESS_KEY_ID__"
AWS_SECRET_ACCESS_KEY="__AWS_SECRET_ACCESS_KEY__"
AWS_STORAGE_BUCKET_NAME="spacedf-s3-1f841081-c8e98ef7bb21"
AWS_REGION="__AWS_REGION__"
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_STORAGE_BUCKET_NAME=
AWS_REGION="us-east-1"

# Redis Service
REDIS_HOST="__REDIS_HOST__"
REDIS_HOST=

# Dashboard Service
DASHBOARD_POSTGRES_PASSWORD="__DASHBOARD_POSTGRES_PASSWORD__"
DASHBOARD_SECRET_KEY="__DASHBOARD_SECRET_KEY__"
DASHBOARD_POSTGRES_PASSWORD=
DASHBOARD_SECRET_KEY=

# Device Service
DEVICE_POSTGRES_PASSWORD="__DEVICE_POSTGRES_PASSWORD__"
DEVICE_SECRET_KEY="__DEVICE_SECRET_KEY__"
TELEMETRY_SERVICE_URL="__TELEMETRY_SERVICE_URL__"
DEVICE_POSTGRES_PASSWORD=
DEVICE_SECRET_KEY=
TELEMETRY_SERVICE_URL="http://telemetry:8080"

# EMQX Service
EMQX_USERNAME="__EMQX_USERNAME__"
EMQX_PASSWORD="__EMQX_PASSWORD__"
EMQX_HOST="http://emqx:18083/api/v5"
EMQX_USERNAME=
EMQX_PASSWORD=

# Broker Bridge Service
MQTT_BROKER_BRIDGE_USERNAME="__MQTT_BROKER_BRIDGE_USERNAME__"
MQTT_BROKER_BRIDGE_PASSWORD="__MQTT_BROKER_BRIDGE_PASSWORD__"
MQTT_TOPICS="__MQTT_TOPICS__"
MQTT_BROKER_BRIDGE_USERNAME="BrokerBridgeService"
MQTT_BROKER_BRIDGE_PASSWORD=
MQTT_TOPICS="tenant/+/transformed/device/location"

# Acount AWS to access to SES service
EMAIL_BACKEND="__EMAIL_BACKEND__"
EMQX_HOST="__EMQX_HOST__"
EMAIL_PORT="__EMAIL_PORT__"
EMAIL_USE_TLS="__EMAIL_USE_TLS__"
EMAIL_HOST_USER="__EMAIL_HOST_USER__"
EMAIL_HOST_PASSWORD="__EMAIL_HOST_PASSWORD__"
DEFAULT_FROM_EMAIL="__DEFAULT_FROM_EMAIL__"
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
DEFAULT_FROM_EMAIL="no-reply@gmail.com"
EMAIL_BACKEND=
EMAIL_PORT=
EMAIL_USE_TLS=

# MPA service
MQTT_BROKER="__MQTT_BROKER__"
MQTT_USERNAME="__MQTT_USERNAME__"
MQTT_PASSWORD="__MQTT_USERNAME__"
MQTT_PORT="__MQTT_PORT__"
MQTT_CLIENT_ID="__MQTT_CLIENT_ID__"
MQTT_TOPIC="__MQTT_TOPIC__"
MQTT_BROKER="emqx"
MQTT_USERNAME="MPAService"
MQTT_PASSWORD=
MQTT_PORT="1883"
MQTT_CLIENT_ID="mpa-service-mqtt-bridge"
MQTT_TOPIC="tenant/{tenant}/device/data"

# Bootstrap service
HOST="http://localhost:8000"
BOOTSTRAP_POSTGRES_PASSWORD=
CORS_ALLOWED_ORIGINS="http://localhost,http://localhost:3000,http://localhost:3001"
BOOTSTRAP_SECRET_KEY=

# Organization initialization
ORG_NAME="__ORG_NAME__"
ORG_SLUG="__ORG_SLUG__"
OWNER_EMAIL="__OWNER_EMAIL__"
OWNER_PASSWORD="__OWNER_PASSWORD__"
ORG_NAME=
ORG_SLUG=
OWNER_EMAIL=
OWNER_PASSWORD=

# NextAuth configuration
PORTAL_NEXTAUTH_SECRET=
HOST_FRONTEND_ADMIN="http://localhost:3001"
PORTAL_NEXTAUTH_URL="http://localhost:3001"
PORTAL_AUTH_API="http://haproxy:3000"

#This is the random key for nextauth - generate here: https://generate-secret.vercel.app/32
DASHBOARD_NEXTAUTH_SECRET=
MAPTILER_API_KEY="H3MD3Z1wmzMsKpuVstcr"
DASHBOARD_MQTT_USERNAME=
DASHBOARD_MQTT_PASSWORD=
DASHBOARD_MQTT_PROTOCOL="ws"
DASHBOARD_MQTT_PORT="8883"
DASHBOARD_MQTT_BROKER="emqx.localhost:8000"
DASHBOARD_NEXTAUTH_URL="http://localhost:3000"
ASHBOARD_AUTH_API="http://haproxy:3000"
4 changes: 0 additions & 4 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,6 @@
path = django-common-utils
url = git@github.com:Space-DF/django-common-utils.git
branch = dev
[submodule "haproxy"]
path = haproxy
url = git@github.com:Space-DF/haproxy.git
branch = dev
[submodule "transformer-service"]
path = transformer-service
url = git@github.com:Space-DF/transformer-service.git
Expand Down
67 changes: 67 additions & 0 deletions CLA.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Contributor License Agreement (CLA)

**Version 1.0**

This Contributor License Agreement (“**Agreement**”) is entered into by **you** (“**Contributor**”) and **Digital Fortress** (“**Company**”) regarding your contributions to the **SpaceDF** project (“**Project**”).

By submitting any Contribution to the Project, you agree to the following terms:

## 1. Definitions

- **“Contribution”** means any source code, documentation, design, or other material submitted by you to the Project.
- **“Submit”** means any form of electronic, written, or verbal communication intended to be included in the Project, including but not limited to pull requests, patches, issues, or comments.

## 2. Copyright Ownership

- You retain ownership of the copyright in your Contributions.
- Nothing in this Agreement transfers ownership of your intellectual property to the Company.

## 3. License Grant

You grant **Digital Fortress** a **perpetual, worldwide, non-exclusive, royalty-free, and irrevocable license** to:

- Use
- Modify
- Distribute
- Re-license
- Sublicense
- Commercialize

your Contributions as part of the Project or in any related products or services.

This includes, but is not limited to, use in **proprietary**, **SaaS**, and **enterprise** offerings.

## 4. Patent Grant

You grant Digital Fortress a **perpetual, worldwide, royalty-free license** to any patent claims you own that are necessarily infringed by your Contributions.

## 5. Representations

You represent and warrant that:

- You have the legal right to submit the Contributions.
- The Contributions do not violate or infringe upon any third-party rights.
- If your employer or organization has intellectual property policies, you have obtained all necessary permissions to make the Contributions.

## 6. No Obligation

The Company is **not obligated** to:

- Accept your Contributions.
- Provide any form of compensation.
- Include your Contributions in any release or distribution.

## 7. Public Attribution

The Company **may**, but is not required to, publicly acknowledge or attribute your Contributions.

## 8. License Compatibility

- Your Contributions will be licensed to users under the Project’s open-source license (e.g., **Apache License 2.0**).
- This Agreement governs only the relationship between you and the Company and does not modify the Project’s open-source license.

## 9. Governing Law

This Agreement shall be governed by and construed in accordance with the laws of **Vietnam**.

By submitting a Contribution, you confirm that you have read, understood, and agree to the terms of this Agreement.
Loading