Compare commits

..
Author SHA1 Message Date
github-action[bot]andgithub-action[bot] 5b51812991 Create Flex endpoint 2026-09-14 14:38:47 +00:00
9 changed files with 153 additions and 580 deletions
+149
View File
@@ -0,0 +1,149 @@
{
"manifests": {
"fyrst/shopware-cd": {
"manifest": {
"copy-from-package": {
"overlay/": ""
},
"bundles": {
"Fyrst\\ShopwareCd\\FyrstShopwareCdBundle": [
"all"
]
},
"env": {
"SHOPWARE_SHOP_ID": "",
"SHOPWARE_DEPLOY_ENV": "live",
"SHOPWARE_DATA_BASE": "/var/lib/shopware/data"
},
"post-install-output": [
" * <fg=blue>fyrst/shopware-cd</>",
" Flex copied CD files from the package",
" <comment>overlay/</comment> into the shop root: CI,",
" <comment>deploy/</comment> (including CD Compose), <comment>.dockerignore</comment>,",
" and <comment>.env.example</comment>",
" (same idea as <comment>shopware/docker</comment> copying <comment>docker/Dockerfile</comment>).",
"",
" <comment>compose.yaml</comment>, <comment>.gitignore</comment>, and",
" <comment>.shopware-project.yml</comment> (create\u2019s default;",
" <comment>.shopware-project.yaml</comment> is also accepted \u2014 do not rename)",
" are owned by",
" <comment>shopware-cli project create</comment> / the CLI \u2014 not this recipe.",
"",
" Local: <comment>shopware-cli project dev</comment> and the CLI-managed",
" shop-root <comment>compose.yaml</comment>.",
" VPS/CD: files under <comment>deploy/</comment>",
" (<comment>deploy/compose.yaml</comment>, <comment>deploy/compose.prod.yaml</comment>,",
" <comment>deploy/compose.vps.yaml</comment>).",
" Runtime DB/bind-mount copy between VPS hosts:",
" <comment>fyrst-cli shopware sync pull</comment>",
" (see <comment>deploy/sync-runtime.md</comment>).",
" DB snapshots use <comment>shopware-cli project dump</comment>",
" (fyrst-cli never dumps; restore is",
" <comment>fyrst-cli shopware db import</comment>).",
" Live backups (not sync):",
" <comment>fyrst-cli shopware backup create</comment>",
" (see <comment>deploy/backup-runtime.md</comment>).",
" Rollback:",
" <comment>IMAGE_TAG=$(cat .previous-tag) fyrst-cli shopware deploy rollback</comment>.",
" Each VPS needs <comment>fyrst-cli</comment> 0.1.0+",
" (<comment>https://github.com/fyrst-dev/cli</comment>).",
" CI runs <comment>fyrst-cli shopware deploy release</comment>",
" with <comment>IMAGE</comment> / <comment>IMAGE_TAG</comment> /",
" <comment>COMPOSE_DIR</comment>.",
" TLS edge: <comment>deploy/edge/Caddyfile</comment>.",
" Live \u2192 local project dev rsync (no DB):",
" <comment>fyrst-cli shopware sync local</comment>",
" (reads <comment>SHOPWARE_SHOP_ID</comment> from local <comment>.env</comment>;",
" remote root <comment>/var/lib/shopware/data/${SHOPWARE_SHOP_ID}/live</comment>;",
" <comment>--data all</comment> is refused).",
"",
" Flex may append a <comment>###> fyrst/shopware-cd ###</comment>",
" block to shop-root <comment>.env</comment> (empty",
" <comment>SHOPWARE_SHOP_ID</comment>, <comment>SHOPWARE_DEPLOY_ENV=live</comment>,",
" <comment>SHOPWARE_DATA_BASE=/var/lib/shopware/data</comment>).",
" It does not overwrite create\u2019s whole <comment>.env</comment>",
" and does not put secrets in that block. Then run",
" <comment>fyrst-cli shopware env init --shop-id \u2026</comment>",
" (see <comment>deploy/README</comment>).",
" VPS <comment>.env</comment> source of truth (required):",
" <comment>SHOPWARE_SHOP_ID</comment> (same slug on live + staging + laptop),",
" <comment>SHOPWARE_DEPLOY_ENV</comment> (live|staging|playground|dev).",
" Compose derives project name",
" (<comment>${SHOPWARE_SHOP_ID}-${SHOPWARE_DEPLOY_ENV}</comment>)",
" and bind-mount paths from those two plus optional",
" <comment>SHOPWARE_DATA_BASE</comment> (default",
" <comment>/var/lib/shopware/data</comment>) \u2014 three separate interpolations,",
" no nested defaults. It does not require",
" <comment>COMPOSE_PROJECT_NAME</comment> or <comment>SHOPWARE_DATA_ROOT</comment>",
" (optional for scripts/docs; fyrst-cli derives when unset and prefers them",
" when set \u2014 do not assign them empty).",
" WARNING: <comment>shopware-cli project create</comment> writes",
" <comment>COMPOSE_PROJECT_NAME=sw-shop-\u2026</comment> into shop-root",
" <comment>.env</comment> for local <comment>project dev</comment>. That env var",
" overrides Compose <comment>name:</comment>",
" (<comment>${SHOPWARE_SHOP_ID}-${SHOPWARE_DEPLOY_ENV}</comment>).",
" On the VPS, comment out that line",
" (<comment>fyrst-cli shopware env init --vps</comment> or by hand).",
" Flex does not delete it on <comment>composer require</comment>",
" (create owns the local flow).",
" Bootstrap:",
" <comment>DATA=\"${SHOPWARE_DATA_BASE:-/var/lib/shopware/data}/${SHOPWARE_SHOP_ID}/${SHOPWARE_DEPLOY_ENV}\"</comment>",
" then <comment>mkdir -p \"${DATA}\"/{files,media,thumbnail,theme,sitemap}</comment>",
" then <comment>chown -R 82:82 \"${DATA}\"</comment>.",
" Live profiles: uncomment",
" <comment>COMPOSE_PROFILES=redis,worker,scheduler</comment>",
" in <comment>.env</comment> (worker + scheduler; redis if used). Staging leaves",
" this unset unless you need async tasks.",
" <comment>fyrst-cli shopware deploy release</comment> warns on live when it is empty; it does",
" not auto-enable.",
" Same-host tag-and-load / air-gap: <comment>PULL_POLICY=never</comment>",
" and <comment>SKIP_PULL=1</comment> (or",
" <comment>fyrst-cli shopware deploy release --skip-pull</comment>). Default",
" <comment>pull_policy</comment> is <comment>always</comment> for CI/VPS.",
" Several shops or live+staging on one VPS share the host; shop id + env",
" keep stacks isolated.",
"",
" You MUST require <comment>shopware/docker</comment> in the same Composer command as",
" this package. That recipe copies <comment>docker/Dockerfile</comment>, which CI and",
" CD Compose require (default <comment>DOCKERFILE=docker/Dockerfile</comment>). This recipe",
" does not ship a root Dockerfile. A missing <comment>docker/Dockerfile</comment>",
" means <comment>shopware/docker</comment> was skipped.",
"",
" Flex may append SoT keys to <comment>.env</comment>; it does not",
" overwrite create\u2019s whole <comment>.env</comment>. Then run",
" <comment>fyrst-cli shopware env init --shop-id \u2026</comment>",
" (VPS: add <comment>--vps</comment>; see <comment>deploy/README</comment>).",
" If <comment>.env</comment> is missing, that command copies",
" <comment>.env.example</comment> first. Commit the copied files;",
" <comment>vendor/</comment> is gitignored.",
"",
" shopware-cli project create writes <comment>.shopware-project.yml</comment>",
" (that extension is fine). shopware-cli accepts both",
" <comment>.yml</comment> and <comment>.yaml</comment>; do not rename.",
" GitHub Actions picks up",
" <comment>.github/workflows/cd.yaml</comment>. GitLab still defaults to",
" <comment>.gitlab-ci.yml</comment>: set Settings \u2192 CI/CD \u2192 CI/CD configuration file",
" to <comment>.gitlab-ci.yaml</comment> (or copy/symlink that name).",
"",
" Flex registers",
" <comment>Fyrst\\ShopwareCd\\FyrstShopwareCdBundle</comment>",
" in <comment>config/bundles.php</comment>.",
" Post-restore sales-channel URL rewrite uses",
" <comment>APP_URL</comment> in shop-root <comment>.env</comment>;",
" sync calls",
" <comment>bin/console fyrst:sales-channel:rewrite-urls</comment>.",
" Laptop SSH (<comment>SHOPWARE_SSH_*</comment>) belongs in",
" <comment>.env.local</comment>.",
" Shops need <comment>composer update fyrst/shopware-cd</comment>",
" so the command and bundle exist, then",
" <comment>composer recipes:update fyrst/shopware-cd</comment>.",
"",
" Refresh later with <comment>composer recipes:update fyrst/shopware-cd</comment>.",
" See https://github.com/fyrst-dev/shopware-cd"
]
},
"files": [],
"ref": "b31466bc7861d30c0b1f128d8dc226e0efa3b5e6"
}
}
}
+4 -10
View File
@@ -1,14 +1,8 @@
{ {
"aliases": [], "aliases": [],
"recipes": { "recipes": {
"storyblok/symfony-bundle": [ "fyrst/shopware-cd": [
"0.1", "1.0"
"1.2",
"1.3",
"1.5",
"1.14",
"1.16",
"1.18"
] ]
}, },
"recipe-conflicts": [], "recipe-conflicts": [],
@@ -18,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-2008/{package_dotted}.{version}.json", "recipe_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2049/{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-2008/archived/{package_dotted}/{ref}.json", "archived_recipes_template": "https://raw.githubusercontent.com/symfony/recipes-contrib/flex/pull-2049/archived/{package_dotted}/{ref}.json",
"archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json" "archived_recipes_template_relative": "archived/{package_dotted}/{ref}.json"
} }
} }
-46
View File
@@ -1,46 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
"# assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
"# webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok:",
" resource: '@StoryblokBundle/config/routes.php'",
""
],
"executable": false
}
},
"ref": "86c7c2f20fad04ebc3cda71638b1fb1274518249"
}
}
}
-103
View File
@@ -1,103 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"templates/": "templates/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"STORYBLOK_CDN_STORAGE_PATH": "%kernel.project_dir%/var/cdn",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # auto_resolve_links: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
" cdn:",
" storage:",
" type: filesystem",
" path: '%env(resolve:STORYBLOK_CDN_STORAGE_PATH)%'",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
"",
" cdn:",
" cache:",
" public: true",
" max_age: 604800",
" smax_age: 604800",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok_webhook:",
" resource: '@StoryblokBundle/config/routes/webhook.php'",
"",
"storyblok_content_type:",
" resource: '@StoryblokBundle/config/routes/content_type.php'",
"",
"storyblok_cdn:",
" resource: '@StoryblokBundle/config/routes/cdn.php'",
""
],
"executable": false
},
"templates/base.html.twig": {
"contents": [
"<!DOCTYPE html>",
"<html>",
"<head>",
" <meta charset=\"UTF-8\">",
" <title>{% block title %}Welcome!{% endblock %}</title>",
" <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>\u26ab\ufe0f</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>\">",
" {% block stylesheets %}",
" {% endblock %}",
"",
" {% block javascripts %}",
" {% endblock %}",
"</head>",
"<body>",
"{% block body %}{% endblock %}",
"{% block storyblok_scripts %}",
" {{ storyblok_js_bridge_scripts() }}",
"{% endblock %}",
"</body>",
"</html>",
""
],
"executable": false
}
},
"ref": "5d8341ecc0b8e3c69f6a343252ba7ada144af127"
}
}
}
-105
View File
@@ -1,105 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"templates/": "templates/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"STORYBLOK_CDN_STORAGE_PATH": "%kernel.project_dir%/var/cdn",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # auto_resolve_links: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
" cdn:",
" storage:",
" type: filesystem",
" path: '%env(resolve:STORYBLOK_CDN_STORAGE_PATH)%'",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" etag: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
"",
" cdn:",
" cache:",
" public: true",
" etag: true",
" max_age: 604800",
" smax_age: 604800",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok_webhook:",
" resource: '@StoryblokBundle/config/routes/webhook.php'",
"",
"storyblok_content_type:",
" resource: '@StoryblokBundle/config/routes/content_type.php'",
"",
"storyblok_cdn:",
" resource: '@StoryblokBundle/config/routes/cdn.php'",
""
],
"executable": false
},
"templates/base.html.twig": {
"contents": [
"<!DOCTYPE html>",
"<html>",
"<head>",
" <meta charset=\"UTF-8\">",
" <title>{% block title %}Welcome!{% endblock %}</title>",
" <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>\u26ab\ufe0f</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>\">",
" {% block stylesheets %}",
" {% endblock %}",
"",
" {% block javascripts %}",
" {% endblock %}",
"</head>",
"<body>",
"{% block body %}{% endblock %}",
"{% block storyblok_scripts %}",
" {{ storyblok_js_bridge_scripts() }}",
"{% endblock %}",
"</body>",
"</html>",
""
],
"executable": false
}
},
"ref": "542be2db4409c5999231bde10c5e0cf83692fc40"
}
}
}
-110
View File
@@ -1,110 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"templates/": "templates/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"STORYBLOK_CDN_STORAGE_PATH": "%kernel.project_dir%/var/cdn",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET=",
"#3": "STORYBLOK_MANAGEMENT_API_TOKEN=",
"#4": "STORYBLOK_SPACE_ID="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # auto_resolve_links: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
" cdn:",
" storage:",
" type: filesystem",
" path: '%env(resolve:STORYBLOK_CDN_STORAGE_PATH)%'",
"",
"when@dev:",
" storyblok:",
" management_token: '%env(STORYBLOK_MANAGEMENT_API_TOKEN)%'",
" space_id: '%env(STORYBLOK_SPACE_ID)%'",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
"",
" cdn:",
" cache:",
" public: true",
" max_age: 604800",
" smax_age: 604800",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok_webhook:",
" resource: '@StoryblokBundle/config/routes/webhook.php'",
"",
"storyblok_content_type:",
" resource: '@StoryblokBundle/config/routes/content_type.php'",
"",
"storyblok_cdn:",
" resource: '@StoryblokBundle/config/routes/cdn.php'",
""
],
"executable": false
},
"templates/base.html.twig": {
"contents": [
"<!DOCTYPE html>",
"<html>",
"<head>",
" <meta charset=\"UTF-8\">",
" <title>{% block title %}Welcome!{% endblock %}</title>",
" <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>\u26ab\ufe0f</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>\">",
" {% block stylesheets %}",
" {% endblock %}",
"",
" {% block javascripts %}",
" {% endblock %}",
"</head>",
"<body>",
"{% block body %}{% endblock %}",
"{% block storyblok_scripts %}",
" {{ storyblok_js_bridge_scripts() }}",
"{% endblock %}",
"</body>",
"</html>",
""
],
"executable": false
}
},
"ref": "c09f87a1f99bf8626ea9dd23ef5e964970fbf8e0"
}
}
}
-58
View File
@@ -1,58 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok:",
" resource: '@StoryblokBundle/config/routes.php'",
""
],
"executable": false
}
},
"ref": "d50d44f2127ee85a8c0c3d02bdb5c18664e8d8e3"
}
}
}
-61
View File
@@ -1,61 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok_webhook:",
" resource: '@StoryblokBundle/config/routes/webhook.php'",
"",
"storyblok_content_type:",
" resource: '@StoryblokBundle/config/routes/content_type.php'",
""
],
"executable": false
}
},
"ref": "d26dd9b713d71bc43c189bf4e5885b370bf4be18"
}
}
}
-87
View File
@@ -1,87 +0,0 @@
{
"manifests": {
"storyblok/symfony-bundle": {
"manifest": {
"bundles": {
"Storyblok\\Bundle\\StoryblokBundle": [
"all"
]
},
"copy-from-recipe": {
"config/": "%CONFIG_DIR%/",
"templates/": "templates/"
},
"env": {
"STORYBLOK_API_BASE_URI": "https://api.storyblok.com",
"STORYBLOK_API_TOKEN": "",
"STORYBLOK_VERSION": "draft",
"#1": "STORYBLOK_ASSETS_API_TOKEN=",
"#2": "STORYBLOK_WEBHOOK_SECRET="
}
},
"files": {
"config/packages/storyblok.yaml": {
"contents": [
"storyblok:",
" base_uri: '%env(STORYBLOK_API_BASE_URI)%'",
" token: '%env(STORYBLOK_API_TOKEN)%'",
" version: '%env(STORYBLOK_VERSION)%'",
" # assets_token: '%env(STORYBLOK_ASSETS_API_TOKEN)%'",
" # webhook_secret: '%env(STORYBLOK_WEBHOOK_SECRET)%'",
" # auto_resolve_relations: true",
" # controller:",
" # ascending_redirect_fallback: true",
"",
"when@prod:",
" storyblok:",
" controller:",
" cache:",
" public: true",
" max_age: 3600",
" smax_age: 3600",
" must_revalidate: true",
""
],
"executable": false
},
"config/routes/storyblok.yaml": {
"contents": [
"storyblok_webhook:",
" resource: '@StoryblokBundle/config/routes/webhook.php'",
"",
"storyblok_content_type:",
" resource: '@StoryblokBundle/config/routes/content_type.php'",
""
],
"executable": false
},
"templates/base.html.twig": {
"contents": [
"<!DOCTYPE html>",
"<html>",
"<head>",
" <meta charset=\"UTF-8\">",
" <title>{% block title %}Welcome!{% endblock %}</title>",
" <link rel=\"icon\" href=\"data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 128 128%22><text y=%221.2em%22 font-size=%2296%22>\u26ab\ufe0f</text><text y=%221.3em%22 x=%220.2em%22 font-size=%2276%22 fill=%22%23fff%22>sf</text></svg>\">",
" {% block stylesheets %}",
" {% endblock %}",
"",
" {% block javascripts %}",
" {% endblock %}",
"</head>",
"<body>",
"{% block body %}{% endblock %}",
"{% block storyblok_scripts %}",
" {{ storyblok_js_bridge_scripts() }}",
"{% endblock %}",
"</body>",
"</html>",
""
],
"executable": false
}
},
"ref": "5107bb02ac35ef42af12ca1225e92274ddfc621b"
}
}
}