├── .DS_Store ├── .gitignore ├── README.md ├── _archive ├── karbon-management │ ├── fluent-bit-configmap.yaml │ ├── fluent-bit-daemonset.yaml │ ├── fluentd-daemonset.yaml │ ├── grafana-values.yaml │ ├── prometheus-values.yaml │ ├── session1.sh │ ├── session2.sh │ ├── session3.sh │ └── session4.sh ├── mindmaps │ ├── .README │ └── set-ipconfig.ps1.xmind └── nke │ ├── _archive │ └── set-NkeAffinityRules.ps1 │ └── remove-OrphanedVolumeGroups.ps1 ├── ahv ├── add-AhvNetwork.ps1 ├── archive │ ├── ahv-migration.ps1 │ └── backup-ahvVm.ps1 ├── clone-ntnxVg.ps1 ├── get-AhvCpuRatio.ps1 ├── get-AhvNetworks.ps1 ├── get-AhvVmReport.ps1 ├── get-ahvVmAgent.ps1 ├── guest-customization │ └── windows │ │ └── unattend.xml ├── new-AhvImage.ps1 ├── new-AhvVg.ps1 ├── new-AhvVm.ps1 ├── new-AhvVmDisk.ps1 ├── remove-AhvVm.ps1 ├── set-AhvVmDisk.ps1 ├── set-AhvVmIso.ps1 ├── set-AhvVmNetwork.ps1 └── wip │ ├── move-AhvVm.ps1 │ ├── move-ntnxVg.ps1 │ ├── set-AhvVmPowerState.ps1 │ └── set-ServiceChain.ps1 ├── calm ├── Cisco_ACI_Automation.json ├── blueprints │ ├── karbon-cluster-create.json │ └── ubuntu │ │ ├── fio │ │ ├── blueprint.py │ │ ├── scripts │ │ │ ├── Package_Package_Centos_Action___install___Task_ConfigureGitHubRunner.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_DownloadGitHubRunner.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_InstallCalmDSL.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_InstallCookiecutter.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_InstallDocker.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_InstallGit.sh │ │ │ ├── Package_Package_Centos_Action___install___Task_UpdateCentOS.sh │ │ │ ├── Package_Package_Centos_Action___uninstall___Task_RemoveGitHubRunner.sh │ │ │ ├── Package_Package_Ubuntu_Action___install___Task_ConfigureGitHubRunnerUbuntu.sh │ │ │ ├── Package_Package_Ubuntu_Action___install___Task_DownloadGitHubRunnerUbuntu.sh │ │ │ ├── Package_Package_Ubuntu_Action___install___Task_InstallDockerUbuntu.sh │ │ │ ├── Package_Package_Ubuntu_Action___uninstall___Task_RemoveGitHubRunnerUbuntu.sh │ │ │ ├── Service_LinuxGitHubRunner_Action___create___Task_CreateGitHubRunner.sh │ │ │ ├── Service_LinuxGitHubRunner_Action___delete___Task_DeleteGitHubRunner.sh │ │ │ ├── Service_LinuxGitHubRunner_Action___restart___Task_RestartGitHubRunner.sh │ │ │ ├── Service_LinuxGitHubRunner_Action___start___Task_StartGitHubRunner.sh │ │ │ └── Service_LinuxGitHubRunner_Action___stop___Task_StopGitHubRunner.sh │ │ └── specs │ │ │ ├── LinuxVm_create_spec_editables.yaml │ │ │ ├── UbuntuVm_create_spec_editables.yaml │ │ │ └── capghrcalm_array_indexcalm_time_cloud_init_data.yaml │ │ └── github_runner │ │ ├── blueprint.py │ │ ├── scripts │ │ ├── Package_Package_Centos_Action___install___Task_ConfigureGitHubRunner.sh │ │ ├── Package_Package_Centos_Action___install___Task_DownloadGitHubRunner.sh │ │ ├── Package_Package_Centos_Action___install___Task_InstallCalmDSL.sh │ │ ├── Package_Package_Centos_Action___install___Task_InstallCookiecutter.sh │ │ ├── Package_Package_Centos_Action___install___Task_InstallDocker.sh │ │ ├── Package_Package_Centos_Action___install___Task_InstallGit.sh │ │ ├── Package_Package_Centos_Action___install___Task_UpdateCentOS.sh │ │ ├── Package_Package_Centos_Action___uninstall___Task_RemoveGitHubRunner.sh │ │ ├── Package_Package_Ubuntu_Action___install___Task_ConfigureGitHubRunnerUbuntu.sh │ │ ├── Package_Package_Ubuntu_Action___install___Task_DownloadGitHubRunnerUbuntu.sh │ │ ├── Package_Package_Ubuntu_Action___install___Task_InstallDockerUbuntu.sh │ │ ├── Package_Package_Ubuntu_Action___uninstall___Task_RemoveGitHubRunnerUbuntu.sh │ │ ├── Service_LinuxGitHubRunner_Action___create___Task_CreateGitHubRunner.sh │ │ ├── Service_LinuxGitHubRunner_Action___delete___Task_DeleteGitHubRunner.sh │ │ ├── Service_LinuxGitHubRunner_Action___restart___Task_RestartGitHubRunner.sh │ │ ├── Service_LinuxGitHubRunner_Action___start___Task_StartGitHubRunner.sh │ │ └── Service_LinuxGitHubRunner_Action___stop___Task_StopGitHubRunner.sh │ │ └── specs │ │ ├── LinuxVm_create_spec_editables.yaml │ │ ├── UbuntuVm_create_spec_editables.yaml │ │ └── capghrcalm_array_indexcalm_time_cloud_init_data.yaml ├── escript-prism-function-library.py ├── get-AppsErrors.ps1 ├── get-blueprint.ps1 ├── remove-calmApps.ps1 ├── runbooks │ ├── karbon-upgrade-image.json │ └── karbon-upgrade-k8s.json ├── task-library │ ├── infoblox │ │ ├── InfobloxGetIp.py │ │ ├── InfobloxGetOptions.py │ │ ├── InfobloxReleaseIp.py │ │ ├── InfobloxReserveIp.py │ │ └── InfobloxSetMask.py │ ├── karbon │ │ ├── KarbonAddWorkerNode.py │ │ ├── KarbonCreateCluster.py │ │ ├── KarbonDeleteCluster.py │ │ ├── KarbonGetAvailableUpdates.py │ │ ├── KarbonGetClusterDetails.py │ │ ├── KarbonGetClusterHealth.py │ │ ├── KarbonGetImageUuid.py │ │ ├── KarbonGetKubeconfig.py │ │ ├── KarbonGetNodePoolsVmHostnames.py │ │ ├── KarbonRemoveWorkerNode.py │ │ ├── KarbonUpgradeHosts.py │ │ └── KarbonUpgradeK8s.py │ ├── linux │ │ ├── centos-cloud-init.yaml │ │ ├── rhel9-cloud-init.yaml │ │ └── ubuntu-cloud-init.yaml │ ├── phpipam │ │ ├── PhpIPAMGetFreeIp.py │ │ ├── PhpIPAMGetSubnet.py │ │ ├── PhpIPAMGetSubnetId.py │ │ ├── PhpIPAMGetToken.py │ │ ├── PhpIPAMReleaseIp.py │ │ └── PhpIPAMRevokeToken.py │ ├── prism central │ │ ├── GetCategoryValues.py │ │ ├── PcCheckProjectQuota.py │ │ ├── PcGetProjectReference.py │ │ ├── PcGetTask.py │ │ ├── PcMountNgt.py │ │ └── PcUpdateVmProject.py │ ├── prism element │ │ ├── PeCloneVg.py │ │ ├── PeClonevDisk.py │ │ ├── PeDeleteVm.py │ │ └── PeUpdatevDisk.py │ ├── solarwinds │ │ ├── SolarWindsGetIp.ps1 │ │ └── SolarWindsRemoveIp.ps1 │ └── windows │ │ └── SendEmail.ps1 ├── win2016.json └── win2016.readme ├── flow ├── Copy-FlowRule.ps1 ├── Invoke-FlowRuleSync.ps1 ├── README.MD ├── Save-FlowRules.ps1 ├── set-vmQuarantine.ps1 └── wip │ ├── FlowRuleSync.ps1 │ └── Invoke-FNSPolicySync.ps1 ├── move └── invoke-MoveMigration.ps1 ├── others ├── get-BiosSettings.ps1 ├── machine_flavors │ └── WindowsScriptingWks.ps1 ├── posh-oneliners-vmware.ps1 ├── posh-oneliners-windows.ps1 ├── set-ipconfig.ps1 └── test-ips.ps1 ├── prism ├── .DS_Store ├── prism-central │ ├── Invoke-PcVmPowerOnSequence.ps1 │ ├── get-CapacityRunway.ps1 │ ├── get-PcVmCategories.ps1 │ ├── get-PcVmReport.ps1 │ ├── get-RecoverableEntities.ps1 │ ├── get-accessControlPolicies.ps1 │ ├── get-ntnxHwConfig.ps1 │ ├── get-protectionPolicies.ps1 │ ├── get-vmCategories.ps1 │ ├── new-category.ps1 │ ├── remove-VmRecoveryPoints.ps1 │ ├── set-VmLabels.ps1 │ ├── set-category.ps1 │ ├── use-ntnxAlerts.ps1 │ └── wip │ │ ├── Invoke-CategoriesSync.ps1 │ │ ├── get-audits.ps1 │ │ ├── get-ntnxVmMetricsDistribution.ps1 │ │ ├── get-uuids.ps1 │ │ └── get-vmProtectionStatus.ps1 └── prism-element │ ├── Invoke-AsyncDr.ps1 │ ├── Invoke-NutanixFilesDr.ps1 │ ├── add-VmToPd.ps1 │ ├── archive │ ├── Set-NutanixClusterConfiguration.ps1 │ ├── add-NutanixStorage.ps1 │ └── remove-ProtectionDomains.ps1 │ ├── get-NutanixSoftwareVersions.ps1 │ ├── get-NutanixStatus.ps1 │ ├── get-ProtectionDomainsReport.ps1 │ ├── get-UnprotectedVms.ps1 │ ├── get-UvmCapacity.ps1 │ ├── get-ntnxAlertPolicy.ps1 │ ├── get-ntnxCgStats.ps1 │ ├── get-ntnxClusterStats.ps1 │ ├── get-ntnxVmStats.ps1 │ ├── invoke-MountNgt.ps1 │ └── set-nutanixPd.ps1 ├── python ├── __pycache__ │ └── escript_prism_function_library.cpython-311.pyc ├── api.v4 │ └── sdk │ │ ├── add_security_policy.py │ │ ├── count_security_policy.py │ │ ├── get_pc_report.py │ │ ├── get_vm_report.py │ │ ├── get_vm_stats.py │ │ ├── requirements.txt │ │ └── set_ngt.py ├── delete_app.py ├── delete_vm.py ├── escript_prism_function_library.py ├── files │ └── files_function_library.py ├── generate-random-bin-file.py ├── get_cluster_utilization_average.py ├── get_vm_categories.py ├── get_vm_report.py ├── get_vms_utilization_average.py ├── move │ └── migrate_vm.py ├── netflow │ ├── .notes │ ├── netflow_to_influxdb.py │ └── readme.md ├── nnmi │ └── GetIncidentConfiguration.py ├── objects │ ├── AddS3Data.py │ ├── Dockerfile │ ├── README.MD │ └── requirements.txt ├── prometheus-exporter │ ├── .gitignore │ ├── README.MD │ └── chart │ │ ├── .helmignore │ │ ├── Chart.yaml │ │ ├── nutanix-prometheus-exporter-0.1.0.tgz │ │ ├── templates │ │ ├── NOTES.txt │ │ ├── _helpers.tpl │ │ ├── deployment.yaml │ │ ├── service.yaml │ │ └── servicemonitor.yaml │ │ └── values.yaml ├── run_app_action.py ├── scout-it │ ├── README.MD │ └── src │ │ └── scripts │ │ ├── scout-it.py │ │ └── software_exclusion_list.json ├── set_vm_ngt.py ├── set_vm_powerstate.py ├── telegraf-plugin │ ├── README.MD │ └── build │ │ ├── dockerfile │ │ └── requirements.txt └── wip │ └── add_self_service_provider_account.py ├── templates ├── template.ps1 ├── template_powershell.ps1 ├── template_prism_rest.ps1 ├── template_python.py └── template_vsphere.ps1 ├── terraform ├── README.md ├── categories │ ├── main.tf │ └── variables.tf ├── dr │ ├── main.tf │ └── variables.tf ├── linux-vm │ ├── cloud-init.tpl │ ├── output.tf │ ├── resources.tf │ └── variables.tf ├── networks │ ├── main.tf │ └── variables.tf └── security_rules │ ├── main.tf │ └── variables.tf ├── vmware ├── _archive │ ├── migrate-vCDObject.ps1 │ └── move-HvPersistentDisks.ps1 ├── esxi │ ├── add-DRSAffinityRulesForMA.ps1 │ ├── add-NutanixProtectionDomains.ps1 │ ├── archive │ │ ├── add-DRSRule.ps1 │ │ └── set-ntnx-vlanids.ps1 │ ├── invoke-MaFailover.ps1 │ ├── invoke-VmDrain.ps1 │ ├── ntnx-clusterShutdown.ps1 │ ├── set-cvms.ps1 │ ├── set-guestVMip.ps1 │ ├── set-hostconfig.ps1 │ ├── set-portgroups.ps1 │ └── wip │ │ └── add-NutanixProtectionDomains.ps1 └── view │ └── Invoke-vdiDr.ps1 └── zabbix ├── README.md ├── set-ZabbixNutanixTemplate.ps1 ├── zabbix_template_nutanix_smb.xml └── zabbix_trap_receiver.pl /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sbourdeaud/nutanix/26d5e073f6de20296fe8f688155fc1dbd1c5a119/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.csv 2 | set-EsxPortGroup.ps1 3 | .vscode 4 | *.html 5 | *.xlsx 6 | *.log 7 | .secrets 8 | *_flow_ruleset.json 9 | ahv/github.code-workspace 10 | .DS_Store 11 | *.DS_Store 12 | .DS_Store/ 13 | /.DS_Store/ 14 | *.tfvars 15 | .terraform 16 | **/.terraform/ 17 | *.tfstate 18 | *.tfstate.backup 19 | *.lock.hcl 20 | .terraform.lock.hcl 21 | /.local/ 22 | .local/ 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | This is a constant work in progress with scripts being regularly updated, hence no release :) 2 | 3 | Please report any bugs here. 4 | -------------------------------------------------------------------------------- /_archive/karbon-management/fluent-bit-configmap.yaml: -------------------------------------------------------------------------------- 1 | apiVersion: v1 2 | kind: ConfigMap 3 | metadata: 4 | name: fluent-bit-config 5 | namespace: logging 6 | labels: 7 | k8s-app: fluent-bit 8 | data: 9 | # Configuration files: server, input, filters and output 10 | # ====================================================== 11 | fluent-bit.conf: | 12 | [SERVICE] 13 | Flush 3 14 | Log_Level info 15 | Daemon off 16 | Parsers_File parsers.conf 17 | 18 | @INCLUDE input-kube-system.conf 19 | @INCLUDE input-ntnx-logging.conf 20 | @INCLUDE input-systemd.conf 21 | @INCLUDE filter-kubernetes.conf 22 | @INCLUDE filter-systemd.conf 23 | @INCLUDE output-kubernetes-elasticsearch.conf 24 | @INCLUDE output-fluentd-forward.conf 25 | 26 | input-kube-system.conf: | 27 | [INPUT] 28 | Name tail 29 | Tag kubernetes.* 30 | Path /var/log/containers/*kube-system*.log 31 | Parser docker 32 | DB /var/log/aggr_flb_kube.db 33 | Mem_Buf_Limit 10MB 34 | Skip_Long_Lines On 35 | Refresh_Interval 10 36 | 37 | input-ntnx-logging.conf: | 38 | [INPUT] 39 | Name tail 40 | Tag kubernetes.* 41 | Path /var/log/containers/*ntnx-system*.log 42 | Parser docker 43 | DB /var/log/aggr_flb_ntnx.db 44 | Mem_Buf_Limit 5MB 45 | Skip_Long_Lines On 46 | Refresh_Interval 10 47 | 48 | input-systemd.conf: | 49 | [INPUT] 50 | Name systemd 51 | Tag host.* 52 | Systemd_Filter _SYSTEMD_UNIT=docker.service 53 | Systemd_Filter _SYSTEMD_UNIT=kubelet-worker.service 54 | Systemd_Filter _SYSTEMD_UNIT=kubelet-master.service 55 | Systemd_Filter _SYSTEMD_UNIT=etcd.service 56 | Systemd_Filter _SYSTEMD_UNIT=keepalived.service 57 | DB /var/log/aggr_flb_systemd.db 58 | 59 | filter-kubernetes.conf: | 60 | [FILTER] 61 | Name kubernetes 62 | Match kubernetes.* 63 | Kube_URL https://kubernetes.default.svc:443 64 | Merge_Log On 65 | Merge_Log_Key log_processed 66 | K8S-Logging.Parser On 67 | tls.verify Off 68 | 69 | filter-systemd.conf: | 70 | [FILTER] 71 | Name record_modifier 72 | Match host.* 73 | Remove_key _SYSTEMD_CGROUP 74 | Remove_key _SYSTEMD_SLICE 75 | Remove_key _SYSLOG_IDENTIFIER 76 | Remove_key _BOOT_ID 77 | Remove_key _CAP_EFFECTIVE 78 | Remove_key _COMM 79 | Remove_key _MACHINE_ID 80 | 81 | output-kubernetes-elasticsearch.conf: | 82 | # [OUTPUT] 83 | # Name es 84 | # Match kubernetes.* 85 | # Host ${FLUENT_ELASTICSEARCH_HOST} 86 | # Port ${FLUENT_ELASTICSEARCH_PORT} 87 | # Logstash_Format On 88 | # Replace_Dots On 89 | # Retry_Limit 5 90 | # Logstash_Prefix kubernetes 91 | 92 | output-fluentd-forward.conf: | 93 | [OUTPUT] 94 | Name forward 95 | Match * 96 | Host ${FLUENTD_HOST} 97 | Port ${FLUENTD_PORT} 98 | 99 | 100 | parsers.conf: | 101 | [PARSER] 102 | Name apache 103 | Format regex 104 | Regex ^(?[^ ]*) [^ ]* (?[^ ]*) \[(?