refactor: reorganize project structure for better maintainability

- Move Docker files to build/docker/
- Move CI/CD configs to build/ci/
- Move deployment configs to deploy/ (helm, k8s, argocd)
- Move config files to config/
- Move scripts to tools/
- Consolidate assets to assets/ (Reflex compatible)
- Add data/ directory for local data (gitignored)
- Update all path references in Makefile, Dockerfile, CI configs
- Add comprehensive README files for build/ and deploy/
- Update project documentation

Benefits:
- Clear separation of concerns
- Cleaner root directory
- Better developer experience
- Enterprise-grade structure
- Improved maintainability
This commit is contained in:
Ehsan.Asadi
2025-12-30 21:20:32 +03:30
parent 954387a8cf
commit 6820f0ee4f
45 changed files with 1737 additions and 361 deletions

View File

@@ -0,0 +1,64 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: peikarband
namespace: argocd
annotations:
notifications.argoproj.io/subscribe.on-deployed.telegram: ""
notifications.argoproj.io/subscribe.on-health-degraded.telegram: ""
notifications.argoproj.io/subscribe.on-sync-failed.telegram: ""
finalizers:
- resources-finalizer.argocd.argoproj.io
labels:
app: peikarband
environment: production
spec:
project: default
source:
repoURL: https://git.peikarband.ir/ehsan-minadd/peikarband.git
targetRevision: main
path: helm/peikarband
helm:
releaseName: peikarband
valueFiles:
- values-production.yaml
parameters:
- name: image.repository
value: harbor.peikarband.ir/peikarband/landing
- name: image.tag
value: latest # This will be updated by CI/CD
destination:
server: https://kubernetes.default.svc
namespace: peikarband
syncPolicy:
automated:
prune: true
selfHeal: true
allowEmpty: false
syncOptions:
- CreateNamespace=true
- PrunePropagationPolicy=foreground
- PruneLast=true
- ApplyOutOfSyncOnly=true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
revisionHistoryLimit: 10
ignoreDifferences:
- group: apps
kind: Deployment
jsonPointers:
- /spec/replicas
- group: apps
kind: StatefulSet
jsonPointers:
- /spec/replicas