about summary refs log tree commit diff
path: root/doc/forge.skb
AgeCommit message (Collapse)Author
25 hoursforge: Promote website CI job to its own field.Arun Isaac
With the website CI job in its own field, we can reduce boilerplate around installing the built website at the correct path.
37 hoursforge: Move project websites under single forge website directory.Arun Isaac
45 hoursforge: List projects on forge home page.Arun Isaac
45 hoursforge: Serve tissue on separate domain.Arun Isaac
Serve tissue on a separate domain so that the forge can serve its own web interface on the main domain.
2025-03-28forge: Make forge web listing optional.Arun Isaac
* doc/forge.skb: * guix/forge/forge.scm (<forge-configuration>)[web-domain]: Set default to #f. * guix/forge/forge.scm (forge-tissue-host): Rename to forge-tissue-hosts. Return list of <tissue-host> objects. (forge-service-type): Update call to forge-tissue-host. Add default value.
2025-03-28doc: Document tissue service.Arun Isaac
* doc/forge.skb (Services)[tissue service]: New section.
2025-03-28forge: Configure tissue for projects.Arun Isaac
* guix/forge/forge.scm (<forge-project>)[tissue?]: New field. (<forge-configuration>)[web-domain]: New field. (forge-nginx-server-blocks): Do not serve website conventionally if tissue is enabled. (forge-tissue-host): New function. (forge-service-type): Extend tissue-service-type. Do not set up a default value. * doc/forge.skb (Reference)[<forge-configuration>]: Document web-domain. [<forge-project>]: Document tissue?.
2025-03-28forge: Serve project websites.Arun Isaac
* guix/forge/forge.scm: Import (forge nginx) and (gnu services web). (<forge-project>)[web-domain]: New field. (forge-nginx-server-blocks): New function. * guix/forge/forge.scm: Extend forge-nginx-service-type. * doc/forge.skb (Reference)[forge-project]: Document web-domain.
2024-04-11doc: Explicitly identify gunicorn service subsection.Arun Isaac
* doc/forge.skb (Services)[Specialized application deployment services]{gunicorn service}: Add identifier.
2024-04-11gunicorn: Support unstructured extra CLI arguments.Frederick M. Muriithi
The most useful options (e.g. "--workers", "--timeout", "--env") have dedicated slots in the <gunicorn-app> structure. These, however, are not the only options available to pass to gunicorn at startup. This commit allows us to pass in a list of any extra CLI options we want on the CLI. * guix/forge/gunicorn.scm (<gunicorn-app>)[extra-cli-arguments]: New field. (gunicorn-shepherd-services): Use extra-cli-arguments field. * doc/forge.skb (Services)[Specialized application deployment services]{gunicorn service}<gunicorn-app>: Document extra-cli-arguments field. Signed-off-by: Arun Isaac <arunisaac@systemreboot.net>
2024-01-09forge: Limit number of parallel CI job runs.Arun Isaac
* guix/forge/forge.scm (<forge-project>)[parallel-ci-job-runs]: New field. * guix/forge/forge.scm (forge-ci-jobs): Add project context to CI jobs. (forge-ci-job-contexts): New function. (forge-ci-jobs-and-groups): Rename to forge-ci-jobs+contexts+groups. Also return <forge-laminar-context> objects. (forge-service-type): Call forge-ci-jobs+contexts+groups instead of forge-ci-jobs-and-groups. * doc/forge.skb (Reference)[<forge-project>]{parallel-ci-job-runs}: Document it.
2024-01-09laminar: Allow associating contexts to jobs.Arun Isaac
* guix/forge/laminar.scm (<forge-laminar-job>)[contexts]: New field. * guix/forge/laminar.scm (laminar-jobs): Create job configuration file specifying contexts. * doc/forge.skb (Reference)[<forge-laminar-job>]{contexts}: Document it.
2024-01-08gunicorn: Support worker timeout parameter.Arun Isaac
* guix/forge/gunicorn.scm (<gunicorn-app>)[timeout]: New field. * guix/forge/gunicorn.scm (gunicorn-shepherd-services): Pass --timeout parameter. * doc/forge.skb (Reference)[Specialized application deployment services]{gunicorn service}<gunicorn-app>: Document timeout field.
2023-12-22fcgiwrap: Use <environment-variable> records.Arun Isaac
* guix/forge/fcgiwrap.scm: Import (forge environment). (fcgiwrap-shepherd-services): Use <environment-variable> record. * doc/forge.skb (Services)[Specialized application deployment services]{fcgiwrap service}: Document it. * guix/forge/cgit.scm: Import (forge environment). (cgit-fcgiwrap-instance): Use <environment-variable> record.
2023-12-22gunicorn: Use <environment-variable> records.Arun Isaac
* guix/forge/gunicorn.scm: Import (forge environment). (gunicorn-shepherd-services): Use <environment-variable> record. * doc/forge.skb (Services)[Specialized application deployment services]{gunicorn service}: Document it. * guix/forge/klaus.scm: Import (forge environment). (klaus-gunicorn-app): Use <environment-variable> record.
2023-12-22environment: Introduce record type for environment variables.Arun Isaac
* guix/forge/environment.scm: New file. * doc/forge.skb (Reference)[<environment-variable>]: Document it.
2023-10-04doc: Note disregard of description field for remote repositories. v0.1.0Arun Isaac
* doc/forge.skb (Reference)[<forge-project>]{description}: Note that this field is disregarded for remote repositories.
2023-08-15doc: Advertise ACME support.Arun Isaac
* doc/forge.skb (Introduction), website/index.skb: Advertise ACME support.
2023-08-15doc: Advertise support for cgit and klaus.Arun Isaac
* doc/forge.skb (Introduction), website/index.skb: Advertise support for cgit and klaus.
2023-08-15doc: Remind about the ACME state directory in persistent storage.Arun Isaac
* doc/forge.skb (How To)[How to set up cgit]: Remind about putting the ACME state directory in persistent storage.
2023-08-14doc: Mention that cgit runs in a container in how to.Arun Isaac
* doc/forge.skb (How To)[How to set up cgit]: Mention that cgit runs in a container.
2023-08-14doc: Add cgit setup how to.Arun Isaac
* doc/forge.skb (How To): New chapter. * doc/snippets/acme-staging-url.scm, doc/snippets/how-to-set-up-cgit.scm: New files. * tissue.scm (#:indexed-documents): Index chapter-how-to.
2023-08-12doc: Clarify that README files for cgit must be in the default branch.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]{cgit service}: Clarify that README files are looked up in the default branch.
2023-08-12doc: Spell viewer correctly.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]: Spell viewer correctly.
2023-08-12cgit: Render org mode README files.Arun Isaac
* guix/forge/cgit.scm: Import emacs-minimal from (gnu packages emacs). (%cgit-readme): Add README.org. (about-filter-gexp): Render org mode README files. * guix/forge/org2html.el: New file. * doc/forge.skb (Services)[Git web viewers]{cgit service}: Document support for org mode README files.
2023-08-10doc: Move gunicorn service documentation to Services chapter.Arun Isaac
* doc/forge.skb (Reference): Move gunicorn service documentation to ... (Services)[Specialized application deployment services]{gunicorn service}: ... new subsection.
2023-08-10doc: Capitalize HTML.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]{cgit service}: Capitalize HTML.
2023-08-10doc: Distinguish cgit service from upstream cgit service.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]{cgit service}: Distinguish from upstream cgit service.
2023-08-10doc: Mention reStructuredText as a supported README file in cgit.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]{cgit service}: Mention reStructuredText as a supported README file.
2023-08-10doc: Fix spelling cloneable -> clonable.Arun Isaac
* doc/forge.skb (Services)[Git web viewers]{cgit service}: Fix spelling cloneable -> clonable.
2023-08-09doc: List subsections in table of contents.Arun Isaac
* doc/forge.skb: List subsections in table of contents.
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-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-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-09doc: Add record-ref convenience function.Arun Isaac
* doc/skribilo.scm (record-ref): New public function. * doc/forge.skb: Use record-ref.
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-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-25gunicorn: Add gunicorn service.Arun Isaac
* guix/forge/gunicorn.scm: New file. * doc/forge.skb (Reference): Document <gunicorn-configuration> and <gunicorn-app>.
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-03doc: Identify chapters.Arun Isaac
* doc/forge.skb: Identify each chapter with a unique identifier.
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-07-05socket: Introduce <forge-*-socket> types.Arun Isaac
<forge-*-socket> will be a universal type to specify IP addresses, ports and Unix sockets across all guix-forge services. * guix/forge/socket.scm: New file. * doc/forge.skb (Reference): Document <forge-ip-socket> and <forge-unix-socket>.
2022-06-01doc: Label file as post-receive, instead of post-receive-hook.Arun Isaac
* doc/forge.skb (Tutorial, Reference): Label file as post-receive, instead of post-receive-hook.
2022-06-01doc: Move comma displaced by Emacs lispy-mode.Arun Isaac
* doc/forge.skb (Reference): Move comma displaced by Emacs lispy mode.
2022-04-08doc: Link to ci-jobs-trigger-gexp definition.Arun Isaac
* doc/forge.skb (Tutorial): Link mention of post-receive-hook script to the in-source definition of ci-jobs-trigger-gexp.
2022-03-28forge: Add trigger? field to forge-laminar-job.Arun Isaac
* guix/forge/laminar.scm (<forge-laminar-job>)[trigger?]: New field. * guix/forge/forge.scm (ci-jobs-trigger-gexp): Only trigger jobs for which trigger? is #t. * doc/forge.skb (Reference)[<forge-laminar-job>]: Document trigger?.
2022-03-21doc: Explain what a post-receive-hook is and how it is set up.Arun Isaac
* doc/forge.skb (Tutorial): Explain what a post-receive-hook is and how it is set up.