lib/defaults.yaml in forj-0.0.43 vs lib/defaults.yaml in forj-0.0.44
- old
+ new
@@ -39,10 +39,12 @@
# build.sh internal variables.
:build_config: box
:branch: master
:box_name: maestro
+
+ :provider_name: hpcloud
:description:
# Description of build.sh environment variable defined by forj cli for build.sh. (~/.forj/infra/build/<Account>.build.env)
:FORJ_HPC: "HPCloud cli Account used to build your Maestro box"
:FORJ_HPC_COMPUTE: "HPCloud Compute service (like region-b.geo-1) used to run your Maestro Box"
:FORJ_TENANT_NAME: "HPCloud Tenant name used build your <Blueprint> nodes"
@@ -55,66 +57,118 @@
# DNS specific data
:FORJ_DNS_TENANTID: "HPCloud Project ID to use to create DNS entries for each boxes."
:FORJ_DNS_ZONE: "HPCloud Domain name service to use for each boxes DNS entries. (Ex: region-a.geo-1)"
:FORJ_DNS_DOMAIN: "Domain used for DNS. Each server will be attached to a public IP. An 'A' record in the DNS service will need to be added to your HPCloud DOMAIN."
-# Use by Object ForjAccount, function get, to identify the section name in ~/.forj/accounts/YourAccount. We can set those variables with 'forj set key=value [-a account]'
-:account_section_mapping:
- :security_group:
- :section: :maestro
- :desc: "Security group name to configure and attach to each forge boxes."
+# Following declares generic FORJ data to handle Fog object (compute/network/dns/...)
+# It defines the account file structure. section/key=value
+# All data can be predefined by default value (config.yaml/defaults.yaml) except
+# those identified by :account_exclusive: true
+:sections:
+ # This section define updatable data available from config.yaml. But will never be added in an account file.
+ # Used by forj set/get functions
+ :default:
+ :account_name:
+ :desc: "Default account name used by forj cli"
+ :provider_name:
+ :desc: "Default provider name while running forj setup. By default, hpcloud is selected."
+ # Defines account credentials data
+ :account:
+ :name:
+ :desc: "Name of the Forj cli account. use forj account rename <oldName> <NewName> to update it."
+ :readonly: true
+ :account_exclusive: true
+ :provider:
+ :desc: "Provider name attached to the forj cli account. To update it, use forj setup."
+ :readonly: true
+ :account_exclusive: true
+ :default: :provider_name
- :image:
- :section: :maestro
- :desc: "Image used to create Maestro and all forge boxes. By default, it is 'Ubuntu Precise 12.04.4 LTS Server 64-bit 20140414 (Rescue Image)'"
+ # Defines services
+ :services:
+ :compute:
+ :desc: "Generic service identification for compute"
+ :account_exclusive: true
+ :account: true
+ :network:
+ :desc: "Generic service identification for network"
+ :account_exclusive: true
+ :account: true
- :flavor:
- :section: :maestro
- :desc: "Maestro Flavor name. This flavor is for Maestro only. Your blueprint layout defines each node flavors on needs."
+ # Defines ssh keys credentials
+ :credentials:
+ :keypair_path:
+ :desc: "public key file to send to the cloud under keypair name, and private key to keep on your local forj environment to access your boxes."
+ :keypair_name:
+ :desc: "keypair name defined in your cloud to access your server. By default we named it 'forj'. If it doesn't exist, it will be created."
+ :auth_uri:
+ :desc: "Generic service auth url"
+ :account_exclusive: true
+ :account: true
+ :required: true
+ :ask_sort: 0
+ :account_id:
+ :desc: "Generic Cloud Account name."
+ :account_exclusive: true
+ :account: true
+ :required: true
+ :account_key:
+ :desc: "Generic cloud account key"
+ :account_exclusive: true
+ :account: true
+ :required: true
+ :tenant:
+ :desc: "Generic Tenant identification"
+ :account_exclusive: true
+ :account: true
+ :required: true
+ :os_user:
+ :desc: "User name required by Maestro to access the cloud compute via openstack. Will be obsoleted soon."
+ :account_exclusive: true
+ :account: true
+ :required: true
+ :validate: !ruby/regexp /\w+/
+ :os_enckey:
+ :desc: "Encrypted password required by Maestro to access the cloud compute via openstack. Will be obsoleted soon."
+ :account_exclusive: true
+ :encrypted: true
+ :account: true
+ :required: true
- :bp_flavor:
- :section: :maestro
- :desc: "Blueprint nodes default flavor. Usually, blueprint node are smaller than Maestro."
+ # Defines DNS services for maestro
+ :dns:
+ :service:
+ :desc: "DNS service region name Maestro will use."
+ :account_exclusive: true
+ :tenant_id:
+ :desc: "DNS Tenant ID Maestro will use"
+ :account_exclusive: true
+ :domain_name:
+ :desc: "Domain name added to each hosts."
+ :account_exclusive: true
- :build_config:
- :section: :maestro
- :desc: "forj cli use 'build.sh' to create Maestro. See build_config option on build.sh to get more information. By default 'box'"
-
- :box_name:
- :section: :maestro
- :desc: "forj cli use 'build.sh' to create Maestro. See box_name option on build.sh to get more information. By default 'maestro'"
-
- :keypair_name:
- :section: :credentials
- :desc: "keypair name defined in your cloud to access your server. By default we named it 'forj'. If it doesn't exist, it will be created."
-
- :keypair_path:
- :section: :credentials
- :desc: "public key file to send to the cloud under keypair name, and private key to keep on your local forj environment to access your boxes."
-
- :tenant_name:
- :section: :compute
- :desc: "Tenant name required by fog/openstack on gardener"
-
- :domain_name:
- :section: :dns
- :desc: "Domain name added to each hosts."
-
- :tenant_id:
- :section: :dns
- :desc: "DNS Tenant ID Maestro will use"
-
- :service:
- :section: :dns
- :desc: "DNS service region name Maestro will use."
-
- :network:
- :section: :network
- :desc: "Network name to attach to each forge boxes. By default we use 'private'. If it doesn't exist, it will be created."
-
- :infra_repo:
- :section: :maestro
- :desc: "Defines your Infra directory to use while booting."
-
- :maestro_repo:
- :section: :maestro
- :desc: "To use a different Maestro repository already cloned."
+ :maestro:
+ :tenant_name:
+ :desc: "Tenant name required by fog/openstack on gardener"
+ :network_name:
+ :desc: "Network name to attach to each forge boxes. By default we use 'forj'. If it doesn't exist, it will be created."
+ :default: network
+ :security_group:
+ :desc: "Security group name to configure and attach to each forge boxes."
+ :maestro_repo:
+ :desc: "To use a different Maestro repository already cloned."
+ :infra_repo:
+ :desc: "Defines your Infra directory to use while booting."
+ :box_name:
+ :desc: "forj cli use 'build.sh' to create Maestro. See box_name option on build.sh to get more information. By default 'maestro'"
+ :build_config:
+ :desc: "forj cli use 'build.sh' to create Maestro. See build_config option on build.sh to get more information. By default 'box'"
+ :bp_flavor:
+ :desc: "Blueprint nodes default flavor. Usually, blueprint node are smaller than Maestro."
+ :flavor:
+ :desc: "Maestro Flavor name. This flavor is for Maestro only. Your blueprint layout defines each node flavors on needs."
+ :image:
+ :desc: "Image used to create Maestro and all forge boxes. By default, it is 'Ubuntu Precise 12.04.4 LTS Server 64-bit 20140414 (Rescue Image)'"
+ :ports:
+ :desc: "List of security group rules (1 port or range of ports) to open to the external network."
+ :branch:
+ :desc: "Branch to use to build your forge"