{"id":25898429,"url":"https://github.com/upsun/drupal-scaffold","last_synced_at":"2025-07-18T08:04:02.684Z","repository":{"id":270798260,"uuid":"911487797","full_name":"upsun/drupal-scaffold","owner":"upsun","description":"Configuration additions to add Upsun hosting capabilities to an existing Drupal project","archived":false,"fork":false,"pushed_at":"2025-05-13T11:19:41.000Z","size":61,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T11:43:35.411Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/upsun.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-01-03T06:14:03.000Z","updated_at":"2025-05-13T11:07:21.000Z","dependencies_parsed_at":"2025-01-03T07:27:03.845Z","dependency_job_id":"8271948c-af8f-42f2-8699-a19d49d62547","html_url":"https://github.com/upsun/drupal-scaffold","commit_stats":null,"previous_names":["upsun/drupal-scaffold"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/upsun/drupal-scaffold","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsun%2Fdrupal-scaffold","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsun%2Fdrupal-scaffold/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsun%2Fdrupal-scaffold/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsun%2Fdrupal-scaffold/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/upsun","download_url":"https://codeload.github.com/upsun/drupal-scaffold/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/upsun%2Fdrupal-scaffold/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265724400,"owners_count":23817800,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-03T00:18:44.661Z","updated_at":"2025-07-18T08:04:02.648Z","avatar_url":"https://github.com/upsun.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Upsun+Drupal Composer Scaffold\n\n* Based on the [drupal/core-composer-scaffold](https://www.drupal.org/docs/develop/using-composer/using-drupals-composer-scaffold)\n* See also [Using the new Drupal 8 core scaffolding tool (2020) Docksal example](https://medium.com/@twfahey/using-the-new-d8-core-scaffolding-tool-48cbda9c1cd3)\n\nThis project provides a composer plugin for placing scaffold files \n(like `.upsun/config.yaml`, `settings.platformsh.php`, …) \ninto their desired location within an existing Drupal project to make it work on Upsun hosting.\n\n## Usage\n\nUpsun-Drupal Composer Scaffold is applied by requiring `upsun/drupal-scaffold` in your\nproject, and adding it to the list of `drupal-scaffold.allowed-packages`\n\nOnce installed, the scaffold operations run automatically as needed, e.g. after\n`composer install`.\n\n## Installation\n\nTo add this feature to an existing Drupal project that was built in the `recommended-project` structure, \n\n```\ncomposer config repositories.upsun-drupal-scaffold vcs https://github.com/upsun/drupal-scaffold\ncomposer config --json --merge extra.drupal-scaffold.allowed-packages '[\"upsun/drupal-scaffold\"]'\ncomposer require upsun/drupal-scaffold\n```\n\n\u003e There are minor variations in the scaffolding files between different versions of Drupal.\n\u003e This project repository supplies different version branches and publishes different constraints\n\u003e that composer will use to automatically resolve which version of the scaffolding should be used.\n\n### Add the new files to your project.\n\nThe scaffolding files added by this process must now be added to your project via `git add`\nas they are required to be part of the repository branch that is uploaded to the Upsun server. \nSome of these files (`config.yaml`) must exist and have been committed before the push to the Upsun environments can be validated.\n\n### What the scaffolding addition does\n\n* Adds required Upsun config file `config.yaml`\n  * which defines the database services, web behaviour, and deployment actions\n* Adds Platform.sh config reader \n  * which is used to pull in the environment connection information\n* Adds configurations to settings.php to use the environment settings.\n  * Such as the DB connection details\n* Adds drush support with some helper scripts\n  * `drush/*`, `.environmnent`\n* Requires `drush/drush` and `drupal/redis` libraries for optimal behaviour.\n\n### Adjustments\n\n[Review the docs for troubleshooting tips](https://docs.upsun.com/get-started/here/configure.html#errors-on-first-push)\n\nIf you used the Drupal recommended-project as a starter, \nthen your web-root inside your project will be `web/`. This is the assumed default.\nYour current Drupals `composer.json` may include the section that looks like this:\n\n```json\n    \"extra\": {\n        \"drupal-scaffold\": {\n            \"locations\": {\n                \"web-root\": \"web/\"\n```\n\nIf your project is structured a little differently, using `docroot` or `public`\nas the web-root, then you should adjust the provided scaffold file \n`.upsun/config.yaml` accordingly, \nreplacing most instances of `web/` with your actual web-root path.\nImportantly, the `applications.drupal.web.locations./.root` value.\nand also `applications.drupal.mounts.\"/web/sites/default/files\"` \n\nPlaces to look:\n\n```\nyq '.applications.drupal.web.locations./.root' \u003c .upsun/config.yaml\nyq '.applications.drupal.mounts | keys' \u003c .upsun/config.yaml\n```\n\n\n## Deploy\n\nOnce the `drupal-scaffold` changes have been added to your repository, \nyour project should be ready to push into an Upsun project and begin working.\n\nIf you don't have an Upsun project created already,\nthen you'll have to [create a project either through the console or the CLI](https://docs.upsun.com/get-started/here/create-project.html).\n\n### Gotcha: Use the right subscription plan.\n\n\u003e Note, if creating your project, do not use the `development` subscription plan.\n\u003e It must be `upsun/flexible` or you won't get any resources to begin with.\n\nIf you are on the wrong plan, need to update things before pushing successfully/\n```\nupsun resources:get\nupsun subscription:info plan 'upsun/flexible'\nupsun resources:set --disk drupal:512,db:614512\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsun%2Fdrupal-scaffold","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupsun%2Fdrupal-scaffold","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupsun%2Fdrupal-scaffold/lists"}