Remove embed package
This commit finally removes the embed package in favor of more specific resource packages
This commit is contained in:
parent
91a088a56a
commit
86a4334796
51 changed files with 220 additions and 191 deletions
15
core/bootstrap.go
Normal file
15
core/bootstrap.go
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
package core
|
||||
|
||||
import _ "embed"
|
||||
|
||||
// DefaultOverridesJSON contains a template for a new 'overrides.json' file
|
||||
//go:embed bootstrap/overrides.json
|
||||
var DefaultOverridesJSON []byte
|
||||
|
||||
// DefaultAuthorizedKeys contains a template for a new 'global_authorized_keys' file
|
||||
//go:embed bootstrap/global_authorized_keys
|
||||
var DefaultAuthorizedKeys []byte
|
||||
|
||||
// ConfigFileTemplate contains a template for a new configuration file
|
||||
//go:embed bootstrap/env
|
||||
var ConfigFileTemplate []byte
|
||||
63
core/bootstrap/env
Normal file
63
core/bootstrap/env
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
# Several docker-compose files are created to manage global services and the system itself.
|
||||
# On top of this all real-system space will be created under this directory.
|
||||
DEPLOY_ROOT=${DEPLOY_ROOT}
|
||||
|
||||
# Each created Drupal Instance corresponds to a single domain name.
|
||||
# These domain names should either be a complete domain name or a sub-domain of a default domain.
|
||||
# This setting configures the default domain-name to create subdomains of.
|
||||
DEFAULT_DOMAIN=${DEFAULT_DOMAIN}
|
||||
|
||||
# By default, the default domain redirects to the distillery repository.
|
||||
# If you want to change this, set an alternate domain name here.
|
||||
SELF_REDIRECT=
|
||||
|
||||
# By default, only the 'self' domain above is caught.
|
||||
# To catch additional domains, add them here (comma seperated)
|
||||
SELF_EXTRA_DOMAINS=
|
||||
|
||||
# You can override individual URLS in the homepage.
|
||||
# Do this by adding URLs (without trailing '/'s) into a JSON file
|
||||
SELF_OVERRIDES_FILE=${SELF_OVERRIDES_FILE}
|
||||
|
||||
# The system can support setting up certificate(s) automatically.
|
||||
# It can be enabled by setting an email for certbot certificates.
|
||||
# This email address can be configured here.
|
||||
CERTBOT_EMAIL=
|
||||
|
||||
# The maximum age (in days) for backups to be kept.
|
||||
# Backups older than this will be removed when a new backup is made.
|
||||
MAX_BACKUP_AGE=30
|
||||
|
||||
|
||||
# Each Drupal instance requires a corresponding system user, database users and databases.
|
||||
# These are also set by the appropriate domain name.
|
||||
# To differentiate them from other users of the system, these names can be prefixed.
|
||||
# The prefix to use can be configured here.
|
||||
# When changing these please consider that no system user may exist that has the same name as a mysql user.
|
||||
# This is a MariaDB restriction.
|
||||
MYSQL_USER_PREFIX=mysql-factory-
|
||||
MYSQL_DATABASE_PREFIX=mysql-factory-
|
||||
GRAPHDB_USER_PREFIX=graphdb-factory-
|
||||
GRAPHDB_REPO_PREFIX=graphdb-factory-
|
||||
|
||||
# In addition to the filesystem the WissKI distillery requires a single SQL table.
|
||||
# It uses this database to store a list of installed things
|
||||
DISTILLERY_BOOKKEEPING_DATABASE=distillery
|
||||
DISTILLERY_BOOKKEEPING_TABLE=distillery
|
||||
|
||||
|
||||
# Various components use password-based-authentication.
|
||||
# These passwords are generated automatically.
|
||||
# This variable can be used to determine their length.
|
||||
PASSWORD_LENGTH=64
|
||||
|
||||
# A file to be used for global authorized_keys for the ssh server.
|
||||
GLOBAL_AUTHORIZED_KEYS_FILE=${AUTHORIZED_KEYS_FILE}
|
||||
|
||||
# The admin user and password of the GraphDB interface, to be used for queries
|
||||
GRAPHDB_ADMIN_USER=${GRAPHDB_ADMIN_USER}
|
||||
GRAPHDB_ADMIN_PASSWORD=${GRAPHDB_ADMIN_PASSWORD}
|
||||
|
||||
# The admin password to use for access to mysql
|
||||
MYSQL_ADMIN_USER=${MYSQL_ADMIN_USER}
|
||||
MYSQL_ADMIN_PASSWORD=${MYSQL_ADMIN_PASSWORD}
|
||||
2
core/bootstrap/global_authorized_keys
Normal file
2
core/bootstrap/global_authorized_keys
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
# This file contains authorized_keys files valid for every repository in the distillery
|
||||
# The syntax of this file is easy, one key per line, empty lines or those starting with '#' are ignored
|
||||
1
core/bootstrap/overrides.json
Normal file
1
core/bootstrap/overrides.json
Normal file
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
10
core/runtime.go
Normal file
10
core/runtime.go
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
package core
|
||||
|
||||
import (
|
||||
"embed"
|
||||
_ "embed"
|
||||
)
|
||||
|
||||
// Runtime contains runtime resources to be installed into any instance
|
||||
//go:embed all:runtime
|
||||
var Runtime embed.FS
|
||||
2
core/runtime/README
Normal file
2
core/runtime/README
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
Files in this folder are utility scripts to be used from within individual WissKI instances.
|
||||
They are mounted under runtime/ and should be used with care.
|
||||
16
core/runtime/blind_update.sh
Normal file
16
core/runtime/blind_update.sh
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This utility script can be used to blindly update all dependencies to their latest versions.
|
||||
# It does not perform any checking whatsoever.
|
||||
|
||||
# update the main modules
|
||||
cd /var/www/data/project || exit 1
|
||||
chmod u+rw web/sites/default/
|
||||
composer update
|
||||
|
||||
# update the db
|
||||
drush -y updatedb
|
||||
|
||||
# update the wisski dependencies
|
||||
cd /var/www/data/project/web/modules/contrib/wisski || exit 1
|
||||
composer update
|
||||
25
core/runtime/create_admin.sh
Normal file
25
core/runtime/create_admin.sh
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# read user
|
||||
USER=$1
|
||||
if [ -z "$USER" ]; then
|
||||
echo "Usage: create_admin.sh USERNAME"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# read password
|
||||
echo "Enter Password for $USER:"
|
||||
read -s PASS
|
||||
echo "Enter the same password again:"
|
||||
read -s PASS2
|
||||
|
||||
if [ "$PASS" != "$PASS2" ]; then
|
||||
echo "Passwords not equal"
|
||||
exit 1
|
||||
fi;
|
||||
|
||||
# create the user and add the admin role
|
||||
cd /var/www/data/project/
|
||||
drush user:create "$USER" --password="$PASS"
|
||||
drush user-add-role administrator "$USER"
|
||||
8
core/runtime/cron.sh
Executable file
8
core/runtime/cron.sh
Executable file
|
|
@ -0,0 +1,8 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This utility script can be used to run all cron tasks.
|
||||
|
||||
cd /var/www/data/project || exit 1
|
||||
export PATH=/var/www/data/project/vendor/bin:$PATH
|
||||
|
||||
drush core-cron
|
||||
22
core/runtime/install_colorbox.sh
Normal file
22
core/runtime/install_colorbox.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# make a temporary directory and cd into it
|
||||
TEMPDIR=$(mktemp -d)
|
||||
pushd "$TEMPDIR"
|
||||
|
||||
# curl the colorbox zip and unpack it
|
||||
curl -L https://github.com/jackmoore/colorbox/archive/master.zip --output master.zip
|
||||
unzip master.zip
|
||||
|
||||
# make the directory for libraries, and remove the old colorbox installation
|
||||
chmod u+rw /var/www/data/project/web/sites/default/
|
||||
mkdir -p /var/www/data/project/web/sites/default/libraries/
|
||||
rm -rf /var/www/data/project/web/sites/default/libraries/colorbox
|
||||
|
||||
# copy over the new installation
|
||||
mv colorbox-master/ /var/www/data/project/web/sites/default/libraries/colorbox
|
||||
|
||||
# cleanup
|
||||
popd
|
||||
rm -rf "$TEMPDIR"
|
||||
6
core/runtime/patch_easyrdf.sh
Executable file
6
core/runtime/patch_easyrdf.sh
Executable file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script can be used to repatch EasyRDF when needed.
|
||||
cd /var/www/data/project/web/modules/contrib/wisski || exit 1
|
||||
EASYRDF_RESPONSE="./vendor/easyrdf/easyrdf/lib/EasyRdf/Http/Response.php"
|
||||
patch -N "$EASYRDF_RESPONSE" < "/patch/easyrdf.patch"
|
||||
6
core/runtime/patch_triples.sh
Normal file
6
core/runtime/patch_triples.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
|
||||
# This script can be used to repatch EasyRDF when needed.
|
||||
cd /var/www/data/project/web/modules/contrib/wisski/ || exit 1
|
||||
TRIPLESTABCONTROLLER="./wisski_adapter_sparql11_pb/src/Controller/Sparql11TriplesTabController.php"
|
||||
patch -N "$TRIPLESTABCONTROLLER" < "/patch/triples.patch"
|
||||
22
core/runtime/use_wisski.sh
Normal file
22
core/runtime/use_wisski.sh
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# read user
|
||||
VERSION=$1
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "Usage: use_wisski.sh VERSION"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# update the main modules
|
||||
cd /var/www/data/project
|
||||
chmod u+rw web/sites/default/
|
||||
composer require "drupal/wisski:$VERSION"
|
||||
|
||||
# update the wisski dependencies
|
||||
pushd /var/www/data/project/web/modules/contrib/wisski
|
||||
composer update
|
||||
popd
|
||||
|
||||
# update the db
|
||||
drush -y updatedb
|
||||
26
core/runtime/wisski_2x_3x.sh
Normal file
26
core/runtime/wisski_2x_3x.sh
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# temporarily extend permissions
|
||||
chmod 777 web/sites/default
|
||||
chmod 666 web/sites/default/*settings.php
|
||||
chmod 666 web/sites/default/*services.yml
|
||||
|
||||
# update the core itself
|
||||
composer require 'drupal/core-recommended:^9' 'drupal/core-composer-scaffold:^9' 'drupal/core-project-message:^9' --update-with-dependencies --no-update
|
||||
composer update
|
||||
composer require 'drupal/wisski'
|
||||
|
||||
# update requirements for wisski!
|
||||
pushd web/modules/contrib/wisski || exit 1
|
||||
composer update
|
||||
popd || exit 1
|
||||
|
||||
# run the update and clear the cache!
|
||||
drush updatedb --yes
|
||||
# drush cc
|
||||
|
||||
# and reset everything back to normal
|
||||
chmod 755 web/sites/default
|
||||
chmod 644 web/sites/default/*settings.php
|
||||
chmod 644 web/sites/default/*services.yml
|
||||
Loading…
Add table
Add a link
Reference in a new issue