Inventario do Repositorio
Proposito do repo
Este repositorio mantem um backend WordPress do projeto Dhedalos, com dominio principal implementado no tema we-dhedalos e exposto via API REST customizada.
- Evidencia:
we-dhedalos/style.css:2 - Evidencia:
we-dhedalos/functions.php:16 - Evidencia:
we-dhedalos/functions/rest/courses.php:14
Entrypoints
- Stack local por containers (
mariadb,redis,wordpress,nginx,init).
- Evidencia:
docker-compose.yml:2
- Bootstrap WordPress por
wp-config.php, carregandowp-settings.php.
- Evidencia:
wordpress/wp-config.php:147
- Tema WordPress
we-dhedaloscarregado no build da imagem e em bind mount no ambiente local.
- Evidencia:
Dockerfile:24 - Evidencia:
docker-compose.yml:24
- Bootstrap do dominio no tema via
functions.php, com carga automatica de modulos emfunctions/*.
- Evidencia:
we-dhedalos/functions.php:16 - Evidencia:
we-dhedalos/functions.php:33
- Entrypoint HTTP via Nginx para
index.phpe PHP-FPM emwordpress:9000.
- Evidencia:
docker/nginx.conf:9 - Evidencia:
docker/nginx.conf:14
- API REST com namespace
dhedalos/v1e prefixo global alterado de/wp-jsonpara/api.
- Evidencia:
we-dhedalos/functions/rest/courses.php:14 - Evidencia:
we-dhedalos/functions/wp/rest_path.php:5
Principais pastas e responsabilidade
-
we-dhedalos/: tema WordPress com regra de negocio e modulos (utils,rest,post_types,taxonomies, etc.).- Evidencia:
we-dhedalos/style.css:2 - Evidencia:
we-dhedalos/functions.php:16
- Evidencia:
-
we-dhedalos/functions/rest/: endpoints REST (register_rest_route) da API de negocio.- Evidencia:
we-dhedalos/functions/rest/courses.php:66 - Evidencia:
we-dhedalos/functions/rest/tests-fixtures.php:46
- Evidencia:
-
we-dhedalos/functions/post_types/: post types e logs de dominio (inclui rotinas de limpeza de logs).- Evidencia:
we-dhedalos/functions/post_types/dynamic_logs.php:1010 - Evidencia:
we-dhedalos/functions/post_types/user_action_log.php:99
- Evidencia:
-
wordpress/: raiz do WordPress usada localmente, incluindowp-config.php.- Evidencia:
docker-compose.yml:25 - Evidencia:
wordpress/wp-config.php:1
- Evidencia:
-
wp/: artefatos auxiliares de runtime (drop-in de cache Redis, plugins zipados, WP-CLI wrapper).- Evidencia:
Dockerfile:16 - Evidencia:
Dockerfile:26 - Evidencia:
wp/wp-su.sh:1
- Evidencia:
-
docker/: configuracoes de infraestrutura local (Nginx e PHP).- Evidencia:
docker-compose.yml:26 - Evidencia:
docker-compose.yml:52
- Evidencia:
-
helm/: chart para deploy Kubernetes (deployment, service, ingress, env via secret).- Evidencia:
helm/templates/deployment.yaml:1 - Evidencia:
helm/templates/deployment.yaml:65
- Evidencia:
-
kubernetes/: valores por ambiente/cluster (ingress, envSecret, persistencia).- Evidencia:
kubernetes/oke-we-001/dhedalos-ecosystem/values.yaml:2 - Evidencia:
kubernetes/oke-we-002/piloto-dhedalos-ecosystem/values.yaml:1
- Evidencia:
-
.github/workflows/: pipeline CI/CD para build e deploy com Helm.- Evidencia:
.github/workflows/ci-cd-pipeline.yml:1 - Evidencia:
.github/workflows/ci-cd-pipeline.yml:77
- Evidencia:
Integracoes externas identificadas (URLs, SDKs, env vars)
-
Novu (notificacoes): usa
NOVU_API_URLeNOVU_API_KEYem runtime.- Evidencia:
docker-compose.yml:28 - Evidencia:
we-dhedalos/functions/wp/config.php:68 - Evidencia:
we-dhedalos/functions/utils/notify_course_start_date_cron.php:94
- Evidencia:
-
SimplyBook API: base URL
https://user-api-v2.simplybook.me/admin/.- Evidencia:
we-dhedalos/functions/3rd/simplybook.php:13
- Evidencia:
-
8x8/Jitsi: integracao JWT e fallback para
https://meet.jit.si.- Evidencia:
we-dhedalos/functions/3rd/8x8.php:5 - Evidencia:
we-dhedalos/functions/3rd/8x8.php:138
- Evidencia:
-
API de agenda (configuravel via ACF): usa
schedule_urleschedule_app_key.- Evidencia:
we-dhedalos/functions/acfs/group_620d0ae527994.php:319 - Evidencia:
we-dhedalos/functions/wp/user.php:95
- Evidencia:
-
API de submissao de atividades: usa
API_DELIVERABLE_SUBSCRIPTIONS_URLeAPI_DELIVERABLE_SUBSCRIPTIONS_KEY.- Evidencia:
docker-compose.yml:44 - Evidencia:
we-dhedalos/functions.php:92
- Evidencia:
-
ViaCEP para enriquecimento de endereco em importacao de participantes.
- Evidencia:
we-dhedalos/functions/wp/classes/importers/students.php:208
- Evidencia:
-
SDKs/bibliotecas PHP de integracao no backend:
firebase/php-jwtphpoffice/phpspreadsheet- Evidencia:
we-dhedalos/functions/3rd/composer.json:3
-
Dependencia de registry Docker no CI/CD (
DOCKER_REGISTRY,DOCKER_REPOSITORY,DOCKER_USERNAME,DOCKER_PASSWORD).- Evidencia:
.github/workflows/ci-cd-pipeline.yml:36 - Evidencia:
.github/workflows/ci-cd-pipeline.yml:37
- Evidencia:
Jobs / cron / queues / workers
WP-Cron identificados
-
verificar_ciclos_finalizados_evento(daily).- Evidencia:
we-dhedalos/functions.php:46
- Evidencia:
-
course_start_today_notify(daily, 06:00 America/Sao_Paulo).- Evidencia:
we-dhedalos/functions/utils/notify_course_start_date_cron.php:9 - Evidencia:
we-dhedalos/functions/utils/notify_course_start_date_cron.php:11
- Evidencia:
-
course_start_tomorrow_notify(daily, 08:00 America/Sao_Paulo).- Evidencia:
we-dhedalos/functions/utils/notify_course_start_date_cron.php:36 - Evidencia:
we-dhedalos/functions/utils/notify_course_start_date_cron.php:38
- Evidencia:
-
auto_cancel_enrollments_daily(daily, 23:00 America/Sao_Paulo).- Evidencia:
we-dhedalos/functions/utils/auto_cancel_enrollments_cron.php:11 - Evidencia:
we-dhedalos/functions/utils/auto_cancel_enrollments_cron.php:13
- Evidencia:
-
inactive_users_notification_daily(daily, 23:30 America/Sao_Paulo).- Evidencia:
we-dhedalos/functions/utils/inactive_users_notification_cron.php:11 - Evidencia:
we-dhedalos/functions/utils/inactive_users_notification_cron.php:13
- Evidencia:
-
last_day_notification_daily(daily, 21:30 America/Sao_Paulo).- Evidencia:
we-dhedalos/functions/utils/last_day_notification_cron.php:11 - Evidencia:
we-dhedalos/functions/utils/last_day_notification_cron.php:13
- Evidencia:
-
Limpeza automatica de logs (
delete_old_dynamic_logs,delete_old_user_log_actions,delete_old_sub_log_actions,delete_old_cancellation_logs).- Evidencia:
we-dhedalos/functions/post_types/dynamic_logs.php:1011 - Evidencia:
we-dhedalos/functions/post_types/user_action_log.php:100 - Evidencia:
we-dhedalos/functions/post_types/presence_log.php:128 - Evidencia:
we-dhedalos/functions/post_types/cancellation_logs.php:112
- Evidencia:
Queues/workers
Nao foi encontrado sistema de fila com broker (RabbitMQ/SQS/Kafka) neste repositorio.
O processamento assincrono e feito por WP-Cron e, em Kubernetes, ha deployment dedicado wp-cron.
- Evidencia de modelo usado:
we-dhedalos/functions.php:37 - Evidencia de modelo usado:
we-dhedalos/functions/utils/auto_cancel_enrollments_cron.php:10 - Evidencia de worker dedicado:
helm/templates/wp-cron-deployment.yaml:4 - Evidencia de execucao ciclica:
helm/templates/wp-cron-deployment.yaml:87
Storage / caches
-
Banco relacional MariaDB no ambiente local (
mariadb:10.3).- Evidencia:
docker-compose.yml:4
- Evidencia:
-
Cache Redis com volume local
cache:/data.- Evidencia:
docker-compose.yml:10 - Evidencia:
docker-compose.yml:16
- Evidencia:
-
Object cache persistente do WordPress por drop-in Redis (
wp/object-cache.php).- Evidencia:
Dockerfile:26 - Evidencia:
wp/object-cache.php:3
- Evidencia:
-
Cache de aplicacao com transients e
wp_cache_*.- Evidencia:
we-dhedalos/functions/3rd/simplybook.php:66 - Evidencia:
we-dhedalos/functions/utils/cache.php:5
- Evidencia:
-
Diretório customizado em uploads (
wp-content/uploads/dhedalos).- Evidencia:
we-dhedalos/functions/wp/config.php:25
- Evidencia:
-
Persistencia de uploads no deploy Kubernetes via PVC quando habilitado.
- Evidencia:
helm/templates/deployment.yaml:82 - Evidencia:
helm/templates/deployment.yaml:123
- Evidencia:
-
Tabelas customizadas no banco para logs tecnicos.
wp_simplybook_api_requests_logwp_user_patch_log- Evidencia:
we-dhedalos/functions/3rd/log.php:24 - Evidencia:
we-dhedalos/functions/utils/user_patch_log.php:12
Lista de variaveis de ambiente encontradas
Variaveis declaradas em docker-compose.yml
MYSQL_ROOT_PASSWORD(docker-compose.yml:8)MYSQL_DATABASE(docker-compose.yml:9)NOVU_API_KEY(docker-compose.yml:28)NOVU_API_URL(docker-compose.yml:29)WORDPRESS_DB_HOST(docker-compose.yml:30)WORDPRESS_DB_USER(docker-compose.yml:31)WORDPRESS_DB_PASSWORD(docker-compose.yml:32)WORDPRESS_DB_NAME(docker-compose.yml:33)WORDPRESS_DEBUG(docker-compose.yml:34)WORDPRESS_CONFIG_EXTRA(docker-compose.yml:35)API_DELIVERABLE_SUBSCRIPTIONS_URL(docker-compose.yml:44)API_DELIVERABLE_SUBSCRIPTIONS_KEY(docker-compose.yml:45)
Variaveis lidas por getenv_docker em wp-config.php
WORDPRESS_DB_NAME(wordpress/wp-config.php:44)WORDPRESS_DB_USER(wordpress/wp-config.php:47)WORDPRESS_DB_PASSWORD(wordpress/wp-config.php:50)WORDPRESS_DB_HOST(wordpress/wp-config.php:59)WORDPRESS_DB_CHARSET(wordpress/wp-config.php:62)WORDPRESS_DB_COLLATE(wordpress/wp-config.php:65)WORDPRESS_AUTH_KEY(wordpress/wp-config.php:78)WORDPRESS_SECURE_AUTH_KEY(wordpress/wp-config.php:79)WORDPRESS_LOGGED_IN_KEY(wordpress/wp-config.php:80)WORDPRESS_NONCE_KEY(wordpress/wp-config.php:81)WORDPRESS_AUTH_SALT(wordpress/wp-config.php:82)WORDPRESS_SECURE_AUTH_SALT(wordpress/wp-config.php:83)WORDPRESS_LOGGED_IN_SALT(wordpress/wp-config.php:84)WORDPRESS_NONCE_SALT(wordpress/wp-config.php:85)WORDPRESS_TABLE_PREFIX(wordpress/wp-config.php:102)WORDPRESS_DEBUG(wordpress/wp-config.php:116)WORDPRESS_CONFIG_EXTRA(wordpress/wp-config.php:135)
Variaveis usadas por scripts/pipeline
DOCKER_BUILDKIT(compose-aws-local.sh:3)COMPOSE_DOCKER_CLI_BUILD(compose-aws-local.sh:4)DOCKER_REGISTRY(.github/workflows/ci-cd-pipeline.yml:36)DOCKER_REPOSITORY(.github/workflows/ci-cd-pipeline.yml:47)DOCKER_USERNAME(.github/workflows/ci-cd-pipeline.yml:37)DOCKER_PASSWORD(.github/workflows/ci-cd-pipeline.yml:38)
Comandos para rodar local, testar e buildar
Rodar local
docker compose up -d --builddocker compose logs -f nginx wordpress mariadb redisdocker compose down- Evidencia operacional da stack:
docker-compose.yml:2
Build
docker build -t dhedalos-app-backend-wp:local .- Evidencia de build Docker:
Dockerfile:1
Build/deploy em CI
- Build/push da imagem: job
buildno workflow. - Deploy Helm por ambiente (
develop,main,development). - Evidencia:
.github/workflows/ci-cd-pipeline.yml:14 - Evidencia:
.github/workflows/ci-cd-pipeline.yml:75
Testes
- Nao foi encontrado comando unico de suite automatizada; o arquivo
we-dhedalos/functions/3rd/composer.jsonnao definescriptsde teste. - Existem endpoints de apoio a QA/fixtures na API:
GET /dhedalos/v1/testsPOST /dhedalos/v1/tests/fixtures/createDELETE /dhedalos/v1/tests/fixtures/cleanup
- Evidencia:
we-dhedalos/functions/3rd/composer.json:1 - Evidencia:
we-dhedalos/functions/rest/tests.php:40 - Evidencia:
we-dhedalos/functions/rest/tests-fixtures.php:46
Pendencias
-
Confirmar se existe
docker-compose-aws.ymlfora deste repositorio para suportarcompose-aws-local.sh.- Evidencia:
compose-aws-local.sh:6
- Evidencia:
-
Confirmar se existem workers/queues externos (fora deste repo) que complementam o processamento assíncrono hoje coberto por WP-Cron.
- Evidencia de processamento atual no repo:
we-dhedalos/functions.php:37
- Evidencia de processamento atual no repo: