Manjaro repos working.

nuster
shnee 4 years ago
parent 0e3e3fcd8c
commit 843ceed310

@ -5,6 +5,18 @@
vars: vars:
install_docker: false install_docker: false
# For arch distros just run `pacman-mirrors --fasttrack` to grab the fastest
# repos in your country.
repos:
- name: gigenet
url: mirrors.gigenet.com
port: 443
- name: ialab
url: repo.ialab.dsu.edu
port: 443
- name: princeton
url: mirror.math.princeton.edu
port: 443
# TODO remove this if unused. # TODO remove this if unused.
# This object represents the uid/gid for the haproxy user/group in the # This object represents the uid/gid for the haproxy user/group in the
# haproxy container. # haproxy container.
@ -16,6 +28,8 @@
persistent_data_directory: /media1/srv/pkg-cache persistent_data_directory: /media1/srv/pkg-cache
host_cert_file: "{{ persistent_data_directory }}/{{ cert_name }}" host_cert_file: "{{ persistent_data_directory }}/{{ cert_name }}"
host_config_file: "{{ persistent_data_directory }}/nuster.cfg" host_config_file: "{{ persistent_data_directory }}/nuster.cfg"
host_mirrorlist_file: "{{ persistent_data_directory }}/mirrorlist"
local_mirrorlist_file: ~/dev/pkg-cache-ansible/mirrorlist
permissions: &persistent_data_permissions permissions: &persistent_data_permissions
# owner: gert # owner: gert
# group: gert # group: gert
@ -48,6 +62,21 @@
<<: *persistent_data_permissions <<: *persistent_data_permissions
become: true become: true
# This is an example mirrorlist to used with this package cache.
- name: Create the mirrorlist example.
ansible.builtin.template:
src: templates/mirrorlist.j2
dest: "{{ host_mirrorlist_file }}"
<<: *persistent_data_permissions
become: true
- name: Copy the mirrorlist to localhost.
ansible.builtin.fetch:
src: "{{ host_mirrorlist_file }}"
dest: "{{ local_mirrorlist_file }}"
flat: true
become: true
- name: Copy over SSL cert. - name: Copy over SSL cert.
ansible.builtin.copy: ansible.builtin.copy:
dest: "{{ host_cert_file }}" dest: "{{ host_cert_file }}"
@ -62,6 +91,7 @@
name: pkg-cache name: pkg-cache
state: started state: started
restart: true restart: true
# recreate: true
network_mode: default network_mode: default
# TODO REM this shouldn't be needed becuase of the proxy. # TODO REM this shouldn't be needed becuase of the proxy.
# published_ports: # published_ports:
@ -71,7 +101,7 @@
- "{{ host_cert_file }}:{{ container_cert_file }}" - "{{ host_cert_file }}:{{ container_cert_file }}"
- "{{ persistent_data_directory }}/cache:/cache" - "{{ persistent_data_directory }}/cache:/cache"
env: env:
VIRTUAL_HOST: pkg.shnee.net VIRTUAL_HOST: pkg.shnee.net,*.pkg.shnee.net
VIRTAUL_PORT: "8080" VIRTUAL_PORT: "8080"
NETWORK_ACCESS: internal # NETWORK_ACCESS: internal
restart_policy: unless-stopped restart_policy: unless-stopped

@ -0,0 +1,6 @@
## This mirrorlist has been generated pkg-cache.yml playbook to use a cached
## proxy for package repos.
{% for repo in repos %}
Server = http://{{ repo.name }}.pkg.shnee.net/manjaro/stable/$repo/$arch
{% endfor %}

@ -1,5 +1,6 @@
global global
log stdout format raw local0 log stdout format raw local0
# TODO REM remove these and haproxy from the vars if unused.
# uid {{ haproxy_user.uid }} # uid {{ haproxy_user.uid }}
# gid {{ haproxy_user.gid }} # gid {{ haproxy_user.gid }}
nuster cache on dir /cache nuster cache on dir /cache
@ -16,11 +17,15 @@ defaults
frontend http_frontend frontend http_frontend
# bind *:4433 ssl crt {{ container_cert_file }} # bind *:4433 ssl crt {{ container_cert_file }}
bind *:8080 bind *:8080
default_backend pkg_repo {% for repo in repos %}
use_backend {{ repo.name }}_pkg_repo if { hdr_beg(host) -i {{ repo.name }} }
{% endfor %}
backend pkg_repo {% for repo in repos %}
backend {{ repo.name }}_pkg_repo
nuster cache on nuster cache on
nuster rule r1 disk on memory off nuster rule {{ repo.name }}_rule disk on memory off
option forwardfor option forwardfor
server server1 mirrors.gigenet.com:443 ssl verify none server {{ repo.name }} {{ repo.url }}:{{ repo.port }} ssl verify none
{% endfor %}

Loading…
Cancel
Save