summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-09doc: Remove trailing period at end of phrase.Arun Isaac
* doc/forge.skb (Reference)[gunicorn-app]: Remove trailing period at the end of mappings documentation phrase.
2023-08-09gunicorn: Support <forge-host-socket> sockets.Arun Isaac
* guix/forge/gunicorn.scm (socket->gunicorn-bind): Support <forge-host-socket> sockets. * doc/forge.skb (Reference): Document it.
2023-08-09doc: Set identifier on item markup in record documentation.Arun Isaac
* doc/skribilo.scm (record-documentation): Set identifier on item markup instead of using a separate mark.
2023-08-09cgit: Add cgit service.Arun Isaac
* guix/forge/cgit.scm: New file. * doc/forge.skb (Services)[Git web viewers]: New section.
2023-08-09fcgiwrap: Add fcgiwrap service.Arun Isaac
* guix/forge/fcgiwrap.scm: New file. * doc/forge.skb (Services)[Specialized application deployment services]: New section.
2023-08-09nginx: Add forge-nginx service.Arun Isaac
* guix/forge/nginx.scm, doc/snippets/acme-restart-nginx-sudoers.scm: New files. * doc/forge.skb (Services)[forge nginx service]: Document the forge-nginx service.
2023-08-09tissue.scm: Index Services chapter.Arun Isaac
* tissue.scm (#:indexed-documents): Index chapter-services document fragment.
2023-08-09doc: Space elements of S-expression in quoted-write.Arun Isaac
Prior to this, an expression such as (list 1 2 3) would be printed as (list 123). * doc/skribilo.scm (quoted-write): Add space between elements of S-expression.
2023-08-09acme: Add ACME service.Arun Isaac
* guix/forge/acme.scm: Import shadow from (gnu packages admin), nss-certs from (gnu packages certs), (gnu services), (gnu services mcron), (gnu system shadow), (guix diagnostics), (guix i18n), (guix profiles), (guix records), (srfi srfi-1) and (ice-9 match). (%letsencrypt-production-url, %letsencrypt-staging-url): New variables. (<acme-configuration>, <acme-rsa-key>, <acme-ecdsa-key>, <acme-certificate>): New record types. (acme-http-01-webroot-authorization-hook, acme-http-01-webroot-cleanup-hook): New public functions. (acme-key-length, uacme-hook, acme-activation, acme-renew, acme-helper, acme-helper-sudo-wrapper, acme-special-files, acme-cron-job, raise-to-top): New functions. (%acme-accounts, acme-service-type): New variables. * doc/forge.skb (Services)[ACME service]: New section.
2023-08-09acme: Add uacme.Arun Isaac
* guix/forge/acme.scm: New file.
2023-08-09doc: Add record-ref convenience function.Arun Isaac
* doc/skribilo.scm (record-ref): New public function. * doc/forge.skb: Use record-ref.
2023-08-09doc: Override description markup writer.Arun Isaac
* doc/skribilo.scm: Import (skribilo output). (node->html-tag): New function. (html-engine): Override the description markup writer.
2023-08-09doc: Re-indent abbr markup writer.Arun Isaac
* doc/skribilo.scm (html-engine): Re-indent.
2023-08-08socket: Introduce <forge-host-socket>.Arun Isaac
* guix/forge/socket.scm (<forge-host-socket>): New record type. * doc/forge.skb (Reference): Document <forge-host-socket>.
2023-07-28gunicorn: Squeeze adjacent strings together.Arun Isaac
* guix/forge/gunicorn.scm (socket->gunicorn-bind): Squeeze adjacent strings "]" and ":" into one.
2023-07-28gunicorn: Mention app name in shepherd service documentation.Arun Isaac
* guix/forge/gunicorn.scm (gunicorn-shepherd-services): Mention app name in documentation field.
2023-07-27klaus: Mirror default socket used by gunicorn service.Arun Isaac
* guix/forge/klaus.scm (klaus-gunicorn-app): Change default socket to /var/run/gunicorn/klaus/socket.
2023-07-27gunicorn: Set default socket to Unix socket.Arun Isaac
* guix/forge/gunicorn.scm (<gunicorn-app>): Add this-gunicorn-app self-reference. [sockets]: Make field thunked. Set default to Unix socket.
2023-07-26klaus: Serve klaus on a Unix socket by default.Arun Isaac
* guix/forge/klaus.scm: Import (forge socket). (klaus-gunicorn-app): Make sockets a keyword argument with a singleton list of Unix sockets as the default.
2023-07-25klaus: Add helper function to create klaus gunicorn app.Arun Isaac
* guix/forge/klaus.scm: Import (forge gunicorn) and (gnu system file-systems). (klaus-gunicorn-app): New public function. * doc/forge.skb (Introduction): Advertise klaus support. (Reference): Document klaus-gunicorn-app.
2023-07-25doc: Add docstring-function-documentation.Arun Isaac
docstring-function-documentation lets us generate function documentation from the docstrings of functions. * doc/skribilo.scm: Import (texinfo). (<function>): New record type. (find-function-definition, stexi->skribe): New functions. (docstring-function-documentation): New public function.
2023-07-25doc: Add quoted-write.Arun Isaac
* doc/skribilo.scm (quoted-write): New function. (expression->string): Rewrite in terms of quoted-write.
2023-07-25gunicorn: Add gunicorn service.Arun Isaac
* guix/forge/gunicorn.scm: New file. * doc/forge.skb (Reference): Document <gunicorn-configuration> and <gunicorn-app>.
2023-07-25klaus: Add python-klaus.Arun Isaac
* guix/forge/klaus.scm: Import python-pytest from (gnu packages check); python-flask and python-werkzeug from (gnu packages python-web); python-dulwich, python-humanize and python-pygments from (gnu packages python-xyz). (python-klaus): New variable.
2023-07-25klaus: Add git-without-safe-directory-check.Arun Isaac
* guix/forge/klaus.scm: Import git-minimal from (gnu packages version-control), (guix gexp) and (guix utils). (git-without-safe-directory-check): New variable.
2023-07-22klaus: Add python-httpauth.Arun Isaac
* guix/forge/klaus.scm: New file.
2023-07-08forge: Show verbose build logs in guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm (guix-channel-job-gexp): Add #:verbose? argument.
2023-07-05forge: Set TLS certificate paths in guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm: Import (guix profiles). (guix-channel-job-gexp): Set TLS certificate paths.
2023-07-05Do not refer to (forge web).Arun Isaac
This reference was accidentally committed in the previous commit. * guix/forge/forge.scm: Do not import (forge web).
2023-07-05forge: Introduce guix-channel-job-gexp.Arun Isaac
* guix/forge/forge.scm: Import guile-bytestructures from (gnu packages guile), guix from (gnu packages package-management), (guix channels), guile-git from (forge guile-git), (forge tissue) and (forge web). (guix-channel-job-gexp): New public function.
2023-07-05tissue: Use latest tissue with a patched libgit2.Arun Isaac
* guix/forge/guile-git.scm: New file. * guix/forge/tissue.scm: Import guile-git from (forge guile-git), (guix git-download) and (guix packages). Import tissue with a guix: prefix. (tissue): New public variable.
2023-07-04webhook: Export webhook package.Arun Isaac
* guix/forge/webhook.scm (webhook): Make public.
2023-05-30tissue.scm: Add current directory to load path.Arun Isaac
* tissue.scm: Add current directory to load path.
2023-03-18tissue: Use upstream Guix tissue package.Arun Isaac
* guix/forge/tissue.scm: Do not import (gnu packages autotools), (gnu packages compression), (gnu packages gettext), (gnu packages guile), (gnu packages guile-xyz), (gnu packages skribilo), (guix build-system gnu), (guix download), (guix git-download), (guix licenses) and (guix packages). (skribilo-latest, guile-xapian-latest, tissue): Delete variables.
2023-03-09doc: Explain with-imported-modules and use-modules.Arun Isaac
* doc/forge.skb (Tutorial): Explain why both with-imported-modules and use-modules are necessary.
2023-02-04tissue.scm: Use tissue.Arun Isaac
We start using tissue as our issue tracker and for building our website. * tissue.scm: New file. * .gitignore: Add .tissue. Remove doc/*.go, doc/*.html, website/fonts, website/index.html and website/manual. * Makefile, build-aux/build-home-page.el: Delete files. * manifest.scm: Import (forge tissue). Do not import (gnu packages guile). (manifest): Add tissue. Remove guile-3.0 and skribilo.
2023-02-04website: Use skribilo for home page.Arun Isaac
* website/index.skb: New file.
2023-02-03doc: Identify chapters.Arun Isaac
* doc/forge.skb: Identify each chapter with a unique identifier.
2023-01-31tissue: Conditionally embed socket directory creation G-expression.Arun Isaac
Prior to this, when an IP socket was used, we would be running forge-unix-socket-path on it and thus erroring out. * guix/forge/tissue.scm (tissue-activation): Do not embed the socket directory creation G-expression unless the socket is a Unix socket.
2023-01-30socket: Replace string-contains? with string-contains.Arun Isaac
There is no string-contains? function. Ironically string-contains? is indeed the better name since it is a predicate. * guix/forge/socket.scm (ipv4-address?, ipv6-address?): Replace string-contains? with string-contains.
2023-01-27tissue: Update to 0.1.0.Arun Isaac
* guix/forge/tissue.scm: Import lzip from (gnu packages compression). Import (guix download). (tissue): Update to 0.1.0. [source]: Use url-fetch. [native-inputs]: Add lzip.
2023-01-20tissue: Use latest guile-xapian commit.Arun Isaac
* guix/forge/tissue.scm (guile-xapian-latest): New variable. (tissue)[inputs]: Replace guile-xapian-latest with guile-xapian.
2022-12-20forge: Refactor extension functions into named functions.Arun Isaac
* guix/forge/forge.scm (forge-service-type): Refactor lambda functions into ... (forge-ci-jobs, forge-ci-job-groups, forge-ci-jobs-and-groups, forge-cron-jobs, forge-webhooks): ... new functions.
2022-10-17webhook: Replace lambda function with define function.Arun Isaac
* guix/forge/webhook.scm (webhook-shepherd-service): Replace lambda function with define function.
2022-10-17webhook: Run as webhook user and group.Arun Isaac
* guix/forge/webhook.scm (%webhook-accounts): New variable. (webhook-activation): chown log directory to webhook user and group. (webhook-shepherd-service): Run as webhook user and group. (webhook-service-type): Extend account-service-type.
2022-10-17webhook: Use least-authority-wrapper.Arun Isaac
* guix/forge/webhook.scm: Import (gnu build linux-container), (gnu system file-systems) and (guix least-authority). (webhook-shepherd-service): Deprecate make-forkexec-constructor/container in favor of least-authority-wrapper.
2022-10-17webhook: Use <forge-*-socket> to configure socket.Arun Isaac
* doc/forge.skb (Reference)[<webhook-configuration>]: Replace ip and port fields with the socket field. * guix/forge/webhook.scm: Import (forge socket). (<webhook-configuration>): Replace ip and port fields with the socket field. (webhook-shepherd-service): Reference the socket field instead of the ip and port fields.
2022-10-17tissue: Use least-authority-wrapper.Arun Isaac
* guix/forge/tissue.scm: Import (gnu build linux-container), (gnu system file-systems) and (guix least-authority). (tissue-shepherd-service): Deprecate make-forkexec-constructor/container in favor of least-authority-wrapper.
2022-09-15Revert "tissue: Set ownership of state directory recursively."Arun Isaac
This reverts commit f6beefdeacb8f1e67844142d73fc3e2de38db254. The ownership of the state directory is set on a per-host basis. The state directory is not owned completely by the tissue user.
2022-09-15tissue: Set ownership of state directory recursively.Arun Isaac
* guix/forge/tissue.scm (tissue-activation): Set ownership of state directory recursively.