I am giving PuPHPet a go, so created an archive using all the basic options.
When trying vagrant up
I get the error:
==> machine1: Error: Could not parse application options: invalid option: --manifestdir
A little bit of investigation points to the problem being with puppet V5 not longer supports manifest_dir
option.
The suggested fix is to update the config to use environments and set environment
and environments_path
in config.
Can anyone throw some light on where in the config.yaml
these need to be set?
Also where in the PuPHPet directory structure the environment folder needs to live?
The config.yaml that I am using;
vagrantfile:
target: local
vm:
provider:
local:
box: bento/ubuntu-16.04
box_url: 'false'
box_version: '0'
chosen_virtualizer: virtualbox
virtualizers:
virtualbox:
modifyvm:
natdnshostresolver1: false
showgui: 0
vmware:
numvcpus: 1
parallels:
linked_clone: 0
check_guest_tools: 0
update_guest_tools: 0
machines:
vflm_k8bgkk2q1t9z:
id: machine1
hostname: machine1.puphpet
network:
private_network: 192.168.56.101
forwarded_port:
vflmnfp_yru3n3tlfqio:
host: '9419'
guest: '22'
memory: '512'
cpus: '1'
provision:
puppet:
manifests_path: puphpet/puppet/manifests
module_path:
- puphpet/puppet/modules
- puphpet/puppet/manifests
options:
- '--verbose'
- '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
synced_folder:
vflsf_lvspa9n8sfn3:
owner: www-data
group: www-data
source: ./
target: /var/www
sync_type: default
smb:
smb_host: ''
smb_username: ''
smb_password: ''
mount_options:
dir_mode: '0775'
file_mode: '0664'
rsync:
args:
- '--verbose'
- '--archive'
- '-z'
exclude:
- .vagrant/
- .git/
auto: 'true'
usable_port_range:
start: 10200
stop: 10500
post_up_message: ''
ssh:
host: 'false'
port: 'false'
private_key_path: 'false'
username: vagrant
guest_port: 'false'
keep_alive: '1'
forward_agent: 'false'
forward_x11: 'false'
shell: 'bash -l'
insert_key: 'false'
vagrant:
host: detect
proxy:
http: ''
https: ''
ftp: ''
no_proxy: ''
server:
install: '1'
packages:
- bash-completion
- htop
- vim
users_groups:
install: '1'
groups: { }
users: { }
locale:
install: '1'
settings:
default_locale: en_US.UTF-8
locales:
- en_GB.UTF-8
- en_US.UTF-8
timezone: UTC
firewall:
install: '1'
rules: { }
resolv:
install: '1'
nameservers:
- 8.8.8.8
- 8.8.4.4
domainname: ''
searchpath: { }
cron:
install: '1'
jobs: { }
nginx:
install: '0'
settings:
version: present
default_vhost: 1
proxy_buffers: '4 256k'
proxy_buffer_size: 128k
proxy_connect_timeout: 600s
proxy_send_timeout: 600s
proxy_read_timeout: 600s
names_hash_bucket_size: 128
upstreams: { }
vhosts:
nxv_9iotkb0epf2c:
server_name: awesome.dev
server_aliases:
- www.awesome.dev
www_root: /var/www/awesome
listen_port: '80'
client_max_body_size: 1m
ssl: '0'
locations:
nxvl_jjk47mtl0r5o:
www_root: /var/www/awesome/web
location: /
autoindex: 'off'
internal: 'false'
index_files:
- index.html
- index.php
- app.php
try_files:
- $uri
- $uri/
- /index.php$is_args$args
- /app.php$is_args$args
fastcgi: ''
fastcgi_index: ''
fastcgi_split_path: ''
proxy: ''
proxy_redirect: ''
nxvl_8j0icnvn334t:
www_root: /var/www/awesome/web
location: '~ ^/(app_dev|config)\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app_dev.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app_dev.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV dev'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_fan1klxugnqt:
www_root: /var/www/awesome/web
location: '~ ^/index\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /index.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: index.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
nxvl_5grri35wy80b:
www_root: /var/www/awesome/web
location: '~ ^/app\.php(/|$)'
autoindex: 'off'
internal: 'false'
try_files:
- $uri
- $uri/
- /app.php$is_args$args
fastcgi: '127.0.0.1:9000'
fastcgi_index: app.php
fastcgi_split_path: '^(.+\.php)(/.*)$'
fast_cgi_params_extra:
- 'SCRIPT_FILENAME $document_root$fastcgi_script_name'
- 'APP_ENV prod'
set:
- '$path_info $fastcgi_path_info'
proxy: ''
proxy_redirect: ''
proxies: { }
apache:
install: '1'
settings:
version: 2.4
user: www-data
group: www-data
default_vhost: true
manage_user: false
manage_group: false
sendfile: 0
modules:
- proxy_fcgi
- rewrite
vhosts:
av_2bg7c7vda1pb:
servername: awesome.dev
serveraliases:
- www.awesome.dev
docroot: /var/www/awesome/web
port: '80'
setenvif:
- 'Authorization "(.*)" HTTP_AUTHORIZATION=$1'
custom_fragment: ''
ssl: '0'
ssl_cert: LETSENCRYPT
ssl_key: LETSENCRYPT
ssl_chain: LETSENCRYPT
ssl_certs_dir: LETSENCRYPT
ssl_protocol: ''
ssl_cipher: ''
directories:
avd_ayxmp8ol7nqw:
path: /var/www/awesome/web
directoryindex: 'index.php app.dev'
options:
- Indexes
- FollowSymlinks
- MultiViews
allow_override:
- All
require:
- 'all granted'
custom_fragment: ''
provider: directory
files_match:
avfm_5mduocupch06:
path: (app_dev|config)\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV dev'
custom_fragment: ''
provider: filesmatch
avfm_h7xbhb0zqsoq:
path: app\.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
setenv:
- 'APP_ENV prod'
custom_fragment: ''
provider: filesmatch
avfm_bgd9dcbawlo8:
path: \.php$
sethandler: 'proxy:fcgi://127.0.0.1:9000'
custom_fragment: ''
provider: filesmatch
letsencrypt:
install: '1'
settings:
email: ''
webserver_service: ''
domains: { }
php:
install: '1'
settings:
version: '7.2'
modules:
php:
- cli
- intl
- xml
pear: { }
pecl: { }
ini:
display_errors: 'On'
error_reporting: '-1'
session.save_path: /var/lib/php/session
date.timezone: UTC
fpm_ini:
error_log: /var/log/php-fpm.log
fpm_pools:
phpfp_kk90qv3if70v:
ini:
prefix: www
listen: '127.0.0.1:9000'
security.limit_extensions: .php
user: www-user
group: www-data
composer: '1'
composer_home: ''
xdebug:
install: '0'
settings:
xdebug.default_enable: '1'
xdebug.remote_autostart: '0'
xdebug.remote_connect_back: '1'
xdebug.remote_enable: '1'
xdebug.remote_handler: dbgp
xdebug.remote_port: '9000'
blackfire:
install: '0'
settings:
server_id: ''
server_token: ''
agent:
http_proxy: ''
https_proxy: ''
log_file: stderr
log_level: '1'
php:
agent_timeout: '0.25'
log_file: ''
log_level: '1'
xhprof:
install: '0'
wpcli:
install: '0'
version: v1.1.0
drush:
install: '0'
version: 8.0.5
ruby:
install: '1'
versions:
rv_45pl5r1olefv:
default: '1'
bundler: '1'
version: '2.4'
gems:
- deep_merge@1.2.1
- activesupport@5.1.4
- vine@0.4
python:
install: '1'
packages: { }
versions: { }
nodejs:
install: '0'
settings:
version: '6'
npm_packages: { }
mariadb:
install: '0'
settings:
version: '10.1'
root_password: '123'
override_options: { }
users:
mariadbnu_lxzy8vptfdcv:
name: dbuser
password: '123'
databases:
mariadbnd_vch18hn8fy7h:
name: dbname
sql: ''
grants:
mariadbng_dkhxul0k78c2:
user: dbuser
table: '*.*'
privileges:
- ALL
mysql:
install: '1'
settings:
version: '5.7'
root_password: '123'
override_options: { }
users:
mysqlnu_rew8wtlnfqjm:
name: dbuser
password: '123'
databases:
mysqlnd_xmr4nhv1e4ki:
name: dbname
sql: ''
grants:
mysqlng_eg463msh1guu:
user: dbuser
table: '*.*'
privileges:
- ALL
postgresql:
install: '0'
settings:
global:
encoding: UTF8
version: '9.6'
server:
postgres_password: '123'
databases: { }
users: { }
grants: { }
mongodb:
install: '0'
settings:
bind_ip: 127.0.0.1
port: '27017'
globals:
version: 3.6.2
databases: { }
redis:
install: '0'
settings:
port: '6379'
sqlite:
install: '0'
databases: { }
mailhog:
install: '0'
settings:
smtp_ip: 0.0.0.0
smtp_port: 1025
http_ip: 0.0.0.0
http_port: '8025'
path: /usr/local/bin/mailhog
beanstalkd:
install: '0'
settings:
listenaddress: 0.0.0.0
listenport: '11300'
maxjobsize: '65535'
maxconnections: '1024'
binlogdir: /var/lib/beanstalkd/binlog
binlogfsync: null
binlogsize: '10485760'
beanstalk_console: 0
rabbitmq:
install: '0'
settings:
port: '5672'
users: { }
vhosts: { }
plugins: { }
elastic_search:
install: '0'
settings:
version: 6.1.2
java_install: true
instances:
esi_qgdjc41v6s8n:
name: es-01
jvm_options:
- '-Xms2G'
- '-Xmx2G'
Step 1:
Open puphpet/vagrant/Vagrantfile-local
Step 2:
Find this line of code:
puppet.manifests_path = "#{data['vm']['provision']['puppet']['manifests_path']}"
Step 3:
Insert these two lines of code before the line of code previously mentioned in step 2
puppet.environment_path = "#{data['vm']['provision']['puppet']['environment_path']}"
puppet.environment = "#{data['vm']['provision']['puppet']['environment']}"
It should look like this now:
Step 4:
open puphpet/config.yaml
Step 5:
Find this line of code:
manifests_path: puphpet/puppet/manifests
Step 6:
Insert these two lines of code before the line of code previously mentioned in step 5
environment_path: puphpet/puppet/environments
environment: development
It should look like this now:
Step 7:
Go to puphpet/puppet
directory and create a new directory and name it environments
and inside the environments
directory, create another directory and name it development
The structure should look like the one below:
And you're done!!!
But make sure to run vagrant provision
to load the new configuration.