10583bc269
Change-Id: I4126155eec03677cf29edfb47e80f54ab501705d
71 lines
2.2 KiB
YAML
71 lines
2.2 KiB
YAML
# 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.
|
|
|
|
---
|
|
- name: Install Kubectl
|
|
apt:
|
|
state: present
|
|
update_cache: true
|
|
allow_downgrade: true
|
|
pkg:
|
|
- "kubectl={{ kube_version }}"
|
|
|
|
- name: Set user home directory
|
|
set_fact:
|
|
user_home_directory: /home/{{ kubectl.user }}
|
|
when: kubectl.user != "root"
|
|
|
|
- name: Set root home directory
|
|
set_fact:
|
|
user_home_directory: /root
|
|
when: kubectl.user == "root"
|
|
|
|
- name: "Setup kubeconfig directory for {{ kubectl.user }} user"
|
|
shell: |
|
|
mkdir -p {{ user_home_directory }}/.kube
|
|
|
|
- name: "Copy kube_config file for {{ kubectl.user }} user"
|
|
synchronize:
|
|
src: /tmp/kube_config
|
|
dest: "{{ user_home_directory }}/.kube/config"
|
|
|
|
- name: "Set kubconfig file ownership for {{ kubectl.user }} user"
|
|
shell: |
|
|
chown -R {{ kubectl.user }}:{{ kubectl.group }} /home/{{ kubectl.user }}/.kube
|
|
|
|
- name: Deploy Helm
|
|
block:
|
|
- name: Install Helm
|
|
shell: |
|
|
TMP_DIR=$(mktemp -d)
|
|
curl -sSL https://get.helm.sh/helm-{{ helm_version }}-linux-amd64.tar.gz | tar -zxv --strip-components=1 -C ${TMP_DIR}
|
|
mv "${TMP_DIR}"/helm /usr/local/bin/helm
|
|
rm -rf "${TMP_DIR}"
|
|
args:
|
|
executable: /bin/bash
|
|
|
|
- name: Install osh helm plugin
|
|
become_user: "{{ kubectl.user }}"
|
|
shell: |
|
|
helm plugin install {{ osh_plugin_repo }}
|
|
|
|
# This is to improve build time
|
|
- name: Remove stable Helm repo
|
|
become_user: "{{ kubectl.user }}"
|
|
command: helm repo remove stable
|
|
ignore_errors: true
|
|
|
|
- name: Untaint Kubernetes control plane node
|
|
become: false
|
|
command: kubectl taint nodes -l 'node-role.kubernetes.io/control-plane' node-role.kubernetes.io/control-plane-
|
|
...
|