diff options
Diffstat (limited to 'packages')
34 files changed, 0 insertions, 779 deletions
diff --git a/packages/.dockerignore b/packages/.dockerignore deleted file mode 100644 index 1c44263..0000000 --- a/packages/.dockerignore +++ /dev/null @@ -1,3 +0,0 @@ -target/build/ -target/base.img -target/snapshot.qcow2 diff --git a/packages/.gitignore b/packages/.gitignore deleted file mode 100644 index 2f7896d..0000000 --- a/packages/.gitignore +++ /dev/null @@ -1 +0,0 @@ -target/ diff --git a/packages/Dockerfile b/packages/Dockerfile deleted file mode 100644 index c09ce4a..0000000 --- a/packages/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# Bare image for testing config packages. -# -# This image is configured to use apt-cacher-ng running on the host -# machine, and hence is designed to not require an internet connection -# to build and run (assuming the base image is cached). -# -# To enable access from a running container to the host's -# apt-cacher-ng, the following firewall rule is required: -# -# iptables -A INPUT -i docker0 -p tcp --dport 3142 -j ACCEPT - -FROM crashbox-config-base:latest - -RUN echo 'Acquire::http::Proxy "http://172.17.0.1:3142";' \ - > /etc/apt/apt.conf.d/00aptproxy - -COPY target/archive/ /usr/local/share/archive/ -RUN echo "deb [trusted=yes] file:/usr/local/share/archive ./" \ - > /etc/apt/sources.list.d/local-archive.list -RUN apt-get update \ - -o Dir::Etc::sourcelist="sources.list.d/local-archive.list" \ - -o Dir::Etc::sourceparts="-" \ - -o APT::Get::List-Cleanup="0" - -CMD ["bash"] diff --git a/packages/Dockerfile.base b/packages/Dockerfile.base deleted file mode 100644 index a188b76..0000000 --- a/packages/Dockerfile.base +++ /dev/null @@ -1,11 +0,0 @@ -# Base image for the bare image for testing config packages (see Dockerfile). -# Note that building this image requires an internet connection. - -FROM debian:buster - -RUN echo 'deb http://httpredir.debian.org/debian buster main' > /etc/apt/sources.list -RUN echo 'Acquire::ForceIPv4 "true";' > /etc/apt/apt.conf.d/99force-ipv4 -RUN apt-get update -RUN apt-get install curl -y - -CMD ["bash"] diff --git a/packages/Makefile b/packages/Makefile deleted file mode 100644 index 01805c7..0000000 --- a/packages/Makefile +++ /dev/null @@ -1,89 +0,0 @@ -src-packages=crashbox-config - -all: target/archive - -target/build/%: % - mkdir --parent target/build - cp -rf $< $@ - (cd $@ && debuild -us -uc) - -target/build/Packages.gz: $(addprefix target/build/,$(src-packages)) - mkdir --parent target/build - (cd target/build && dpkg-scanpackages . | gzip -9c > Packages.gz) - -target/archive: target/build/Packages.gz - mkdir --parent $@ - cp \ - --target-directory $@ \ - $(wildcard target/build/*.deb) \ - $< - -# Create a base Debian image. -# -# The base image will configure apt to use apt-cacher-ng, which is -# required to be installed on the host. -target/base.img: - mkdir -p target - sudo vmdebootstrap \ - --verbose \ - --owner=$(shell whoami) \ - --size=3G \ - --mirror=http://127.0.0.1:3142/debian \ - --apt-mirror=http://10.0.2.2:3142/debian \ - --configure-apt \ - --distribution=buster \ - --sudo \ - --grub \ - --serial-console \ - --customize=./vm/customize.sh \ - --image $@ - -# Create a copy-on-write snapshot of the base image. -# VMs will use this image to enable quick testing and fast roll-back. -target/snapshot.qcow2: target/base.img - mkdir -p target - rm -f $@ - qemu-img create \ - -f qcow2 \ - -b $(notdir $<) $@ - -# Start a VM for testing config packages -run: target/snapshot.qcow2 target/archive - qemu-system-x86_64 \ - -enable-kvm \ - -machine q35,accel=kvm,kernel-irqchip=split \ - -m 1024 \ - -smp 2 \ - -device intel-iommu,intremap=on \ - -netdev user,\ - hostfwd=tcp::10022-:22,\ - hostfwd=tcp::10080-:80,\ - hostfwd=tcp::10443-:443,\ - id=net0 \ - -device e1000,netdev=net0 \ - -virtfs local,\ - path=target/archive,\ - mount_tag=host0,\ - security_model=mapped,\ - id=host0 \ - -drive format=qcow2,file=$< \ - -nographic \ - -monitor none \ - -serial stdio - -docker-base: - docker build --tag crashbox-config-base:latest -f Dockerfile.base . - -docker: $(archive) - docker build --tag crashbox-config . - docker run --tty --interactive crashbox-config - -clean: - rm -rf target/archive - rm -rf target/build - rm -rf target/snapshot.qcow2 - -dist-clean: - rm -rf target - -.PHONY: all run clean dist-clean diff --git a/packages/README.md b/packages/README.md deleted file mode 100644 index 6f407e9..0000000 --- a/packages/README.md +++ /dev/null @@ -1,54 +0,0 @@ -# Config Packages - -This directory contains sources and scripts for building and testing -Debian config packages for common server roles, tailored to the -conventions used for managing crashbox.io. - -All packages are built from a single [debian source -package](https://wiki.debian.org/Packaging/SourcePackage) in -`crashbox-config`. - -Although this source package can be built in the regular way (e.g. by -cd'ing into debian and running `debuild`), a makefile is also provided -for cleaner builds and testing the packages. Some notable makefile -targets are: - -- `all`: builds a package archive (that may be used as a "deb" - source for `apt`) - -- `run`: starts a virtual machine with the package archive configured - as an additional "deb" source. Config packages may be tested by - running `apt update` and `apt install <package>`. - -## Dependencies - -Config packages declare their own dependencies, however the following -packages are required to get started: - -```bash -apt install \ - apt-cacher-ng \ - build-essential \ - devscripts \ - lintian \ - qemu-kvm \ - vmdebootstrap -``` -## Example - -1. `make run`: builds packages, bundles tem in an archive and starts a - virtual machine. Note that running this first time may take a while - a require and require significatnt bandwidth, since the base image - of the virtual machine needs to be bootstrapped. - -2. login with `root` (no password) - -3. `apt update`: update apt's list of available packages - -4. `apt install crashbox-ip-config`: configure the vm to become an - "ip-echo" service. This will install and configure dependent - packages too, such as `crashbox-nginx-config` and - `crshbox-base-config`. - -5. back on the host, visit `https://ip.localhost:10443` to confirm the - service os running diff --git a/packages/crashbox-config/base/20auto-upgrades b/packages/crashbox-config/base/20auto-upgrades deleted file mode 100644 index 8d6d7c8..0000000 --- a/packages/crashbox-config/base/20auto-upgrades +++ /dev/null @@ -1,2 +0,0 @@ -APT::Periodic::Update-Package-Lists "1"; -APT::Periodic::Unattended-Upgrade "1"; diff --git a/packages/crashbox-config/debian/changelog b/packages/crashbox-config/debian/changelog deleted file mode 100644 index 4991b8d..0000000 --- a/packages/crashbox-config/debian/changelog +++ /dev/null @@ -1,5 +0,0 @@ -crashbox-config (1) unstable; urgency=medium - - * Initial Release. - - -- Jakob Odersky <infra@crashbox.io> Tue, 28 Aug 2018 21:47:21 -0700 diff --git a/packages/crashbox-config/debian/compat b/packages/crashbox-config/debian/compat deleted file mode 100644 index b4de394..0000000 --- a/packages/crashbox-config/debian/compat +++ /dev/null @@ -1 +0,0 @@ -11 diff --git a/packages/crashbox-config/debian/control b/packages/crashbox-config/debian/control deleted file mode 100644 index aacca52..0000000 --- a/packages/crashbox-config/debian/control +++ /dev/null @@ -1,38 +0,0 @@ -Source: crashbox-config -Section: admin -Priority: optional -Maintainer: Jakob Odersky <infra@crashbox.io> -Build-Depends: debhelper (>= 11) -Standards-Version: 4.1.3 - -Package: crashbox-base-config -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, apt-listchanges, ca-certificates, curl, jq, openssl, rsync, ufw, unattended-upgrades, wget, sudo -Provides: ${diverted-files} -Conflicts: ${diverted-files} -Description: configuration for base system - Adds local customizations to the base system configuration. - -Package: crashbox-nginx-config -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, ssl-cert, nginx, crashbox-base-config -Provides: ${diverted-files} -Conflicts: ${diverted-files} -Description: local nginx configuration - Adds local customizations to nginx config - -Package: crashbox-ip-config -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, crashbox-nginx-config -Provides: ${diverted-files} -Conflicts: ${diverted-files} -Description: what-is-my-ip website - Adds an nginx site that echoes back a remote IP address - -Package: crashbox-git-config -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, crashbox-nginx-config, cgit, python3-pygments, python3-markdown, git-core, fcgiwrap, adduser -Provides: ${diverted-files} -Conflicts: ${diverted-files} -Description: cgit web interface - Adds an nginx site that serves a CGit instance
\ No newline at end of file diff --git a/packages/crashbox-config/debian/copyright b/packages/crashbox-config/debian/copyright deleted file mode 100644 index ac7fbf4..0000000 --- a/packages/crashbox-config/debian/copyright +++ /dev/null @@ -1,27 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: crashbox-config - -Files: * -Copyright: 2018 Jakob Odersky <jakob@odersky.com> -License: GPL-3.0+ - -Files: debian/* -Copyright: 2018 Jakob Odersky <jakob@odersky.com> -License: GPL-3.0+ - -License: GPL-3.0+ - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - . - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - . - On Debian systems, the complete text of the GNU General - Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
\ No newline at end of file diff --git a/packages/crashbox-config/debian/crashbox-base-config.install b/packages/crashbox-config/debian/crashbox-base-config.install deleted file mode 100644 index ef80655..0000000 --- a/packages/crashbox-config/debian/crashbox-base-config.install +++ /dev/null @@ -1 +0,0 @@ -base/20auto-upgrades etc/apt/apt.conf.d/ diff --git a/packages/crashbox-config/debian/crashbox-base-config.postinst b/packages/crashbox-config/debian/crashbox-base-config.postinst deleted file mode 100644 index b48f01f..0000000 --- a/packages/crashbox-config/debian/crashbox-base-config.postinst +++ /dev/null @@ -1,42 +0,0 @@ -#!/bin/sh -# postinst script for crashbox-base-config -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - ufw allow 22/tcp || true - ufw default deny || true - ufw --force enable || true - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/crashbox-config/debian/crashbox-git-config.cron.d b/packages/crashbox-config/debian/crashbox-git-config.cron.d deleted file mode 100644 index d9cadfd..0000000 --- a/packages/crashbox-config/debian/crashbox-git-config.cron.d +++ /dev/null @@ -1 +0,0 @@ -0 0 * * * git /usr/bin/gh-mirror-all
\ No newline at end of file diff --git a/packages/crashbox-config/debian/crashbox-git-config.install b/packages/crashbox-config/debian/crashbox-git-config.install deleted file mode 100644 index a7d3e36..0000000 --- a/packages/crashbox-config/debian/crashbox-git-config.install +++ /dev/null @@ -1,3 +0,0 @@ -git/etc/* etc -git/usr/* usr -git/var/* var diff --git a/packages/crashbox-config/debian/crashbox-git-config.postinst b/packages/crashbox-config/debian/crashbox-git-config.postinst deleted file mode 100644 index 774869e..0000000 --- a/packages/crashbox-config/debian/crashbox-git-config.postinst +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - adduser --group --system --home /var/lib/git git - mkdir -p /srv/git - chown -R git:git /srv/git - mkdir -p /var/lib/git/www/ - ln -s /usr/share/cgit/cgit.css /var/lib/git/www/cgit.css - ln -s /usr/share/cgit/robots.txt /var/lib/git/www/robots.txt - deb-systemd-invoke restart nginx - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/crashbox-config/debian/crashbox-ip-config.install b/packages/crashbox-config/debian/crashbox-ip-config.install deleted file mode 100644 index 2646928..0000000 --- a/packages/crashbox-config/debian/crashbox-ip-config.install +++ /dev/null @@ -1 +0,0 @@ -ip/ip.conf etc/nginx/sites-enabled/ diff --git a/packages/crashbox-config/debian/crashbox-ip-config.postinst b/packages/crashbox-config/debian/crashbox-ip-config.postinst deleted file mode 100644 index 90e58d6..0000000 --- a/packages/crashbox-config/debian/crashbox-ip-config.postinst +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# postinst script for crashbox-ip-config -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - deb-systemd-invoke restart nginx - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/crashbox-config/debian/crashbox-nginx-config.install b/packages/crashbox-config/debian/crashbox-nginx-config.install deleted file mode 100644 index f2ed0d3..0000000 --- a/packages/crashbox-config/debian/crashbox-nginx-config.install +++ /dev/null @@ -1 +0,0 @@ -nginx/etc/* etc diff --git a/packages/crashbox-config/debian/crashbox-nginx-config.postinst b/packages/crashbox-config/debian/crashbox-nginx-config.postinst deleted file mode 100644 index 7a22244..0000000 --- a/packages/crashbox-config/debian/crashbox-nginx-config.postinst +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# postinst script for crashbox-nginx-config -# -# see: dh_installdeb(1) - -set -e - -# summary of how this script can be called: -# * <postinst> `configure' <most-recently-configured-version> -# * <old-postinst> `abort-upgrade' <new version> -# * <conflictor's-postinst> `abort-remove' `in-favour' <package> -# <new-version> -# * <postinst> `abort-remove' -# * <deconfigured's-postinst> `abort-deconfigure' `in-favour' -# <failed-install-package> <version> `removing' -# <conflicting-package> <version> -# for details, see https://www.debian.org/doc/debian-policy/ or -# the debian-policy package - - -case "$1" in - configure) - ln -f -s /etc/nginx/sites-available/default.conf /etc/nginx/sites-enabled/default - usermod --append --groups ssl-cert www-data - ufw allow 80/tcp - ufw allow 443/tcp - - if [ ! -r /etc/ssl/private/server.key.pem ] \ - || [ ! -r /etc/ssl/server.cert.pem ] \ - || [ ! -r /etc/ssl/issuer.cert.pem ]; then - ln -f -s /etc/ssl/private/ssl-cert-snakeoil.key /etc/ssl/private/server.key.pem - ln -f -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/server.cert.pem - ln -f -s /etc/ssl/certs/ssl-cert-snakeoil.pem /etc/ssl/issuer.cert.pem - echo "WARNING: no certificates found, falling back to snakeoil certificates!" >&2 - fi - - deb-systemd-invoke restart nginx - ;; - - abort-upgrade|abort-remove|abort-deconfigure) - ;; - - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -# dh_installdeb will replace this with shell code automatically -# generated by other debhelper scripts. - -#DEBHELPER# - -exit 0 diff --git a/packages/crashbox-config/debian/rules b/packages/crashbox-config/debian/rules deleted file mode 100755 index 9946432..0000000 --- a/packages/crashbox-config/debian/rules +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/make -f -# See debhelper(7) (uncomment to enable) -# output every command that modifies files on the build system. -#export DH_VERBOSE = 1 - - -# see FEATURE AREAS in dpkg-buildflags(1) -#export DEB_BUILD_MAINT_OPTIONS = hardening=+all - -# see ENVIRONMENT in dpkg-buildflags(1) -# package maintainers to append CFLAGS -#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic -# package maintainers to append LDFLAGS -#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed - - -%: - dh $@ diff --git a/packages/crashbox-config/debian/source/format b/packages/crashbox-config/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/packages/crashbox-config/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/packages/crashbox-config/git/etc/cgitrc.d/crashbox b/packages/crashbox-config/git/etc/cgitrc.d/crashbox deleted file mode 100644 index fdafab6..0000000 --- a/packages/crashbox-config/git/etc/cgitrc.d/crashbox +++ /dev/null @@ -1,63 +0,0 @@ -# -# cgit config -# see cgitrc(5) for details -# -# https://git.zx2c4.com/cgit/tree/cgitrc.5.txt - -favicon=/crashbox.svg -logo=/crashbox.svg -root-title=git.crashbox.io -root-desc=Git repositories hosted at crashbox.io -root-readme=/var/lib/git/www/about.md -clone-url=https://git.crashbox.io/$CGIT_REPO_URL - -## List of common mimetypes -mimetype.gif=image/gif -mimetype.html=text/html -mimetype.jpg=image/jpeg -mimetype.jpeg=image/jpeg -mimetype.pdf=application/pdf -mimetype.png=image/png -mimetype.svg=image/svg+xml -mimetype-file=/etc/mime.types - -# Don't show owner on index page -enable-index-owner=0 - -# Enable blame page and create links to it from tree page -enable-blame=1 - -# Enable ASCII art commit history graph on the log pages -enable-commit-graph=1 - -# Show extra links for each repository on the index page -enable-index-links=1 - -# Show number of affected files per commit on the log pages -enable-log-filecount=1 - -# Show number of added/removed lines per commit on the log pages -enable-log-linecount=1 - -# Allow download of tar.gz, tar.bz2 and zip-files -snapshots=tar.gz tar.bz2 zip - -# Highlight code -source-filter=/usr/lib/cgit/filters/syntax-highlighting.py - -# Format "about" files such as markdown readmes -about-filter=/usr/lib/cgit/filters/about-formatting.sh -readme=master:README.md - -# nginx handles negotiating git clones -enable-http-clone=0 - -section-from-path=-1 - -# Remove ".git" suffix in listings -remove-suffix=1 - -# Base URL -virtual-root=/ - -scan-path=/srv/git diff --git a/packages/crashbox-config/git/etc/gh-mirror b/packages/crashbox-config/git/etc/gh-mirror deleted file mode 100644 index 4fc987b..0000000 --- a/packages/crashbox-config/git/etc/gh-mirror +++ /dev/null @@ -1,4 +0,0 @@ -users jodersky /srv/git/mirrors/github/jodersky -orgs project-condor /srv/git/mirrors/github/project-condor -orgs driver-oss /srv/git/mirrors/github/driver-oss -orgs johnandjohn /srv/git/mirrors/github/johnandjohn diff --git a/packages/crashbox-config/git/etc/nginx/sites-enabled/git.conf b/packages/crashbox-config/git/etc/nginx/sites-enabled/git.conf deleted file mode 100644 index 7210dbc..0000000 --- a/packages/crashbox-config/git/etc/nginx/sites-enabled/git.conf +++ /dev/null @@ -1,33 +0,0 @@ -server { - server_name git.*; - listen 80; - listen [::]:80; - listen 443 ssl; - listen [::]:443 ssl; - - root /var/lib/git/www; - - # requests that should to go to git-http-backend - location ~ ^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$ { - root /srv/git; - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; - fastcgi_param GIT_PROJECT_ROOT /srv/git; - fastcgi_param GIT_HTTP_EXPORT_ALL ""; - fastcgi_param PATH_INFO $uri; - fastcgi_pass unix:/run/fcgiwrap.socket; - } - - location @cgit { - include fastcgi_params; - fastcgi_param SCRIPT_FILENAME /usr/lib/cgit/cgit.cgi; - fastcgi_param CGIT_CONFIG /etc/cgitrc.d/crashbox; - fastcgi_param PATH_INFO $uri; - fastcgi_pass unix:/run/fcgiwrap.socket; - } - - location / { - try_files $uri @cgit; - } - -} diff --git a/packages/crashbox-config/git/usr/bin/gh-mirror b/packages/crashbox-config/git/usr/bin/gh-mirror deleted file mode 100755 index 54985cb..0000000 --- a/packages/crashbox-config/git/usr/bin/gh-mirror +++ /dev/null @@ -1,59 +0,0 @@ -#!/bin/bash -# Mirror repositories from GitHub -# -# Arguments: (users|orgs) <name> <output_directory> -# -# Clones (or updates) all repositories of a GitHub user or -# organization. Repositories are created as children of the given -# output directory. -# -# Example: -# gh-mirror users jodersky mirrors/github/jodersky -# -# This script uses GitHub's API, version 3 -# https://developer.github.com/v3/repos/#list-user-repositories -set -o errexit - -account_type="$1" -account_name="$2" -out_dir="${3:-.}" -mkdir -p "$out_dir" - -if [[ -z $account_type ]] || [[ -z $account_name ]]; then - echo "Usage: (users|orgs) <name> <output_directory>" >&2 - exit 1 -fi - -tmp="$(mktemp /tmp/mirror-XXXXXXXXXXXX)" -url="https://api.github.com/$account_type/$account_name/repos?per_page=100" - -function finish { - echo "An error was encountered." >&2 - echo "curl headers are saved in $tmp" >&2 -} -trap finish ERR - -while [[ ! -z "$url" ]]; do - echo "Fetching $url..." >&2 - - mapfile -t repo_data < <(curl --dump-header "$tmp" "$url" | jq --compact-output '.[]') - url="$(< "$tmp" grep Link | grep -oE "[a-zA-Z0-9:/?=.&_]*>; rel=.next" | cut -d'>' -f1)" - - for repo in "${repo_data[@]}"; do - clone_url="$(echo "$repo" | jq -r .clone_url)" - project="$(basename "$clone_url")" - description=$(echo "$repo" | jq -r .description) - - git_dir="$out_dir/$project" - - if [ -d "$git_dir" ]; then - echo "updating $project" >&2 - git -C "$git_dir" fetch --prune - else - echo "mirroring new $project" >&2 - git clone --mirror "$clone_url" "$git_dir" - fi - echo "$description" > "$git_dir/description" - done -done -rm "$tmp" diff --git a/packages/crashbox-config/git/usr/bin/gh-mirror-all b/packages/crashbox-config/git/usr/bin/gh-mirror-all deleted file mode 100755 index fa9054f..0000000 --- a/packages/crashbox-config/git/usr/bin/gh-mirror-all +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash -mapfile -t lines < /etc/gh-mirror - -for line in "${lines[@]}"; do - read -r type name dir <<< "$line" - gh-mirror "$type" "$name" "$dir" -done diff --git a/packages/crashbox-config/git/var/lib/git/www/about.md b/packages/crashbox-config/git/var/lib/git/www/about.md deleted file mode 100644 index 55e68fa..0000000 --- a/packages/crashbox-config/git/var/lib/git/www/about.md +++ /dev/null @@ -1,5 +0,0 @@ -Tracking of various git repositories. - -![instagram](instagram.png) - -<https://xkcd.com/1150/> diff --git a/packages/crashbox-config/git/var/lib/git/www/crashbox.svg b/packages/crashbox-config/git/var/lib/git/www/crashbox.svg deleted file mode 100644 index 87ff69c..0000000 --- a/packages/crashbox-config/git/var/lib/git/www/crashbox.svg +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - xmlns:dc="http://purl.org/dc/elements/1.1/" - xmlns:cc="http://creativecommons.org/ns#" - xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" - xmlns:svg="http://www.w3.org/2000/svg" - xmlns="http://www.w3.org/2000/svg" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="64" - height="64" - viewBox="0 0 16.933333 16.933334" - version="1.1" - id="svg8" - inkscape:version="0.92.3 (2405546, 2018-03-11)" - sodipodi:docname="crashbox.svg" - inkscape:export-filename="/home/jodersky/.background.png" - inkscape:export-xdpi="96" - inkscape:export-ydpi="96"> - <defs - id="defs2" /> - <sodipodi:namedview - id="base" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageopacity="0.0" - inkscape:pageshadow="2" - inkscape:zoom="8.1454544" - inkscape:cx="49.880572" - inkscape:cy="41.270535" - inkscape:document-units="mm" - inkscape:current-layer="layer1" - showgrid="false" - inkscape:snap-global="true" - inkscape:snap-bbox="true" - inkscape:bbox-nodes="true" - inkscape:object-paths="true" - inkscape:window-width="1920" - inkscape:window-height="1080" - inkscape:window-x="0" - inkscape:window-y="0" - inkscape:window-maximized="0" - inkscape:snap-bbox-edge-midpoints="true" - inkscape:snap-object-midpoints="true" - inkscape:snap-smooth-nodes="true" - units="px" - inkscape:snap-page="true" /> - <metadata - id="metadata5"> - <rdf:RDF> - <cc:Work - rdf:about=""> - <dc:format>image/svg+xml</dc:format> - <dc:type - rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> - <dc:title></dc:title> - </cc:Work> - </rdf:RDF> - </metadata> - <g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(0,-280.06665)"> - <g - id="g885" - transform="matrix(0,0.57000354,-0.57000354,0,156.29365,249.65986)" - style="fill:#cccccc"> - <path - id="path871" - d="m 53.344914,259.34398 c 0,-0.44557 7.040667,-12.63991 7.426581,-12.86269 0.385913,-0.22278 14.467808,-0.22279 14.853711,0 0.385913,0.22279 7.427142,12.41711 7.427142,12.86269 1e-5,0.44557 -7.041229,12.6399 -7.427142,12.86269 -0.385903,0.22279 -14.467798,0.22278 -14.853711,-10e-6 -0.385914,-0.22278 -7.426581,-12.41711 -7.426581,-12.86268 z m 0.938299,1e-5 c 0,0.41739 6.596177,11.84071 6.957712,12.0494 0.361535,0.20871 13.553877,0.20872 13.915412,0 0.361535,-0.20869 6.957712,-11.63201 6.957712,-12.04941 0,-0.4174 -6.596177,-11.84072 -6.957712,-12.04943 -0.361535,-0.20869 -13.553877,-0.2087 -13.915412,0 -0.361535,0.2087 -6.957712,11.63202 -6.957712,12.04944 z" - style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.17204435;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - inkscape:connector-curvature="0" /> - <path - id="path873" - d="m 68.986516,259.38836 c 0,-0.34087 5.34873,-9.60935 5.70206,-9.88448 0.53173,0.60355 5.66767,9.50847 5.66765,9.84278 10e-6,0.3409 -5.35009,9.61103 -5.70248,9.88449 -0.53273,-0.60539 -5.66719,-9.50851 -5.66723,-9.84275 z" - style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.15927917;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" - inkscape:connector-curvature="0" /> - </g> - </g> -</svg> diff --git a/packages/crashbox-config/git/var/lib/git/www/instagram.png b/packages/crashbox-config/git/var/lib/git/www/instagram.png Binary files differdeleted file mode 100644 index dcaff14..0000000 --- a/packages/crashbox-config/git/var/lib/git/www/instagram.png +++ /dev/null diff --git a/packages/crashbox-config/ip/ip.conf b/packages/crashbox-config/ip/ip.conf deleted file mode 100644 index 2f3ab1e..0000000 --- a/packages/crashbox-config/ip/ip.conf +++ /dev/null @@ -1,13 +0,0 @@ -# Echo remote IP address -# https://michael.lustfield.net/nginx/simple-ip-echo -server { - server_name ip.*; - listen 80; - listen [::]:80; - listen 443 ssl; - listen [::]:443 ssl; - location = / { - default_type text/plain; - echo $remote_addr; - } -}
\ No newline at end of file diff --git a/packages/crashbox-config/nginx/etc/nginx/conf.d/ssl.conf b/packages/crashbox-config/nginx/etc/nginx/conf.d/ssl.conf deleted file mode 100644 index bb96ec7..0000000 --- a/packages/crashbox-config/nginx/etc/nginx/conf.d/ssl.conf +++ /dev/null @@ -1,15 +0,0 @@ -# The configuration below can be obtained with the Mozilla SSL -# Configuration Generator at -# https://mozilla.github.io/server-side-tls/ssl-config-generator/ - -ssl_certificate /etc/ssl/server.cert.pem; -ssl_certificate_key /etc/ssl/private/server.key.pem; -ssl_session_timeout 1d; -ssl_session_cache shared:SSL:50m; -ssl_session_tickets off; - -ssl_ciphers 'ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256'; - -ssl_stapling on; -ssl_stapling_verify on; -ssl_trusted_certificate /etc/ssl/issuer.cert.pem; diff --git a/packages/crashbox-config/nginx/etc/nginx/sites-available/default.conf b/packages/crashbox-config/nginx/etc/nginx/sites-available/default.conf deleted file mode 100644 index e10725d..0000000 --- a/packages/crashbox-config/nginx/etc/nginx/sites-available/default.conf +++ /dev/null @@ -1,9 +0,0 @@ -# Default catch-all configuration, applied when no other configuration matches -server { - server_name _; - listen 80 default_server; - listen [::]:80 default_server; - - # close the connection without sending a response - return 444; -}
\ No newline at end of file diff --git a/packages/vm/customize.sh b/packages/vm/customize.sh deleted file mode 100755 index e8f67b6..0000000 --- a/packages/vm/customize.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -abort() { - echo "$1" >&2 - exit 1 -} - -rootdir="$1" - -# avoid messing with host system, in case this script is run by accident -[[ -n $rootdir ]] || abort "root directory is not set" - -# set up local apt archive -mkdir -p $rootdir/usr/local/share/archive -echo "deb [trusted=yes] file:/usr/local/share/archive ./" > $rootdir/etc/apt/sources.list.d/local.list - -# mount local apt archive from host on startup -echo 9p >> $rootdir/etc/initramfs-tools/modules -echo 9pnet >> $rootdir/etc/initramfs-tools/modules -echo 9pnet_virtio >> $rootdir/etc/initramfs-tools/modules -echo "host0 /usr/local/share/archive 9p trans=virtio,version=9p2000.L 0 0" >> $rootdir/etc/fstab - -# boot immediately -sed --in-place 's/GRUB_TIMEOUT=[0-9]\+/GRUB_TIMEOUT=0/g' $rootdir/etc/default/grub |