mirror of
https://github.com/fleetbase/fleetbase.git
synced 2026-01-06 06:15:51 +00:00
Compare commits
14 Commits
feature/aw
...
v0.7.10
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f8fd9f76fa | ||
|
|
67aa793537 | ||
|
|
5d0ae16cfd | ||
|
|
1d003ee31e | ||
|
|
9c9f3a994e | ||
|
|
b0ae302e81 | ||
|
|
205fcf1480 | ||
|
|
23bf7c5ac8 | ||
|
|
ada7e0df92 | ||
|
|
f3bc42ace5 | ||
|
|
b91cbed080 | ||
|
|
9870b11a71 | ||
|
|
db3bf46a02 | ||
|
|
030ec2494d |
60
.github/workflows/cd.yml
vendored
60
.github/workflows/cd.yml
vendored
@@ -58,6 +58,43 @@ jobs:
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
|
||||
- name: Resolve ECS Targets
|
||||
run: |
|
||||
set -euo pipefail
|
||||
|
||||
# Detect naming scheme by checking if new cluster exists
|
||||
NEW_CLUSTER="${PROJECT}-${STACK}-cluster"
|
||||
if aws ecs describe-clusters --region "${AWS_REGION}" --clusters "${NEW_CLUSTER}" \
|
||||
--query "clusters[?status=='ACTIVE'].clusterArn" --output text 2>/dev/null | grep -q .; then
|
||||
# New scheme: use cluster suffix and service prefixes
|
||||
CLUSTER="${NEW_CLUSTER}"
|
||||
SERVICE_PREFIX="${PROJECT}-${STACK}-"
|
||||
SERVICE_BASE="api"
|
||||
else
|
||||
# Legacy scheme: no suffixes/prefixes
|
||||
CLUSTER="${PROJECT}-${STACK}"
|
||||
SERVICE_PREFIX=""
|
||||
SERVICE_BASE="app"
|
||||
fi
|
||||
|
||||
# Build service names
|
||||
API_SERVICE="${SERVICE_PREFIX}${SERVICE_BASE}"
|
||||
SCHEDULER_SERVICE="${SERVICE_PREFIX}scheduler"
|
||||
EVENTS_SERVICE="${SERVICE_PREFIX}events"
|
||||
TASK_DEF="${PROJECT}-${STACK}-${SERVICE_BASE}"
|
||||
|
||||
# Get container name from task definition
|
||||
CONTAINER_NAME="$(aws ecs describe-task-definition --task-definition "$TASK_DEF" \
|
||||
--query 'taskDefinition.containerDefinitions[0].name' --output text 2>/dev/null || echo "$SERVICE_BASE")"
|
||||
|
||||
{
|
||||
echo "CLUSTER=$CLUSTER"
|
||||
echo "API_SERVICE=$API_SERVICE"
|
||||
echo "SCHEDULER_SERVICE=$SCHEDULER_SERVICE"
|
||||
echo "EVENTS_SERVICE=$EVENTS_SERVICE"
|
||||
echo "TASK_DEF=$TASK_DEF"
|
||||
echo "CONTAINER_NAME=$CONTAINER_NAME"
|
||||
} >> "$GITHUB_ENV"
|
||||
- name: Download ecs-tool
|
||||
run: |
|
||||
wget -O ecs-tool.tar.gz https://github.com/springload/ecs-tool/releases/download/1.9.6/ecs-tool_1.9.6_linux_amd64.tar.gz && tar -xvf ecs-tool.tar.gz ecs-tool
|
||||
@@ -65,9 +102,21 @@ jobs:
|
||||
- name: Deploy the images 🚀
|
||||
run: |-
|
||||
set -eu
|
||||
# run deploy.sh script before deployments
|
||||
env "ECS_RUN.SERVICE=app" "ECS_RUN.LAUNCH_TYPE=FARGATE" ./ecs-tool run -l "ecs-tool" --image_tag '{container_name}-${{ env.VERSION }}' --cluster ${{ env.PROJECT }}-${{ env.STACK }} --task_definition ${{ env.PROJECT }}-${{ env.STACK }}-app --container_name app ./deploy.sh
|
||||
./ecs-tool deploy --image_tag '{container_name}-${{ env.VERSION }}' --cluster ${{ env.PROJECT }}-${{ env.STACK }} -s app -s scheduler -s events
|
||||
|
||||
# Run deploy.sh script before deployments
|
||||
env "ECS_RUN.SERVICE=${API_SERVICE}" "ECS_RUN.LAUNCH_TYPE=FARGATE" \
|
||||
./ecs-tool run -l "ecs-tool" \
|
||||
--image_tag '{container_name}-${{ env.VERSION }}' \
|
||||
--cluster "${CLUSTER}" \
|
||||
--task_definition "${TASK_DEF}" \
|
||||
--container_name "${CONTAINER_NAME}" \
|
||||
./deploy.sh
|
||||
|
||||
# Deploy services
|
||||
./ecs-tool deploy \
|
||||
--image_tag '{container_name}-${{ env.VERSION }}' \
|
||||
--cluster "${CLUSTER}" \
|
||||
-s "${API_SERVICE}" -s "${SCHEDULER_SERVICE}" -s "${EVENTS_SERVICE}"
|
||||
|
||||
build_frontend:
|
||||
name: Build and Deploy the Console
|
||||
@@ -175,6 +224,11 @@ jobs:
|
||||
set -u
|
||||
|
||||
DEPLOY_BUCKET=${STATIC_DEPLOY_BUCKET:-${{ env.PROJECT }}-${{ env.STACK }}}
|
||||
NEW_BUCKET="${PROJECT}-${STACK}-console"
|
||||
if aws s3api head-bucket --bucket "$NEW_BUCKET" 2>/dev/null; then
|
||||
DEPLOY_BUCKET="$NEW_BUCKET"
|
||||
fi
|
||||
|
||||
# this value will come from the dotenv above
|
||||
echo "Deploying to $DEPLOY_BUCKET"
|
||||
wget -O- https://github.com/bep/s3deploy/releases/download/v2.11.0/s3deploy_2.11.0_linux-amd64.tar.gz | tar xzv -f - s3deploy
|
||||
|
||||
53
.github/workflows/publish-docker-images.yml
vendored
53
.github/workflows/publish-docker-images.yml
vendored
@@ -48,56 +48,3 @@ jobs:
|
||||
fleetbase-api
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
|
||||
aws-marketplace-ecr-release:
|
||||
name: Build and Push to AWS ECR
|
||||
runs-on: ubuntu-latest
|
||||
needs: docker-release
|
||||
|
||||
env:
|
||||
REGISTRY: ${{ secrets.AWS_ECR_REGISTRY }}/fleetbase
|
||||
VERSION: ${{ github.event.inputs.version || (github.ref_type == 'tag' && startsWith(github.ref_name, 'v') && github.ref_name) || 'manual' }}
|
||||
|
||||
steps:
|
||||
- name: Checkout Repo
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
ref: ${{ github.event.inputs.branch || github.ref_name }}
|
||||
submodules: recursive
|
||||
|
||||
- name: Configure AWS Credentials
|
||||
uses: aws-actions/configure-aws-credentials@v3
|
||||
with:
|
||||
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
aws-region: ${{ secrets.AWS_REGION }}
|
||||
|
||||
- name: Manually log in to Amazon ECR (Marketplace-style)
|
||||
run: |
|
||||
aws ecr get-login-password --region ${{ secrets.AWS_ECR_REGION }} | \
|
||||
docker login --username AWS --password-stdin ${{ secrets.AWS_ECR_REGISTRY }}
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
|
||||
- name: Bake and Push to ECR
|
||||
uses: docker/bake-action@v2
|
||||
with:
|
||||
push: true
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
targets: |
|
||||
fleetbase-api
|
||||
fleetbase-console
|
||||
|
||||
- name: Verify ECR Images
|
||||
run: |
|
||||
aws ecr describe-images \
|
||||
--registry-id ${{ secrets.AWS_ECR_REGISTRY_ID }} \
|
||||
--repository-name fleetbase/fleetbase-api \
|
||||
--region ${{ secrets.AWS_ECR_REGION }}
|
||||
|
||||
aws ecr describe-images \
|
||||
--registry-id ${{ secrets.AWS_ECR_REGISTRY_ID }} \
|
||||
--repository-name fleetbase/fleetbase-console \
|
||||
--region ${{ secrets.AWS_ECR_REGION }}
|
||||
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
@@ -3,6 +3,7 @@
|
||||
.env.backup
|
||||
.phpunit.result.cache
|
||||
.pnpm-store
|
||||
.tool-versions
|
||||
docker-compose.override.yml
|
||||
npm-debug.log
|
||||
yarn-error.log
|
||||
@@ -16,6 +17,8 @@ api/composer.dev.json
|
||||
api/composer-install-dev.sh
|
||||
api/auth.json
|
||||
api/crontab
|
||||
api/go-crond
|
||||
api/.fleetbase-id
|
||||
act.sh
|
||||
composer-auth.json
|
||||
docker/database/*
|
||||
@@ -31,8 +34,14 @@ packages/loconav
|
||||
packages/internals
|
||||
packages/projectargus-engine
|
||||
packages/customer-portal
|
||||
# wip
|
||||
packages/solid
|
||||
packages/aws-marketplace
|
||||
packages/countries
|
||||
packages/fliit
|
||||
packages/samsara
|
||||
packages/solid*
|
||||
packages/valhalla
|
||||
packages/vroom
|
||||
solid
|
||||
verdaccio
|
||||
# asdf
|
||||
|
||||
38
README.md
38
README.md
@@ -7,11 +7,11 @@
|
||||
<p align="center" dir="auto">
|
||||
Modular logistics and supply chain operating system
|
||||
<br>
|
||||
<a href="https://docs.fleetbase.io/" rel="nofollow">Documentation</a>
|
||||
<a href="https://docs.fleetbase.io/" rel="nofollow" target="_fleetbase_docs">Documentation</a>
|
||||
·
|
||||
<a href="https://console.fleetbase.io" rel="nofollow">Cloud Version</a>
|
||||
<a href="https://console.fleetbase.io" rel="nofollow" target="_fleetbase_console">Cloud Version</a>
|
||||
·
|
||||
<a href="https://fleetbase.apichecker.com" target="_api_status" rel="nofollow">API Status</a>
|
||||
<a href="https://console.fleetbase.io/aws-marketplace" rel="nofollow" target="_aws_marketplace">Deploy on AWS</a>
|
||||
·
|
||||
<a href="https://tally.so/r/3NBpAW" rel="nofollow">Book a Demo</a>
|
||||
·
|
||||
@@ -39,6 +39,7 @@ cd fleetbase && ./scripts/docker-install.sh
|
||||
|
||||
- [Features](#-features)
|
||||
- [Install](#-install)
|
||||
- [Deploy on AWS](#-deploy-on-aws-in-one-click)
|
||||
- [Extensions](#-extensions)
|
||||
- [Apps](#-apps)
|
||||
- [Roadmap](#-roadmap)
|
||||
@@ -117,6 +118,36 @@ services:
|
||||
|
||||
You can learn more about full installation, and configuration in the [official documentation](https://docs.fleetbase.io/getting-started/install).
|
||||
|
||||
## 🚀 Deploy on AWS in One Click
|
||||
|
||||
Deploy your complete Fleetbase logistics platform on AWS with enterprise-grade security, scalability, and reliability. No DevOps expertise required!
|
||||
|
||||
[](https://console.fleetbase.io/aws-marketplace)
|
||||
|
||||
### ✨ What You Get
|
||||
|
||||
- **Complete AWS Infrastructure**: ECS Fargate, RDS MySQL, ElastiCache Redis, S3, CloudFront, and more
|
||||
- **25-Minute Setup**: From zero to production-ready logistics platform
|
||||
- **Enterprise Security**: VPC isolation, encrypted storage, secrets management
|
||||
- **Auto-Scaling**: Handle traffic spikes with ECS Fargate auto-scaling
|
||||
- **High Availability**: Multi-AZ deployment with 99.9% uptime SLA
|
||||
- **Cost Optimized**: Pay-as-you-use with optimized resource allocation
|
||||
|
||||
### 🏗️ Infrastructure Included
|
||||
|
||||
Your AWS deployment includes a complete, production-ready infrastructure stack:
|
||||
|
||||
- **Compute**: ECS Fargate cluster with auto-scaling services
|
||||
- **Database**: RDS MySQL 8.0 with automated backups and Multi-AZ support
|
||||
- **Cache**: ElastiCache Redis for high-performance caching
|
||||
- **Storage**: S3 object storage with CloudFront CDN for global distribution
|
||||
- **Networking**: VPC with private subnets, NAT gateways, and security groups
|
||||
- **Load Balancing**: Application Load Balancer with SSL certificates
|
||||
- **Monitoring**: CloudWatch logs, container insights, and health monitoring
|
||||
- **Messaging**: SQS message queues for background job processing
|
||||
|
||||
[**🚀 Deploy Now**](https://console.fleetbase.io/aws-marketplace) | [**📖 Learn More**](https://docs.fleetbase.io/category/deploying/aws)
|
||||
|
||||
# 🧩 Extensions
|
||||
|
||||
Extensions are modular components that enhance the functionality of your Fleetbase instance. They allow you to add new features, customize existing behavior, or integrate with external systems.
|
||||
@@ -186,3 +217,4 @@ Get updates on Fleetbase's development and chat with the project maintainers and
|
||||
# License & Copyright
|
||||
|
||||
Fleetbase is made available under the terms of the <a href="https://www.gnu.org/licenses/agpl-3.0.html" target="_blank">GNU Affero General Public License 3.0 (AGPL 3.0)</a>. For other licenses <a href="mailto:hello@fleetbase.io" target="_blank">contact us</a>.
|
||||
|
||||
|
||||
19
RELEASE.md
19
RELEASE.md
@@ -1,18 +1,24 @@
|
||||
# 🚀 Fleetbase v0.7.6 — 2025-06-04
|
||||
# 🚀 Fleetbase v0.7.10 — 2025-09-02
|
||||
|
||||
> “Minor patches and route optimization overhaul progress”
|
||||
> “Preparing for a major update”
|
||||
|
||||
---
|
||||
|
||||
## ✨ Highlights
|
||||
- Preparing to implement full multi-order/payload route optimization and managed routes.
|
||||
- Patched scheduler to not run in CI environments or without database connection established.
|
||||
- 2 New route optimization extensions published! VROOM & Valhalla
|
||||
- Added new core Report and Alert models to enable report generation and alerts
|
||||
- Added new FleetOps models to enhance maintenance and telematics: Maintenance, WorkOrder, Asset, Equipment, Part, Sensor, Telematic
|
||||
- Added new `HasCustomFields` trait to enable custom fields on resources
|
||||
- Added ability to filter storefront metrics with date range input
|
||||
- Patched customers widget in storefront
|
||||
- Patched payment gateway management in storefront
|
||||
- Added ability to set default order config to stores and networks
|
||||
- Critical patches for stripe integration in Storefront
|
||||
- Other quality patches in storefront
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ Breaking Changes
|
||||
- None 🙂
|
||||
- ⚠️ `VehicleDevice` and `VehicleDeviceEvent` has been deprecated and changed to `Device` and `DeviceEvent`
|
||||
|
||||
---
|
||||
|
||||
@@ -22,6 +28,7 @@
|
||||
git pull origin main --no-rebase
|
||||
|
||||
# Update docker
|
||||
docker compose pull
|
||||
docker compose down && docker compose up -d
|
||||
|
||||
# Run deploy script
|
||||
|
||||
@@ -40,7 +40,6 @@ class Kernel extends HttpKernel
|
||||
],
|
||||
|
||||
'api' => [
|
||||
// \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class,
|
||||
'throttle:api',
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
],
|
||||
|
||||
@@ -2,10 +2,8 @@
|
||||
|
||||
namespace App\Providers;
|
||||
|
||||
use Illuminate\Cache\RateLimiting\Limit;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\RateLimiter;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
@@ -17,17 +15,15 @@ class RouteServiceProvider extends ServiceProvider
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
$this->configureRateLimiting();
|
||||
|
||||
$this->routes(
|
||||
function () {
|
||||
Route::get(
|
||||
'/status',
|
||||
function () {
|
||||
'/health',
|
||||
function (Request $request) {
|
||||
return response()->json(
|
||||
[
|
||||
'status' => 'ok',
|
||||
'time' => microtime(true) - LARAVEL_START
|
||||
'time' => microtime(true) - $request->attributes->get('request_start_time')
|
||||
]
|
||||
);
|
||||
}
|
||||
@@ -35,19 +31,4 @@ class RouteServiceProvider extends ServiceProvider
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the rate limiters for the application.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function configureRateLimiting()
|
||||
{
|
||||
RateLimiter::for(
|
||||
'api',
|
||||
function (Request $request) {
|
||||
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,13 +7,23 @@
|
||||
"laravel"
|
||||
],
|
||||
"license": "AGPL-3.0-or-later",
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fleetbase Pte Ltd.",
|
||||
"email": "hello@fleetbase.io"
|
||||
},
|
||||
{
|
||||
"name": "Ronald A. Richardson",
|
||||
"email": "ron@fleetbase.io"
|
||||
}
|
||||
],
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"appstract/laravel-opcache": "^4.0",
|
||||
"fleetbase/core-api": "^1.6.12",
|
||||
"fleetbase/fleetops-api": "^0.6.15",
|
||||
"fleetbase/core-api": "^1.6.16",
|
||||
"fleetbase/fleetops-api": "^0.6.18",
|
||||
"fleetbase/registry-bridge": "^0.0.19",
|
||||
"fleetbase/storefront-api": "^0.4.0",
|
||||
"fleetbase/storefront-api": "^0.4.1",
|
||||
"guzzlehttp/guzzle": "^7.0.1",
|
||||
"laravel/framework": "^10.0",
|
||||
"laravel/octane": "^2.3",
|
||||
@@ -21,6 +31,7 @@
|
||||
"league/flysystem-aws-s3-v3": "^3.0",
|
||||
"maatwebsite/excel": "^3.1",
|
||||
"phpoffice/phpspreadsheet": "^1.28",
|
||||
"maennchen/zipstream-php": "3.1.2",
|
||||
"predis/predis": "^2.1",
|
||||
"psr/http-factory-implementation": "*",
|
||||
"resend/resend-php": "^0.14.0",
|
||||
@@ -31,7 +42,6 @@
|
||||
"require-dev": {
|
||||
"spatie/laravel-ignition": "^2.0",
|
||||
"fakerphp/faker": "^1.9.1",
|
||||
"kitloong/laravel-migrations-generator": "^6.10",
|
||||
"laravel/sail": "^1.0.1",
|
||||
"mockery/mockery": "^1.4.4",
|
||||
"nunomaduro/collision": "^7.0",
|
||||
|
||||
2174
api/composer.lock
generated
2174
api/composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -122,7 +122,7 @@ export CMAKE_OSX_ARCHITECTURES=arm64
|
||||
STATIC_PHP_CLI_DIR="$OSX_DIR/frankenphp/dist/static-php-cli"
|
||||
if [ ! -d "$STATIC_PHP_CLI_DIR" ]; then
|
||||
log "Cloning static-php-cli into dist/..."
|
||||
git clone https://github.com/crazywhalecc/static-php-cli.git "$STATIC_PHP_CLI_DIR"
|
||||
git clone --depth 1 --branch 2.5.2 https://github.com/crazywhalecc/static-php-cli.git "$STATIC_PHP_CLI_DIR"
|
||||
else
|
||||
log_warn "static-php-cli already exists in dist/. Skipping clone."
|
||||
fi
|
||||
|
||||
@@ -23,6 +23,7 @@ export default class UserModel extends Model {
|
||||
@attr('string') timezone;
|
||||
@attr('string') country;
|
||||
@attr('string') ip_address;
|
||||
@attr('string') aws_customer_id;
|
||||
@attr('string') slug;
|
||||
@attr('string') role_name;
|
||||
@attr('string') type;
|
||||
|
||||
@@ -74,4 +74,10 @@ body.fleetbase-console .ember-power-select-trigger {
|
||||
padding-right: 2.5rem;
|
||||
padding-bottom: 0.5rem;
|
||||
padding-left: 0.75rem;
|
||||
}
|
||||
|
||||
/** hotfix sidebar-panel-toggle light mode - @todo move to ember-ui */
|
||||
body[data-theme="light"] .next-sidebar .next-content-panel-wrapper .next-content-panel-container .next-content-panel > .next-content-panel-header.next-sidebar-panel-toggle:hover {
|
||||
background-color: rgba(59, 130, 246, 1);
|
||||
background-color: rgba(59, 130, 246, var(--tw-bg-opacity));
|
||||
}
|
||||
@@ -35,4 +35,8 @@
|
||||
<Button @icon="check" @iconPrefix="fas" @type="primary" @size="lg" @text={{t "onboard.index.continue-button-text"}} @isLoading={{this.isLoading}} @disabled={{this.readyToSubmit}} @onClick={{this.startOnboard}} />
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<RegistryYield @registry="onboard" as |YieldedComponent ctx|>
|
||||
<YieldedComponent @context={{ctx}} />
|
||||
</RegistryYield>
|
||||
</div>
|
||||
@@ -53,7 +53,7 @@ module.exports = function (defaults) {
|
||||
},
|
||||
filter: {
|
||||
enabled: true,
|
||||
plugins: [postcssAtRulesVariables, postcssMixins, postcssEach, postcssConditionals, tailwind('./tailwind.js')],
|
||||
plugins: [postcssAtRulesVariables, postcssMixins, postcssEach, postcssConditionals, tailwind('./tailwind.config.js')],
|
||||
},
|
||||
},
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@fleetbase/console",
|
||||
"version": "0.7.6",
|
||||
"version": "0.7.10",
|
||||
"private": true,
|
||||
"description": "Modular logistics and supply chain operating system (LSOS)",
|
||||
"repository": "https://github.com/fleetbase/fleetbase",
|
||||
@@ -33,11 +33,11 @@
|
||||
"@fleetbase/ember-core": "latest",
|
||||
"@fleetbase/ember-ui": "latest",
|
||||
"@fleetbase/fleetops-data": "latest",
|
||||
"@fleetbase/fleetops-engine": "^0.6.15",
|
||||
"@fleetbase/fleetops-engine": "^0.6.18",
|
||||
"@fleetbase/iam-engine": "^0.1.3",
|
||||
"@fleetbase/leaflet-routing-machine": "^3.2.17",
|
||||
"@fleetbase/registry-bridge-engine": "^0.0.19",
|
||||
"@fleetbase/storefront-engine": "^0.4.0",
|
||||
"@fleetbase/storefront-engine": "^0.4.1",
|
||||
"@fortawesome/ember-fontawesome": "^2.0.0",
|
||||
"ember-changeset": "4.1.2",
|
||||
"ember-changeset-validations": "4.1.2",
|
||||
|
||||
3885
console/pnpm-lock.yaml
generated
3885
console/pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
@@ -1,19 +1,21 @@
|
||||
/** @type {import('tailwindcss').Config} */
|
||||
module.exports = {
|
||||
darkMode: ['class', '[data-theme="dark"]'],
|
||||
content: [
|
||||
'./app/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/templates/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/templates/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/components/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/components/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-core/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/fleetops-engine/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/storefront-engine/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/*-engine/addon/**/*.{hbs,js}',
|
||||
'./node_modules/**/*-engine/addon/**/*.{hbs,js}',
|
||||
'../packages/*-engine/addon/**/*.{hbs,js}',
|
||||
content: {
|
||||
relative: true,
|
||||
files: [
|
||||
'./app/**/*.{hbs,js}',
|
||||
'./node_modules/.pnpm/@fleetbase+*/**/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase+*/addon/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/templates/**/*.{hbs,js}',
|
||||
'./node_modules/@fleetbase/ember-ui/addon/components/**/*.{hbs,js}',
|
||||
'./node_modules/**/*-engine/addon/**/*.{hbs,js}'
|
||||
],
|
||||
},
|
||||
safelist: [
|
||||
{
|
||||
pattern: /(py|px|mx|my|gap)-[1-9][0-9]?/,
|
||||
},
|
||||
],
|
||||
theme: {
|
||||
extend: {
|
||||
@@ -94,7 +96,22 @@ module.exports = {
|
||||
86: '30rem',
|
||||
},
|
||||
spacing: {
|
||||
70: '18rem',
|
||||
6: '1.5rem',
|
||||
8: '2rem',
|
||||
10: '2.5rem',
|
||||
12: '3rem',
|
||||
16: '4rem',
|
||||
20: '5rem',
|
||||
24: '6rem',
|
||||
32: '8rem',
|
||||
40: '10rem',
|
||||
44: '11rem',
|
||||
48: '12rem',
|
||||
52: '13rem',
|
||||
56: '14rem',
|
||||
60: '15rem',
|
||||
64: '16rem',
|
||||
72: '18rem',
|
||||
74: '22rem',
|
||||
78: '26rem',
|
||||
82: '28rem',
|
||||
|
||||
@@ -24,13 +24,21 @@ target "app" {
|
||||
// set the target from matrix
|
||||
target = tgt
|
||||
dockerfile = "docker/Dockerfile"
|
||||
platforms = [
|
||||
"linux/amd64",
|
||||
]
|
||||
platforms = ["linux/amd64", "linux/arm64"]
|
||||
|
||||
tags = notequal("", REGISTRY) ? formatlist(
|
||||
GCP ? "${REGISTRY}/${tgt}:%s" : "${REGISTRY}:${tgt}-%s",
|
||||
compact(["latest", VERSION])
|
||||
# Generate tags for both the canonical name (${tgt})
|
||||
# and an alias (api) *only when tgt == "app"*
|
||||
tags = notequal("", REGISTRY) ? concat(
|
||||
# normal tags for tgt (app/scheduler/events)
|
||||
formatlist(
|
||||
GCP ? "${REGISTRY}/${tgt}:%s" : "${REGISTRY}:${tgt}-%s",
|
||||
compact(["latest", VERSION])
|
||||
),
|
||||
# alias tags for api (only if this is the "app" variant)
|
||||
tgt == "app" ? formatlist(
|
||||
GCP ? "${REGISTRY}/api:%s" : "${REGISTRY}:api-%s",
|
||||
compact(["latest", VERSION])
|
||||
) : []
|
||||
) : []
|
||||
|
||||
args = {
|
||||
@@ -44,9 +52,7 @@ target "app" {
|
||||
target "app-httpd" {
|
||||
context = "./"
|
||||
dockerfile = "docker/httpd/Dockerfile"
|
||||
platforms = [
|
||||
"linux/amd64",
|
||||
]
|
||||
platforms = ["linux/amd64", "linux/arm64"]
|
||||
|
||||
tags = notequal("", REGISTRY) ? formatlist(
|
||||
GCP ? "${REGISTRY}/app-httpd:%s" : "${REGISTRY}:app-httpd-%s",
|
||||
@@ -57,7 +63,7 @@ target "app-httpd" {
|
||||
target "fleetbase-console" {
|
||||
context = "./console"
|
||||
dockerfile = "Dockerfile"
|
||||
platforms = ["linux/amd64"]
|
||||
platforms = ["linux/amd64", "linux/arm64"]
|
||||
|
||||
tags = notequal("", REGISTRY) ? formatlist(
|
||||
"${REGISTRY}/fleetbase-console:%s",
|
||||
@@ -69,7 +75,7 @@ target "fleetbase-api" {
|
||||
context = "./"
|
||||
dockerfile = "docker/Dockerfile"
|
||||
target = "app-release"
|
||||
platforms = ["linux/amd64"]
|
||||
platforms = ["linux/amd64", "linux/arm64"]
|
||||
|
||||
tags = notequal("", REGISTRY) ? formatlist(
|
||||
"${REGISTRY}/fleetbase-api:%s",
|
||||
|
||||
@@ -75,7 +75,7 @@ ENV QUEUE_CONNECTION=redis
|
||||
ENV CADDYFILE_PATH=/fleetbase/Caddyfile
|
||||
ENV CONSOLE_PATH=/fleetbase/console
|
||||
ENV OCTANE_SERVER=frankenphp
|
||||
ENV FLEETBASE_VERSION=0.7.6
|
||||
ENV FLEETBASE_VERSION=0.7.10
|
||||
|
||||
# Set environment
|
||||
ARG ENVIRONMENT=production
|
||||
|
||||
2
docs
2
docs
Submodule docs updated: 61704f4855...5fffa79744
Submodule packages/core-api updated: 91d2c56400...745290b332
Submodule packages/ember-ui updated: db72d9ee29...28796fe9db
Submodule packages/fleetops updated: 48e580454d...a6b9f2aebd
Submodule packages/storefront updated: 52d37d3e3a...751d4b3922
Reference in New Issue
Block a user