This commit is contained in:
commit
2136ddd16b
189
.drone.yml
Normal file
189
.drone.yml
Normal file
@ -0,0 +1,189 @@
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: prepare_workspace
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
|
||||
- name: prepare_workspace
|
||||
image: alpine
|
||||
commands:
|
||||
- mkdir -p /drone/src/tests/verify
|
||||
- mv defaults /drone/src/tests/verify/
|
||||
- mv files /drone/src/tests/verify/
|
||||
- mv handlers /drone/src/tests/verify/
|
||||
- mv meta /drone/src/tests/verify/
|
||||
- mv tasks /drone/src/tests/verify/
|
||||
- mv vars /drone/src/tests/verify/
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: test-debian
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
|
||||
- name: prepare_workspace
|
||||
image: alpine
|
||||
commands:
|
||||
- mkdir -p /drone/src/tests/verify
|
||||
- mv defaults /drone/src/tests/verify/
|
||||
- mv files /drone/src/tests/verify/
|
||||
- mv handlers /drone/src/tests/verify/
|
||||
- mv meta /drone/src/tests/verify/
|
||||
- mv tasks /drone/src/tests/verify/
|
||||
- mv vars /drone/src/tests/verify/
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
- name: test-debian7
|
||||
image: lerentis/ansible:debian-7
|
||||
commands:
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
- name: test-ubuntu16
|
||||
image: lerentis/ansible:ubuntu-16.04
|
||||
commands:
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
- name: test-ubuntu18
|
||||
image: lerentis/ansible:ubuntu-18.04
|
||||
commands:
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
- name: test-ubuntu20
|
||||
image: lerentis/ansible:ubuntu-20.04
|
||||
commands:
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
depends_on:
|
||||
- prepare_workspace
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: test-arch
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
|
||||
- name: prepare_workspace
|
||||
image: alpine
|
||||
commands:
|
||||
- mkdir -p /drone/src/tests/verify
|
||||
- mv defaults /drone/src/tests/verify/
|
||||
- mv files /drone/src/tests/verify/
|
||||
- mv handlers /drone/src/tests/verify/
|
||||
- mv meta /drone/src/tests/verify/
|
||||
- mv tasks /drone/src/tests/verify/
|
||||
- mv vars /drone/src/tests/verify/
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
- name: test-arch
|
||||
image: lerentis/ansible:arch
|
||||
commands:
|
||||
- pacman -Sy python2 glibc --noconfirm
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
depends_on:
|
||||
- prepare_workspace
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: test-centos
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
|
||||
- name: prepare_workspace
|
||||
image: alpine
|
||||
commands:
|
||||
- mkdir -p /drone/src/tests/verify
|
||||
- mv defaults /drone/src/tests/verify/
|
||||
- mv files /drone/src/tests/verify/
|
||||
- mv handlers /drone/src/tests/verify/
|
||||
- mv meta /drone/src/tests/verify/
|
||||
- mv tasks /drone/src/tests/verify/
|
||||
- mv vars /drone/src/tests/verify/
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
- pull_request
|
||||
|
||||
- name: test-centos7
|
||||
image: lerentis/ansible:centos-7
|
||||
commands:
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml --syntax-check
|
||||
- ansible-playbook -i tests/inventory tests/test-playbook.yml -e "ci_run=yes" --skip-tags "daemon"
|
||||
depends_on:
|
||||
- "prepare_workspace"
|
||||
|
||||
depends_on:
|
||||
- prepare_workspace
|
||||
|
||||
---
|
||||
kind: pipeline
|
||||
type: kubernetes
|
||||
name: notify
|
||||
|
||||
platform:
|
||||
os: linux
|
||||
arch: amd64
|
||||
|
||||
steps:
|
||||
|
||||
- name: notify
|
||||
image: appleboy/drone-telegram
|
||||
settings:
|
||||
message: "Commit {{ commit.link }} ran with build {{ build.number }} and finished with status {{ build.status }}."
|
||||
to: 14852963
|
||||
token: 335668211:AAF-YgId7iI6ANBuZVy4uVOYYqA4R4uAaqY
|
||||
when:
|
||||
status:
|
||||
- failure
|
||||
- success
|
||||
|
||||
depends_on:
|
||||
- prepare_workspace
|
||||
- test-debian
|
||||
- test-arch
|
||||
- test-centos
|
18
README.md
Normal file
18
README.md
Normal file
@ -0,0 +1,18 @@
|
||||
Verify
|
||||
=========
|
||||
|
||||
This role will only be used to verify some assumptions and drifts on a host.
|
||||
|
||||
Example Playbook
|
||||
----------------
|
||||
|
||||
```yaml
|
||||
- hosts: servers
|
||||
roles:
|
||||
- { role: verify }
|
||||
```
|
||||
|
||||
License
|
||||
-------
|
||||
|
||||
MIT
|
2
defaults/main.yml
Normal file
2
defaults/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# defaults file for verify
|
2
handlers/main.yml
Normal file
2
handlers/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# handlers file for verify
|
20
meta/main.yml
Normal file
20
meta/main.yml
Normal file
@ -0,0 +1,20 @@
|
||||
galaxy_info:
|
||||
author: Tobias Trabelsi
|
||||
description: verify some assumptions and drifts on a host
|
||||
|
||||
license: MIT
|
||||
|
||||
min_ansible_version: 2.9
|
||||
|
||||
platforms:
|
||||
- name: CentOS
|
||||
versions:
|
||||
- 7
|
||||
- 9
|
||||
- name: Debian
|
||||
versions:
|
||||
- 10
|
||||
- name: Ubuntu
|
||||
version:
|
||||
- 18.04
|
||||
- 20.04
|
15
tasks/main.yml
Normal file
15
tasks/main.yml
Normal file
@ -0,0 +1,15 @@
|
||||
---
|
||||
# tasks file for verify
|
||||
|
||||
- name: Gather facts on listening ports
|
||||
become: yes
|
||||
community.general.listen_ports_facts:
|
||||
|
||||
- name: TCP denylist violation
|
||||
ansible.builtin.debug:
|
||||
msg: TCP port {{ item.port }} by pid {{ item.pid }} violates the denylist
|
||||
vars:
|
||||
tcp_listen_violations: "{{ ansible_facts.tcp_listen | selectattr('port', 'in', tcp_denylist) | list }}"
|
||||
tcp_denylist:
|
||||
- 111
|
||||
loop: "{{ tcp_listen_violations }}"
|
21
tests/Vagrantfile
vendored
Normal file
21
tests/Vagrantfile
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
# -*- mode: ruby -*-
|
||||
# vi: set ft=ruby :
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
boxes = [
|
||||
{ :name => "ubuntu-hello-world-box", :box => "ubuntu/xenial64" },
|
||||
{ :name => "debian-hello-world-box", :box => "debian/stretch64" },
|
||||
{ :name => "centos-hello-world-box", :box => "geerlingguy/centos8" }
|
||||
]
|
||||
boxes.each do |opts|
|
||||
config.vm.define opts[:name] do |config|
|
||||
config.vm.box = opts[:box]
|
||||
if opts[:name] == boxes.last[:name]
|
||||
config.vm.provision "ansible" do |ansible|
|
||||
ansible.playbook = "test-playbook.yml"
|
||||
ansible.limit = "all"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
8
tests/inventory
Normal file
8
tests/inventory
Normal file
@ -0,0 +1,8 @@
|
||||
[debian]
|
||||
localhost ansible_connection=local
|
||||
|
||||
[arch]
|
||||
localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python3
|
||||
|
||||
[centos]
|
||||
localhost ansible_connection=local ansible_python_interpreter=/usr/bin/python2
|
7
tests/test-playbook.yml
Normal file
7
tests/test-playbook.yml
Normal file
@ -0,0 +1,7 @@
|
||||
---
|
||||
|
||||
- name: test playbook
|
||||
hosts: all
|
||||
gather_facts: True
|
||||
roles:
|
||||
- ../../.
|
5
tests/test.yml
Normal file
5
tests/test.yml
Normal file
@ -0,0 +1,5 @@
|
||||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- verify
|
2
vars/main.yml
Normal file
2
vars/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for verify
|
Loading…
Reference in New Issue
Block a user