Skip to content
This repository was archived by the owner on Aug 20, 2019. It is now read-only.

Commit 92faf91

Browse files
authored
Load default config directly from project directory. (#410)
1 parent 9b03fd5 commit 92faf91

File tree

2 files changed

+20
-29
lines changed

2 files changed

+20
-29
lines changed

Vagrantfile

+8-27
Original file line numberDiff line numberDiff line change
@@ -11,45 +11,26 @@ beet_root = ENV['BEET_ROOT_DIR'] || "#{__dir__}"
1111
config_dir = ENV['BEET_CONFIG_DIR'] || "#{beet_root}/.beetbox"
1212
project_config = "#{config_dir}/config.yml"
1313
local_config = "#{config_dir}/local.config.yml"
14-
composer_json = "#{beet_root}/composer.json"
14+
composer_conf = JSON.parse(File.read("#{beet_root}/composer.json"))
15+
vendor_dir = composer_conf['config']['vendor-dir'] || 'vendor'
16+
default_config = "#{vendor_dir}/beet/box/provisioning/ansible/config/default.config.yml"
17+
default_config = "provisioning/ansible/config/default.config.yml" if !File.exist?(default_config)
1518

1619
# Default vagrant config.
17-
vconfig = {
18-
'vagrant_box' => 'beet/box',
19-
'vagrant_box_version' => '~> 0.6.0',
20-
'vagrant_ip' => '0.0.0.0',
21-
'vagrant_memory' => 1024,
22-
'vagrant_cpus' => 1,
23-
'beet_project' => 'drupal',
24-
'beet_profile' => 'beetbox',
25-
'beet_provision_playbook' => 'provision',
26-
'beet_provision_tags' => 'all',
27-
'beet_home' => '/beetbox',
28-
'beet_base' => '/var/beetbox',
29-
'beet_domain' => beet_root.split('/').last.gsub(/[\._]/, '-') + ".local",
30-
'beet_aliases' => [],
31-
'beet_provision' => true,
32-
'drush_create_alias' => true
33-
}
20+
vconfig = YAML::load_file(default_config)
21+
vconfig['beet_domain'] = beet_root.split('/').last.gsub(/[\._]/, '-') + ".local"
3422

3523
# Create config directory.
3624
FileUtils.mkdir_p config_dir
3725

3826
# Create config.yml from composer config.
39-
if File.exist?(composer_json)
40-
composer_conf = JSON.parse(File.read(composer_json))
41-
cconfig = composer_conf['extra']['beetbox'] rescue nil
42-
File.open(project_config, "w") { |f| f.write(cconfig.to_yaml) } if cconfig.is_a?(Hash)
43-
end
27+
cconfig = composer_conf['extra']['beetbox'] rescue nil
28+
File.open(project_config, "w") { |f| f.write(cconfig.to_yaml) } if cconfig.is_a?(Hash)
4429

4530
# Create default config file.
4631
default_config = "---\nbeet_domain: #{vconfig['beet_domain']}\n"
4732
File.open(project_config, "w") { |f| f.write(default_config) } if !File.exist?(project_config)
4833

49-
# Create .gitignore file.
50-
git_ignore = "host.config.yml\nlocal.config.yml\nVagrantfile\nVagrantfile.local\n"
51-
File.open("#{config_dir}/.gitignore", "w") { |f| f.write(git_ignore) } if !File.exist?("#{config_dir}/.gitignore")
52-
5334
# Copy config from host.
5435
host_config = "#{Dir.home}/.beetbox/config.yml"
5536
if File.exist?(host_config)

provisioning/ansible/config/default.config.yml

+12-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,18 @@
66
# Copy any of these settings to the custom config file to override.
77
#
88

9+
# Vagrant config.
10+
vagrant_box: beet/box
11+
vagrant_box_version: "~> 0.5.0"
12+
vagrant_ip: "0.0.0.0"
13+
vagrant_memory: "1024"
14+
vagrant_cpus: 1
15+
916
# Beetbox config.
17+
beet_profile: beetbox
1018
beet_repo: "{{ lookup('env','BEET_REPO') | default('https://github.com/beetboxvm/beetbox.git',true) }}"
1119
beet_version: "{{ lookup('env','BEET_VERSION') | default('master',true) }}"
12-
beet_home: "{{ lookup('env','BEET_HOME') | default('/beetbox',true) }}"
20+
beet_home: "/beetbox"
1321
beet_role_dir: "{{ beet_home }}/provisioning/ansible/roles"
1422
beet_project: drupal
1523
beet_debug: no
@@ -18,7 +26,7 @@ beet_aliases: []
1826
beet_env_name: BB_ENVIRONMENT
1927
beet_env: vagrant
2028
beet_user: "{{ lookup('env','BEET_USER') | default('vagrant',true) }}"
21-
beet_base: "{{ lookup('env','BEET_BASE') | default('/var/beetbox',true) }}"
29+
beet_base: "/var/beetbox"
2230
beet_root: "{{ beet_base }}"
2331
beet_web: "{{ beet_root }}"
2432
beet_ssh_home: "{{ beet_root }}"
@@ -30,6 +38,8 @@ beet_mysql_database: "beetbox"
3038
beet_custom_pre_tasks: "{{ beet_base }}/.beetbox/tasks/pre"
3139
beet_custom_post_tasks: "{{ beet_base }}/.beetbox/tasks/post"
3240
beet_root_create: yes
41+
beet_provision_playbook: provision
42+
beet_provision_tags: all
3343
beet_provision: yes
3444

3545
# Symlinks.

0 commit comments

Comments
 (0)