mirror of
https://github.com/unman/shaker.git
synced 2025-03-13 02:46:37 -04:00
47 lines
2.0 KiB
Markdown
47 lines
2.0 KiB
Markdown
![]() |
# Introduction
|
||
|
These salt files can be used to set-up a template for building the Qubes website and documentation.
|
||
|
The template is a clone of the fedora-40 template.
|
||
|
A qubes-doc qube is created and configured to use git and split-gpg.
|
||
|
|
||
|
# Installation
|
||
|
Copy the qubes-doc directory to /srv/salt, then run:
|
||
|
```
|
||
|
sudo qubesctl state.apply qubes-doc.create
|
||
|
sudo qubesctl --skip-dom0 --targets=template-qubes-doc state.apply qubes-doc.install
|
||
|
sudo qubesctl --skip-dom0 --targets=qubes-doc state.apply qubes-doc.config
|
||
|
```
|
||
|
|
||
|
If you want to use git, a boilerplate `~.gitconfig` is included in qubes-doc.
|
||
|
Remember to edit this file with your details.
|
||
|
split-gpg is automatically configured to use sys-gpg as the backend qube holding the PGP key.
|
||
|
Edit the policy if you want to use a different backend qube to store your gpg key.
|
||
|
|
||
|
## Building the site
|
||
|
```
|
||
|
cd qubesos.github.io
|
||
|
bundle exec jekyll serve
|
||
|
```
|
||
|
You may need to edit `Gemfile` to include `gem webrick`
|
||
|
|
||
|
## Notes
|
||
|
|
||
|
`create.sls` uses *include* to call `clone.sls`. This state ensures that a fedora-40 template is installed, and will install it if not: the template is cloned to create a template for qubes-doc. The remainder of the state creates the qubes-doc qube, and creates the split-gpg policy.
|
||
|
|
||
|
`install.sls` configures qubes-doc repositories to use the caching proxy if present. (Look at the use of the *if* statement checking for the existence of the relevant pillar.)
|
||
|
`pkg.installed` is used to install the needed packages.
|
||
|
|
||
|
`config.sls` is applied to the new *qubes-doc* qube.
|
||
|
`file.managed` is used to transfer configuration files for split-gpg to the qube.
|
||
|
`git.latest` is used to clone the git repository - `submodules: True` is used to pull in all submodules.
|
||
|
|
||
|
There *is* a salt gem state, which could be used to install gems:
|
||
|
```
|
||
|
qubes_doc_gems:
|
||
|
gem.installed:
|
||
|
- names:
|
||
|
- jekyll
|
||
|
```
|
||
|
But the results are variable, and some gems cannot be installed by this method.
|
||
|
So we fall back to using `cmd.run` again to get gems installed.
|
||
|
|