[stable/2023.1] Add Goldpinger + node-exporter-full (#1640) (#1683)
Co-authored-by: Mohammed Naser <mnaser@vexxhost.com>
diff --git a/roles/goldpinger/README.md b/roles/goldpinger/README.md
new file mode 100644
index 0000000..38dbb35
--- /dev/null
+++ b/roles/goldpinger/README.md
@@ -0,0 +1 @@
+# `goldpinger`
diff --git a/roles/goldpinger/defaults/main.yml b/roles/goldpinger/defaults/main.yml
new file mode 100644
index 0000000..aae6f4b
--- /dev/null
+++ b/roles/goldpinger/defaults/main.yml
@@ -0,0 +1,9 @@
+# Copyright (c) 2024 VEXXHOST, Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+goldpinger_helm_release_name: goldpinger
+goldpinger_helm_chart_path: "../../charts/goldpinger/"
+goldpinger_helm_chart_ref: /usr/local/src/goldpinger
+
+goldpinger_helm_release_namespace: monitoring
+goldpinger_helm_values: {}
diff --git a/roles/goldpinger/meta/main.yml b/roles/goldpinger/meta/main.yml
new file mode 100644
index 0000000..b978b60
--- /dev/null
+++ b/roles/goldpinger/meta/main.yml
@@ -0,0 +1,25 @@
+# Copyright (c) 2024 VEXXHOST, Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+galaxy_info:
+ author: VEXXHOST, Inc.
+ description: Ansible role for Goldpinger
+ license: Apache-2.0
+ min_ansible_version: 5.5.0
+ standalone: false
+ platforms:
+ - name: EL
+ versions:
+ - "8"
+ - "9"
+ - name: Ubuntu
+ versions:
+ - focal
+ - jammy
+
+dependencies:
+ - role: defaults
+ - role: vexxhost.kubernetes.upload_helm_chart
+ vars:
+ upload_helm_chart_src: "{{ goldpinger_helm_chart_path }}"
+ upload_helm_chart_dest: "{{ goldpinger_helm_chart_ref }}"
diff --git a/roles/goldpinger/tasks/main.yml b/roles/goldpinger/tasks/main.yml
new file mode 100644
index 0000000..42c71a3
--- /dev/null
+++ b/roles/goldpinger/tasks/main.yml
@@ -0,0 +1,12 @@
+# Copyright (c) 2024 VEXXHOST, Inc.
+# SPDX-License-Identifier: Apache-2.0
+
+- name: Deploy Helm chart
+ run_once: true
+ kubernetes.core.helm:
+ name: "{{ goldpinger_helm_release_name }}"
+ chart_ref: "{{ goldpinger_helm_chart_ref }}"
+ release_namespace: "{{ goldpinger_helm_release_namespace }}"
+ create_namespace: true
+ kubeconfig: /etc/kubernetes/admin.conf
+ values: "{{ _goldpinger_helm_values | combine(goldpinger_helm_values, recursive=True) }}"
diff --git a/roles/goldpinger/vars/main.yml b/roles/goldpinger/vars/main.yml
new file mode 100644
index 0000000..8610dcc
--- /dev/null
+++ b/roles/goldpinger/vars/main.yml
@@ -0,0 +1,22 @@
+# Copyright (c) 2022 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+_goldpinger_helm_values:
+ image:
+ repository: "{{ atmosphere_images['goldpinger'] | vexxhost.kubernetes.docker_image('name') }}"
+ goldpinger:
+ port: 30080
+ extraEnv:
+ - name: USE_HOST_IP
+ value: "true"