Open JoelProminic opened 4 months ago
Here is how looks like Hosts.yml file in server with following configuration:
Hosts.yml:
#jinja2:lstrip_blocks: True
# core_provisioner_version: {{ core_provisioner_version }}
# provisioner_name: {{ provisioner_name }}
# provisioner_version: {{ provisioner_version }}
---
hosts:
-
settings:
hostname: test # demo
domain: startcloud.com # startcloud.com
server_id: '9366' # Auto-generated
vcpus: 2 # 2
memory: 8G # 8G
box: 'STARTcloud/debian12-server'
box_version: 0.0.4
os_type: 'Debian_64'
provider-type: virtualbox
firmware_type: UEFI
consoleport: 9366 # Auto-generated
consolehost: 0.0.0.0
setup_wait: 300
vagrant_user_private_key_path: ./core/ssh_keys/id_rsa
vagrant_user: startcloud
vagrant_user_pass: 'STARTcloud22@!'
vagrant_insert_key: true
ssh_forward_agent: true
networks:
- type: external
address: 192.168.2.1 # 192.168.2.15, This is ignored when dhcp4 is set to true, Provide user option
netmask: 255.255.255.0 # 255.255.255.0, This is ignored when dhcp4 is set to true, Provide user option
gateway: # 192.168.2.1, This is ignored when dhcp4 is set to true, Provide user option
dhcp4: true # true, Provide user option in case they want static ip
dhcp6: false # false
bridge: # Blank, Provide user option
mac: auto
dns:
- nameserver: 1.1.1.1 # 9.9.9.9
- nameserver: 1.0.0.1 # 149.112.112.112
#disks:
# boot:
# size: null
# additional_disks:
# - volume_name: disk1
# size: null
# port: 5
# Moved to Hosts.rb, Here to document how to override, will be removed in future version once documented in README
#vbox:
# directives:
# - directive: vrde
# value: 'on'
provisioning:
ansible.builtin.shell:
enabled: false
scripts:
- './scripts/aliases.sh'
ansible:
enabled: true
scripts:
- local:
- script: ansible/generate-playbook.yml
ansible_python_interpreter: /usr/bin/python3
compatibility_mode: 2.0
install_mode: pip
ssh_pipelining: true
verbose: false
- script: ansible/playbook.yml
ansible_python_interpreter: /usr/bin/python3
compatibility_mode: 2.0
install_mode: pip
ssh_pipelining: true
verbose: false
folders:
- map: .
to: /vagrant
type: virtualbox
disabled: true
automount: true
description: "Disable VBoxSF"
- map: ./provisioners/ansible/
to: /vagrant/ansible/
type: rsync
args:
- '--verbose'
- '--archive'
- '--delete'
- '-z'
- '--copy-links'
- map: ./installers/
to: /vagrant/installers/
type: rsync
- map: ./ssls/
to: /secure/
type: rsync
- map: ./safe-id-to-cross-certify/
to: /safe-id-to-cross-certify/
type: rsync
vars:
## You can set global role variables here, look in the defaults folders for hints as to variables used by roles
# Domino Configuration Variables
domino_organization: startcloud #STARTcloud
safe_notes_id: safe.ids # SAFE.ids
domino_admin_notes_id_password: "password"
domino_server_clustermates: 0 # 0
# Additional server options
is_additional_server: false #false
#use_existing_server_id: null false
#existing_server_id: null "demo1.id"
#existing_server: null "demo0.startcloud.com"
#existing_server_ip: null "192.168.2.227"
## When using the default: demo.startcloud.com as the hostname and domain, we use the default-signed.crt certificates to provide a valid SSL
## If the hostname and domain, ie demo.startcloud.com do not match the certificate we provide (ie demo.startcloud.com in default-signed.crt), some services may not start (ie nomadweb)
## If a user does not mind using a self signed certificate for their development testing for their own domain or are unable to replace the default-signed.crt files
## they would set the below value to true so that the vm creates a SSL crt with the valid hostname, so that when the service compares the hostname it is to listen on and
## the hostname the certificate is signed for it matches.
haproxy_ssl_redirect: true
selfsigned_enabled: true # false
debug_all: true
# Genesis Variables
genesis_packages:
- netmonitor
- SuperHumanPortal
# Domino Installer Variables
#domino_hash: null # "4153dfbb571b1284ac424824aa0e25e4"
domino_server_installer_tar: Domino_12.0.2_Linux_English.tar
domino_major_version: 12 # "12"
domino_minor_version: 2 # "0"
domino_patch_version: 2 # "2"
# Domino fixpack Variables
#domino_fp_hash: null # "124153dfbb571b1284ac4248"
#domino_server_installer_tar: Domino_12.0.2_Linux_English.tar # "Domino_12.0.2_Linux_English.tar"
domino_installer_fixpack_install: true # false
domino_fixpack_version: FP2 # FP1
domino_server_fixpack_tar: Domino_1202FP2_Linux.tar # "Domino_1201FP1_Linux.tar"
# Domino Hotfix Variables
#domino_hf_hash: null # "14153dfbb571b1284ac42482"
domino_installer_hotfix_install: false # false
domino_hotfix_version: # HF50
domino_server_hotfix_tar: # "1201HF50-linux64.tar"
# Leap Variables
#leap_hash: null # "080235c0f0cce7cc3446e01ffccf0046"
leap_installed_check: true
leap_archive: Leap-1.0.5.zip # Leap-1.0.5.zip
leap_version: 1.0.5 # 1.0.5
# Nomad Web Variables
#nomadweb_hash: null # "044c7a71598f41cd3ddb88c5b4c9b403"
nomadweb_archive: nomad-server-1.0.10-for-domino-12.0.2-linux.tgz # nomad-server-1.0.8-for-domino-1202-linux.tgz
nomadweb_version: 1.0.10 # 1.0.8
# Traveler Variables
#traveler_hash: null # "4a195e3282536de175a2979def40527d"
traveler_archive: Traveler_12.0.2FP1_Linux_ML.tar.gz # Traveler_12.0.2_Linux_ML.tar.gz
traveler_base_version: 12.0.2 # base
traveler_fixpack_archive: # Future
traveler_fixpack_version: # Future
# Verse Variables
#verse_hash: null # "dfad6854171e964427550454c5f006ee"
verse_archive: HCL_Verse_3.0.0.zip # HCL_Verse_3.0.0.zip
verse_base_version: 3.0.0 # 3.0.0
# AppDev Web Pack Variables
#appdevpack_hash: null # "b84248ae22a57efe19dac360bd2aafc2"
appdevpack_archive: domino-appdev-pack-1.0.15.tgz # domino-appdev-pack-1.0.15.tgz
appdevpack_version: 1.0.15 # 1.0.15
# Domino Rest API Variables
#domino_rest_api_hash: null # "fa990f9bac800726f917cd0ca857f220"
domino_rest_api_version: 1.0.0 # 1
domino_rest_api_archive: Domino_REST_API_V1_Installer.tar.gz # Domino_REST_API_V1_Installer.tar.gz
roles:
- name: startcloud_setup
- name: startcloud_networking
- name: startcloud_hostname
- name: startcloud_dependencies
- name: startcloud_service_user
- name: startcloud_sdkman_install
- name: startcloud_sdkman_java
- name: startcloud_sdkman_maven
- name: startcloud_sdkman_gradle
- name: startcloud_ssl
- name: hcl_domino_reset
- name: hcl_domino_install
- name: hcl_domino_vagrant_rest_api
- name: hcl_domino_service_nash
- name: hcl_domino_java_config
- name: hcl_domino_java_tools
- name: hcl_domino_updatesite
- name: hcl_domino_config
- name: hcl_domino_genesis
- name: hcl_domino_genesis_applications
- name: hcl_domino_cross_certify
# - name: hcl_domino_leap
# - name: hcl_domino_nomadweb
# - name: hcl_domino_traveler
# - name: hcl_domino_traveler_htmo
# - name: hcl_domino_verse
# - name: hcl_domino_appdevpack
# - name: hcl_domino_rest_api
# hcl_voltmx
# - name: hcl_domino_vagrant_readme
# - name: startcloud_quick_start # startcloud_quick_start
# - name: startcloud_haproxy # startcloud_haproxy
# - name: startcloud_vagrant_readme # startcloud_vagrant_readme
- name: hcl_domino_leap # hcl_domino_leap
- name: hcl_domino_nomadweb # hcl_domino_nomadweb
- name: hcl_domino_traveler # hcl_domino_traveler
- name: hcl_domino_traveler_htmo # hcl_domino_traveler_htmo
- name: hcl_domino_verse # hcl_domino_verse
- name: hcl_domino_appdevpack # hcl_domino_appdevpack
- name: hcl_domino_rest_api # hcl_domino_rest_api
# hcl_voltmx
- name: hcl_domino_vagrant_readme
- name: startcloud_quick_start # startcloud_quick_start
- name: startcloud_haproxy # startcloud_haproxy
- name: startcloud_vagrant_readme # startcloud_vagrant_readme
It looks like @piotrzarzycki21 pasted an example of Hosts.yml, but I think the template here is more relevant to this issue. Note that I used a permalink here, so we should check for updates before updating this repository.
Role names are changing again, this time for the final time as I now know how Ansible and Ansible Galaxy want the roles to be structured.
https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html https://docs.ansible.com/ansible/latest/dev_guide/developing_collections_structure.html https://docs.ansible.com/ansible/latest/dev_guide/collections_galaxy_meta.html
It'll basically change from:
hcl_ROLENAME
or
startcloud_ROLENAME
to:
startcloud.hcl_roles.ROLENAME
or
startcloud.startcloud_roles.ROLENAME
The Ansible Community want the roles to be a fully qualified collection name (FQCN), where startcloud is the org(or namespace), hcl_roles or startcloud_roles is the collection, and ROLENAME is the name of the role.
In regards to the v0.1.22 Hosts.template.yml.j2, the Hosts.template.yml.j2, included in this issue and the link by joel should NOT be referenced. I had only looked at it while others were putting it together glancingly, as such I cannot vouch that it's been fully vetted. I do see some issues with it:
Some Variables in this version are hardcoded in this TEMPLATE, they should reflect more like how v0.1.20 handles the variables. -- Such variables such as: leap_version, domino_server_installer_tar, etc, things in the VARs section.
I am in the process of making v0.1.23, and I will follow up with this version.
@MarkProminic How much work to have 0.1.23 ready ?
While working on this issue we noticed that Hosts.template.yml.j2 is not updated with the changes for 0.1.22. For example, the role names are not updated.
The current plan is: