roles/kojira: Deploy the Koji repository agent
The *kojira* role sets up the Koji repository agent to manage repository metadata for build tags. It runs as a daemon, usually on the same machine as the Koji hub. A client certificate is required for authentication, and must be supplied by placing it in the `certs/koji/{{ inventory_hostname }}` directory.jenkins-master
parent
1a8d7ce29a
commit
aed2776e27
|
@ -0,0 +1,3 @@
|
|||
koji_home: /var/lib/koji
|
||||
kojihub_host: "{{ ansible_fqdn }}"
|
||||
kojihub_url: https://{{ kojihub_host }}/kojihub
|
|
@ -0,0 +1,6 @@
|
|||
- name: update ca trust
|
||||
command: update-ca-trust
|
||||
- name: restart kojira
|
||||
service:
|
||||
name=kojira
|
||||
state=restarted
|
|
@ -0,0 +1,49 @@
|
|||
- name: ensure packages are installed
|
||||
package:
|
||||
name=koji-utils
|
||||
state=present
|
||||
tags:
|
||||
- install
|
||||
|
||||
- name: ensure kojira certificate is installed
|
||||
copy:
|
||||
src={{ item }}
|
||||
dest=/etc/kojira/kojira.pem
|
||||
mode=0400
|
||||
owner=root
|
||||
group=root
|
||||
with_fileglob:
|
||||
- certs/koji/{{ inventory_hostname }}/kojira.pem
|
||||
notify: restart kojira
|
||||
- name: ensure kojira ca certificates are installed
|
||||
copy:
|
||||
src={{ item }}
|
||||
dest=/etc/kojira/{{ item|basename }}
|
||||
mode=0644
|
||||
with_fileglob:
|
||||
- certs/koji/{{ inventory_hostname }}/*.crt
|
||||
- name: ensure koji hub server ca certificate is trusted
|
||||
copy:
|
||||
src={{ item }}
|
||||
dest=/etc/pki/ca-trust/source/anchors/koji-hub.crt
|
||||
mode=0644
|
||||
with_fileglob:
|
||||
- certs/koji/{{ inventory_hostname }}/serverca.crt
|
||||
notify: update ca trust
|
||||
- name: ensure kojira is configured
|
||||
template:
|
||||
src=kojira.conf.j2
|
||||
dest=/etc/kojira/kojira.conf
|
||||
notify: restart kojira
|
||||
|
||||
# TODO: It would be better if kojira did not run as root
|
||||
|
||||
- name: ensure kojira starts at boot
|
||||
service:
|
||||
name=kojira
|
||||
enabled=yes
|
||||
- meta: flush_handlers
|
||||
- name: ensure kojira is running
|
||||
service:
|
||||
name=kojira
|
||||
state=started
|
|
@ -0,0 +1,54 @@
|
|||
{#- vim: set ft=jinja : -#}
|
||||
[kojira]
|
||||
; For user/pass authentication
|
||||
; user=kojira
|
||||
; password=kojira
|
||||
|
||||
; For Kerberos authentication
|
||||
; the principal to connect with
|
||||
;principal=koji/repo@EXAMPLE.COM
|
||||
; The location of the keytab for the principal above
|
||||
;keytab=/etc/kojira.keytab
|
||||
|
||||
; The URL for the koji hub server
|
||||
server={{ kojihub_url }}
|
||||
|
||||
; The directory containing the repos/ directory
|
||||
topdir={{ koji_home }}
|
||||
|
||||
; Logfile
|
||||
logfile=/var/log/kojira.log
|
||||
|
||||
; Include srpms in repos? (not needed for normal operation)
|
||||
with_src=no
|
||||
|
||||
;configuration for Kerberos authentication
|
||||
|
||||
;the kerberos principal to use
|
||||
;principal = kojira@EXAMPLE.COM
|
||||
|
||||
;location of the keytab
|
||||
;keytab = /etc/kojira/kojira.keytab
|
||||
|
||||
;the service name of the principal being used by the hub
|
||||
;krbservice = host
|
||||
|
||||
;configuration for SSL authentication
|
||||
|
||||
;client certificate
|
||||
cert = /etc/kojira/kojira.pem
|
||||
|
||||
;certificate of the CA that issued the client certificate
|
||||
ca = /etc/kojira/clientca.crt
|
||||
|
||||
;certificate of the CA that issued the HTTP server certificate
|
||||
serverca = /etc/kojira/serverca.crt
|
||||
|
||||
;how soon (in seconds) to clean up expired repositories. 1 week default
|
||||
;deleted_repo_lifetime = 604800
|
||||
|
||||
;how soon (in seconds) to clean up dist repositories. 1 week default here too
|
||||
;dist_repo_lifetime = 604800
|
||||
|
||||
;turn on debugging statements in the log
|
||||
;debug = false
|
Loading…
Reference in New Issue