diff --git a/roles/iac-ansible/templates/install-config.yaml.j2 b/roles/iac-ansible/templates/install-config.yaml.j2 index 3e28f23..2c24281 100644 --- a/roles/iac-ansible/templates/install-config.yaml.j2 +++ b/roles/iac-ansible/templates/install-config.yaml.j2 @@ -5,6 +5,7 @@ compute: - hyperthreading: Enabled name: worker platform: +{% if platform_type is "aws" %} aws: rootVolume: iops: {{ worker.rootvolume.iops }} @@ -15,11 +16,20 @@ compute: - {{ region | default('us-east-1') }}a - {{ region | default('us-east-1') }}b - {{ region | default('us-east-1') }}c +{% elif platform_type is "vsphere" %} + vsphere: + cpus: 2 + coresPerSocket: 2 + memoryMB: 8192 + osDisk: + diskSizeGB: 120 +{% endif %} replicas: {{ worker.replicas }} controlPlane: hyperthreading: Enabled name: master platform: +{% if platform_type is "aws" %} aws: rootVolume: iops: {{ master.rootvolume.iops }} @@ -30,6 +40,14 @@ controlPlane: - {{ region | default('us-east-1') }}a - {{ region | default('us-east-1') }}b - {{ region | default('us-east-1') }}c +{% elif platform_type is "vsphere" %} + vsphere: + cpus: 4 + coresPerSocket: 2 + memoryMB: 16384 + osDisk: + diskSizeGB: 120 +{% endif %} replicas: {{ master.replicas }} fips: {{ fips_enabled | default('true') }} metadata: @@ -44,16 +62,33 @@ networking: serviceNetwork: - {{ service_network_cidr | default('172.30.0.0/16') }} platform: +{% if platform_type is "aws" %} aws: region: {{ region | default('us-east-1') }} userTags: autoOff: True subnets: -{% for subnet in subnet_facts.subnets %} + {% for subnet in subnet_facts.subnets %} - {{ subnet.id }} -{% endfor %} -{% if hosted_zone_id is defined %} + {% endfor %} + {% if hosted_zone_id is defined %} hostedZone: {{ hosted_zone_id }} + {% endif %} +{% elif platform_type is "vsphere" %} +platform: + vsphere: + vcenter: {{ vcenter_server }} + username: {{ vcenter_username }} + password: {{ vcenter_password }} + datacenter: {{ vcenter_datacenter }} + defaultDatastore: {{ vcenter_datastore }} + folder: {{ vcenter_folder }} + resourcePool: {{ rvcenter_esource_pool }} + diskType: {{ vcenter_disktype }} + network: {{ vcenter_VM_Network }} + cluster: {{ vsphere_cluster_name }} + apiVIPs: {{ vcenter_api_vip }} + ingressVIPs: {{ ivcenter_ngress_vip }} {% endif %} publish: {{ publish_type | default('Internal') }} pullSecret: '{{ pull_secret }}' diff --git a/vars/all/main.yml b/vars/all/main.yml index 3fb1945..28cf12c 100644 --- a/vars/all/main.yml +++ b/vars/all/main.yml @@ -6,6 +6,8 @@ # remove_kubeadmin: true #iac-ansible variables +# Default is set to aws, vsphere is also available +platform_type: aws # Image version should match argo-containers/argocd-repo-server-sops/Dockerfile argocd_image_version: 'v1.4.4' @@ -309,4 +311,18 @@ oadp_enabled: true code_ready_workspace_enabled: false # Serverless -serverless_enabled: false \ No newline at end of file +serverless_enabled: false + +# VSphere Vars +vcenter_server: +vcenter_username: +vcenter_password: +vcenter_datacenter: +vcenter_datastore: +vcenter_folder: +rvcenter_esource_pool: +vcenter_disktype: +vcenter_VM_Network: +vsphere_cluster_name: +vcenter_api_vip: +ivcenter_ngress_vip: \ No newline at end of file