---
opdk_smtp_mail_from: '{{ opdk_user_name }}'

# Home folder of the Apigee user
opdk_user_home: /home/{{ opdk_user_name }}

# Default Apigee Edge Private Cloud Version
opdk_version: '4.17.09'

# Apigee staging installation folder
opdk_installer_path: "/tmp/edge"

# Default name of the backup archive of the apigee data folder
apigee_data_backup_archive_name: apigee_data_backup.tar.gz

# Default folder in which the apigee data backup archive will be stored.
apigee_archive_storage_folder: '{{ opdk_installer_path }}'

# Default apigee installation home
apigee_home: /opt/apigee

# Cassandra nodetool command
nodetool: '{{ apigee_home }}/apigee-cassandra/bin/nodetool'

# Cassandra cqlsh command
cqlsh: '{{ apigee_home }}/apigee-cassandra/bin/cqlsh'

# Cassandra command line command
cassandra_cli: '{{ apigee_home }}/apigee-cassandra/bin/cassandra-cli'

# Postgres command line tool
psql: "/usr/bin/psql"

# Qpid stat tool
qpid_stat: '{{ apigee_home }}/apigee-qpidd/bin/qpid-stat'

# Qpid queue depth
check_queue_depth: '{{ apigee_home }}/apigee-qpidd/bin/check_queue_depth.py'

# Local resource location
local_apigee_path: ~/.apigee

# Local secure resource location
local_apigee_secure: ~/.apigee-secure

# defaults file for apigee-opdk-setup-default-settings
credentials_file: '{{ local_apigee_secure }}/credentials.yml'

# defaults file for apigee-opdk-setup-ps
apigee_postgresql_data_dir: '{{ apigee_home }}/data/apigee-postgresql/pgdata'

# Silent installation configuration file that is provided manually
manual_response_file: ''

# Apigee validate config file path
apigee_validate_config_file: '{{ opdk_installer_path }}/apigee-validate.conf'

# Apigee edge default pod for silent-config file
opdk_mp_pod: gateway

# Apigee Edge Ports
cassandra_jmx_port: 7199
cassandra_thrift_client_port: 9160
cassandra_cql_native_port: 9042
cassandra_non_ssl_gossip_port: 7000
cassandra_ssl_gossip_port: 7001

zk_data_port: 2181
zk_leader_port: 2888
zk_voter_port: 3888

mp_int_mgmt_port: 4528
mp_ext_mgmt_port: 8082
mp_jmx_port: 1101
mp_router_port: 8998

ms_jmx_port: 1099
ms_ext_mgmt_port: 8080

router_jmx_port: 1100
router_ext_mgmt_port: 8081
router_int_mgmt_port: 4527

qpid_jmx_port: 1102
qpid_int_mgmt_port: 4529
qpid_messaging_port: 5672
qpid_ext_mgmt_port: 8083

pg_jmx_port: 1103
pg_int_mgmt_port: 4530
pg_db_port: 5432
pg_ext_mgmt_port: 8084

ui_http_port: 9000

edge_proxy_port: 9001

ldap_data_port: 10389

php_fpm_port: 8888

influxdb_system_port: 25826
influxdb_port: 8086

# Default collectd installation file
influxdb_installation_config: influxdb.conf

# Local folder in which to store logs and config files
conf_logs_dir: configs_and_logs

# Organization name used in Edge and Baas setups
org_name: opdk

# Default for creating a new user in org
new_user: 'y'

# Default for first_name in creating new user
first_name: Opdk

# Default for last_name in creating new user
last_name: User

# Virtual host port for the org
virtual_host_port: 9001

# Virtual Host name for the org
virtual_host_name: default

# Virtual host alias
virtual_host_alias: '127.0.0.1'

# Environment name
env_name: test

# Default analytics group
ax_group: axgroup001

# Default consumer group
consumer_group: consumer-group-001
#
## Default onboarding provisioning file name
#onboarding_config: 'apigee-provision.conf'
#
## Default onboarding provisioning file path
#onboarding_config_file_path: "{{ opdk_installer_path }}/{{ onboarding_config }}"

# Default location and name of the Baas Silent Install file
#opdk_baas_silent_install_file_path: '{{ opdk_installation_config_file }}'

# Baas silent install file provided by customer
opdk_baas_provided_silent_install_file: ''

# Define the API BaaS administrator account.
baas_admin_name: ''
baas_admin_email: ''
baas_admin_pass: ''
baas_superuser_name: ''
baas_superuser_email: ''
baas_superuser_pass: ''

baas_create_org_and_user_script: "{{ apigee_home }}/baas-usergrid/bin/create_org_and_user.py"

# Cassandra username and password must be provided regardless of whether you enable authentication.
opdk_cass_username: ''
opdk_cass_password: ''
opdk_cass_auth: 'n'

# Default setting to use a cassandra ring
opdk_use_cass_cluster: 'y'

# Default silent-install configuration file settings for OpenLDAP
opdk_ldap_type: '1'
use_opdk_ldap_remote_host: 'n'
opdk_ldap_pass: ''

# Default to enable analytics
opdk_enable_ax: 'y'

# Default pod
default_mp_pod: 'gateway'

# Default to enable use of the zookeeper cluster
opdk_use_zk_cluster: 'y'

# Default cassandra clustername used for monetization
opdk_cass_clustername: 'Apigee'

# SMTP settings for Edge Configuration
opdk_smtp_skip: 'y'
opdk_smtp_host: 'smtp.gmail.com'
opdk_smtp_port: '25'
opdk_smtp_user: ''
opdk_smtp_password: ''
opdk_smtp_ssl: 'n'

# Default to bind OPDK on all network interfaces
opdk_bind_on_all_interfaces: 'y'

# API BaaS Stack information.
# Default cluster name is "apigee_baas"
baas_cluster_name: 'apigee_baas'

# URL and port of the load balancer for the API BaaS Stack nodes,
# or IP/DNS and port of a single Stack node with no load balancer.
baas_load_balancer_host: ''
baas_load_balancer_port: '8080'

# Portal port. Default value is 9000.
baas_portal_port: '9000'

# Elastic search ports. Default values
baas_elasticsearch_port_low: '9200'
baas_elasticsearch_port_high: '9300'

# SMTP information. BaaS requires an SMTP server.
baas_smtp_host: 'smtp.gmail.com'
baas_smtp_port: '465'
baas_smtp_user: ''
baas_smtp_user_pass: ''
baas_smtp_ssl: 'n'

# Default download location for log and config files
fetched_logs_dir: ~/.apigee/planet_resources/
fetched_configs_dir: ~/.apigee/planet_resources/

# Default system config files to download
system_config_files:
  - { dir: '/etc/', name: 'hosts' }
  - { dir: '/etc/', name: 'hosts.allow' }
  - { dir: '/etc/', name: 'hosts.deny' }
  - { dir: '/etc/', name: 'environment' }
  - { dir: '/etc/', name: 'profile' }
  - { dir: '/etc/', name: 'bashrc' }
  - { dir: '/etc/', name: 'resolv.conf' }
  - { dir: '/etc/', name: 'sysctl.conf' }
  - { dir: '/etc/', name: 'sudoers' }
  - { dir: '/etc/security/', name: 'limits.conf' }
  - { dir: '/etc/security/limits.d/', name: '*conf' }

apigee_config_files:
  - { dir: '{{ opdk_installer_path }}/', name: '*.conf' }
  - { dir: '{{ opdk_installer_path }}/', name: '*.sh' }
  - { dir: '{{ apigee_home }}/customer/', name: '*' }
  - { dir: '{{ apigee_home }}/etc/', name: 'default*.sh' }
  - { dir: '{{ apigee_home }}/customer', name: '*' }
  - { dir: '{{ apigee_home }}/apigee-cassandra/', name: '*conf' }
  - { dir: '{{ apigee_home }}/apigee-cassandra/', name: '*cfg' }
  - { dir: '{{ apigee_home }}/apigee-cassandra/', name: '*yml' }
  - { dir: '{{ apigee_home }}/apigee-cassandra/', name: '*yaml' }
  - { dir: '{{ apigee_home }}/apigee-cassandra/', name: '*properties' }
  - { dir: '{{ apigee_home }}/apigee-zookeeper/', name: '*conf' }
  - { dir: '{{ apigee_home }}/apigee-zookeeper/', name: '*cfg' }
  - { dir: '{{ apigee_home }}/apigee-zookeeper/', name: '*yml' }
  - { dir: '{{ apigee_home }}/apigee-zookeeper/', name: '*yaml' }
  - { dir: '{{ apigee_home }}/apigee-zookeeper/', name: '*properties' }
#  - { dir: '{{ apigee_home }}/*qpid-server/', name: '*conf' }
#  - { dir: '{{ apigee_home }}/*qpidd/', name: '*conf' }
#  - { dir: '{{ apigee_home }}/token/', name: '*properties' }
#  - { dir: '{{ apigee_home }}', name: '*sh' }

apigee_log_files:
  - { dir: '{{ opdk_installer_path }}/', name: '*.log' }
  - { dir: '{{ opdk_installer_path }}/', name: '*.txt' }
  - { dir: '{{ apigee_home }}/', name: '*.out' }
  - { dir: '{{ apigee_home }}/var/log', name: '*.log' }
  - { dir: '/var/log/', name: 'messages' }

# Default settings for removing data on rollback
remove_apigee: false

# Default timeout setting used for restarting a node when selinux is not disabled
#server_restart_timeout: 720

# Default to allow server restarts
server_restart: true

start_check_delay: 30

bootstrap_filename: bootstrap.sh

enable_system_check: 'n'
