Age | Commit message (Collapse) | Author |
|
* genenetwork-development.scm (build-xapian-index-gexp): Provide MySQL
URI to the xapian indexing script.
|
|
We ought to share the mysqld socket directory into the container, not
the socket itself. If we only shared the socket, when the mysql server
is restarted and a new socket is created, the bind mounting into the
container would break and the container would need to be restarted.
* genenetwork-development-deploy.sh: Share /var/run/mysqld, not
/var/run/mysqld/mysqld.sock.
* genenetwork-development.scm (genenetwork-shepherd-services): Share
/run/mysqld, not /run/mysqld/mysqld.sock.
|
|
|
|
*
genenetwork-development.scm (<genenetwork-configuration>)[data-directory]:
New field.
(genenetwork3-cd-gexp): Set DATA_DIR in settings file.
(genenetwork-shepherd-services): Map data directory into container.
(operating-system)[services]: Set data-directory of genenetwork
service to /export/data/genenetwork.
* genenetwork-development-deploy.sh: Expose entire data directory
/export/data/genenetwork instead of the contained genotype files
directory.
|
|
* genenetwork-development.scm (%xapian-directory): Move from
/export/data/genenetwork/xapian to /export/data/genenetwork-xapian.
* genenetwork-development-deploy.sh (container_script): Share
/export/data/genenetwork-xapian instead of
/export/data/genenetwork/xapian.
|
|
* genenetwork-development.scm (build-xapian-index-gexp): Clean up
xapian build directory if previous build failed to.
|
|
This 502 error page is more informative than a generic "Bad Gateway"
error message. It tells the user that the CD is down but not the
entire container itself.
* genenetwork-development.scm: Import guile-lib from (gnu packages
guile-xyz).
(%ci-domain): New variable.
(cd-error-pages-gexp): New function.
(development-server-reverse-proxy-server-block):
Use (cd-error-pages-gexp) to construct error pages.
(laminar-reverse-proxy-server-block): Use %ci-domain.
|
|
We don't want the Guix garbage collector accidentally clearing away
store items required by the container. So, register them as garbage
collector roots.
* genenetwork-development-deploy.sh, production-deploy.sh,
public-sparql-deploy.sh, virtuoso-deploy.sh: Register containers as
garbage collector roots.
|
|
* genenetwork-development.scm: Import (gnu services mcron).
(%xapian-directory): New variable.
(build-xapian-index-gexp): New function.
(genenetwork-projects): Add genenetwork3-build-xapian-index CI job to
genenetwork3 project.
(operating-system)[sudoers-file]: Allow laminar user to start and stop
genenetwork3.
[services]: Add mcron service to trigger nightly xapian build. Use
%xapian-directory instead of its literal value. chown
%xapian-directory to the laminar user.
|
|
* genenetwork-development.scm (genenetwork-projects): Separate out
"/run/setuid-programs/sudo" into ...
(sudo): ... new variable.
|
|
* genenetwork-development.scm: use pytest rather than unittest to run
the tests.
|
|
We prefer /export2 to house really large data.
* genenetwork-development-deploy.sh, production-deploy.sh,
public-sparql-deploy.sh, virtuoso-deploy.sh: Move guix container state
to /export2.
|
|
*
genenetwork-development.scm (<genenetwork-configuration>)[sparql-endpoint]:
New field.
(genenetwork3-cd-gexp): Set SPARQL_ENDPOINT in gn3.conf.
(%virtuoso-sparql-port): New variable.
(operating-system)[services]: Configure sparql-endpoint of genenetwork
service.
|
|
* public-sparql-deploy.sh, public-sparql.scm: New files.
|
|
In the interest of good organization, we keep all CD ports at
90*. Production and other services can use ports outside this range.
* genenetwork-development.scm (operating-system)[services]: Move
virtuoso ports from 8891, 8892 to 9081, 9082.
|
|
* genenetwork-development.scm (dump-genenetwork-database): Import
GeneRIF by calling the unified dump script.
|
|
* genenetwork-development.scm (dump-genenetwork-database): Find
GeneRIF data in root of export directory.
|
|
* genenetwork-development.scm (dump-genenetwork-database): Use
guile-zlib.
|
|
* genenetwork-development.scm (genenetwork2-tests): Ungexp
gn2-repository and gn3-repository correctly.
|
|
* genenetwork-development.scm (genenetwork-projects): Import (guix
build utils) in after scripts of CI jobs.
|
|
* genenetwork-development.scm (dump-genenetwork-database): Import
GeneRIF into RDF.
|
|
We unite the genenetwork2 and genenetwork3 development servers into
a single Guix service. This unifies many of the configuration
settings and simplifies the configuration. Changes to the genenetwork3
repository also immediately reflect in the genenetwork2 continuous
deployment without guix-bioinformatics having to be updated.
* genenetwork-development.scm (<development-server-configuration>):
Delete type.
(<genenetwork-configuration>): New type.
(development-server-redeploy, development-server-activation,
genenetwork2-project, genenetwork2-shepherd-service,
genenetwork3-project, genenetwork3-shepherd-service): Delete
functions.
(genenetwork2-tests): Accept <genenetwork-configuration> object
instead of <forge-project> object.
(%genotype-files, %xapian-db-path,
%default-genenetwork2-configuration, genenetwork2-service-type,
%default-genenetwork3-configuration, genenetwork3-service-type):
Delete variables.
(genenetwork-projects, genenetwork2-cd-gexp, genenetwork3-cd-gexp,
genenetwork-shepherd-services): New functions.
(operating-system)[services]: Replace genenetwork2 and genenetwork3
services with the unified genenetwork service.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp,
genenetwork3-runner-gexp): Delete functions.
|
|
* genenetwork-development.scm (genenetwork2-shepherd-service): Do not
expose xapian index.
(genenetwork3-shepherd-service): Expose xapian index.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp): Do
not accept xapian index argument.
(genenetwork3-runner-gexp): Accept config file argument.
|
|
* README.org (Virtuoso container for tux01 production): Remove
user management commands.
(Secure virtuoso authentication): New section.
|
|
*
genenetwork-development.scm (dump-genenetwork-database-project)[repository]:
Use GitHub URI.
|
|
This was a typo.
* genenetwork-development.scm (genenetwork3-project)[ci-jobs]: Trigger
genenetwork2 using laminar, not shepherd.
|
|
* genenetwork-development.scm: Import (forge socket).
(operating-system)[services]: Use <forge-ip-socket> object to specify
webhook port.
|
|
* genenetwork-development.scm: Import (gnu build
linux-container), (gnu system file-systems) and (guix
least-authority).
(genenetwork2-shepherd-service, genenetwork3-shepherd-service):
Deprecate make-forkexec-constructor/container in favor of
least-authority-wrapper.
|
|
Since genenetwork2 depends on genenetwork3, updates to genenetwork3
should trigger the genenetwork2 tests.
* genenetwork-development.scm (genenetwork3-project): Trigger
genenetwork2 tests after genenetwork3 tests.
|
|
* genenetwork-development.scm (genenetwork2-project): Comment about
triggering of Mechanical Rob after genenetwork2 tests.
|
|
* genenetwork-development.scm (genenetwork2-shepherd-service): Convert
port number to string on the host, not on the build side.
|
|
So far, whenever genenetwork2 code needed the latest updates from
genenetwork3, the guix-bioinformatics channel had to be updated and
the development container had to be rebuilt. No more. From now on, the
latest genenetwork3 code will be pulled in at all times. The
development container need only be rebuilt when the dependencies of
genenetwork2 or genenetwork3 change. We may revisit this decision once
genenetwork2 and genenetwork3 are better decoupled and we have
semantically versioned releases.
* genenetwork-development.scm (genenetwork2-tests): Pull in latest
genenetwork3 when running genenetwork2 tests.
|
|
* virtuoso.scm, virtuoso-deploy.sh: New files.
* README.org (Virtuoso container for tux01 production): New section.
|
|
* genenetwork/development-helper.scm (genenetwork2-runner-gexp): Set
RUST_BACKTRACE environment variable.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
* genenetwork-development-deploy.sh (container_script): Expose root of
data directory instead of its sub-directories.
|
|
* genenetwork/development-helper.scm (genenetwork2-runner-gexp): Run
genenetwork2 CD on gunicorn.
|
|
* genenetwork-development.scm (%xapian-db-path): New variable.
(genenetwork2-shepherd-service)[start]: Share %xapian-db-path with the
container.
(%default-genenetwork2-configuration)[runner]: Pass %xapian-db-path to
CD runner.
* genenetwork/development-helper.scm (genenetwork2-runner-gexp):
Accept xapian-db-path argument and set XAPIAN_DB_PATH environment
variable.
* genenetwork-development-deploy.sh: Expose
/export/data/genenetwork/xapian in the container.
|
|
* genenetwork-development.scm (genenetwork2-project)[ci-jobs]: Use
pytest instead of unittest.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
|
|
The upstream laminar package now uses git-fetch instead of
url-fetch. Hence, we must adapt our laminar template G-expression.
* genenetwork-development.scm (laminar-template-gexp): Copy
/src/resources/index.html from git source instead of extracting it
from a tarball.
|
|
* genenetwork-development.scm (laminar-template-gexp): Link to
continuous deployment from the navigation menu.
|
|
* genenetwork/development-helper.scm (genenetwork2-runner-gexp): Set
GN_SERVER_URL to /api3.
|
|
* genenetwork-development.scm (%genenetwork2-port): New variable.
(genenetwork2-project): Use %genenetwork2-port.
(development-server-reverse-proxy-server-block): New function.
(operating-system)[services]: Use %genenetwork2-port. Add reverse
proxy block for cd.genenetwork.org.
|
|
* genenetwork-development.scm (genenetwork2-tests): Use
%genenetwork3-port.
|
|
* genenetwork-development.scm (%webhook-port): New variable.
(laminar-server-reverse-proxy-server-block): Expose webhook under
/hooks/.
(operating-system)[services]: Use %webhook-port.
|
|
* genenetwork-development.scm (laminar-reverse-proxy-server-block):
Set host name of the laminar nginx server.
|
|
The guix channel is a dependency of the gn-bioinformatics
channel. Therefore, it is always implicitly present.
* genenetwork-development.scm (operating-system)[services]: Do not
list guix channel in CI published channels.scm.
|
|
/srv/http is no longer. It was used earlier for the gn-gemtext-threads
website.
* genenetwork-development-deploy.sh: Do not share /srv/http into
container.
|
|
The gn-gemtext-threads forge project does not need a website
directory. Its website is completely managed by the tissue service.
*
genenetwork-development.scm (gn-gemtext-threads-project)[website-directory]:
Remove.
|
|
* production.scm: Import (gnu services databases).
(operating-system)[services]: Add mysql-service-type.
* production-deploy.sh: Share mysql directory with container.
|
|
The production container need interact with the outside world only
through a single Unix socket file on which the GeneNetwork web server
listens. Hide all other interfaces to it.
* production-deploy.sh (container_script): Remove --network flag.
|