You've already forked ansible-role-common
Remove Drone configuration
This commit is contained in:
148
.drone.jsonnet
148
.drone.jsonnet
@@ -1,148 +0,0 @@
|
|||||||
// Distros to Test on ;)
|
|
||||||
local distros = ['centos7',
|
|
||||||
'rockylinux8',
|
|
||||||
'debian10',
|
|
||||||
'debian11'];
|
|
||||||
|
|
||||||
/* Configuration of DIND */
|
|
||||||
local docker_service() =
|
|
||||||
{
|
|
||||||
name: 'docker',
|
|
||||||
image: 'docker:dind',
|
|
||||||
privileged: true,
|
|
||||||
volumes: [{ name: 'dockersock', path: '/var/run' },],
|
|
||||||
};
|
|
||||||
|
|
||||||
local email_notification() =
|
|
||||||
{
|
|
||||||
name: 'notify by email',
|
|
||||||
image: 'drillster/drone-email',
|
|
||||||
settings:
|
|
||||||
{ host:
|
|
||||||
{ from_secret: 'EMAIL_HOST' },
|
|
||||||
username:
|
|
||||||
{ from_secret: 'EMAIL_USER' },
|
|
||||||
password:
|
|
||||||
{ from_secret: 'EMAIL_PASS' },
|
|
||||||
from: 'drone@guise.net.nz'
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
local test_distro(distribution) =
|
|
||||||
{
|
|
||||||
name: 'Molecule test on %(distribution)s' % { distribution: distribution },
|
|
||||||
volumes: [{ name: 'dockersock', path: '/var/run' },],
|
|
||||||
pull: true,
|
|
||||||
image: 'guisea/ansible-molecule:alpine-latest',
|
|
||||||
commands: [
|
|
||||||
'sleep 10', // give docker enough time to start
|
|
||||||
'mkdir ${DRONE_REPO_NAME}',
|
|
||||||
'rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}',
|
|
||||||
'cd ${DRONE_REPO_NAME}',
|
|
||||||
'molecule test'
|
|
||||||
],
|
|
||||||
environment:
|
|
||||||
{ MOLECULE_DISTRO: '%(distribution)s' % { distribution: distribution }
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
local gen_pipeline(distro) =
|
|
||||||
{kind: 'pipeline',
|
|
||||||
type: 'docker',
|
|
||||||
name: 'Test on %(distro)s' % { distro: distro },
|
|
||||||
steps:
|
|
||||||
[test_distro(distro)],
|
|
||||||
services:
|
|
||||||
[docker_service()],
|
|
||||||
volumes:
|
|
||||||
[{
|
|
||||||
name: 'dockersock',
|
|
||||||
temp: {},
|
|
||||||
},],
|
|
||||||
trigger:
|
|
||||||
{ event: {exclude: ['tag'],},},
|
|
||||||
when:
|
|
||||||
{ event: {exclude: ['tag']},
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
local gen_release() =
|
|
||||||
{kind: 'pipeline',
|
|
||||||
type: 'docker',
|
|
||||||
image: 'guisea/ansible-molecule:alpine-latest',
|
|
||||||
name: 'Generate Release',
|
|
||||||
environment:
|
|
||||||
{ USER: { from_secret: 'GITEA_USER' },
|
|
||||||
TOKEN: { from_secret: 'GITEA_TOKEN' },
|
|
||||||
REPOUSER: { from_secret: 'GITEA_REPOUSER'},
|
|
||||||
URL: { from_secret: 'GITEA_URL' },
|
|
||||||
},
|
|
||||||
commands: [
|
|
||||||
'sleep 10', // give docker enough time to start
|
|
||||||
'env',
|
|
||||||
'mkdir ${DRONE_REPO_NAME}',
|
|
||||||
'rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}',
|
|
||||||
'cd ${DRONE_REPO_NAME}',
|
|
||||||
'echo GITEA_USER=$USER',
|
|
||||||
'apk update && apk add --no-cache curl',
|
|
||||||
'tar -czf ../${DRONE_REPO_NAME}.${DRONE_TAG}.tar.gz ./*', // Create an archive of the role
|
|
||||||
'curl --user $USER:$TOKEN --upload-file ../${DRONE_REPO_NAME}.${DRONE_TAG}.tar.gz https://$URL/api/packages/$REPOUSER/generic/ansible-role-common/${DRONE_TAG}/${DRONE_REPO_NAME}.${DRONE_TAG}.tar.gz',
|
|
||||||
],
|
|
||||||
|
|
||||||
when:
|
|
||||||
{ event: {include: ['tag']},
|
|
||||||
},
|
|
||||||
trigger:
|
|
||||||
{ event: {include: ['tag'],},},
|
|
||||||
};
|
|
||||||
|
|
||||||
local gen_pipeline_release() =
|
|
||||||
{kind: 'pipeline',
|
|
||||||
type: 'docker',
|
|
||||||
name: 'Generate release from tag',
|
|
||||||
steps:
|
|
||||||
[gen_release()],
|
|
||||||
when:
|
|
||||||
{ event: {include: ['tag']},
|
|
||||||
},
|
|
||||||
trigger:
|
|
||||||
{ event: {include: ['tag'],},},
|
|
||||||
};
|
|
||||||
|
|
||||||
// Generate the output
|
|
||||||
[
|
|
||||||
gen_pipeline('centos7'),
|
|
||||||
gen_pipeline('rockylinux8'),
|
|
||||||
gen_pipeline('debian10'),
|
|
||||||
gen_pipeline('debian11'),
|
|
||||||
{kind: 'pipeline',
|
|
||||||
type: 'docker',
|
|
||||||
name: 'Notify normal',
|
|
||||||
clone: {disable: true},
|
|
||||||
steps: [email_notification()],
|
|
||||||
trigger:
|
|
||||||
{ event: {exclude: ['tag'],},},
|
|
||||||
when:
|
|
||||||
{ status: [ 'success', 'failure' ] ,
|
|
||||||
event: {exclude: ['tag']},
|
|
||||||
},
|
|
||||||
depends_on:
|
|
||||||
['Test on %(distro)s' % { distro: distro }
|
|
||||||
for distro in distros]
|
|
||||||
},
|
|
||||||
gen_pipeline_release(),
|
|
||||||
{kind: 'pipeline',
|
|
||||||
type: 'docker',
|
|
||||||
clone: {disable: true},
|
|
||||||
name: 'Notify Tagged release',
|
|
||||||
steps: [email_notification()],
|
|
||||||
trigger:
|
|
||||||
{ event: {include: ['tag'],},},
|
|
||||||
when:
|
|
||||||
{ status: [ 'success', 'failure' ] ,
|
|
||||||
event: {include: ['tag']},
|
|
||||||
},
|
|
||||||
depends_on:
|
|
||||||
['Generate release from tag']
|
|
||||||
},
|
|
||||||
]
|
|
||||||
210
.drone.yml
210
.drone.yml
@@ -1,210 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: runners
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- cd terraform
|
|
||||||
- terraform init
|
|
||||||
- terraform plan -out /data/runners.plan
|
|
||||||
- terraform apply /data/runners.plan
|
|
||||||
environment:
|
|
||||||
TF_VAR_linode_api_token:
|
|
||||||
from_secret: linode_api_token
|
|
||||||
TF_VAR_root_pass:
|
|
||||||
from_secret: root_pass
|
|
||||||
TF_VAR_ssh_pubkey:
|
|
||||||
from_secret: TF_VAR_ssh_pubkey
|
|
||||||
image: hashicorp/terraform:1.1.7
|
|
||||||
name: Provision with terraform
|
|
||||||
volumes:
|
|
||||||
- name: terraform-data
|
|
||||||
path: /data
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- host:
|
|
||||||
path: /mnt/nfs/swarm/runners
|
|
||||||
name: terraform-data
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- runners
|
|
||||||
kind: pipeline
|
|
||||||
name: Test on centos7
|
|
||||||
node:
|
|
||||||
linodrone: "true"
|
|
||||||
services:
|
|
||||||
- image: docker:dind
|
|
||||||
name: docker
|
|
||||||
privileged: true
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- sleep 10
|
|
||||||
- mkdir ${DRONE_REPO_NAME}
|
|
||||||
- rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}
|
|
||||||
- cd ${DRONE_REPO_NAME}
|
|
||||||
- molecule test
|
|
||||||
environment:
|
|
||||||
MOLECULE_DISTRO: centos7
|
|
||||||
image: guisea/ansible-molecule:latest
|
|
||||||
name: Molecule test on centos7
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
temp: {}
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- runners
|
|
||||||
kind: pipeline
|
|
||||||
name: Test on centos8
|
|
||||||
node:
|
|
||||||
linodrone: "true"
|
|
||||||
services:
|
|
||||||
- image: docker:dind
|
|
||||||
name: docker
|
|
||||||
privileged: true
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- sleep 10
|
|
||||||
- mkdir ${DRONE_REPO_NAME}
|
|
||||||
- rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}
|
|
||||||
- cd ${DRONE_REPO_NAME}
|
|
||||||
- molecule test
|
|
||||||
environment:
|
|
||||||
MOLECULE_DISTRO: centos8
|
|
||||||
image: guisea/ansible-molecule:latest
|
|
||||||
name: Molecule test on centos8
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
temp: {}
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- runners
|
|
||||||
kind: pipeline
|
|
||||||
name: Test on rockylinux8
|
|
||||||
node:
|
|
||||||
linodrone: "true"
|
|
||||||
services:
|
|
||||||
- image: docker:dind
|
|
||||||
name: docker
|
|
||||||
privileged: true
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- sleep 10
|
|
||||||
- mkdir ${DRONE_REPO_NAME}
|
|
||||||
- rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}
|
|
||||||
- cd ${DRONE_REPO_NAME}
|
|
||||||
- molecule test
|
|
||||||
environment:
|
|
||||||
MOLECULE_DISTRO: rockylinux8
|
|
||||||
image: guisea/ansible-molecule:latest
|
|
||||||
name: Molecule test on rockylinux8
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
temp: {}
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- runners
|
|
||||||
kind: pipeline
|
|
||||||
name: Test on debian10
|
|
||||||
node:
|
|
||||||
linodrone: "true"
|
|
||||||
services:
|
|
||||||
- image: docker:dind
|
|
||||||
name: docker
|
|
||||||
privileged: true
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- sleep 10
|
|
||||||
- mkdir ${DRONE_REPO_NAME}
|
|
||||||
- rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}
|
|
||||||
- cd ${DRONE_REPO_NAME}
|
|
||||||
- molecule test
|
|
||||||
environment:
|
|
||||||
MOLECULE_DISTRO: debian10
|
|
||||||
image: guisea/ansible-molecule:latest
|
|
||||||
name: Molecule test on debian10
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
temp: {}
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- runners
|
|
||||||
kind: pipeline
|
|
||||||
name: Test on debian11
|
|
||||||
node:
|
|
||||||
linodrone: "true"
|
|
||||||
services:
|
|
||||||
- image: docker:dind
|
|
||||||
name: docker
|
|
||||||
privileged: true
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
steps:
|
|
||||||
- commands:
|
|
||||||
- sleep 10
|
|
||||||
- mkdir ${DRONE_REPO_NAME}
|
|
||||||
- rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}
|
|
||||||
- cd ${DRONE_REPO_NAME}
|
|
||||||
- molecule test
|
|
||||||
environment:
|
|
||||||
MOLECULE_DISTRO: debian11
|
|
||||||
image: guisea/ansible-molecule:latest
|
|
||||||
name: Molecule test on debian11
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
path: /var/run
|
|
||||||
type: docker
|
|
||||||
volumes:
|
|
||||||
- name: dockersock
|
|
||||||
temp: {}
|
|
||||||
---
|
|
||||||
depends_on:
|
|
||||||
- Test on centos7
|
|
||||||
- Test on centos8
|
|
||||||
- Test on rockylinux8
|
|
||||||
- Test on debian10
|
|
||||||
- Test on debian11
|
|
||||||
kind: pipeline
|
|
||||||
name: Notify
|
|
||||||
steps:
|
|
||||||
- image: drillster/drone-email
|
|
||||||
name: notify by email
|
|
||||||
settings:
|
|
||||||
from: drone@guise.net.nz
|
|
||||||
host: mail.guise.net.nz
|
|
||||||
password:
|
|
||||||
from_secret: EMAIL_PASS
|
|
||||||
username:
|
|
||||||
from_secret: EMAIL_USER
|
|
||||||
type: docker
|
|
||||||
when:
|
|
||||||
status:
|
|
||||||
- success
|
|
||||||
- failure
|
|
||||||
@@ -26,8 +26,8 @@ rules:
|
|||||||
indentation: disable
|
indentation: disable
|
||||||
key-duplicates: enable
|
key-duplicates: enable
|
||||||
line-length: disable
|
line-length: disable
|
||||||
new-line-at-end-of-file: disable
|
new-line-at-end-of-file: enable
|
||||||
new-lines:
|
new-lines:
|
||||||
type: unix
|
type: unix
|
||||||
trailing-spaces: disable
|
trailing-spaces: enable
|
||||||
truthy: disable
|
truthy: disable
|
||||||
|
|||||||
@@ -24,15 +24,15 @@ common_packages:
|
|||||||
- bind-utils
|
- bind-utils
|
||||||
- yum-utils
|
- yum-utils
|
||||||
- unzip
|
- unzip
|
||||||
|
|
||||||
win_packages:
|
win_packages:
|
||||||
- notepadplusplus.install
|
- notepadplusplus.install
|
||||||
- firefoxesr
|
- firefoxesr
|
||||||
- baretail
|
- baretail
|
||||||
- 7zip.install
|
- 7zip.install
|
||||||
|
|
||||||
apply_win_updates: false
|
apply_win_updates: false
|
||||||
|
|
||||||
common_show_ipv6: false|bool
|
common_show_ipv6: false|bool
|
||||||
common_root_pwd: l3tm31nN0w
|
common_root_pwd: l3tm31nN0w
|
||||||
common_root_email: admin@somplace.co.nz
|
common_root_email: admin@somplace.co.nz
|
||||||
|
|||||||
@@ -4,8 +4,8 @@ dependency:
|
|||||||
driver:
|
driver:
|
||||||
name: docker
|
name: docker
|
||||||
platforms:
|
platforms:
|
||||||
- name: molecule-${MOLECULE_DISTRO:-centos7}
|
- name: molecule-${MOLECULE_DISTRO:-almalinux8}
|
||||||
image: "cybercinch/docker-${MOLECULE_DISTRO:-centos7}-ansible:latest"
|
image: "cybercinch/docker-${MOLECULE_DISTRO:-almalinux8}-ansible:latest"
|
||||||
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
command: ${MOLECULE_DOCKER_COMMAND:-""}
|
||||||
volumes:
|
volumes:
|
||||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||||
@@ -13,6 +13,8 @@ platforms:
|
|||||||
pre_build_image: true
|
pre_build_image: true
|
||||||
provisioner:
|
provisioner:
|
||||||
name: ansible
|
name: ansible
|
||||||
|
env:
|
||||||
|
MOLECULE_NO_LOG: true
|
||||||
# verifier:
|
# verifier:
|
||||||
# name: ansible
|
# name: ansible
|
||||||
# lint: |
|
# lint: |
|
||||||
|
|||||||
6
requirements.txt
Normal file
6
requirements.txt
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
ansible-core<2.17
|
||||||
|
ansible-compat<4
|
||||||
|
molecule[docker]<5.0.0
|
||||||
|
ansible-lint==6.16.2
|
||||||
|
yamllint==1.32.0
|
||||||
|
passlib==1.7.4
|
||||||
3
requirements.yml
Normal file
3
requirements.yml
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
collections:
|
||||||
|
- ansible.windows
|
||||||
|
- community.general
|
||||||
@@ -3,7 +3,7 @@
|
|||||||
- include_tasks: networking.yml
|
- include_tasks: networking.yml
|
||||||
|
|
||||||
- name: Ensure common packages (RHEL)
|
- name: Ensure common packages (RHEL)
|
||||||
yum:
|
yum:
|
||||||
name: "{{ common_packages }}"
|
name: "{{ common_packages }}"
|
||||||
state: present
|
state: present
|
||||||
enablerepo: epel
|
enablerepo: epel
|
||||||
@@ -17,7 +17,7 @@
|
|||||||
enablerepo: ol7_developer_EPEL
|
enablerepo: ol7_developer_EPEL
|
||||||
when: ansible_distribution == 'OracleLinux'
|
when: ansible_distribution == 'OracleLinux'
|
||||||
tags: packages
|
tags: packages
|
||||||
|
|
||||||
- name: Check if SELinux is installed
|
- name: Check if SELinux is installed
|
||||||
stat:
|
stat:
|
||||||
path: /etc/selinux/config
|
path: /etc/selinux/config
|
||||||
@@ -59,15 +59,15 @@
|
|||||||
dest: /usr/local/bin/reload_scsi_hosts
|
dest: /usr/local/bin/reload_scsi_hosts
|
||||||
loop_control:
|
loop_control:
|
||||||
loop_var: helpers
|
loop_var: helpers
|
||||||
|
|
||||||
- name: Ensure Hostname is set
|
- name: Ensure Hostname is set
|
||||||
hostname:
|
hostname:
|
||||||
name: "{{ inventory_hostname }}.{{ domain }}"
|
name: "{{ inventory_hostname }}.{{ domain }}"
|
||||||
when: ansible_virtualization_type != "docker"
|
when: ansible_virtualization_type != "docker"
|
||||||
|
|
||||||
- name: Change root password
|
- name: Change root password
|
||||||
user:
|
user:
|
||||||
name: root
|
name: root
|
||||||
password: "{{ common_root_pwd | password_hash('sha512') }}"
|
password: "{{ common_root_pwd | password_hash('sha512') }}"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
tags: rootpw
|
tags: rootpw
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
no_extra_spaces: yes
|
no_extra_spaces: yes
|
||||||
when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version > '6'"
|
when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version > '6'"
|
||||||
notify:
|
notify:
|
||||||
- Check if grub.cfg exists
|
- Check if grub.cfg exists
|
||||||
- Update GRUB
|
- Update GRUB
|
||||||
tags:
|
tags:
|
||||||
- grub
|
- grub
|
||||||
|
|||||||
@@ -1,42 +0,0 @@
|
|||||||
{
|
|
||||||
docker_service()::
|
|
||||||
{
|
|
||||||
name: 'docker',
|
|
||||||
image: 'docker:dind',
|
|
||||||
privileged: true,
|
|
||||||
volumes: [{ name: 'dockersock', path: '/var/run' },],
|
|
||||||
},
|
|
||||||
|
|
||||||
email_notification()::
|
|
||||||
{
|
|
||||||
name: 'notify by email',
|
|
||||||
image: 'drillster/drone-email',
|
|
||||||
settings:
|
|
||||||
{ host: 'mail.guise.net.nz',
|
|
||||||
username:
|
|
||||||
{ from_secret: 'EMAIL_USER' },
|
|
||||||
password:
|
|
||||||
{ from_secret: 'EMAIL_PASS' },
|
|
||||||
from: 'drone@guise.net.nz'
|
|
||||||
},
|
|
||||||
when:
|
|
||||||
{ status: [ 'changed', 'failure' ] },
|
|
||||||
},
|
|
||||||
|
|
||||||
test_distro(distribution)::
|
|
||||||
{
|
|
||||||
name: 'Test on %(distribution)s' % { distribution: distribution },
|
|
||||||
volumes: [{ name: 'dockersock', path: '/var/run' },],
|
|
||||||
image: 'guisea/ansible-molecule:latest',
|
|
||||||
commands: [
|
|
||||||
'sleep 10', // give docker enough time to start
|
|
||||||
'mkdir ${DRONE_REPO_NAME}',
|
|
||||||
'rsync -a . ${DRONE_REPO_NAME} --exclude ${DRONE_REPO_NAME}',
|
|
||||||
'cd ${DRONE_REPO_NAME}',
|
|
||||||
'molecule test'
|
|
||||||
],
|
|
||||||
environment:
|
|
||||||
{ MOLECULE_DISTRO: '%(distribution)s' % { distribution: distribution }
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user