Age | Commit message (Expand) | Author |
2023-05-31 | Use an absolute GN_SERVER_URL....A relative GN_SERVER_URL sometimes leads to issues when code (in
libraries e.g. requests and the like) cannot expand the URI since it
does not have context about the running server.
* genenetwork-development.scm (genenetwork2-cd-gexp): Use an absolute
GN_SERVER_URL.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Frederick Muriuki Muriithi |
2023-05-31 | Add trailing slash to GN_SERVER_URL....Without the trailing slash, the urllib.parse.urljoin function produces
the wrong endpoint.
* genenetwork-development.scm (genenetwork2-cd-gexp): Add trailing
slash to GN_SERVER_URL.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Frederick Muriuki Muriithi |
2023-05-05 | Run migrations after tests and before restarting genenetwork3....Add a CI job that applies the auth database migrations. This job is
run after the genenetwork3 tests have passed but before genenetwork3
is restarted.
* genenetwork-development-deploy.sh: Share
/export/data/genenetwork-sqlite.
* genenetwork-development.scm: Import yoyo-migrations from (gnu
packages databases).
(<genenetwork-configuration>)[auth-db-path]: New field.
(genenetwork3-auth-migrations-genenetwork,
genenetwork3-auth-migrations-laminar, genenetwork-activation): New
functions.
(genenetwork-projects): Add genenetwork3-auth-migrations CI
job. Trigger this job after genenetwork3 tests.
(genenetwork3-cd-gexp): Configure AUTH_DB_PATH in gn3.conf.
(genenetwork-service-type): Extend activation-service-type with
genenetwork-activation.
(operating-system)[sudoers-file]: Permit the laminar user to run auth
database migrations as the genenetwork user.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Frederick Muriuki Muriithi |
2023-04-12 | Run tissue on an IP socket....tissue fails to clean up its Unix socket when deployed with
shepherd. So, when tissue crashes, it fails to restart. Until this
issue is resolved, run tissue on an IP socket.
* genenetwork-development.scm (%tissue-port): New variable.
(tissue-reverse-proxy-server-block): Forward tissue requests to IP
socket.
(operating-system)[services]: Run tissue on an IP socket.
| Arun Isaac |
2023-04-12 | Disable libgit2 repository ownership validation....* genenetwork-development.scm: Import guile-git from (gnu packages
guile), libgit2-1.3 from (gnu packages version-control), and (guix
utils). Prefix tissue import from (gnu packages web) with guix:.
(libgit2-1.3, guile-git-for-tissue, tissue): New variables.
(operating-system)[services]: Use local variant of tissue package.
| Arun Isaac |
2023-04-11 | Use tissue package from Guix upstream....The tissue package is now in Guix upstream and longer in the
guix-forge channel.
* genenetwork-development.scm: Import tissue from (gnu packages web).
| Arun Isaac |
2023-04-11 | Provide MySQL URI to the xapian indexing script....* genenetwork-development.scm (build-xapian-index-gexp): Provide MySQL
URI to the xapian indexing script.
| Frederick Muriuki Muriithi |
2023-02-09 | Share the mysqld socket directory into the container....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.
| Arun Isaac |
2023-01-18 | Add data directory to genenetwork configuration....*
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.
| Arun Isaac |
2023-01-18 | Move xapian 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.
| Arun Isaac |
2023-01-08 | Clean up xapian build directory if previous build failed to....* genenetwork-development.scm (build-xapian-index-gexp): Clean up
xapian build directory if previous build failed to.
| Arun Isaac |
2023-01-05 | Create custom 502 error page for CD....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.
| Arun Isaac |
2022-12-22 | Build and install xapian index nightly....* 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.
| Arun Isaac |
2022-12-22 | Separate out sudo into a variable....* genenetwork-development.scm (genenetwork-projects): Separate out
"/run/setuid-programs/sudo" into ...
(sudo): ... new variable.
| Arun Isaac |
2022-12-22 | gn3: tests: Update the tests invocation...* genenetwork-development.scm: use pytest rather than unittest to run
the tests.
| Frederick Muriuki Muriithi |
2022-11-10 | Configure SPARQL endpoint of genenetwork3 server....*
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.
| Arun Isaac |
2022-11-07 | Move CD virtuoso ports to 90*....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.
| Arun Isaac |
2022-11-04 | Import GeneRIF by calling the unified dump script....* genenetwork-development.scm (dump-genenetwork-database): Import
GeneRIF by calling the unified dump script.
| Arun Isaac |
2022-10-31 | Find GeneRIF data in root of export directory....* genenetwork-development.scm (dump-genenetwork-database): Find
GeneRIF data in root of export directory.
| Arun Isaac |
2022-10-31 | Use guile-zlib in dump-genenetwork-database CI job....* genenetwork-development.scm (dump-genenetwork-database): Use
guile-zlib.
| Arun Isaac |
2022-10-31 | Ungexp gn2 and gn3 repositories correctly....* genenetwork-development.scm (genenetwork2-tests): Ungexp
gn2-repository and gn3-repository correctly.
| Arun Isaac |
2022-10-31 | Import (guix build utils) in after scripts of CI jobs....* genenetwork-development.scm (genenetwork-projects): Import (guix
build utils) in after scripts of CI jobs.
| Arun Isaac |
2022-10-30 | Import GeneRIF into RDF....* genenetwork-development.scm (dump-genenetwork-database): Import
GeneRIF into RDF.
| Arun Isaac |
2022-10-30 | Unite genenetwork2 and genenetwork3 development servers....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.
| Arun Isaac |
2022-10-28 | Expose xapian index to genenetwork3 instead of genenetwork2....* 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.
| Arun Isaac |
2022-10-20 | Use GitHub URI for dump-genenetwork-database repo....*
genenetwork-development.scm (dump-genenetwork-database-project)[repository]:
Use GitHub URI.
| Arun Isaac |
2022-10-18 | Trigger genenetwork2 using laminar, not shepherd....This was a typo.
* genenetwork-development.scm (genenetwork3-project)[ci-jobs]: Trigger
genenetwork2 using laminar, not shepherd.
| Arun Isaac |
2022-10-17 | Use <forge-ip-socket> object to specify webhook port....* genenetwork-development.scm: Import (forge socket).
(operating-system)[services]: Use <forge-ip-socket> object to specify
webhook port.
| Arun Isaac |
2022-10-17 | Use least-authority-wrapper....* 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.
| Arun Isaac |
2022-10-14 | Trigger genenetwork2 tests after genenetwork3 tests....Since genenetwork2 depends on genenetwork3, updates to genenetwork3
should trigger the genenetwork2 tests.
* genenetwork-development.scm (genenetwork3-project): Trigger
genenetwork2 tests after genenetwork3 tests.
| Arun Isaac |
2022-10-14 | Comment about triggering of Mechanical Rob....* genenetwork-development.scm (genenetwork2-project): Comment about
triggering of Mechanical Rob after genenetwork2 tests.
| Arun Isaac |
2022-10-14 | Convert port number to string on host....* genenetwork-development.scm (genenetwork2-shepherd-service): Convert
port number to string on the host, not on the build side.
| Arun Isaac |
2022-10-14 | Pull in latest genenetwork3 when running genenetwork2 tests....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.
| Arun Isaac |
2022-09-26 | Set up xapian search index for genenetwork2 CD....* 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.
| Arun Isaac |
2022-09-21 | Use pytest, rather than unittest, to run tests....* genenetwork-development.scm (genenetwork2-project)[ci-jobs]: Use
pytest instead of unittest.
Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
| Frederick Muriuki Muriithi |
2022-09-15 | Copy laminar HTML template from git source....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.
| Arun Isaac |
2022-09-15 | Link to CD from the navigation menu....* genenetwork-development.scm (laminar-template-gexp): Link to
continuous deployment from the navigation menu.
| Arun Isaac |
2022-09-08 | Expose continuously deployed genenetwork at cd.genenetwork.org....* 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.
| Arun Isaac |
2022-09-08 | Use %genenetwork3-port in genenetwork2 tests....* genenetwork-development.scm (genenetwork2-tests): Use
%genenetwork3-port.
| Arun Isaac |
2022-09-06 | Expose webhook at ci.genenetwork.org....* genenetwork-development.scm (%webhook-port): New variable.
(laminar-server-reverse-proxy-server-block): Expose webhook under
/hooks/.
(operating-system)[services]: Use %webhook-port.
| Arun Isaac |
2022-09-05 | Set host name of the laminar nginx server....* genenetwork-development.scm (laminar-reverse-proxy-server-block):
Set host name of the laminar nginx server.
| Arun Isaac |
2022-09-05 | Do not list guix channel in CI published channels.scm....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.
| Arun Isaac |
2022-09-05 | Remove website directory of gn-gemtext-threads forge project....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.
| Arun Isaac |
2022-08-25 | Run genenetwork services as genenetwork user and group....* genenetwork-development.scm (%genenetwork-accounts): New variable.
(genenetwork2-shepherd-service, genenetwork3-shepherd-service): Run as
genenetwork user and group.
(genenetwork2-service-type, genenetwork3-service-type): Create
genenetwork user and group.
| Arun Isaac |
2022-08-25 | Credit Frederick for 5cd33ed762f6fe1301f6e5bb615eb9101012af23....* genenetwork-development.scm: Add copyright line for Frederick
Muriuki Muriithi.
| Arun Isaac |
2022-08-23 | Expose CD logs to host....* genenetwork-development.scm (genenetwork2-shepherd-service,
genenetwork3-shepherd-service): Move log files into /var/log/cd.
* genenetwork-development-deploy.sh: Share /var/log/cd with host.
| Arun Isaac |
2022-08-16 | Add trailing slash to GN_PROXY_URL....The urljoin function reduces a URL without a trailing slash to just
the base, e.g. "http://genenetwork.org/gn3-proxy" is reduced to
"http://genenetwork.org", which is not what we want.
* genenetwork-development.scm (genenetwork2-tests): Add trailing slash
to GN_PROXY_URL.
| Arun Isaac |
2022-07-08 | Map mysqld socket into the genenetwork3 container....* genenetwork-development.scm (genenetwork3-shepherd-service): Map
mysqld socket into the container.
| Arun Isaac |
2022-07-08 | Support tissue URIs without the html extension....* genenetwork-development.scm (tissue-reverse-proxy-server-block):
Support URIs without the html extension.
| Arun Isaac |
2022-07-06 | Switch to tissue service from guix-forge....* genenetwork-development-deploy.sh: Share tissue state directory with
container.
* genenetwork-development.scm: Do not import tissue from (gn packages
gemini). Import (forge tissue).
(<tissue-configuration>, <tissue-host>): Delete types.
(%tissue-accounts, tissue-service-type): Delete variables.
(gn-gemtext-threads-website, gn-gemtext-threads-index,
tissue-conf-gexp, tissue-shepherd-service): Delete functions.
(gn-gemtext-threads-project)[ci-jobs]: Use tissue pull in
gn-gemtext-threads job.
(tissue-reverse-proxy-server-block): Use default tissue state
directory and unix socket paths. Do not accept them as arguments.
(operating-system)[services]: Use new tissue-service-type
parameters. Update invocation of tissue-reverse-proxy-server-block.
* genenetwork/development-helper.scm (tissue-website-gexp,
tissue-index-gexp): Delete functions.
| Arun Isaac |