Skip to content

Commit

Permalink
Merge pull request #100 from openpreserve/rel/1.2
Browse files Browse the repository at this point in the history
REL: ViPER v1.2
  • Loading branch information
carlwilson authored Aug 2, 2024
2 parents 6a2232c + aa5748b commit bebc4b2
Show file tree
Hide file tree
Showing 70 changed files with 611 additions and 423 deletions.
51 changes: 51 additions & 0 deletions .github/workflows/jekyll-gh-pages.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Sample workflow for building and deploying a Jekyll site to GitHub Pages
name: Deploy Jekyll with GitHub Pages dependencies preinstalled

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Pages
uses: actions/configure-pages@v5
- name: Build with Jekyll
uses: actions/jekyll-build-pages@v1
with:
source: ./docs
destination: ./_site
- name: Upload artifact
uses: actions/upload-pages-artifact@v3

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4
1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
vitest.openpreservation.org
22 changes: 8 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@

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.

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

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

## Logging Issues

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/)
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/)

## Quick Start

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

### Downloading the virtual Machine

Rather than build a vagrant machine you can download a [prebuilt OVF file](https://www.virtualbox.org/manual/ch01.html#ovf-about)
which can be downloaded [ViPER](https://viper.openpreservation.org/viper.ova). The download takes some time
as it's about 4GB. When it's finished you should have a file called `viper.ova`.
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.

[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.

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

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).

## ViPER Tools and Resources

The list of tools and reference resources is maintained [here in a separate Markdown file](./docs/tools/index.md).
8 changes: 3 additions & 5 deletions Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ Vagrant.configure("2") do |config|

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

# Share an additional folder to the guest VM. The first argument is
# the path on the host to the actual folder. The second argument is
Expand All @@ -25,7 +25,7 @@ Vagrant.configure("2") do |config|
# provider for Vagrant. These expose provider-specific options.
config.vm.provider "virtualbox" do |vb|
# Name the prototype machine
vb.name = "VIPER v1.1"
vb.name = "viper-v1.2-alpha"
# Display the VirtualBox GUI when booting the machine
vb.gui = true
# Customize the CPUs (2x) and memory (4GB) on the VM:
Expand All @@ -44,9 +44,7 @@ Vagrant.configure("2") do |config|
config.vm.provision "ansible" do |ansible|
ansible.playbook = "ansible/initialise-env.yml"
ansible.verbose = "vv"
ansible.limit = "env.ddhn.test"
ansible.galaxy_role_file = "ansible/requirements.yml"
ansible.galaxy_command = "ansible-galaxy install --role-file=%{role_file}"
ansible.limit = "env.viper.test"
ansible.inventory_path = "ansible/vagrant.yml"
end
end
File renamed without changes.
3 changes: 1 addition & 2 deletions ansible/initialise-env.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,5 @@
- hosts: all
become: true
roles:
- { role: ddhn.setup }
- { role: PeterMosmans.virtualbox-guest }
- { role: viper.setup }
- { role: viper.tools }
2 changes: 0 additions & 2 deletions ansible/requirements.yml

This file was deleted.

54 changes: 0 additions & 54 deletions ansible/roles/ddhn.setup/defaults/main.yml

This file was deleted.

15 changes: 0 additions & 15 deletions ansible/roles/ddhn.setup/tasks/desktop.yml

This file was deleted.

17 changes: 0 additions & 17 deletions ansible/roles/ddhn.setup/tasks/main.yml

This file was deleted.

21 changes: 0 additions & 21 deletions ansible/roles/ddhn.setup/tasks/server.yml

This file was deleted.

5 changes: 0 additions & 5 deletions ansible/roles/ddhn.setup/templates/etc/hosts.j2

This file was deleted.

2 changes: 0 additions & 2 deletions ansible/roles/ddhn.setup/vars/main.yml

This file was deleted.

134 changes: 134 additions & 0 deletions ansible/roles/viper.setup/defaults/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
---
# viper.setup default values
viper_env_apt_defaults:
# Source control a
- "git"
# Debian lacks the ability to download apt over HTTPS
- "apt-transport-https"
# Install some helper network tools
- "psmisc"
- "net-tools"
# Python3 module so that ansible can handle dconf tasks
- "python3-psutil"
# Zip and unzip are always handy
- "zip"
- "unzip"
# Tools for keyboard and console setup
- "keyboard-configuration"
- "console-setup"
# Open JDK 17 for Java
- "openjdk-17-jre"
- "openjdk-17-doc"
- "openjdk-17-source"
# GNOME desktop and Nemo add on for icon display
- "task-gnome-desktop"
- "nemo"

viper_env_apt_remove:
- "acpi"
- "apcid"
- "aptitude"
- "at"
- "aspell"
- "aspell-en"
- "avahi-daemon"
- "bc"
- "bin86"
- "bind9-host"
- "console-common"
- "console-data"
- "console-tools"
- "dc"
- "debian-faq"
- "debian-faq-de"
- "debian-faq-fr"
- "debian-faq-it"
- "debian-faq-zh-cn"
- "dhcp"
- "dhcp3-client"
- "dhcp3-common"
- "dictionaries"
- "dnsutils"
- "doc-debian"
- "doc-linux-text"
- "eject"
- "fdutils"
- "file"
- "finger"
- "foomatic-filters"
- "gettext-base"
- "groff"
- "gnupg"
- "gnu-efi"
- "grub"
- "hplip"
- "iamerican"
- "ibritish"
- "info"
- "ispell"
- "laptop-detect"
- "libavahi-compat-libdnssd1"
- "libc6-amd64"
- "libc6-i686"
- "libgpmg1"
- "manpages"
- "mtools"
- "mtr-tiny"
- "mutt"
- "nano"
- "netcat"
- "net-tools"
- "ncurses-term"
- "openssl"
- "pidentd"
- "ppp"
- "pppconfig"
- "pppoe"
- "pppoeconf"
- "read-edid"
- "reportbug"
- "smclient"
- "tasksel"
- "tcsh"
- "traceroute"
- "usbutils"
- "vim-common"
- "vim-tiny"
- "wamerican"
- "w3m"
- "whois"
- "zeroinstall-injector"


viper:
setup:
prereqs:
apt: "{{ viper_env_prereqs_apt | default (viper_env_apt_defaults) }}"
remove:
apt: "{{ viper_env_remove_apt | default (viper_env_apt_remove) }}"
hostname: "{{ viper_env_hostname | default('localhost') }}"
hostdomain: "{{ viper_env_hostdomain | default('localdomain') }}"
fqdn: "{{ viper_env_fqdn | default('localhost.localdomain') }}"
timezone: "{{ viper_env_timezone | default('Europe/London') }}"
iptables:
interfaces: "{{ viper_env_http_interfaces | default([]) }}"
ip:
v4: "{{ viper_env_ip | default('127.0.0.1') }}"
v6: "{{ viper_env_ip_v6 | default('') }}"
port:
http: "{{ viper_env_port_http | default('') }}"
https: "{{ viper_env_port_https | default('') }}"
open_ports: "{{ viper_env_open_ports | default([]) }}"
limited_account:
name: "{{ viper_env_user_name | default('viper') }}"
password: ""
home: "{{ viper_env_user_home | default('/home/viper') }}"
default_locale: en_GB.UTF-8
locales:
- da_DK.UTF-8
- de_DE.UTF-8
- en_GB.UTF-8
- en_US.UTF-8
- fr_FR.UTF-8
- nl_NL.UTF-8

File renamed without changes.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit bebc4b2

Please sign in to comment.