mirror of
https://gitlab.com/signalytic/platform-v2/experiments/node-config/common.git
synced 2026-09-11 17:51:30 +00:00
Common Node ansible playbook files, inclusive with required system
packages
This commit is contained in:
@@ -0,0 +1 @@
|
||||
.zed/
|
||||
@@ -1,5 +0,0 @@
|
||||
[defaults]
|
||||
inventory = localhost,
|
||||
roles_path = ./roles
|
||||
retry_files_enabled = False
|
||||
interpreter_python = auto_silent
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
|
||||
# Version of the common config repo, rendered into example.conf.
|
||||
group_version: "common-1.0.0"
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
# Common playbook. Imported by the node-specific playbook in the local repo;
|
||||
# can also be run on its own for testing.
|
||||
- name: Common node configuration
|
||||
# Common
|
||||
- name: Common Node Configuration
|
||||
hosts: all
|
||||
become: true
|
||||
vars_files:
|
||||
- group_vars/all.yml
|
||||
- group_vars/vars.yml
|
||||
roles:
|
||||
- role: base_packages
|
||||
- role: example_config
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
|
||||
apt_packages:
|
||||
- xz-utils
|
||||
- tree
|
||||
- nano
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
|
||||
- name: Install baseline packages
|
||||
ansible.builtin.apt:
|
||||
name: "{{ apt_packages }}"
|
||||
state: present
|
||||
update_cache: true
|
||||
cache_valid_time: 3600
|
||||
@@ -0,0 +1,9 @@
|
||||
### Signalytic Directories ###
|
||||
|
||||
default_user: "signalytic"
|
||||
signalytic_root_ansible_dir: "/var/signalytic/ansible"
|
||||
signalytic_common_dir: "{{ signalytic_root_ansible_dir }}/common"
|
||||
signalytic_clientapps_dir: "/var/signalytic/clientapps"
|
||||
|
||||
### Node config directories ###
|
||||
node_config: "{{ signalytic_root_ansible_dir }}/config"
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
|
||||
signalytic_config_dir: /etc/signalytic
|
||||
|
||||
# Overridden by group_vars/all.yml (common repo) and host_vars.yml (local repo).
|
||||
group_version: "unset"
|
||||
host_version: "unset"
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
|
||||
- name: Create signalytic config directory
|
||||
ansible.builtin.file:
|
||||
path: "{{ signalytic_config_dir }}"
|
||||
state: directory
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0755"
|
||||
|
||||
- name: Render example.conf
|
||||
ansible.builtin.template:
|
||||
src: example.conf.j2
|
||||
dest: "{{ signalytic_config_dir }}/example.conf"
|
||||
owner: root
|
||||
group: root
|
||||
mode: "0644"
|
||||
@@ -1,2 +0,0 @@
|
||||
group_version = {{ group_version }}
|
||||
host_version = {{ host_version }}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+3
@@ -0,0 +1,3 @@
|
||||
#! /bin/bash
|
||||
|
||||
curl -sfL https://get.k3s.io | sh -
|
||||
@@ -0,0 +1,13 @@
|
||||
- name: Check signalytic directories exist
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: "{{ default_user }}"
|
||||
group: "{{ default_user }}"
|
||||
mode: "0755"
|
||||
become: true
|
||||
loop:
|
||||
- "{{ signalytic_root_ansible_dir }}"
|
||||
- "{{ signalytic_common_dir }}"
|
||||
- "{{ signalytic_clientapps_dir }}"
|
||||
- "{{ node_config }}"
|
||||
@@ -0,0 +1,29 @@
|
||||
- name: Extract cellmodem package
|
||||
ansible.builtin.unarchive:
|
||||
src: packages/cellmodem-scripts-v15.tar.bz2
|
||||
dest: /tmp
|
||||
remote_src: false
|
||||
become: true
|
||||
|
||||
- name: Find the top-level extracted directory
|
||||
ansible.builtin.find:
|
||||
paths: /tmp
|
||||
file_type: directory
|
||||
recurse: false
|
||||
patterns: "cellmodem-scripts-*"
|
||||
register: extracted_dir
|
||||
become: true
|
||||
|
||||
- name: Fail if the archive layout is unexpected
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- extracted_dir.matched == 1
|
||||
fail_msg: >-
|
||||
Expected exactly one cellmodem-scripts-* directory in /tmp,
|
||||
found {{ extracted_dir.matched }}. Check the archive structure.
|
||||
|
||||
- name: Run the install script from the top-level directory
|
||||
ansible.builtin.command:
|
||||
cmd: ./install.sh
|
||||
chdir: "{{ extracted_dir.files[0].path }}"
|
||||
become: true
|
||||
@@ -0,0 +1,29 @@
|
||||
- name: Extract power-management package
|
||||
ansible.builtin.unarchive:
|
||||
src: packages/power-management-v11.tar.bz2
|
||||
dest: /tmp
|
||||
remote_src: false
|
||||
become: true
|
||||
|
||||
- name: Find the top-level extracted directory
|
||||
ansible.builtin.find:
|
||||
paths: /tmp
|
||||
file_type: directory
|
||||
recurse: false
|
||||
patterns: "power-management-*"
|
||||
register: extracted_dir
|
||||
become: true
|
||||
|
||||
- name: Fail if the archive layout is unexpected
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- extracted_dir.matched == 1
|
||||
fail_msg: >-
|
||||
Expected exactly one power-management-* directory in /tmp,
|
||||
found {{ extracted_dir.matched }}. Check the archive structure.
|
||||
|
||||
- name: Run the install script from the top-level directory
|
||||
ansible.builtin.command:
|
||||
cmd: ./install.sh
|
||||
chdir: "{{ extracted_dir.files[0].path }}"
|
||||
become: true
|
||||
@@ -0,0 +1,29 @@
|
||||
- name: Extract signalytic-ap package
|
||||
ansible.builtin.unarchive:
|
||||
src: packages/signalytic-ap-manager-5.v5.tar.bz2
|
||||
dest: /tmp
|
||||
remote_src: false
|
||||
become: true
|
||||
|
||||
- name: Find the top-level extracted directory
|
||||
ansible.builtin.find:
|
||||
paths: /tmp
|
||||
file_type: directory
|
||||
recurse: false
|
||||
patterns: "signalytic-ap-manager-*"
|
||||
register: extracted_dir
|
||||
become: true
|
||||
|
||||
- name: Fail if the archive layout is unexpected
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- extracted_dir.matched == 1
|
||||
fail_msg: >-
|
||||
Expected exactly one signalytic-ap-manager-* directory in /tmp,
|
||||
found {{ extracted_dir.matched }}. Check the archive structure.
|
||||
|
||||
- name: Run the install script from the top-level directory
|
||||
ansible.builtin.command:
|
||||
cmd: ./install.sh
|
||||
chdir: "{{ extracted_dir.files[0].path }}"
|
||||
become: true
|
||||
@@ -0,0 +1,13 @@
|
||||
## Network Manager
|
||||
- name: Install signalytic-network manager
|
||||
ansible.builtin.apt:
|
||||
deb: packages/signalytic-network-manager-1.1.v1-1_all.deb
|
||||
fail_on_autoremove: true
|
||||
become: true
|
||||
|
||||
## Battery Manager
|
||||
- name: Install signalytic-battery manager
|
||||
ansible.builtin.apt:
|
||||
deb: packages/signalytic-battery-manager_3.0_all.deb
|
||||
fail_on_autoremove: true
|
||||
become: true
|
||||
@@ -0,0 +1,17 @@
|
||||
- name: Create system directories
|
||||
ansible.legacy.import_tasks: create-dirs.yml
|
||||
|
||||
- name: Install system utilities
|
||||
ansible.legacy.import_tasks: system-utils.yml
|
||||
|
||||
- name: Install signalytic-debian packages
|
||||
ansible.legacy.import_tasks: install-signalytic-deb.yml
|
||||
|
||||
- name: Install cellmodem package
|
||||
ansible.legacy.import_tasks: install-cellmodem-package.yml
|
||||
|
||||
- name: Install power-management package
|
||||
ansible.legacy.import_tasks: install-power-management.yml
|
||||
|
||||
- name: Install signalytic-ap package
|
||||
ansible.legacy.import_tasks: install-signalytic-ap.yml
|
||||
@@ -0,0 +1,24 @@
|
||||
- name: Install system utils
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- xz-utils
|
||||
- git
|
||||
- modemmanager
|
||||
state: present
|
||||
update_cache: true
|
||||
become: true
|
||||
register: apt_result
|
||||
until: apt_result is succeeded
|
||||
retries: 7
|
||||
delay: 5
|
||||
|
||||
- name: Check if k3s is installed
|
||||
ansible.builtin.stat:
|
||||
path: /usr/local/bin/k3s
|
||||
register: k3s_binary
|
||||
|
||||
- name: Install k3s
|
||||
ansible.builtin.script:
|
||||
cmd: scripts/install-k3s.sh
|
||||
become: true
|
||||
when: not k3s_binary.stat.exists
|
||||
Reference in New Issue
Block a user