aboutsummaryrefslogtreecommitdiff
path: root/genenetwork-development.scm
AgeCommit message (Expand)Author
2023-02-09Share 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-18Add 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-18Move 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-08Clean 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-05Create 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-22Build 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-22Separate out sudo into a variable....* genenetwork-development.scm (genenetwork-projects): Separate out "/run/setuid-programs/sudo" into ... (sudo): ... new variable. Arun Isaac
2022-12-22gn3: tests: Update the tests invocation...* genenetwork-development.scm: use pytest rather than unittest to run the tests. Frederick Muriuki Muriithi
2022-11-10Configure 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-07Move 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-04Import 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-31Find 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-31Use guile-zlib in dump-genenetwork-database CI job....* genenetwork-development.scm (dump-genenetwork-database): Use guile-zlib. Arun Isaac
2022-10-31Ungexp gn2 and gn3 repositories correctly....* genenetwork-development.scm (genenetwork2-tests): Ungexp gn2-repository and gn3-repository correctly. Arun Isaac
2022-10-31Import (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-30Import GeneRIF into RDF....* genenetwork-development.scm (dump-genenetwork-database): Import GeneRIF into RDF. Arun Isaac
2022-10-30Unite 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-28Expose 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-20Use GitHub URI for dump-genenetwork-database repo....* genenetwork-development.scm (dump-genenetwork-database-project)[repository]: Use GitHub URI. Arun Isaac
2022-10-18Trigger 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-17Use <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-17Use 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-14Trigger 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-14Comment about triggering of Mechanical Rob....* genenetwork-development.scm (genenetwork2-project): Comment about triggering of Mechanical Rob after genenetwork2 tests. Arun Isaac
2022-10-14Convert 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-14Pull 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-26Set 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-21Use 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-15Copy 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-15Link to CD from the navigation menu....* genenetwork-development.scm (laminar-template-gexp): Link to continuous deployment from the navigation menu. Arun Isaac
2022-09-08Expose 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-08Use %genenetwork3-port in genenetwork2 tests....* genenetwork-development.scm (genenetwork2-tests): Use %genenetwork3-port. Arun Isaac
2022-09-06Expose 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-05Set 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-05Do 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-05Remove 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-25Run 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-25Credit Frederick for 5cd33ed762f6fe1301f6e5bb615eb9101012af23....* genenetwork-development.scm: Add copyright line for Frederick Muriuki Muriithi. Arun Isaac
2022-08-23Expose 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-16Add 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-08Map mysqld socket into the genenetwork3 container....* genenetwork-development.scm (genenetwork3-shepherd-service): Map mysqld socket into the container. Arun Isaac
2022-07-08Support tissue URIs without the html extension....* genenetwork-development.scm (tissue-reverse-proxy-server-block): Support URIs without the html extension. Arun Isaac
2022-07-06Switch 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
2022-07-01Switch to new tissue configuration file....* genenetwork-development.scm (<tissue-configuration>)[address, port, indexed-repository]: Delete fields. [listen, hosts]: New fields. * genenetwork-development.scm (<tissue-host>): New type. (tissue-conf-gexp): New function. (tissue-shepherd-service): Remove --address and --port arguments. Compute and pass tissue.conf configuration file. Create file system mappings for all hosts. (operating-system)[services]: Use new tissue-configuration fields. Arun Isaac
2022-06-29Add tissue search interface....* genenetwork-development.scm: Import shadow from (gnu packages admin). (gn-gemtext-threads-index): New function. (gn-gemtext-threads-project)[ci-jobs]: Add gn-gemtext-threads-index. (<tissue-configuration>): New type. (tissue-shepherd-service, tissue-reverse-proxy-server-block): New function. (%tissue-accounts, tissue-service-type): New variables. (operating-system)[services]: Add tissue tissue service and reverse proxy it. * genenetwork/development-helper.scm (tissue-index-gexp): New function. Arun Isaac
2022-06-29Remove tissue's dependence on the git CLI tool....tissue now uses libgit2 through guile-git and does not use the git CLI tool. * genenetwork-development.scm (gn-gemtext-threads-website): Remove git-minimal from manifest. * genenetwork/development-helper.scm (tissue-website-gexp): Remove reassurance to git. Arun Isaac
2022-06-24Import missing SRFI-26 in dump-genenetwork-database G-exp....This was missed out in 96fb9608242254a1fc53bbd71168db4245458c8f. * genenetwork-development.scm (dump-genenetwork-database): Import (srfi srfi-26). Arun Isaac
2022-06-24Send rapper output to /dev/null instead of using --ignore-errors....The --ignore-errors flag not only avoids printing triples, but also actually ignores errors. What a surprise! ;-) As a result, rapper does not stop invalid turtle files, and they end up erroring out when uploaded to virtuoso. * genenetwork-development.scm (dump-genenetwork-database): Send rapper output to /dev/null instead of using --ignore-errors. Arun Isaac
2022-06-24Set ownership of database dump directories too, not just files....* genenetwork-development.scm (operating-system)[services]: In the set-dump-genenetwork-database-export-directory-permissions service, set ownership of directories in %dump-genenetwork-database-export-directory too, not just the files. Arun Isaac
2022-06-14Disable laminar proxy buffering by passing X-Accel-Buffering....* genenetwork-development.scm (laminar-reverse-proxy-server-block): Disable laminar proxy buffering by passing the X-Accel-Buffering HTTP header through. Arun Isaac