Skip to content

Commit bebc4b2

Browse files
authored
Merge pull request #100 from openpreserve/rel/1.2
REL: ViPER v1.2
2 parents 6a2232c + aa5748b commit bebc4b2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+611
-423
lines changed

.github/workflows/jekyll-gh-pages.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
2+
name: Deploy Jekyll with GitHub Pages dependencies preinstalled
3+
4+
on:
5+
# Runs on pushes targeting the default branch
6+
push:
7+
branches: ["main"]
8+
9+
# Allows you to run this workflow manually from the Actions tab
10+
workflow_dispatch:
11+
12+
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13+
permissions:
14+
contents: read
15+
pages: write
16+
id-token: write
17+
18+
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19+
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20+
concurrency:
21+
group: "pages"
22+
cancel-in-progress: false
23+
24+
jobs:
25+
# Build job
26+
build:
27+
runs-on: ubuntu-latest
28+
steps:
29+
- name: Checkout
30+
uses: actions/checkout@v4
31+
- name: Setup Pages
32+
uses: actions/configure-pages@v5
33+
- name: Build with Jekyll
34+
uses: actions/jekyll-build-pages@v1
35+
with:
36+
source: ./docs
37+
destination: ./_site
38+
- name: Upload artifact
39+
uses: actions/upload-pages-artifact@v3
40+
41+
# Deployment job
42+
deploy:
43+
environment:
44+
name: github-pages
45+
url: ${{ steps.deployment.outputs.page_url }}
46+
runs-on: ubuntu-latest
47+
needs: build
48+
steps:
49+
- name: Deploy to GitHub Pages
50+
id: deployment
51+
uses: actions/deploy-pages@v4

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
vitest.openpreservation.org

README.md

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,18 @@
22

33
This project creates ViPER, the Virtual Preservation Environment for Research. The environment is a virtual machine set up with a set of digital preservation tools installed and ready to use from the desktop.
44

5-
Supporting documentation is presented in these sections, or you can use [the documentation website](https://openpreserve.github.io/ddhn-forge/):
5+
Supporting documentation is presented in these sections, or you can use [the documentation website](https://viper.openpreserve.org/):
66

7-
1. [Setup Guide](docs/setup/index.md): How to download and configure ViPER.
8-
2. [User Guide](docs/guide/index.md): Some help getting acquainted with VirtualBox and the environment.
9-
3. [Tool Reference](docs/tools/index.md): A list of the bundled tools and some help references.
10-
4. [Maintainer's Guide](docs/maintainer/index.md): A look at how ViPER is produced and how it can be updated or extended.
7+
1. [Setup Guide](https://viper.openpreservation.org/setup/): How to download and configure ViPER.
8+
2. [User Guide](https://viper.openpreservation.org/guide/): Some help getting acquainted with VirtualBox and the environment.
9+
3. [Tool Reference](https://viper.openpreservation.org/tools/): A list of the bundled tools and some help references.
10+
4. [Maintainer's Guide](https://viper.openpreservation.org/maintainer/): A look at how ViPER is produced and how it can be updated or extended.
1111
5. [Quick Start](#quick-start): A brief look at how to get going with this project yourself.
12-
6. [References](docs/refs/index.md): A list of references used in the documentation.
12+
6. [References](https://viper.openpreservation.org/refs/): A list of references used in the documentation.
1313

1414
## Logging Issues
1515

16-
Should you have problems with ViPER then please [raise a GitHub issue](https://github.com/openpreserve/ddhn-forge/issues/new) on the project GitHub issue tracker [Openpreserve ddhn-forge](https://github.com/openpreserve/ddhn-forge/issues). You're also free to suggest enhancements by [raising an issue](https://github.com/openpreserve/ddhn-forge/issues/new). Please note that this should be limited to ViPER functionality only, tool enhancements should be directed to the relevant sites. If you do not have a GitHub user account you can also post issues via the [OPF contact us page](https://openpreservation.org/contact/)
16+
Should you have problems with ViPER then please [raise a GitHub issue](https://github.com/openpreserve/ViPER/issues/new) on the [project GitHub issue tracker](https://github.com/openpreserve/ViPER/issues). You're also free to suggest enhancements by [raising an issue](https://github.com/openpreserve/ViPER/issues/new). Please note that this should be limited to ViPER functionality only, tool enhancements should be directed to the relevant sites. If you do not have a GitHub user account you can also post issues via the [OPF contact us page](https://openpreservation.org/contact/)
1717

1818
## Quick Start
1919

@@ -28,9 +28,7 @@ You'll need [Virtual Box](https://www.virtualbox.org/) on your machine to act as
2828

2929
### Downloading the virtual Machine
3030

31-
Rather than build a vagrant machine you can download a [prebuilt OVF file](https://www.virtualbox.org/manual/ch01.html#ovf-about)
32-
which can be downloaded [ViPER](https://viper.openpreservation.org/viper.ova). The download takes some time
33-
as it's about 4GB. When it's finished you should have a file called `viper.ova`.
31+
Download the latest version of ViPER at <https://ddhn.openpreservation.org/viper-v{{ site.data.vars.version }}.ova>. ViPER is distributed as a [prebuilt OVF file](https://www.virtualbox.org/manual/ch01.html#ovf-about). The download takes some time as the file is about 5GB.
3432

3533
[These instructions](https://www.virtualbox.org/manual/ch01.html#ovf) tell you how to import the OVA file into VirtualBox so you can start it.
3634

@@ -47,7 +45,3 @@ Out of the box the machine should come configured with:
4745
- 128MB of video RAM to allow desktop scaling
4846

4947
More CPU and RAM will almost certainly improve performance. If you're setting up a vagrant box from scratch you can use the [Maintenance Initialisation](docs/maintainer/index.md#initialisation) instructions to change the parameters. If you've imported the OVA you can use the VirtualBox GUI to make the changes as [described here](https://www.virtualbox.org/manual/ch01.html#ovf).
50-
51-
## ViPER Tools and Resources
52-
53-
The list of tools and reference resources is maintained [here in a separate Markdown file](./docs/tools/index.md).

Vagrantfile

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Vagrant.configure("2") do |config|
1212

1313
# Every Vagrant development environment requires a box. You can search for
1414
# boxes at https://vagrantcloud.com/search.
15-
config.vm.box = "debian/bullseye64"
15+
config.vm.box = "debian/bookworm64"
1616

1717
# Share an additional folder to the guest VM. The first argument is
1818
# the path on the host to the actual folder. The second argument is
@@ -25,7 +25,7 @@ Vagrant.configure("2") do |config|
2525
# provider for Vagrant. These expose provider-specific options.
2626
config.vm.provider "virtualbox" do |vb|
2727
# Name the prototype machine
28-
vb.name = "VIPER v1.1"
28+
vb.name = "viper-v1.2-alpha"
2929
# Display the VirtualBox GUI when booting the machine
3030
vb.gui = true
3131
# Customize the CPUs (2x) and memory (4GB) on the VM:
@@ -44,9 +44,7 @@ Vagrant.configure("2") do |config|
4444
config.vm.provision "ansible" do |ansible|
4545
ansible.playbook = "ansible/initialise-env.yml"
4646
ansible.verbose = "vv"
47-
ansible.limit = "env.ddhn.test"
48-
ansible.galaxy_role_file = "ansible/requirements.yml"
49-
ansible.galaxy_command = "ansible-galaxy install --role-file=%{role_file}"
47+
ansible.limit = "env.viper.test"
5048
ansible.inventory_path = "ansible/vagrant.yml"
5149
end
5250
end
File renamed without changes.

ansible/initialise-env.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,5 @@
2929
- hosts: all
3030
become: true
3131
roles:
32-
- { role: ddhn.setup }
33-
- { role: PeterMosmans.virtualbox-guest }
32+
- { role: viper.setup }
3433
- { role: viper.tools }

ansible/requirements.yml

Lines changed: 0 additions & 2 deletions
This file was deleted.

ansible/roles/ddhn.setup/defaults/main.yml

Lines changed: 0 additions & 54 deletions
This file was deleted.

ansible/roles/ddhn.setup/tasks/desktop.yml

Lines changed: 0 additions & 15 deletions
This file was deleted.

ansible/roles/ddhn.setup/tasks/main.yml

Lines changed: 0 additions & 17 deletions
This file was deleted.

ansible/roles/ddhn.setup/tasks/server.yml

Lines changed: 0 additions & 21 deletions
This file was deleted.

ansible/roles/ddhn.setup/templates/etc/hosts.j2

Lines changed: 0 additions & 5 deletions
This file was deleted.

ansible/roles/ddhn.setup/vars/main.yml

Lines changed: 0 additions & 2 deletions
This file was deleted.
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
---
2+
# viper.setup default values
3+
viper_env_apt_defaults:
4+
# Source control a
5+
- "git"
6+
# Debian lacks the ability to download apt over HTTPS
7+
- "apt-transport-https"
8+
# Install some helper network tools
9+
- "psmisc"
10+
- "net-tools"
11+
# Python3 module so that ansible can handle dconf tasks
12+
- "python3-psutil"
13+
# Zip and unzip are always handy
14+
- "zip"
15+
- "unzip"
16+
# Tools for keyboard and console setup
17+
- "keyboard-configuration"
18+
- "console-setup"
19+
# Open JDK 17 for Java
20+
- "openjdk-17-jre"
21+
- "openjdk-17-doc"
22+
- "openjdk-17-source"
23+
# GNOME desktop and Nemo add on for icon display
24+
- "task-gnome-desktop"
25+
- "nemo"
26+
27+
viper_env_apt_remove:
28+
- "acpi"
29+
- "apcid"
30+
- "aptitude"
31+
- "at"
32+
- "aspell"
33+
- "aspell-en"
34+
- "avahi-daemon"
35+
- "bc"
36+
- "bin86"
37+
- "bind9-host"
38+
- "console-common"
39+
- "console-data"
40+
- "console-tools"
41+
- "dc"
42+
- "debian-faq"
43+
- "debian-faq-de"
44+
- "debian-faq-fr"
45+
- "debian-faq-it"
46+
- "debian-faq-zh-cn"
47+
- "dhcp"
48+
- "dhcp3-client"
49+
- "dhcp3-common"
50+
- "dictionaries"
51+
- "dnsutils"
52+
- "doc-debian"
53+
- "doc-linux-text"
54+
- "eject"
55+
- "fdutils"
56+
- "file"
57+
- "finger"
58+
- "foomatic-filters"
59+
- "gettext-base"
60+
- "groff"
61+
- "gnupg"
62+
- "gnu-efi"
63+
- "grub"
64+
- "hplip"
65+
- "iamerican"
66+
- "ibritish"
67+
- "info"
68+
- "ispell"
69+
- "laptop-detect"
70+
- "libavahi-compat-libdnssd1"
71+
- "libc6-amd64"
72+
- "libc6-i686"
73+
- "libgpmg1"
74+
- "manpages"
75+
- "mtools"
76+
- "mtr-tiny"
77+
- "mutt"
78+
- "nano"
79+
- "netcat"
80+
- "net-tools"
81+
- "ncurses-term"
82+
- "openssl"
83+
- "pidentd"
84+
- "ppp"
85+
- "pppconfig"
86+
- "pppoe"
87+
- "pppoeconf"
88+
- "read-edid"
89+
- "reportbug"
90+
- "smclient"
91+
- "tasksel"
92+
- "tcsh"
93+
- "traceroute"
94+
- "usbutils"
95+
- "vim-common"
96+
- "vim-tiny"
97+
- "wamerican"
98+
- "w3m"
99+
- "whois"
100+
- "zeroinstall-injector"
101+
102+
103+
viper:
104+
setup:
105+
prereqs:
106+
apt: "{{ viper_env_prereqs_apt | default (viper_env_apt_defaults) }}"
107+
remove:
108+
apt: "{{ viper_env_remove_apt | default (viper_env_apt_remove) }}"
109+
hostname: "{{ viper_env_hostname | default('localhost') }}"
110+
hostdomain: "{{ viper_env_hostdomain | default('localdomain') }}"
111+
fqdn: "{{ viper_env_fqdn | default('localhost.localdomain') }}"
112+
timezone: "{{ viper_env_timezone | default('Europe/London') }}"
113+
iptables:
114+
interfaces: "{{ viper_env_http_interfaces | default([]) }}"
115+
ip:
116+
v4: "{{ viper_env_ip | default('127.0.0.1') }}"
117+
v6: "{{ viper_env_ip_v6 | default('') }}"
118+
port:
119+
http: "{{ viper_env_port_http | default('') }}"
120+
https: "{{ viper_env_port_https | default('') }}"
121+
open_ports: "{{ viper_env_open_ports | default([]) }}"
122+
limited_account:
123+
name: "{{ viper_env_user_name | default('viper') }}"
124+
password: ""
125+
home: "{{ viper_env_user_home | default('/home/viper') }}"
126+
default_locale: en_GB.UTF-8
127+
locales:
128+
- da_DK.UTF-8
129+
- de_DE.UTF-8
130+
- en_GB.UTF-8
131+
- en_US.UTF-8
132+
- fr_FR.UTF-8
133+
- nl_NL.UTF-8
134+
Loading

0 commit comments

Comments
 (0)