-
Notifications
You must be signed in to change notification settings - Fork 848
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split provisioners into external git repos #980
Split provisioners into external git repos #980
Conversation
So you only download & provision the sites you need.
This is excellent for granularity, resources, and general control-freak moments. All these changes get a +1 from me (I haven't tested yet, but several of these things are great ideas). It's a huge batch of changes though. So I'll say something I always say when I like something and want to see it in prod... if there's any resistance please break it up and include whatever possible. Let's only delay pieces that are disputed or buggy, not everything g. |
Allows site clone to work when using a custom local_path
I haven't had time to dig in yet, but I want to leave a note of general support for this. I'll take a closer look over the next few days. Thank you @LoreleiAurora! |
how about changing the dashboard like so? ---
default:
dashboard:
repo: https://github.com/topdown/VVV-Dashboard.git
---
sites:
wordpress-default:
repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git
vm_dir: '/srv/www/wordpress-default-provisioner'
[...] |
@LoreleiAurora the timer for the provisioning is shown before the start of the provisioning of the sites. Not at the very end of the process |
@cfoellmann i forgot the timer existed, as each site is called as a separate vagrant provisioner i'm not really sure how we could keep it. Unless anyone else has any ideas? |
maybe add the counter to all provisioners? I can add them together. 😸 |
@cfoellmann if you want to try that you can. |
@jeremyfelt can you add some repos for multisite?
|
There is a docs about that file? like the name of the file? what is the path? Also this works with old installation of vvv? |
@Mte90 The file is sites:
wordpress-default:
repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-default.git
vm_dir: '/srv/www/wordpress-default-provisioner'
wordpress-develop:
repo: https://github.com/Varying-Vagrant-Vagrants/vvv-wordpress-develop.git
vm_dir: '/srv/www/wordpress-develop-provisioner'
// The below lines are the directory names of your site configs followed by a colon.
preexisting-site-1:
preexisting-site-2:
preexisting-site-3: I still need to write docs/migration guide. |
So in the case that I have many installed with vv this is compatible? |
I have not tested compatibility with vv, but if its not i would love to help make it compatible. |
@jeremyfelt Rather than having a repo for each of utilities what do you think about adding another key to the yaml file and storing them in one repo. This would give a config like this: sites:
<Redacted for simplicity>
utilities:
phpmyadmin: true
memcached-admin: true
opcache-status: true
webgrind: true Then any other utils (including third party ones) can be added to this repo and work with just one line. Kind of like a VVV plugin directory. For example i have mongodb & adminmongo installed in vvv, this config could live as part of the utils repo. |
Shouldn't we look into provisioning the utilities via composer? I wanted to do it in the past but time... |
@cfoellmann we can do that in the scripts, but we keep the scripts that trigger the installs in that repo allowing non composer tools to be added with 1 uniform method of configuration. |
What about adding a Yaml linter to validate these YAML files? Would hopefully lower support issues/questions when this PR is rolled out. |
@topdown can you please open that as a new issue as this is already in develop. |
Tasks:
Customfile
from any folder (FixesCustomfile
from any folder, not just Vagrantfile path (or alternative) #851)YAML config file to control VVV
The YAML config file will allow inclusion of external provisioning scripts from git repos and disabling of provisioning of specific sites (at a later date it can be used to configure other aspects of VVV).
To use a default option for any site parameter simply miss it out of the site block.
Ability to provision sites individually
Sites can be provisioned individually using the following vagrant command
vagrant provision --provision-with site-{sitename}
e.g.
vagrant provision --provision-with site-wordpress-default
New Variables
Path to site uses the vm_dir as defined in the config as apposed to the path to the dir in which the nginx config or shell script was found. This resolves the issue listed in #771.