Compare commits

...

62 Commits

Author SHA1 Message Date
Nemo f1e69acbe2 Switch to ghcr 2024-03-31 11:48:30 +05:30
Nemo 82d22e9c02 add link to new repo 2024-03-31 11:44:36 +05:30
Nemo 3efda8c00d
Create docker-publish.yml 2024-03-30 17:31:41 +05:30
Justin Gorinsky dcaaf336d1 Use bookworm-slim base image
Fixes  #80
2024-03-30 17:26:45 +05:30
dependabot[bot] c736f2c9a4 Bump nokogiri from 1.16.2 to 1.16.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.16.2 to 1.16.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.16.2...v1.16.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-17 09:03:55 +00:00
Peter Gillich d8a848cfe5 Configurable font size in PDF 2024-03-17 09:03:47 +00:00
dependabot[bot] 8087055b50 Bump nokogiri from 1.15.4 to 1.16.2
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.15.4 to 1.16.2.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.15.4...v1.16.2)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 00:59:44 +05:30
dependabot[bot] 6ce887bc0b Bump nokogiri from 1.15.3 to 1.15.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.15.3 to 1.15.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.15.3...v1.15.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-12 10:48:30 +05:30
dependabot[bot] f7bf70a2d6 Bump nokogiri from 1.14.3 to 1.15.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.3 to 1.15.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.14.3...v1.15.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-01 09:07:03 +05:30
dependabot[bot] 4bd3237e93 Bump nokogiri from 1.14.0 to 1.14.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.14.0 to 1.14.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.14.0...v1.14.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 15:02:30 +05:30
Nemo d1580cd6e0
Update README.md 2023-01-13 12:02:39 +00:00
dependabot[bot] 42c5dbc990 Bump nokogiri from 1.13.8 to 1.14.0
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.8 to 1.14.0.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.8...v1.14.0)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 11:40:31 +00:00
dependabot[bot] efaa0b8a82 Bump nokogiri from 1.13.7 to 1.13.8
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.7 to 1.13.8.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.7...v1.13.8)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-26 08:10:40 +05:30
dependabot[bot] 0417040c96 Bump nokogiri from 1.13.6 to 1.13.7
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.6 to 1.13.7.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.6...v1.13.7)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-13 11:36:18 +05:30
Nemo e822596ca0
Create FUNDING.yml 2022-05-30 14:47:44 +05:30
Nemo d477e657f5 Switch to IA 2022-05-18 19:56:12 +05:30
Nemo 6f565ec85a
Update README.md 2022-05-14 10:45:25 +05:30
Nemo 5dd7f8f1ae
Update README.md 2022-05-14 10:44:07 +05:30
dependabot[bot] ea568b5b16 Bump nokogiri from 1.13.5 to 1.13.6
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.5 to 1.13.6.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.6/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.5...v1.13.6)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-10 08:18:24 +05:30
dependabot[bot] 613f2daa39 Bump nokogiri from 1.13.4 to 1.13.5
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.4 to 1.13.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.4...v1.13.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-05 11:50:57 +05:30
dependabot[bot] 1845e47107 Bump nokogiri from 1.13.3 to 1.13.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.3 to 1.13.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.4/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.3...v1.13.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-13 10:08:27 +05:30
dependabot[bot] f66ba6de96 Bump nokogiri from 1.13.1 to 1.13.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.1 to 1.13.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.1...v1.13.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-04 15:36:19 +05:30
dependabot[bot] 4db7b6fd5d Bump nokogiri from 1.13.0 to 1.13.1
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.13.0 to 1.13.1.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.13.1/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.13.0...v1.13.1)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-16 11:02:10 +05:30
dependabot[bot] 0d70812422 Bump nokogiri from 1.12.5 to 1.13.0
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.5 to 1.13.0.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.5...v1.13.0)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-07 10:37:31 +05:30
dependabot[bot] d230a45c84 Bump nokogiri from 1.12.4 to 1.12.5
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.4 to 1.12.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.4...v1.12.5)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 12:22:11 +05:30
dependabot[bot] df4ddb7ff4 Bump nokogiri from 1.12.3 to 1.12.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.3 to 1.12.4.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.3...v1.12.4)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-31 11:29:38 +05:30
dependabot[bot] f1fe87ee40 Bump nokogiri from 1.12.2 to 1.12.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.12.2 to 1.12.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.12.2...v1.12.3)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-11 10:37:13 +05:30
dependabot[bot] 3bc53035d5 Bump nokogiri from 1.11.7 to 1.12.2
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.7 to 1.12.2.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.7...v1.12.2)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-09 16:18:00 +05:30
Nemo ec94c91a95 Add link to SWE@google 2021-07-20 21:15:36 +05:30
Nemo d8f5a05356 Add all books and purchase links 2021-06-16 12:14:02 +05:30
Nemo eb0e9e660f native github dependency mgt 2021-06-04 13:20:07 +05:30
dependabot-preview[bot] 424dff2098 Bump nokogiri from 1.11.4 to 1.11.7
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.4 to 1.11.7.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.4...v1.11.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-06-04 13:18:53 +05:30
dependabot-preview[bot] 1f6a79ffb0 [Security] Bump nokogiri from 1.11.3 to 1.11.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.3 to 1.11.4. **This update includes a security fix.**
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.3...v1.11.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-29 16:10:21 +05:30
Michael Nolan 546b8667e9 Fixed Broken URL in Readme 2021-05-29 16:09:53 +05:30
Sam Mingo 9a315907d1
Merge pull request #42 from captn3m0/slmingol-patch-1
Fixes broken link w/ TSRE book
2021-05-03 08:41:03 -04:00
Sam Mingo c4558ddea9
Fixes broken link w/ TSRE book 2021-05-03 08:40:26 -04:00
Sam Mingo 080af52a9d
Merge branch 'ruby' into ruby 2021-05-03 08:34:51 -04:00
dependabot-preview[bot] 93db6b3491 Bump nokogiri from 1.11.1 to 1.11.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.11.1 to 1.11.3.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.11.1...v1.11.3)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-05-03 07:30:20 +00:00
Nemo 81abcd3491 Add related links 2021-02-16 11:51:37 +05:30
Nemo 1664bd5b17 Add link to other SRE books 2021-02-16 11:50:30 +05:30
Nemo e88559fd00 [docs] Fix link to google sre books website 2021-01-19 14:34:11 +05:30
Nemo e24c1ab587 [docs] Add Linux/Mac instructions for both books 2021-01-19 14:32:58 +05:30
Nemo 8ac81f6f7b [deps] Dependency updates 2021-01-19 14:32:56 +05:30
Mads H. Danquah 2be3103c32 The books are now hosted on sre.google instead of landing.google.com
Fix references to the domain, and correct the path to the book as well.
2021-01-19 14:27:58 +05:30
dependabot-preview[bot] 7fae963067 Bump nokogiri from 1.10.9 to 1.10.10
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.9 to 1.10.10.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.9...v1.10.10)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-08-03 14:01:39 +05:30
Nemo 1ea7af6995 Switch to debian, fixes #31, closes #32 2020-06-07 00:35:54 +05:30
Nemo 04f0a1d6f4 Only use ebook-convert for mobi 2020-05-01 03:35:23 +05:30
Nemo 265d11a3b5 Improve typography by switching to pandoc for PDF generation 2020-05-01 03:34:30 +05:30
Nemo af61f95333 Cross-link to /ebooks 2020-03-30 02:59:23 +05:30
dependabot-preview[bot] a4510758ef Bump nokogiri from 1.10.8 to 1.10.9
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.8 to 1.10.9.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/v1.10.9/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.8...v1.10.9)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-03-27 01:34:50 +05:30
dependabot-preview[bot] af8fc5ae0d Bump nokogiri from 1.10.7 to 1.10.8
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.7 to 1.10.8.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.7...v1.10.8)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-12 16:01:51 +05:30
Nemo e48a4cc3d5 Fix docker cloud link 2020-01-11 06:41:07 +05:30
Nemo cdb2b543ac Update bundler 2020-01-11 06:40:23 +05:30
dependabot-preview[bot] 20a29811bf Bump nokogiri from 1.10.4 to 1.10.5
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.4 to 1.10.5.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.4...v1.10.5)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-01-11 06:36:35 +05:30
dependabot-preview[bot] 94153176b5 [Security] Bump nokogiri from 1.10.3 to 1.10.4
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.3 to 1.10.4. **This update includes a security fix.**
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.3...v1.10.4)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2019-09-10 15:39:43 +05:30
dependabot[bot] c5dad35f04 [Security] Bump nokogiri from 1.10.1 to 1.10.3
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.10.1 to 1.10.3. **This update includes security fixes.**
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.10.1...v1.10.3)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-13 08:06:57 +00:00
Nemo fdbc23dd6e 📝 Adds typesetting issue link on README 2019-05-11 00:31:17 +05:30
Nemo 9ce6fdbcde Link images to releases page 2019-04-12 15:27:49 +05:30
Martin Malina 45ab1b57a7 Correct output directory info in readme
With the docker run command as specified, the files show up in the current directory on the host system, not in output/.
2019-03-24 17:51:07 +05:30
Nemo 57246a10db 📝 Adds note about RELEASE 2019-03-18 22:11:06 +05:30
Sam Mingo da6d5306a6
Update README.md 2018-09-22 19:12:34 -04:00
Sam Mingo e78ea16a17
Update README.md 2018-09-22 19:12:00 -04:00
10 changed files with 242 additions and 56 deletions

3
.github/FUNDING.yml vendored Normal file
View File

@ -0,0 +1,3 @@
ko_fi: captn3m0
liberapay: captn3m0
github: captn3m0

8
.github/dependabot.yml vendored Normal file
View File

@ -0,0 +1,8 @@
version: 2
updates:
- package-ecosystem: bundler
directory: "/"
schedule:
interval: daily
time: "23:30"
open-pull-requests-limit: 99

82
.github/workflows/docker-publish.yml vendored Normal file
View File

@ -0,0 +1,82 @@
name: Container Image
on:
push:
branches: [ "ruby" ]
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
# This is used to complete the identity challenge
# with sigstore/fulcio when running outside of PRs.
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Install the cosign tool except on PR
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@6e04d228eb30da1757ee4e1dd75a0ec73a653e06 #v3.1.1
with:
cosign-release: 'v2.1.1'
# Set up BuildKit Docker container builder to be able to build
# multi-platform images and export cache
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
# Login against a Docker registry except on PR
# https://github.com/docker/login-action
- name: Log into registry ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d # v3.0.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
# Extract metadata (tags, labels) for Docker
# https://github.com/docker/metadata-action
- name: Extract Docker metadata
id: meta
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
# Build and push Docker image with Buildx (don't push on PR)
# https://github.com/docker/build-push-action
- name: Build and push Docker image
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
# Sign the resulting Docker image digest except on PRs.
# This will only write to the public Rekor transparency log when the Docker
# repository is public to avoid leaking data. If you would like to publish
# transparency data even for private images, pass --force to cosign below.
# https://github.com/sigstore/cosign
- name: Sign the published Docker image
if: ${{ github.event_name != 'pull_request' }}
env:
# https://docs.github.com/en/actions/security-guides/security-hardening-for-github-actions#using-an-intermediate-environment-variable
TAGS: ${{ steps.meta.outputs.tags }}
DIGEST: ${{ steps.build-and-push.outputs.digest }}
# This step uses the identity token to provision an ephemeral certificate
# against the sigstore community Fulcio instance.
run: echo "${TAGS}" | xargs -I {} cosign sign --yes {}@${DIGEST}

View File

@ -1,7 +1,7 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2015 Abhay Rana <me@captnemo.in>
Copyright (C) 2021 Abhay Rana <me@captnemo.in>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long

View File

@ -1,5 +1,4 @@
# LTS Image
FROM ubuntu:18.04
FROM debian:bookworm-slim
LABEL maintainer="github.google-sre-ebook@captnemo.in"
@ -10,13 +9,16 @@ WORKDIR /src
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
calibre \
file \
pandoc \
ruby \
ruby-dev \
lmodern \
texlive-fonts-recommended \
texlive-xetex \
wget \
zlib1g-dev \
file \
&& gem install bundler --no-ri --no-rdoc \
&& gem install bundler --no-document \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
@ -24,6 +26,6 @@ COPY . /src/
RUN bundle install
ENTRYPOINT ["/src/bootstrap.sh", "docker"]
ENTRYPOINT ["/src/generate.sh", "docker"]
VOLUME ["/output"]

View File

@ -1,9 +1,11 @@
GEM
remote: https://rubygems.org/
specs:
mini_portile2 (2.4.0)
nokogiri (1.10.1)
mini_portile2 (~> 2.4.0)
mini_portile2 (2.8.5)
nokogiri (1.16.3)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
racc (1.7.3)
PLATFORMS
ruby
@ -12,4 +14,4 @@ DEPENDENCIES
nokogiri
BUNDLED WITH
2.0.1
2.2.5

106
README.md
View File

@ -1,14 +1,30 @@
# Google SRE Book/s
Generates a EPUB/MOBI/PDF for the Google SRE Book/s.
Generates a EPUB/MOBI/PDF for the Google SRE Books. Original sources are downloaded from https://sre.google/books/
Original sources are downloaded from https://landing.google.com/sre/books
Visit the [Releases](https://github.com/captn3m0/google-sre-ebook/releases) page to download the latest release. Go through all the releases, and click "Assets" to view a list of files.
# Books
|Site Reliability Engineering (2016)|The Site Reliability Workbook (2018)|
|-----------------------------------|------------------------------------|
|<img src="cover/sre-book.jpg" width="320" alt="site reliability engineering cover" />|<img src="cover/workbook.jpg" width="320" alt="the site reliability workbook cover" />|
| Site Reliability Engineering (2016) | The Site Reliability Workbook (2018) |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <a href="https://github.com/captn3m0/google-sre-ebook/releases"><img src="cover/sre-book.jpg" width="320" alt="site reliability engineering cover" /></a><br> <a href="https://books.google.com/books?id=81UrjwEACAAJ">BUY</a> | <a href="https://github.com/captn3m0/google-sre-ebook/releases"><img src="cover/workbook.jpg" width="320" alt="the site reliability workbook cover" /></a><br> <a href="https://books.google.com/books?id=fElmDwAAQBAJ">BUY</a>|
A few other SRE books/reports are available as directly from Google or publishers. A few links point to Internet Archive. Links marked in 🔻 are currently down.
- [Building Secure & Reliable Systems](https://sre.google/books/building-secure-reliable-systems/) - [[PDF](https://sre.google/static/pdf/building_secure_and_reliable_systems.pdf)] [[EPUB](https://sre.google/static/pdf/building_secure_and_reliable_systems.epub)] [[MOBI](https://sre.google/static/pdf/building_secure_and_reliable_systems.mobi)] [[Google Books](https://www.google.com/books/edition/Building_Secure_and_Reliable_Systems/Kn7UxwEACAAJ?hl=en)] [[Amazon](https://www.amazon.com/dp/B088Y67XG4)] [[Kobo](https://www.kobo.com/in/en/ebook/building-secure-and-reliable-systems)]
- [Training Site Reliability Engineers](https://sre.google/resources/practices-and-processes/training-site-reliability-engineers/) - [[PDF](https://googlesre.page.link/traininggh)] [[EPUB](https://sre.google/static/pdf/training-sre-epub.epub)]
- [SLO Adoption and Usage in SRE](https://www.oreilly.com/library/view/slo-adoption-and/9781492075370/) - [[PDF](https://web.archive.org/web/20210702035314/https://static.googleusercontent.com/media/sre.google/en//static/pdf/slo-adoption-and-usage-in-sre.pdf)]
- [Practical Guide to Cloud Migration](https://sre.google/resources/practices-and-processes/practical-guide-to-cloud-migration/) - [[PDF](https://sre.google/static/pdf/practical-guide-to-cloud-migration.pdf)] [[EPUB](https://sre.google/static/pdf/practical-guide-to-cloud-migration.epub)]
- [Creating a Production Launch Plan](https://sre.google/resources/practices-and-processes/production-launch-planning/) - [[PDF](https://googlesre.page.link/plpgh)] [[EPUB](https://web.archive.org/web/20210702003102/https://sre.google/static/pdf/cplp-epub.zip)] [[MOBI](https://web.archive.org/web/20210102115046/https://sre.google/static/pdf/cplp-mobi.zip)]
- [Case Studies in Infrastructure Change Management](https://get.oreilly.com/ind_case-studies-in-infrastructure-change-management.html) - [[PDF](https://web.archive.org/web/20210702035412/https://static.googleusercontent.com/media/sre.google/en//static/pdf/case-studies-infrastructure-change-management.pdf)]
- [A Case Study in Community-Driven Software Adoption](https://www.oreilly.com/library/view/a-case-study/9781098114596/) - [[PDF](https://web.archive.org/web/20210702035416/https://static.googleusercontent.com/media/sre.google/en//static/pdf/community-driven-software-adoption.pdf)] [[EPUB](https://web.archive.org/web/20210702003151/https://sre.google/static/pdf/community-driven-software-adoption-epub.zip)] [[MOBI](https://web.archive.org/web/20210702003132/https://sre.google/static/pdf/community-driven-software-adoption-mobi.zip)]
- [Incident Metrics in SRE](https://sre.google/resources/practices-and-processes/incident-metrics-in-sre/) - [[PDF](https://static.googleusercontent.com/media/sre.google/en//static/pdf/IncidentMeticsInSre.pdf)] [[EPUB](https://static.googleusercontent.com/media/sre.google/en//static/pdf/IncidentMeticsInSre.epub)]
- [Engineering Reliable Mobile Applications](https://www.oreilly.com/library/view/engineering-reliable-mobile/9781492057444/) - [[PDF](https://web.archive.org/web/20211011151056/https://static.googleusercontent.com/media/sre.google/en//static/pdf/engineering-reliable-mobile-applications.pdf)] [[EPUB](https://web.archive.org/web/20210702082730if_/https://sre.google/static/pdf/engineering-reliable-mobile-applications-epub.zip)] [[MOBI 🔻](https://sre.google/static/pdf/engineering-reliable-mobile-applications-mobi.zip)]
You might also like:
- [Software Engineering at Google](https://abseil.io/resources/swe-book) [[PDF](https://github.com/abseil/abseil.github.io/raw/cd13b21daa6ec74155548241241693198c1b1264/resources/swe_at_google.2.pdf)] [[PDF-Archive](https://archive.softwareheritage.org/browse/content/sha1_git:80ee550c6bda571d4e9f56fc093243d31a90b651/raw/?filename=swe_at_google.2.pdf)] [[Read Online](https://abseil.io/resources/swe-book/html/toc.html)] [[OReilly](https://www.oreilly.com/library/view/software-engineering-at/9781492082781/)] [[Amazon](https://www.amazon.com/_/dp/1492082791)] [[Ebooks.com](https://www.ebooks.com/en-in/book/detail/209970024/)] [Generated EPUB/PDF](https://github.com/captn3m0/google-swe-ebook/)
# Build
@ -16,49 +32,91 @@ Original sources are downloaded from https://landing.google.com/sre/books
Requirements:
- Docker
- Docker
You can generate either of books using `BOOK_SLUG` variable.
Available values for *`BOOK_SLUG`*:
- `sre_book` Site Reliability Engineering.
- `srw_book` The Site Reliability Workbook.
Available values for _`BOOK_SLUG`_:
- `sre_book` Site Reliability Engineering.
- `srw_book` The Site Reliability Workbook.
```
$ docker run --rm --volume "$(pwd):/output" -e BOOK_SLUG='srw_book' captn3m0/google-sre-ebook:latest
```
- You should see the final EPUB/MOBI/PDF files in the `output` directory after the above runs.
- The file may be owned by the root user.
- You should see the final EPUB/MOBI/PDF files in the current directory after the above runs.
- The file may be owned by the root user.
**NOTE:** You'll have to allow docker access to a directory that's local to your system. The safest way to do this is as follows:
```
$ mkdir /tmp/sreoutput
$ chcon -Rt svirt_sandbox_file_t /tmp/sreoutput
$ docker run --rm --volume "/tmp/sreoutput:/output" -e BOOK_SLUG='srw_book' captn3m0/google-sre-ebook:latest
$ docker run --rm --volume "/tmp/sreoutput:/output" -e BOOK_SLUG='srw_book' ghcr.io/captn3m0/google-sre-ebook:ruby
```
The build for the above Docker image can be audited at <https://cloud.docker.com/swarm/captn3m0/repository/docker/captn3m0/google-sre-ebook/builds>.
Builds on [Docker Hub](https://hub.docker.com/r/captn3m0/google-sre-ebook) are no longer maintained.
## macOS
Review and run the `bootstrap.sh` script to generate the EPUB, MOBI, and PDF files
## macOS / Linux
Requirements:
- Ruby
- `gem install bundler`
- `bundle install`
- `brew install pandoc`
- `brew cask install calibre`
- `brew install wget`
- Make
- Ruby
- `gem install bundler`
- `bundle install`
- `brew install pandoc`
- `brew cask install calibre`
- `brew install wget`
Run either of the following:
```bash
# To download Site Reliability Engineering.
BOOK_SLUG='sre_book' ./generate.sh
# To download The Site Reliability Workbook.
BOOK_SLUG='srw_book' ./generate.sh
```
### PDF options
Any option can be passed to `pandoc` by `PDF_OPT_` prefix, for example:
```sh
PDF_OPT_GEOMETRY=margin=1.5cm \
PDF_OPT_DOCUMENTCLASS=extbook \
PDF_OPT_FONTSIZE=14pt \
PDF_OPT_MAINFONT=LiberationSerif-Regular.ttf \
PDF_OPT_MAINFONTOPTIONS=BoldFont=LiberationSerif-Bold.ttf,ItalicFont=LiberationSerif-Italic.ttf,BoldItalicFont=LiberationSerif-BoldItalic.ttf \
PDF_OPT_MONOFONT=LiberationMono-Regular.ttf \
PDF_OPT_MONOFONTOPTIONS=BoldFont=LiberationMono-Bold.ttf,ItalicFont=LiberationMono-Italic.ttf,BoldItalicFont=LiberationMono-BoldItalic.ttf \
PDF_OPT_SANSFONT=LiberationSans-Regular.ttf \
PDF_OPT_SANSFONTOPTIONS=BoldFont=LiberationSans-Bold.ttf,ItalicFont=LiberationSans-Italic.ttf,BoldItalicFont=LiberationSans-BoldItalic.ttf \
BOOK_SLUG=sre_book ./generate.sh
```
Default options passed to `pandoc` in `generate.sh` are overloaded by `PDF_OPT_` prefix, see `PDF_OPT_GEOMETRY` in above example.
Fonts in above axample are packed to `fonts-liberation2` on **Ubuntu**.
See more details:
* <https://pandoc.org/MANUAL.html#fonts>
* <https://ctan.org/pkg/extsizes>
* <https://ctan.org/pkg/fontspec>
# Known Issues
- metadata is not complete. There are just too many authors
- Foreword/Preface is not part of the index
- metadata is not complete. There are just too many authors
- Foreword/Preface is not part of the index
- The typesetting is not great and does not match the original. See #22 for a list
# LICENSE
This is licensed under WTFPL. See COPYING file for the full text.
## Extra
I have a list of my E-book publishing related projects at https://captnemo.in/ebooks/. Links to other related books can be found at https://github.com/upgundecha/howtheysre#books-1

View File

@ -9,7 +9,7 @@ BOOKS=(
BOOK_NAME=sre-book
BOOK_NAME_FULL=Site Reliability Engineering
BOOK_FILE=google-site-reliability-engineering
BOOK_TOC_URL=https://landing.google.com/sre/sre-book/toc/index.html
BOOK_TOC_URL=https://sre.google/sre-book/table-of-contents/index.html
'
# Site Reliability Workbook
@ -17,7 +17,7 @@ BOOKS=(
BOOK_NAME=workbook
BOOK_NAME_FULL=The Site Reliability Workbook
BOOK_FILE=google-the-site-reliability-workbook
BOOK_TOC_URL=https://landing.google.com/sre/workbook/toc/index.html
BOOK_TOC_URL=https://sre.google/workbook/table-of-contents/index.html
'
)

View File

@ -4,7 +4,7 @@ require 'fileutils'
# First we get the list of all the book sections:
Dir.chdir("html/landing.google.com/sre/%s/toc" % ENV['BOOK_NAME'])
Dir.chdir("html/sre.google/%s/table-of-contents" % ENV['BOOK_NAME'])
chapter_links = Nokogiri::HTML(open("index.html"))
.css('#drop-down a')
.map {|l| l.attribute('href').value}
@ -86,8 +86,6 @@ chapter_links.each do |chapter_link|
content = content.children.at_css('div')
end
# replace h1 title
content.at_css('h1').inner_html = title

View File

@ -12,11 +12,17 @@ export ${BOOKS[${BOOK_SLUG^^}]}
# Common vars.
IMGS_DOMAIN="lh3.googleusercontent.com"
#
PDF_OPTIONS=()
for i in ${!PDF_OPT_*}; do
declare -n val=$i
key=${i#PDF_OPT_}
PDF_OPTIONS+=("-V" "${key,,}=${val}");
done
# Make sure that links are relative \
# # Remove the /sre/ directories
# Save stuff in html/ directory
# Do not create a landing.google.com directory
# Do not create a sre.google directory
# Enable recursion, timestamping (--mirror)
# Images are hosted elsewhere, download them as well.
# We need to go up a level from /toc/ where we start
@ -32,7 +38,7 @@ wget \
--mirror \
--no-verbose \
--recursive \
--domains=${IMGS_DOMAIN},landing.google.com ${BOOK_TOC_URL} || true
--domains=${IMGS_DOMAIN},sre.google ${BOOK_TOC_URL} || true
#
echo "Get working mode..."
@ -42,7 +48,6 @@ if [ "$MODE" != "docker" ];then
bundle install
fi
#
# Add extension to files.
# That because `pandoc` cannot generate the right `mime type` without the extension.
# https://github.com/captn3m0/google-sre-ebook/issues/19
@ -55,30 +60,58 @@ for FILE_NAME_FULL in ${IMGS_FILES}; do
FILE_TYPE=$(file -b -- "${FILE_NAME_FULL}" | cut -f1 -d " ")
# Rename and replace file.
mv "${FILE_NAME_FULL}" "${FILE_NAME_FULL}.${FILE_TYPE,,}" &&
grep -rl -- "${FILE_NAME_BASE}" ./html | xargs sed -i -- "s/${FILE_NAME_BASE}/${FILE_NAME_BASE}.${FILE_TYPE,,}/g"
if grep -rl -- "${FILE_NAME_BASE}" ./html; then
mv "${FILE_NAME_FULL}" "${FILE_NAME_FULL}.${FILE_TYPE,,}" &&
grep -rl -- "${FILE_NAME_BASE}" ./html | xargs sed -i -- "s/${FILE_NAME_BASE}/${FILE_NAME_BASE}.${FILE_TYPE,,}/g"
fi
done
#
if [[ $@ == *'--only-download'* ]]; then
echo "Skipping generation"
exit 0
fi
# Generate epub from html.
echo "Generate book ..."
bundle exec ruby generate.rb
pushd html/landing.google.com/sre/${BOOK_NAME}/toc
pushd html/sre.google/${BOOK_NAME}/table-of-contents
pandoc --from=html --to=epub \
--output=../../../../../${BOOK_FILE}.epub \
--epub-metadata=../../../../../metadata/${BOOK_NAME}.xml \
--epub-cover-image=../../../../../cover/${BOOK_NAME}.jpg \
--output=../../../../${BOOK_FILE}.epub \
--epub-metadata=../../../../metadata/${BOOK_NAME}.xml \
--epub-cover-image=../../../../cover/${BOOK_NAME}.jpg \
--metadata title="$BOOK_NAME" \
complete.html
# generate PDF from HTML
pandoc --from=html \
--pdf-engine=xelatex \
--output=../../../../${BOOK_FILE}.pdf \
--metadata title="$BOOK_NAME" \
--dpi=300 \
-V book \
--top-level-division=chapter \
--toc \
-V lang=en-US \
-V classoption=oneside \
-V titlepage=true \
-V logo=../../../../cover/${BOOK_NAME}.jpg \
-V titlepage-background=../../../../cover/${BOOK_NAME}.jpg \
-V toc-own-page=true \
-V footnotes-pretty=true \
-V subparagraph \
-V geometry=margin=2cm \
-V fig_caption=false \
${PDF_OPTIONS[@]} \
--columns=60 \
complete.html
popd
#
# Generate other format from epub.
for EXTENSION in mobi pdf; do
ebook-convert ${BOOK_FILE}.epub ${BOOK_FILE}.${EXTENSION}
done
# Generate mobi using calibre
ebook-convert ${BOOK_FILE}.epub ${BOOK_FILE}.mobi
#
# If it works inside docker.
if [ "$MODE" == "docker" ]; then
chown -v $(id -u):$(id -g) ${BOOK_FILE}.*