Use Samba on Linode (#19)

pull/27/head
Cian Hatton 3 years ago committed by GitHub
parent 4e0874d8d5
commit 0e0c6886d0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -7,10 +7,11 @@ on:
env: env:
VAULT_PASSWORD: "${{ secrets.VAULT_PASSWORD }}" VAULT_PASSWORD: "${{ secrets.VAULT_PASSWORD }}"
SSH_PUB: "${{ secrets.SSH_PUB }}" SSH_PUB: "${{ secrets.SSH_PUB }}"
ANSIBLE_FORCE_COLOR: '1'
jobs: jobs:
tests: tests:
name: Tests name: Test Ansible Playbooks
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Create SSH pub - name: Create SSH pub
@ -33,26 +34,19 @@ jobs:
- uses: actions/setup-python@v4 - uses: actions/setup-python@v4
with: with:
python-version: 3.8.9 python-version: 3.8.9
- name: Install test dependencies. - name: Install test dependencies.
run: | run: pip install -r requirements.txt
pip install -r requirements.txt
- name: Syntax Check - name: Syntax Check
run: | run: |
ansible-playbook setup-linode.yml --syntax-check ansible-playbook setup-linode.yml --syntax-check
ansible-playbook setup-homelab.yml --syntax-check ansible-playbook setup-homelab.yml --syntax-check
ansible-playbook verify-homelab.yml --syntax-check
- name: Setup Linode Instance - name: Setup Linode Instance
run: | run: ansible-playbook setup-linode.yml
ansible-playbook setup-linode.yml
env:
ANSIBLE_FORCE_COLOR: '1'
- name: Setup Home Lab - name: Setup Home Lab
run: | run: ansible-playbook setup-homelab.yml
ansible-playbook setup-homelab.yml
env:
ANSIBLE_FORCE_COLOR: '1'
- name: Verify Home Lab - name: Verify Home Lab
run: | run: ansible-playbook verify-homelab.yml
ansible-playbook verify-homelab.yml - name: Delete Linode Instance
env: run: ansible-playbook setup-linode.yml --extra-vars "state=absent"
ANSIBLE_FORCE_COLOR: '1'

@ -0,0 +1,41 @@
---
name: Delete test linode instance
on:
schedule:
- cron: "0 0 * * *" # delete at midnight every day
env:
VAULT_PASSWORD: "${{ secrets.VAULT_PASSWORD }}"
SSH_PUB: "${{ secrets.SSH_PUB }}"
ANSIBLE_FORCE_COLOR: '1'
jobs:
delete-linode-instance:
name: Delete Linode Instance
runs-on: ubuntu-latest
steps:
- name: Create SSH pub
run: |
echo "creating ~/.ssh/id_rsa.pub file"
mkdir -p ~/.ssh/
echo "$SSH_PUB" > ~/.ssh/id_rsa.pub
- name: Install SSH key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ secrets.SSH_KEY }}
known_hosts: ${{ secrets.KNOWN_HOSTS }}
- name: Check out the codebase.
uses: actions/checkout@v3
- name: Prepare Test Files
run: |
mv tests/.vault-pass.sh ./.vault-pass.sh
mv tests/ansible.cfg ./ansible.cfg
mv tests/hosts.ini ./hosts.ini
- uses: actions/setup-python@v4
with:
python-version: 3.8.9
- name: Install test dependencies.
run: pip install -r requirements.txt
- name: Delete Linode Instance
run: ansible-playbook setup-linode.yml --extra-vars "state=absent"

@ -3,7 +3,6 @@
vault_file: vault_vars/linode-vault.yml vault_file: vault_vars/linode-vault.yml
# any linode specific variables go here # any linode specific variables go here
configure_mergefs: false configure_mergefs: false
configure_samba: false
services: services:
- name: gitea - name: gitea
- name: mealie - name: mealie

@ -23,19 +23,6 @@ devices:
- uuid: "c528bf82-61ab-4f3d-87e0-d1e6e02ef7ec" # /dev/sdf - uuid: "c528bf82-61ab-4f3d-87e0-d1e6e02ef7ec" # /dev/sdf
path: "/mnt/ssd0/" path: "/mnt/ssd0/"
configure_samba: true
samba_group: smbgroup
samba_user: smbuser
users:
- name: cianhatton
shares:
- /share
- /share/public_files
- /share/private_files
- /share/cian_files
services: services:
- name: gitea - name: gitea
- name: mealie - name: mealie
@ -52,9 +39,6 @@ services:
- name: photoprism - name: photoprism
- name: olivetin - name: olivetin
extra_hosts:
- "qnap:192.168.178.42"
# any additional docker networks that should be created # any additional docker networks that should be created
docker_networks: docker_networks:
- mariadb_net - mariadb_net

@ -28,3 +28,15 @@ docker_networks: []
homelab_group: cianhatton homelab_group: cianhatton
homelab_user: cianhatton homelab_user: cianhatton
configure_samba: true
samba_group: smbgroup
samba_user: smbuser
users:
- name: cianhatton
shares:
- /share
- /share/public_files
- /share/private_files
- /share/cian_files

@ -9,5 +9,5 @@ cianhatton@qnap
# BEGIN ANSIBLE MANAGED BLOCK # BEGIN ANSIBLE MANAGED BLOCK
[linode] [linode]
root@198.74.59.177 root@172.104.8.72
# END ANSIBLE MANAGED BLOCK # END ANSIBLE MANAGED BLOCK

@ -12,7 +12,7 @@
root_pass: "{{ password }}" root_pass: "{{ password }}"
authorized_keys: "{{ ssh_keys }}" authorized_keys: "{{ ssh_keys }}"
group: servers group: servers
state: present state: "{{ state }}"
register: my_linode register: my_linode
- name: Wait for SSH to come up - name: Wait for SSH to come up

@ -3,3 +3,5 @@
become: true become: true
roles: roles:
- role: 'roles/setup_linode' - role: 'roles/setup_linode'
vars:
state: present

Loading…
Cancel
Save