Compare commits

..
Author SHA1 Message Date
github-action[bot]andgithub-action[bot] c4f72c0670 Create Flex endpoint 2026-09-14 11:14:00 +00:00
3 changed files with 62 additions and 75 deletions
+4 -4
View File
@@ -1,8 +1,8 @@
{ {
"aliases": [], "aliases": [],
"recipes": { "recipes": {
"recipes/carlosgude": [ "mailtrap/mailtrap-local": [
"integration-engine" "1.0"
] ]
}, },
"recipe-conflicts": [], "recipe-conflicts": [],
@@ -12,9 +12,9 @@
"_links": { "_links": {
"repository": "github.com/symfony/recipes-contrib", "repository": "github.com/symfony/recipes-contrib",
"origin_template": "{package}:{version}@github.com/symfony/recipes-contrib:main", "origin_template": "{package}:{version}@github.com/symfony/recipes-contrib:main",
"recipe_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2058/{package_dotted}.{version}.json", "recipe_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2052/{package_dotted}.{version}.json",
"recipe_template_relative": "{package_dotted}.{version}.json", "recipe_template_relative": "{package_dotted}.{version}.json",
"archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2058/archived/{package_dotted}/{ref}.json", "archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2052/archived/{package_dotted}/{ref}.json",
"archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json" "archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json"
} }
} }
+58
View File
@@ -0,0 +1,58 @@
{
"manifests": {
"mailtrap/mailtrap-local": {
"manifest": {
"docker-compose": {
"docker-compose.override.yml": {
"services": [
"mailtrap-local:",
" image: mailtrap/mailtrap-local",
" # The Symfony CLI detects a mail catcher by container-internal port, and it",
" # recognizes only 1025 for SMTP together with 1080 or 8025 for the web UI.",
" # Mailtrap Local defaults to 3535 and 3550 and binds loopback only, so the",
" # listeners move here and the non-loopback bind is allowed explicitly.",
" command:",
" - --unsafe-non-loopback",
" - --smtp-listen=0.0.0.0:1025",
" - --http-listen=0.0.0.0:8025",
" - --db=/var/lib/mailtrap-local/db.sqlite3",
" ports:",
" - \"1025\"",
" - \"8025\"",
" labels:",
" # The service is not called \"mailer\", so the prefix is set explicitly to",
" # keep the MAILER_* variables Symfony Mailer expects.",
" com.symfony.server.service-prefix: 'mailer'"
]
}
},
"post-install-output": [
" * A <comment>mailtrap-local</> service was added to your Docker Compose configuration.",
" Start it with <info>docker compose up -d</>.",
"",
" * With the Symfony CLI there is nothing else to do. <comment>MAILER_DSN</> is exposed for",
" you, and <info>symfony open:local:webmail</> opens the web UI.",
"",
" * Without the Symfony CLI, ask Docker for the published ports. Docker assigns them",
" at random, in the same way as the <comment>symfony/mailer</> catcher service:",
"",
" <info>docker compose port mailtrap-local 1025</> # SMTP, for MAILER_DSN",
" <info>docker compose port mailtrap-local 8025</> # web UI",
"",
" To pin them instead, replace the two entries under <comment>ports:</> with",
" <comment>\"3535:1025\"</> and <comment>\"3550:8025\"</>. Those are Mailtrap Local's own defaults.",
"",
" * The <comment>symfony/mailer</> recipe adds its own catcher service, called <comment>mailer</>.",
" When both services run, both claim the <comment>MAILER_</> prefix: one becomes",
" <comment>MAILER_DSN</> and the other becomes <comment>MAILER_1_DSN</>. This is decided when the",
" containers are created. Keep the one catcher you want, so that <comment>MAILER_DSN</>",
" always points where you expect.",
"",
" * <fg=blue>Read</> the documentation at <comment>https://github.com/mailtrap/mailtrap-local</>"
]
},
"files": [],
"ref": "955debbc9526d5fe586ad1368ef0786cca61910a"
}
}
}
@@ -1,71 +0,0 @@
{
"manifests": {
"recipes/carlosgude": {
"manifest": {
"bundles": {
"IntegrationEngine\\Bundle\\IntegrationEngineBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"src/": "%SRC_DIR%/"
},
"post-install-output": [
"IntegrationEngine installed successfully!",
"",
"<fg=green>Next Steps:</fg=green>",
"",
"1. <fg=cyan>Create your first integration:</fg=cyan>",
" $ php bin/console make:integration MyApi GetUser",
"",
"2. <fg=cyan>Add configuration to config/packages/integration_engine.yaml</fg=cyan>",
" The file has been created with defaults. Customize as needed.",
"",
"3. <fg=cyan>Setup observability (optional):</fg=cyan>",
" $ php bin/console make:observability MyApi",
" This generates automatic logging, metrics, and error tracking.",
"",
"<fg=blue>Documentation:</fg=blue>",
"",
"\u2022 Getting Started: https://github.com/CarlosGude/integrationEngine/blob/main/README.md",
"\u2022 Full Guide: https://github.com/CarlosGude/integrationEngine/blob/main/OBSERVABILITY.md",
"\u2022 Webhooks: https://github.com/CarlosGude/integrationEngine/blob/main/WEBHOOK.md",
"\u2022 Architecture: https://github.com/CarlosGude/integrationEngine/blob/main/CLAUDE.md",
"",
"Happy integrating! \ud83d\ude80"
]
},
"files": {
"config/packages/integration_engine.yaml": {
"contents": [
"integration_engine:",
" integrations: {}",
" # cache_service: cache.app # optional, default shown",
" # client_service: null # optional, for fully custom HTTP client",
" # connection_resolver: null # optional, for multi-tenant integrations",
"",
"services:",
" # Event dispatcher (required for observability)",
" IntegrationEngine\\Core\\Lifecycle\\LifecycleEventDispatcher:",
" class: IntegrationEngine\\Infrastructure\\Lifecycle\\SymfonyEventDispatcherAdapter",
" arguments:",
" - '@event_dispatcher'",
"",
" # Optional: observability setup helper",
" # Generate with: php bin/console make:observability <integration_name>",
""
],
"executable": false
},
"src/Integration/.gitignore": {
"contents": [
""
],
"executable": false
}
},
"ref": "e567594ba17beafab265e18d725f1bd129a0fc12"
}
}
}