You've already forked Helm_Charts
Initial commit
This commit is contained in:
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
*.log
|
||||
*.pyc
|
||||
**/__pycache__/
|
||||
.env
|
||||
.secrets
|
||||
10
.gitlab-ci.yml
Normal file
10
.gitlab-ci.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
---
|
||||
stages:
|
||||
- linter
|
||||
|
||||
linter:
|
||||
stage: linter
|
||||
image:
|
||||
name: osshelp/drone-linter
|
||||
entrypoint: [""]
|
||||
script: [entrypoint.sh]
|
||||
11
.yamllint
Normal file
11
.yamllint
Normal file
@@ -0,0 +1,11 @@
|
||||
extends: default
|
||||
|
||||
rules:
|
||||
braces:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
brackets:
|
||||
max-spaces-inside: 1
|
||||
level: error
|
||||
line-length: disable
|
||||
truthy: disable
|
||||
11
README.md
Normal file
11
README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# helm-charts
|
||||
|
||||
Simple role for install helm charts
|
||||
|
||||
Usage:
|
||||
```yaml
|
||||
- role: helm-charts
|
||||
when: inventory_hostname == groups["k8s-master"][0]
|
||||
helm_charts:
|
||||
- { values_files: ["helm-value/prometheus.yaml.j2", "files/helm-value/common.yml"], version: "25.1.0", namespace: prometheus, release: prometheus, repo_name: prometheus-community, chart_name: prometheus, repo_url: https://prometheus-community.github.io/helm-charts }
|
||||
```
|
||||
6
defaults/main.yml
Normal file
6
defaults/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
helm_binary_dir: "/usr/local/bin"
|
||||
|
||||
helm_force_update: false
|
||||
helm_version: "v3.13.1"
|
||||
helm_url: "https://get.helm.sh/helm-{{ k3s_helm_version }}-linux-amd64.tar.gz"
|
||||
47
tasks/charts.yml
Normal file
47
tasks/charts.yml
Normal file
@@ -0,0 +1,47 @@
|
||||
---
|
||||
- name: Create var copied files
|
||||
set_fact:
|
||||
copied_files: []
|
||||
|
||||
- name: Generate values file from template
|
||||
template:
|
||||
src: "{{ item }}"
|
||||
dest: "/tmp/{{ item | basename | regex_replace('.j2', '') }}"
|
||||
loop: "{{ item.values_files|default([]) }}"
|
||||
when: item is match('.*\.j2$')
|
||||
register: template_action
|
||||
|
||||
- name: Copy yaml values
|
||||
ansible.builtin.copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/tmp/{{ item | basename }}"
|
||||
loop: "{{ item.values_files|default('[]') }}"
|
||||
when: not item is match('.*\.j2$')
|
||||
register: copy_action
|
||||
|
||||
- name: Create list copied files with j2
|
||||
set_fact:
|
||||
copied_files: "{{ copied_files + ['/tmp/' + (item | basename | regex_replace('.j2', ''))] }}"
|
||||
loop: "{{ item.values_files }}"
|
||||
|
||||
- name: Add Helm repository
|
||||
community.kubernetes.helm_repository:
|
||||
name: "{{ item.repo_name }}"
|
||||
repo_url: "{{ item.repo_url }}"
|
||||
state: present
|
||||
|
||||
- name: Install or upgrade Prometheus Helm chart
|
||||
community.kubernetes.helm:
|
||||
name: "{{ item.release }}"
|
||||
chart_ref: "{{ item.repo_name }}/{{ item.chart_name }}"
|
||||
release_namespace: "{{ item.namespace }}"
|
||||
create_namespace: true
|
||||
values_files: "{{ copied_files }}"
|
||||
state: present
|
||||
chart_version: "{{ item.version }}"
|
||||
|
||||
- name: Remove prometheus values file
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
loop: "{{ copied_files }}"
|
||||
33
tasks/install.yml
Normal file
33
tasks/install.yml
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
- name: Download helm
|
||||
get_url:
|
||||
url: "{{ k3s_helm_url }}"
|
||||
dest: "/tmp/helm-{{ k3s_helm_version }}.tar.gz"
|
||||
when: ansible_facts.architecture == "x86_64"
|
||||
|
||||
- name: Create a directory to unpack Helm
|
||||
tempfile:
|
||||
state: directory
|
||||
register: helm_unpack_directory
|
||||
|
||||
- name: Unpack Helm tarball
|
||||
unarchive:
|
||||
src: "/tmp/helm-{{ k3s_helm_version }}.tar.gz"
|
||||
remote_src: yes
|
||||
dest: "{{ helm_unpack_directory.path }}"
|
||||
|
||||
- name: Move Helm to the desired installation directory
|
||||
copy:
|
||||
src: "{{ helm_unpack_directory.path }}/linux-amd64/helm"
|
||||
dest: "{{ k3s_binary_dir }}/helm"
|
||||
remote_src: yes
|
||||
mode: '0755'
|
||||
when: ansible_facts.architecture == "x86_64"
|
||||
|
||||
- name: Clean up downloaded and unpacked files
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: absent
|
||||
with_items:
|
||||
- "/tmp/helm-{{ k3s_helm_version }}.tar.gz"
|
||||
- "{{ helm_unpack_directory.path }}"
|
||||
13
tasks/main.yml
Normal file
13
tasks/main.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
- name: check if binary helm already exists
|
||||
stat:
|
||||
path: "{{ helm_binary_dir }}/helm"
|
||||
register: binary_helm_check_result
|
||||
|
||||
- name: install binary helm
|
||||
include_tasks: installation.yml
|
||||
when: not helm.stat.exists or helm_force_update
|
||||
|
||||
- name: Install charts
|
||||
include_tasks: charts.yml
|
||||
loop: "{{ helm_charts|default('[]') }}"
|
||||
Reference in New Issue
Block a user