1232 Commits
v0.4.1 ... main

Author SHA1 Message Date
dghubble-renovate[bot]
903f8a5c23 Bump github.com/coreos/butane from v0.26.0 to v0.27.0 (#1550)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-28 05:22:21 +00:00
dghubble-renovate[bot]
50a2d7fbad Bump golang.org/x/net from v0.50.0 to v0.51.0 (#1549)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-25 23:02:21 +00:00
dghubble-renovate[bot]
fce2813d18 Bump mkdocs-material from 9.7.2 to v9.7.3 (#1548)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-25 00:21:45 +00:00
dghubble-renovate[bot]
6cb6e5d633 Bump mkdocs-material from 9.7.1 to v9.7.2 (#1547)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-19 04:01:43 +00:00
dghubble-renovate[bot]
ed0223c48f Bump pymdown-extensions from 10.20.1 to v10.21 (#1545)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-16 09:02:06 +00:00
dghubble-renovate[bot]
7bc057f94a Bump google.golang.org/grpc from v1.79.0 to v1.79.1 (#1544)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-13 19:02:26 +00:00
dghubble-renovate[bot]
493d3b75b0 Bump google.golang.org/grpc from v1.78.0 to v1.79.0 (#1543)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-12 15:22:26 +00:00
dghubble-renovate[bot]
e0336149e4 Bump docker.io/golang image from 1.25.7 to v1.26.0 (#1542)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-11 12:42:01 +00:00
dghubble-renovate[bot]
0d58f1675b Bump go from 1.25.7 to v1.26.0 (#1541)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-10 19:22:30 +00:00
dghubble-renovate[bot]
ef961ed466 Bump golang.org/x/net from v0.49.0 to v0.50.0 (#1540)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-10 05:22:15 +00:00
dghubble-renovate[bot]
feb1387f23 Bump golang.org/x/crypto from v0.47.0 to v0.48.0 (#1539)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-10 04:42:18 +00:00
dghubble-renovate[bot]
d09a77249f Bump docker.io/golang image from 1.25.6 to v1.25.7 (#1538)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-05 06:41:59 +00:00
dghubble-renovate[bot]
7bb7c8d519 Bump go from 1.25.6 to v1.25.7 (#1537)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-02-04 16:02:08 +00:00
dghubble-renovate[bot]
985d5aa6df Bump docker.io/alpine image from 3.23.2 to v3.23.3 (#1536)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-28 16:41:40 +00:00
dghubble-renovate[bot]
abbbdc7034 Bump pymdown-extensions from 10.20 to v10.20.1 (#1535)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-24 18:01:46 +00:00
dghubble-renovate[bot]
f6bd8b79b5 Bump actions/setup-python action from v6.1.0 to v6.2.0 (#1534)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-22 15:02:09 +00:00
dghubble-renovate[bot]
e142b0242e Bump github.com/coreos/butane from v0.25.1 to v0.26.0 (#1533)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-17 06:02:10 +00:00
dghubble-renovate[bot]
2fb9ee2dc6 Bump docker.io/golang image from 1.25.5 to v1.25.6 (#1532)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-16 10:01:54 +00:00
dghubble-renovate[bot]
c46c408282 Bump go from 1.25.5 to v1.25.6 (#1531)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-15 19:02:52 +00:00
dghubble-renovate[bot]
564c09fbda Bump github.com/sirupsen/logrus from v1.9.3 to v1.9.4 (#1530)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-15 10:22:22 +00:00
dghubble-renovate[bot]
b07a9a8207 Bump golang.org/x/net from v0.48.0 to v0.49.0 (#1529)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-13 04:22:14 +00:00
dghubble-renovate[bot]
973c09f67f Bump golang.org/x/crypto from v0.46.0 to v0.47.0 (#1528)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-13 04:02:00 +00:00
dghubble-renovate[bot]
e656d38f44 Bump pymdown-extensions from 10.19.1 to v10.20 (#1526)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2026-01-01 08:01:40 +00:00
dghubble-renovate[bot]
f290e94b2c Bump github.com/coreos/ignition/v2 from v2.25.0 to v2.25.1 (#1525)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-27 07:02:21 +00:00
dghubble-renovate[bot]
532f97f46f Bump google.golang.org/grpc from v1.77.0 to v1.78.0 (#1524)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-23 21:42:16 +00:00
Dalton Hubble
de8aa52b3b Configure wait-for-status-check to use GitHub-hosted runners
* The reusable wait-for-status-check GitHub Workflow is only used
in public repos which can use actions for free. So we might as
well use GitHub-managed runners
* Motived by re-evaluating runner usage in response to GitHub
pricing changes. Shift costs to Microsoft where possible
2025-12-21 21:37:26 -08:00
Sam Day
6a33e71b3b scripts/devnet: bump quay.io/poseidon/dnsmasq image tag
Signed-off-by: Sam Day <me@samcday.com>
2025-12-22 00:18:26 -05:00
dghubble-renovate[bot]
2a237a8b74 Bump actions/checkout action from v5 to v6 2025-12-22 00:03:13 -05:00
dghubble-renovate[bot]
32aa36d3fa Bump pymdown-extensions from 10.19 to v10.19.1 (#1520)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-22 05:02:16 +00:00
dghubble-renovate[bot]
869320cc6b Bump mkdocs-material from 9.7.0 to v9.7.1 (#1522)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-22 05:01:48 +00:00
dghubble-renovate[bot]
e0f3e774d2 Bump docker.io/alpine image from 3.23.0 to v3.23.2 (#1521)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-22 05:01:42 +00:00
dghubble-renovate[bot]
1949dd1cd0 Bump github.com/coreos/ignition/v2 from v2.24.0 to v2.25.0 (#1519)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-13 04:02:19 +00:00
dghubble-renovate[bot]
9e33da4ec9 Bump pymdown-extensions from 10.18 to v10.19 (#1518)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-12 06:41:41 +00:00
dghubble-renovate[bot]
65c9eaf7fe Bump golang.org/x/net from v0.47.0 to v0.48.0 (#1517)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-09 10:02:24 +00:00
dghubble-renovate[bot]
5f840136ab Bump golang.org/x/crypto from v0.45.0 to v0.46.0 (#1516)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-09 06:42:18 +00:00
dghubble-renovate[bot]
1422f4da7d Bump pymdown-extensions from 10.17.2 to v10.18 (#1515)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-08 05:41:36 +00:00
dghubble-renovate[bot]
c1654477cb Bump github.com/spf13/cobra from v1.10.1 to v1.10.2 (#1514)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-04 12:02:20 +00:00
dghubble-renovate[bot]
3eb4a16212 Bump docker.io/alpine image from 3.22.2 to v3.23.0 (#1513)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-04 08:21:59 +00:00
dghubble-renovate[bot]
e3bb90c4a1 Bump docker.io/golang image from 1.25.4 to v1.25.5 (#1512)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-03 06:21:58 +00:00
dghubble-renovate[bot]
a07fb23a60 Bump go from 1.25.4 to v1.25.5 (#1511)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-12-02 16:22:02 +00:00
dghubble-renovate[bot]
e43f8a5ba4 Bump pymdown-extensions from 10.17.1 to v10.17.2 (#1510)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-27 04:01:58 +00:00
dghubble-renovate[bot]
ffa1a5eb35 Bump actions/setup-python action from v6.0.0 to v6.1.0 (#1509)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-25 05:21:56 +00:00
dghubble-renovate[bot]
45090a414a Bump golang.org/x/crypto from v0.44.0 to v0.45.0 [SECURITY] (#1507)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-20 02:22:14 +00:00
dghubble-renovate[bot]
d9e0327a5a Bump google.golang.org/grpc from v1.76.0 to v1.77.0 (#1506)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-18 11:22:22 +00:00
dghubble-renovate[bot]
f4e6721004 Bump pymdown-extensions from 10.17 to v10.17.1 (#1505)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-12 10:02:00 +00:00
dghubble-renovate[bot]
b58597a88b Bump golang.org/x/net from v0.46.0 to v0.47.0 (#1504)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-12 07:02:17 +00:00
dghubble-renovate[bot]
18de3c600f Bump golang.org/x/crypto from v0.43.0 to v0.44.0 (#1503)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-12 06:42:15 +00:00
dghubble-renovate[bot]
01ca747f37 Bump pymdown-extensions from 10.16.1 to v10.17 (#1502)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-12 06:21:59 +00:00
dghubble-renovate[bot]
5363bf7268 Bump mkdocs-material from 9.6.23 to v9.7.0 (#1501)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-11 21:01:44 +00:00
dghubble-renovate[bot]
3e67a39533 Bump docker.io/golang image from 1.25.3 to v1.25.4 (#1500)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-06 09:41:59 +00:00
dghubble-renovate[bot]
2bb914a53b Bump go from 1.25.3 to v1.25.4 (#1499)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-05 19:22:01 +00:00
dghubble-renovate[bot]
328a414e56 Bump provider ct from 0.13.0 to v0.14.0 (#1498)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-04 16:41:45 +00:00
dghubble-renovate[bot]
c7c30ea1a6 Bump mkdocs-material from 9.6.22 to v9.6.23 (#1497)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-11-02 04:42:07 +00:00
dghubble-renovate[bot]
1b49d9ac0e Bump mkdocs-material from 9.6.21 to v9.6.22 (#1496)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-15 21:41:45 +00:00
dghubble-renovate[bot]
d26ca6de86 Bump github.com/coreos/ignition/v2 from v2.23.0 to v2.24.0 (#1495)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-15 07:42:22 +00:00
dghubble-renovate[bot]
bb831b55d3 Bump docker.io/golang image from 1.25.2 to v1.25.3 (#1494)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-14 11:42:00 +00:00
dghubble-renovate[bot]
a38e52f186 Bump go from 1.25.2 to v1.25.3 (#1493)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-13 21:22:19 +00:00
dghubble-renovate[bot]
ae0ac0410f Bump docker.io/alpine image from 3.22.1 to v3.22.2 (#1492)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-09 12:41:40 +00:00
dghubble-renovate[bot]
045eba4adb Bump golang.org/x/net from v0.45.0 to v0.46.0 (#1491)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-09 07:22:18 +00:00
dghubble-renovate[bot]
3725d7d34d Bump golang.org/x/crypto from v0.42.0 to v0.43.0 (#1490)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-09 06:02:22 +00:00
dghubble-renovate[bot]
7cc316f3f0 Bump docker.io/golang image from 1.25.1 to v1.25.2 (#1489)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-08 09:21:38 +00:00
dghubble-renovate[bot]
e271476582 Bump golang.org/x/net from v0.44.0 to v0.45.0 (#1488)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-08 06:22:17 +00:00
dghubble-renovate[bot]
74b20e5312 Bump go from 1.25.1 to v1.25.2 (#1487)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-07 19:02:05 +00:00
dghubble-renovate[bot]
833435d687 Bump google.golang.org/grpc from v1.75.1 to v1.76.0 (#1486)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-07 08:42:24 +00:00
dghubble-renovate[bot]
a0eeacfd95 Bump mkdocs-material from 9.6.20 to v9.6.21 (#1485)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-10-01 07:21:45 +00:00
dghubble-renovate[bot]
3f5b8a8cec Bump github.com/coreos/butane from v0.25.0 to v0.25.1 (#1484)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-25 03:02:17 +00:00
dghubble-renovate[bot]
cdb758bc5f Bump mkdocs-material from 9.6.19 to v9.6.20 (#1483)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-15 21:01:48 +00:00
dghubble-renovate[bot]
bbd2287417 Bump actions/setup-python action from v5.6.0 to v6 2025-09-14 21:47:45 -07:00
dghubble-renovate[bot]
a2f6fee77d Bump github.com/coreos/ignition/v2 from v2.22.0 to v2.23.0 (#1482)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-11 05:02:25 +00:00
dghubble-renovate[bot]
e86ff4f0d4 Bump google.golang.org/grpc from v1.75.0 to v1.75.1 (#1481)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-10 06:42:34 +00:00
dghubble-renovate[bot]
ba427375cb Bump golang.org/x/net from v0.43.0 to v0.44.0 (#1480)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-09 15:42:29 +00:00
dghubble-renovate[bot]
70974f1b54 Bump github.com/coreos/butane from v0.24.0 to v0.25.0 (#1479)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-09 05:02:36 +00:00
dghubble-renovate[bot]
11eeb3b64e Bump golang.org/x/crypto from v0.41.0 to v0.42.0 (#1478)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-09 03:22:28 +00:00
dghubble-renovate[bot]
e7e2595df5 Bump mkdocs-material from 9.6.18 to v9.6.19 (#1477)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-08 06:02:07 +00:00
dghubble-renovate[bot]
9a369fa1e5 Bump go from 1.25.0 to v1.25.1 (#1474)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-04 12:02:10 +00:00
dghubble-renovate[bot]
bb6fd84474 Bump docker.io/golang image from 1.25.0 to v1.25.1 (#1475)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-04 11:41:59 +00:00
dghubble-renovate[bot]
3eff89ca97 Bump github.com/spf13/cobra from v1.10.0 to v1.10.1 (#1473)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-02 04:22:28 +00:00
dghubble-renovate[bot]
51459fddc5 Bump github.com/spf13/cobra from v1.9.1 to v1.10.0 (#1472)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-09-01 14:02:27 +00:00
dghubble-renovate[bot]
2406de6986 Bump github.com/stretchr/testify from v1.11.0 to v1.11.1 (#1471)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-27 23:02:32 +00:00
dghubble-renovate[bot]
6111b3faa5 Bump actions/checkout action from v4 to v5 2025-08-24 21:45:03 -07:00
dghubble-renovate[bot]
b57ed43440 Bump github.com/stretchr/testify from v1.10.0 to v1.11.0 (#1470)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-24 17:02:30 +00:00
dghubble-renovate[bot]
02ca3bcf43 Bump mkdocs-material from 9.6.17 to v9.6.18 (#1469)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-22 20:41:43 +00:00
dghubble-renovate[bot]
85fec91a6d Bump google.golang.org/grpc from v1.74.2 to v1.75.0 (#1468)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-20 06:42:33 +00:00
dghubble-renovate[bot]
5929544b97 Bump mkdocs-material from 9.6.16 to v9.6.17 (#1467)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-16 04:22:01 +00:00
dghubble-renovate[bot]
dce2956380 Bump go from 1.24.6 to v1.25.0 (#1465)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-14 18:02:25 +00:00
dghubble-renovate[bot]
2b1b5bfaae Bump docker.io/golang image from 1.24.6 to v1.25.0 (#1466)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-14 17:42:00 +00:00
dghubble-renovate[bot]
01838f318e Bump golang.org/x/net from v0.42.0 to v0.43.0 (#1463)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-08 08:02:29 +00:00
dghubble-renovate[bot]
23d2e2806b Bump golang.org/x/crypto from v0.40.0 to v0.41.0 (#1462)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-08 05:42:23 +00:00
dghubble-renovate[bot]
7a2f0be647 Bump docker.io/golang image from 1.24.5 to v1.24.6 (#1461)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-07 10:02:01 +00:00
dghubble-renovate[bot]
0dd91f8fb9 Bump go from 1.24.5 to v1.24.6 (#1460)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-08-06 18:42:44 +00:00
dghubble-renovate[bot]
6c2c192ee6 Bump pymdown-extensions from 10.16 to v10.16.1 (#1456)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-29 04:21:44 +00:00
dghubble-renovate[bot]
27d0424372 Bump mkdocs-material from 9.6.15 to v9.6.16 (#1455)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-27 04:02:05 +00:00
dghubble-renovate[bot]
8bbc7b1dd9 Bump google.golang.org/grpc from v1.74.1 to v1.74.2 (#1454)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-23 06:42:34 +00:00
dghubble-renovate[bot]
a1d0e7d344 Bump google.golang.org/grpc from v1.74.0 to v1.74.1 (#1453)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-18 08:43:04 +00:00
dghubble-renovate[bot]
6ea2e05b29 Bump google.golang.org/grpc from v1.73.0 to v1.74.0 (#1452)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-17 06:42:29 +00:00
dghubble-renovate[bot]
9c0d987085 Bump docker.io/alpine image from 3.22.0 to v3.22.1 (#1451)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-16 09:41:59 +00:00
dghubble-renovate[bot]
354d927d42 Bump golang.org/x/net from v0.41.0 to v0.42.0 (#1450)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-11 08:02:27 +00:00
dghubble-renovate[bot]
6fb140f00e Bump golang.org/x/crypto from v0.39.0 to v0.40.0 (#1449)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-11 05:42:30 +00:00
dghubble-renovate[bot]
1bfa396851 Bump docker.io/golang image from 1.24.4 to v1.24.5 (#1448)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-09 10:03:12 +00:00
dghubble-renovate[bot]
c6e52ab019 Bump github.com/coreos/ignition/v2 from v2.21.0 to v2.22.0 (#1447)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-09 04:42:28 +00:00
dghubble-renovate[bot]
4b1f7a7051 Bump go from 1.24.4 to v1.24.5 (#1446)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-08 17:22:34 +00:00
dghubble-renovate[bot]
2bff662106 Bump mkdocs-material from 9.6.14 to v9.6.15 (#1445)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-07-01 22:22:04 +00:00
dghubble-renovate[bot]
538b881fcf Bump pymdown-extensions from 10.15 to v10.16 (#1444)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-22 06:02:00 +00:00
dghubble-renovate[bot]
39d4d0521d Bump pygments from 2.19.1 to v2.19.2 (#1443)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-22 01:41:57 +00:00
dghubble-renovate[bot]
583503f4b8 Bump golang.org/x/net from v0.40.0 to v0.41.0 (#1442)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-06 08:44:15 +00:00
dghubble-renovate[bot]
9f86f62663 Bump docker.io/golang image from 1.24.3 to v1.24.4 (#1441)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-06 08:42:08 +00:00
dghubble-renovate[bot]
fcede1cf76 Bump google.golang.org/grpc from v1.72.2 to v1.73.0 (#1440)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-06 06:44:46 +00:00
dghubble-renovate[bot]
57ee476bee Bump golang.org/x/crypto from v0.38.0 to v0.39.0 (#1439)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-06 06:29:50 +00:00
dghubble-renovate[bot]
521e4375f2 Bump go from 1.24.3 to v1.24.4 (#1438)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-06 06:28:14 +00:00
dghubble-renovate[bot]
22c5c2b69d Bump docker.io/alpine image from 3.21.3 to v3.22.0 (#1437)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-06-02 04:06:48 +00:00
dghubble-renovate[bot]
b9e2afdd65 Bump github.com/coreos/butane from v0.23.0 to v0.24.0 (#1436)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-28 03:42:50 +00:00
dghubble-renovate[bot]
8548eb8a91 Bump google.golang.org/grpc from v1.72.1 to v1.72.2 (#1435)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-26 18:42:29 +00:00
dghubble-renovate[bot]
221a43c65f Bump google.golang.org/grpc from v1.72.0 to v1.72.1 (#1434)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-14 21:02:41 +00:00
dghubble-renovate[bot]
b0d6cd3eb5 Bump mkdocs-material from 9.6.13 to v9.6.14 (#1433)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-14 01:45:17 +00:00
dghubble-renovate[bot]
702638c390 Bump mkdocs-material from 9.6.12 to v9.6.13 (#1432)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-10 18:42:10 +00:00
dghubble-renovate[bot]
0f9e681624 Bump go from 1.24.2 to v1.24.3 (#1430)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-07 09:02:47 +00:00
dghubble-renovate[bot]
82be51f92e Bump docker.io/golang image from 1.24.2 to v1.24.3 (#1431)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-07 08:42:02 +00:00
dghubble-renovate[bot]
9736aa9dd0 Bump golang.org/x/net from v0.39.0 to v0.40.0 (#1429)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-06 08:03:10 +00:00
dghubble-renovate[bot]
500ef29258 Bump golang.org/x/crypto from v0.37.0 to v0.38.0 (#1428)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-06 07:03:09 +00:00
dghubble-renovate[bot]
248b3db323 Bump pymdown-extensions from 10.14.3 to v10.15 (#1427)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-05-03 20:10:34 +00:00
dghubble-renovate[bot]
dcb88f294a Bump actions/setup-python action from v5.5.0 to v5.6.0 (#1426)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-24 15:02:10 +00:00
dghubble-renovate[bot]
236df4bc17 Bump google.golang.org/grpc from v1.71.1 to v1.72.0 (#1425)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-21 16:43:25 +00:00
dghubble-renovate[bot]
390c83ea0d Bump golang.org/x/net from v0.38.0 to v0.39.0 (#1424)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-18 16:43:49 +00:00
dghubble-renovate[bot]
8c23dc49f2 Bump mkdocs-material from 9.6.11 to v9.6.12 (#1422)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-18 16:31:54 +00:00
dghubble-renovate[bot]
d30f6cbb58 Bump golang.org/x/crypto from v0.36.0 to v0.37.0 (#1423)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-18 16:15:59 +00:00
dghubble-renovate[bot]
de71cc52df Bump docker.io/golang image from 1.24.1 to v1.24.2 (#1421)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-02 05:42:19 +00:00
dghubble-renovate[bot]
67d2edad89 Bump mkdocs-material from 9.6.10 to v9.6.11 (#1420)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-01 19:22:00 +00:00
dghubble-renovate[bot]
445955a137 Bump go from 1.24.1 to v1.24.2 (#1419)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-01 16:42:49 +00:00
dghubble-renovate[bot]
fa974535a9 Bump google.golang.org/grpc from v1.71.0 to v1.71.1 (#1418)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-04-01 10:02:26 +00:00
dghubble-renovate[bot]
0287ae149c Bump mkdocs-material from 9.6.9 to v9.6.10 (#1417)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-30 22:22:23 +00:00
dghubble-renovate[bot]
3dc459ac32 Bump golang.org/x/net from v0.37.0 to v0.38.0 (#1416)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-28 08:02:47 +00:00
dghubble-renovate[bot]
251e7aadb5 Bump actions/setup-python action from v5.4.0 to v5.5.0 (#1415)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-25 04:21:59 +00:00
dghubble-renovate[bot]
2568626244 Bump mkdocs-material from 9.6.8 to v9.6.9 (#1414)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-17 21:42:25 +00:00
dghubble-renovate[bot]
37f17d338b Bump github.com/coreos/ignition/v2 from v2.20.0 to v2.21.0 (#1413)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-15 03:02:31 +00:00
dghubble-renovate[bot]
38c07f3df8 Bump mkdocs-material from 9.6.7 to v9.6.8 (#1412)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-13 22:42:20 +00:00
dghubble-renovate[bot]
9665f3c03f Bump golang.org/x/net from v0.36.0 to v0.37.0 (#1411)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-12 17:44:47 +00:00
dghubble-renovate[bot]
4e18702780 Bump docker.io/golang image from 1.24.0 to v1.24.1 (#1407)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-05 12:41:58 +00:00
dghubble-renovate[bot]
ed737e465b Bump golang.org/x/net from v0.35.0 to v0.36.0 (#1406)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-05 07:43:15 +00:00
dghubble-renovate[bot]
d0ab7d722a Bump google.golang.org/grpc from v1.70.0 to v1.71.0 (#1405)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-05 07:22:26 +00:00
dghubble-renovate[bot]
454bf305d0 Bump go from 1.24.0 to v1.24.1 (#1404)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-04 19:43:14 +00:00
dghubble-renovate[bot]
972b2b69d0 Bump mkdocs-material from 9.6.6 to v9.6.7 (#1403)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-03 13:22:14 +00:00
dghubble-renovate[bot]
e4f9897cf5 Bump mkdocs-material from 9.6.5 to v9.6.6 (#1402)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-03-01 18:42:50 +00:00
dghubble-renovate[bot]
994712e4f3 Bump golang.org/x/crypto from v0.34.0 to v0.35.0 (#1401)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-25 05:42:39 +00:00
dghubble-renovate[bot]
1851bc94f4 Bump golang.org/x/crypto from v0.33.0 to v0.34.0 (#1400)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-22 12:42:32 +00:00
dghubble-renovate[bot]
82dd561196 Bump mkdocs-material from 9.6.4 to v9.6.5 (#1399)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-20 14:02:37 +00:00
dghubble-renovate[bot]
43507b8e08 Bump github.com/spf13/cobra from v1.9.0 to v1.9.1 (#1398)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-17 12:02:28 +00:00
dghubble-renovate[bot]
8dc565f460 Bump github.com/spf13/cobra from v1.8.1 to v1.9.0 (#1397)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-16 06:22:33 +00:00
dghubble-renovate[bot]
40cd167abc Bump go from 1.23.3 to v1.24.0 (#1396)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-15 18:41:29 +00:00
dghubble-renovate[bot]
b1bb8ee6e9 Bump docker.io/alpine image from 3.21.2 to v3.21.3 (#1395)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-15 18:40:58 +00:00
dghubble-renovate[bot]
f7e93f0b69 Bump docker.io/golang image from 1.23.6 to v1.24.0 (#1394)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-13 15:42:13 +00:00
dghubble-renovate[bot]
888002da9a Bump mkdocs-material from 9.6.3 to v9.6.4 (#1392)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-12 21:42:33 +00:00
dghubble-renovate[bot]
1cd4f5dd00 Bump golang.org/x/net from v0.34.0 to v0.35.0 (#1391)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-11 04:23:13 +00:00
dghubble-renovate[bot]
ea4f22a010 Bump golang.org/x/crypto from v0.32.0 to v0.33.0 (#1390)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-08 18:22:25 +00:00
dghubble-renovate[bot]
58ea025791 Bump docker.io/golang image from 1.23.5 to v1.23.6 (#1388)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-07 18:02:37 +00:00
dghubble-renovate[bot]
ff51ddce4b Bump mkdocs-material from 9.6.2 to v9.6.3 (#1389)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-07 17:42:38 +00:00
dghubble-renovate[bot]
253f6c5b96 Bump mkdocs-material from 9.6.1 to v9.6.2 (#1386)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-04 03:02:19 +00:00
dghubble-renovate[bot]
988f469b31 Bump pymdown-extensions from 10.14.2 to v10.14.3 (#1385)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-02-02 04:02:05 +00:00
dghubble-renovate[bot]
700af90e9a Bump mkdocs-material from 9.6.0 to v9.6.1 (#1384)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-31 18:21:54 +00:00
dghubble-renovate[bot]
c2dc25db07 Bump mkdocs-material from 9.5.50 to v9.6.0 (#1383)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-31 16:22:21 +00:00
dghubble-renovate[bot]
d329d29a89 Bump pymdown-extensions from 10.14.1 to v10.14.2 (#1382)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-29 15:02:18 +00:00
dghubble-renovate[bot]
5536bb8b30 Bump actions/setup-python action from v5.3.0 to v5.4.0 (#1381)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-28 07:22:09 +00:00
dghubble-renovate[bot]
6b87343ad1 Bump google.golang.org/grpc from v1.69.4 to v1.70.0 (#1380)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-24 06:03:02 +00:00
dghubble-renovate[bot]
06963da713 Bump pymdown-extensions from 10.14 to v10.14.1 (#1379)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-22 13:22:24 +00:00
dghubble-renovate[bot]
04da82d756 Bump mkdocs-material from 9.5.49 to v9.5.50 (#1378)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-18 16:02:25 +00:00
dghubble-renovate[bot]
cb86acd555 Bump docker.io/golang image from 1.23.4 to v1.23.5 (#1377)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-17 12:42:09 +00:00
dghubble-renovate[bot]
528143051e Bump google.golang.org/grpc from v1.69.2 to v1.69.4 (#1376)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-13 19:02:30 +00:00
dghubble-renovate[bot]
8742529727 Bump docker.io/alpine image from 3.21.1 to v3.21.2 (#1374)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-09 06:42:43 +00:00
dghubble-renovate[bot]
24cea23175 Bump pymdown-extensions from 10.13 to v10.14 (#1373)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-08 04:02:24 +00:00
dghubble-renovate[bot]
250ad0e7c0 Bump docker.io/alpine image from 3.21.0 to v3.21.1 (#1372)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-07 16:42:03 +00:00
dghubble-renovate[bot]
9fa34d1d83 Bump pygments from 2.19.0 to v2.19.1 (#1370)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-07 05:42:04 +00:00
dghubble-renovate[bot]
09572fbd73 Bump golang.org/x/net from v0.33.0 to v0.34.0 (#1369)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-07 04:02:23 +00:00
dghubble-renovate[bot]
909c44b4b5 Bump golang.org/x/crypto from v0.31.0 to v0.32.0 (#1368)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-07 03:02:26 +00:00
dghubble-renovate[bot]
c1668ed2c2 Bump pygments from 2.18.0 to v2.19.0 (#1367)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2025-01-06 02:22:00 +00:00
dghubble-renovate[bot]
8dfd907de9 Bump pymdown-extensions from 10.12 to v10.13 (#1366)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-24 04:22:13 +00:00
dghubble-renovate[bot]
826db683f1 Bump google.golang.org/grpc from v1.69.0 to v1.69.2 (#1365)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-19 06:22:00 +00:00
dghubble-renovate[bot]
c4fcc19e59 Bump golang.org/x/net from v0.32.0 to v0.33.0 [SECURITY] (#1364)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-19 01:42:22 +00:00
dghubble-renovate[bot]
402173719f Bump mkdocs-material from 9.5.48 to v9.5.49 (#1363)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-16 22:41:53 +00:00
dghubble-renovate[bot]
4d4a6e3cca Bump google.golang.org/grpc from v1.68.1 to v1.69.0 (#1361)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-12 19:02:14 +00:00
dghubble-renovate[bot]
256b50773e Bump golang.org/x/crypto from v0.30.0 to v0.31.0 [SECURITY] (#1360)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-12 01:02:13 +00:00
dghubble-renovate[bot]
f34ea186c4 Bump mkdocs-material from 9.5.47 to v9.5.48 (#1359)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-09 04:01:57 +00:00
dghubble-renovate[bot]
29ebeec46d Bump docker.io/alpine image from 3.20.3 to v3.21.0 (#1358)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-06 13:42:35 +00:00
dghubble-renovate[bot]
192adf030b Bump golang.org/x/net from v0.31.0 to v0.32.0 (#1357)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-05 09:42:22 +00:00
dghubble-renovate[bot]
94995fbd50 Bump golang.org/x/crypto from v0.29.0 to v0.30.0 (#1356)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-05 07:42:13 +00:00
dghubble-renovate[bot]
abcfa85a5c Bump github.com/coreos/butane from v0.22.0 to v0.23.0 (#1355)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-04 22:42:18 +00:00
dghubble-renovate[bot]
2d1f9fbb19 Bump docker.io/golang image from 1.23.3 to v1.23.4 (#1354)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-04 21:42:05 +00:00
dghubble-renovate[bot]
825ff21c8d Bump google.golang.org/grpc from v1.68.0 to v1.68.1 (#1353)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-04 19:22:14 +00:00
dghubble-renovate[bot]
cd8129a0ae Bump mkdocs-material from 9.5.46 to v9.5.47 (#1352)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-12-01 20:02:16 +00:00
dghubble-renovate[bot]
fad6d0c09b Bump mkdocs-material from 9.5.45 to v9.5.46 (#1351)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-11-25 23:01:58 +00:00
dghubble-renovate[bot]
171f9aae8f Bump github.com/stretchr/testify from v1.9.0 to v1.10.0 (#1350)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-11-23 12:03:35 +00:00
dghubble-renovate[bot]
b355f52f31 Bump mkdocs-material from 9.5.44 to v9.5.45 (#1349)
Co-authored-by: dghubble-renovate[bot] <119624128+dghubble-renovate[bot]@users.noreply.github.com>
2024-11-20 20:21:54 +00:00
dghubble-renovate[bot]
2507c1a329 Bump golang.org/x/net from v0.30.0 to v0.31.0 2024-11-09 04:22:09 +00:00
dghubble-renovate[bot]
a94a978c1f Bump golang.org/x/crypto from v0.28.0 to v0.29.0 2024-11-08 11:02:02 +00:00
dghubble-renovate[bot]
79468b4e56 Bump google.golang.org/grpc from v1.67.1 to v1.68.0 2024-11-08 04:42:06 +00:00
dghubble-renovate[bot]
b241bda74c Bump docker.io/golang image from 1.23.2 to v1.23.3 2024-11-07 18:41:50 +00:00
dghubble-renovate[bot]
37f9c8b29b Bump mkdocs-material from 9.5.43 to v9.5.44 2024-11-06 06:41:45 +00:00
dghubble-renovate[bot]
be3a2ba90f Bump mkdocs-material from 9.5.42 to v9.5.43 2024-10-31 23:42:28 +00:00
dghubble-renovate[bot]
5be06edb08 Bump pymdown-extensions from 10.11.2 to v10.12 2024-10-29 14:41:50 +00:00
dghubble-renovate[bot]
cd19d0b474 Bump poseidon/wait-for-status-checks action from v0.5.0 to v0.6.0 2024-10-28 15:41:51 +00:00
dghubble-renovate[bot]
f3c040f83c Bump actions/setup-python action from v5.2.0 to v5.3.0 2024-10-25 01:41:52 +00:00
dghubble-renovate[bot]
4622144b12 Bump mkdocs-material from 9.5.41 to v9.5.42 2024-10-20 20:41:48 +00:00
dghubble-renovate[bot]
5400528ee7 Bump mkdocs-material from 9.5.40 to v9.5.41 2024-10-16 03:22:43 +00:00
dghubble-renovate[bot]
30228ad140 Bump mkdocs-material from 9.5.39 to v9.5.40 2024-10-10 20:21:51 +00:00
dghubble-renovate[bot]
6abe363dbf Bump golang.org/x/net from v0.29.0 to v0.30.0 2024-10-05 05:01:54 +00:00
dghubble-renovate[bot]
802cb7c357 Bump golang.org/x/crypto from v0.27.0 to v0.28.0 2024-10-05 03:42:16 +00:00
dghubble-renovate[bot]
fd46c86e41 Bump docker.io/golang image from 1.23.1 to v1.23.2 2024-10-02 11:41:47 +00:00
dghubble-renovate[bot]
de99ec28e6 Bump pymdown-extensions from 10.11.1 to v10.11.2 2024-10-02 04:42:07 +00:00
dghubble-renovate[bot]
500cbf8e8a Bump google.golang.org/grpc from v1.67.0 to v1.67.1 2024-10-01 05:42:14 +00:00
dghubble-renovate[bot]
6119b9cb7c Bump pymdown-extensions from 10.11 to v10.11.1 2024-09-30 05:01:37 +00:00
dghubble-renovate[bot]
ec56ad5402 Bump mkdocs-material from 9.5.38 to v9.5.39 2024-09-29 20:21:42 +00:00
dghubble-renovate[bot]
dada4bbc64 Bump pymdown-extensions from 10.10.2 to v10.11 2024-09-28 04:01:59 +00:00
dghubble-renovate[bot]
afdbefcb35 Bump mkdocs-material from 9.5.37 to v9.5.38 2024-09-26 20:01:40 +00:00
dghubble-renovate[bot]
4734f8b3a0 Bump pymdown-extensions from 10.10.1 to v10.10.2 2024-09-26 18:01:39 +00:00
dghubble-renovate[bot]
e9b101346e Bump mkdocs-material from 9.5.36 to v9.5.37 2024-09-25 20:01:52 +00:00
dghubble-renovate[bot]
7e4644edbf Bump pymdown-extensions from 10.10 to v10.10.1 2024-09-23 07:42:02 +00:00
dghubble-renovate[bot]
6fdc3e3f7b Bump pymdown-extensions from 10.9 to v10.10 2024-09-22 16:21:53 +00:00
dghubble-renovate[bot]
d877ebbb99 Bump mkdocs-material from 9.5.35 to v9.5.36 2024-09-21 20:21:57 +00:00
dghubble-renovate[bot]
2c06d0e8bd Bump github.com/coreos/butane from v0.21.0 to v0.22.0 2024-09-21 03:42:06 +00:00
dghubble-renovate[bot]
1a1c2218e4 Bump google.golang.org/grpc from v1.66.2 to v1.67.0 2024-09-20 19:02:12 +00:00
dghubble-renovate[bot]
b6cccb5f55 Bump mkdocs-material from 9.5.34 to v9.5.35 2024-09-18 19:41:55 +00:00
dghubble-renovate[bot]
3a66247ddc Bump google.golang.org/grpc from v1.66.1 to v1.66.2 2024-09-12 06:42:17 +00:00
dghubble-renovate[bot]
2c96e4a78e Bump google.golang.org/grpc from v1.66.0 to v1.66.1 2024-09-10 08:22:25 +00:00
dghubble-renovate[bot]
9e557d41ad Bump docker.io/alpine image from 3.20.2 to v3.20.3 2024-09-07 11:01:47 +00:00
dghubble-renovate[bot]
1fc390c04f Bump docker.io/golang image from 1.23.0 to v1.23.1 2024-09-06 20:41:38 +00:00
dghubble-renovate[bot]
cc76c29eef Bump golang.org/x/net from v0.28.0 to v0.29.0 2024-09-06 05:02:32 +00:00
dghubble-renovate[bot]
f27038df82 Bump golang.org/x/crypto from v0.26.0 to v0.27.0 2024-09-05 17:22:14 +00:00
dghubble-renovate[bot]
8fc4faa7f5 Bump mkdocs-material from 9.5.33 to v9.5.34 2024-09-01 05:41:49 +00:00
dghubble-renovate[bot]
b3f74a5332 Bump mkdocs from 1.6.0 to v1.6.1 2024-08-31 00:41:50 +00:00
dghubble-renovate[bot]
0dc356df97 Bump actions/setup-python action from v5.1.1 to v5.2.0 2024-08-29 14:01:36 +00:00
dghubble-renovate[bot]
7d25313bae Bump google.golang.org/grpc from v1.65.0 to v1.66.0 2024-08-28 21:42:22 +00:00
dghubble-renovate[bot]
1d7d64e2c4 Bump mkdocs-material from 9.5.32 to v9.5.33 2024-08-23 22:01:43 +00:00
dghubble-renovate[bot]
4316ae2a02 Bump mkdocs-material from 9.5.31 to v9.5.32 2024-08-19 23:41:37 +00:00
Matanya Loewenthal
9201318ac7 typo: super nitpick, fro -> from 2024-08-17 08:13:58 -07:00
dghubble-renovate[bot]
2becdd859b Bump docker.io/golang image from 1.22.6 to v1.23.0 2024-08-14 17:41:48 +00:00
dependabot[bot]
0fcb18b8cd Bump golang from 1.22.5 to 1.22.6
Bumps golang from 1.22.5 to 1.22.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-07 09:10:01 -07:00
dghubble-renovate[bot]
474ed2291d Bump golang.org/x/net from v0.27.0 to v0.28.0 2024-08-07 05:41:52 +00:00
dghubble-renovate[bot]
a5795f8797 Bump golang.org/x/crypto from v0.25.0 to v0.26.0 2024-08-07 03:42:10 +00:00
dghubble-renovate[bot]
39db26f52c Bump mkdocs-material from 9.5.30 to v9.5.31 2024-08-02 21:41:45 +00:00
dghubble-renovate[bot]
81d8d1b4f2 Bump pymdown-extensions from 10.8.1 to v10.9 2024-07-28 07:22:23 +00:00
dghubble-renovate[bot]
111077e0f1 Bump docker.io/alpine image from 3.20.1 to v3.20.2 2024-07-23 19:41:41 +00:00
dghubble-renovate[bot]
1a9b21c1d7 Bump mkdocs-material from 9.5.29 to v9.5.30 2024-07-23 19:21:55 +00:00
dghubble-renovate[bot]
64d227ec9b Bump mkdocs-material from 9.5.28 to v9.5.29 2024-07-15 00:01:48 +00:00
dghubble-renovate[bot]
8c37b4d908 Bump actions/setup-python action from v5.1.0 to v5.1.1 2024-07-11 02:01:48 +00:00
dghubble-renovate[bot]
a2648cd54d Bump golang.org/x/net from v0.26.0 to v0.27.0 2024-07-06 01:21:47 +00:00
dghubble-renovate[bot]
3131fcd6cd Bump golang.org/x/crypto from v0.24.0 to v0.25.0 2024-07-05 23:02:06 +00:00
dghubble-renovate[bot]
2f45212c3b Bump docker.io/golang image from 1.22.4 to v1.22.5 2024-07-03 03:31:50 +00:00
dghubble-renovate[bot]
76f05de75f Bump google.golang.org/grpc from v1.64.0 to v1.65.0 2024-07-03 03:27:29 +00:00
dghubble-renovate[bot]
cad6f763fb Bump mkdocs-material from 9.5.27 to v9.5.28 2024-07-02 23:12:05 +00:00
dghubble-renovate[bot]
cf21b6ae24 Bump docker.io/alpine image from 3.20.0 to v3.20.1 2024-06-22 16:31:55 +00:00
dghubble-renovate[bot]
09df0f8913 Bump mkdocs-material from 9.5.26 to v9.5.27 2024-06-16 18:46:41 +00:00
dghubble-renovate[bot]
fb75d6bd2a Bump github.com/spf13/cobra from v1.8.0 to v1.8.1 2024-06-14 21:17:28 +00:00
dghubble-renovate[bot]
8d19149e08 Bump github.com/coreos/butane from v0.20.0 to v0.21.0 2024-06-06 17:22:09 +00:00
dghubble-renovate[bot]
0522c0a2c4 Bump mkdocs-material from 9.5.25 to v9.5.26 2024-06-06 16:01:46 +00:00
dghubble-renovate[bot]
c58b08f33a Bump github.com/coreos/ignition/v2 from v2.18.0 to v2.19.0 2024-06-05 15:42:36 +00:00
Eldon Stegall
c11fe5597d Flatcar relocated some assets so update the url
Flatcar generalized the kernel image name and set up
a link from the prior URL to the new URL, however, they
did not set up a link to the gpg sig.
2024-06-04 22:02:16 -07:00
Eldon Stegall
47679501ca Cause curl execution to fail if assets are unavailable 2024-06-04 22:02:16 -07:00
Eldon Stegall
d0ca76a275 Remove fleet references from docs 2024-06-04 21:59:20 -07:00
dghubble-renovate[bot]
85a8d753b6 Bump docker.io/golang image from 1.22.3 to v1.22.4 2024-06-04 21:41:36 +00:00
dghubble-renovate[bot]
8ab435c7e9 Bump golang.org/x/net from v0.25.0 to v0.26.0 2024-06-04 21:21:53 +00:00
dghubble-renovate[bot]
f4ce7d3a7b Bump golang.org/x/crypto from v0.23.0 to v0.24.0 2024-06-04 20:42:05 +00:00
dghubble-renovate[bot]
fcc8ac4459 Bump mkdocs-material from 9.5.24 to v9.5.25 2024-05-27 13:41:47 +00:00
dghubble-renovate[bot]
b90ebe896f Bump docker.io/alpine image from 3.19.1 to v3.20.0 2024-05-26 19:21:44 +00:00
dghubble-renovate[bot]
64099d3177 Bump mkdocs-material from 9.5.23 to v9.5.24 2024-05-20 11:01:48 +00:00
dghubble-renovate[bot]
6942075062 Bump mkdocs-material from 9.5.22 to v9.5.23 2024-05-15 16:01:41 +00:00
dghubble-renovate[bot]
f6f7391f9a Bump poseidon/wait-for-status-checks action from v0.4.1 to v0.5.0 2024-05-15 06:01:44 +00:00
dghubble-renovate[bot]
eed1890ae5 Bump google.golang.org/grpc from v1.63.2 to v1.64.0 2024-05-14 23:42:14 +00:00
dghubble-renovate[bot]
2ca6da5132 Bump mkdocs-material from 9.5.21 to v9.5.22 2024-05-12 12:41:56 +00:00
dghubble-renovate[bot]
e97c391f9f Bump docker.io/golang image from 1.22.2 to v1.22.3 2024-05-11 00:56:53 +00:00
dghubble-renovate[bot]
cb0286831a Bump golang.org/x/net from v0.24.0 to v0.25.0 2024-05-06 17:01:57 +00:00
dghubble-renovate[bot]
b767642e32 Bump golang.org/x/crypto from v0.22.0 to v0.23.0 2024-05-06 14:22:26 +00:00
Dalton Hubble
1f8963b6aa Add enforce workflow to wait for PR status checks
* Add wait-for-status-checks reusable GitHub Workflow to wait
for all status checks in a PR. Mark this as a required check
so that GitHub auto-merge can be used

Rel: https://github.com/poseidon/wait-for-status-checks/
2024-05-05 07:58:47 -07:00
Dalton Hubble
930e7e166a Remove dependency on github.com/coreos/pkg
* Remove dependency on github.com/coreos/pkg because the module
is no longer maintained and it doesn't follow the usual release
conventions
* The last time flagutils was touched as 9 years ago by me. Bring
the function into the matchbox repo
2024-05-05 06:53:53 -07:00
dghubble-renovate[bot]
3ca699591e Bump pygments from 2.17.2 to v2.18.0 2024-05-04 15:49:07 +00:00
dghubble-renovate[bot]
b3be9d820c Bump pymdown-extensions from 10.8 to v10.8.1 2024-05-04 15:41:58 +00:00
dghubble-renovate[bot]
00df65c52a Bump mkdocs-material from 9.5.19 to v9.5.21 2024-05-04 15:37:09 +00:00
Dalton Hubble
49a3933be5 Remove replace directive for gopkg.in/yaml.v2
* A few years ago there was a SVE for gopkg.in/yaml.v2 so we used
a replace to force MVS to pick a patched version of the package.
However, these days, no indirect dependencies use gopkg.in/yaml.v2
at all, they use gopkg.in/yaml.v3 so we can remove this
2024-04-25 21:58:55 -07:00
dghubble-renovate[bot]
9ce4a14452 Bump dependency mkdocs from 1.5.3 to v1.6.0 2024-04-25 21:51:54 -07:00
dghubble-renovate[bot]
c220c9b8f7 Bump dependency mkdocs-material from 9.5.18 to v9.5.19 2024-04-25 20:38:07 -07:00
dghubble-renovate[bot]
30d16356f0 Bump dependency mkdocs-material from 9.5.16 to v9.5.18 2024-04-22 21:47:50 -07:00
dghubble-renovate[bot]
b834aa953f Bump dependency pymdown-extensions from 10.7.1 to v10.8 2024-04-22 21:45:09 -07:00
dghubble-renovate[bot]
7605004452 Bump Terraform Providers 2024-04-22 08:25:49 -07:00
dghubble-renovate[bot]
6f895ca5c4 Bump google.golang.org/grpc from v1.62.1 to v1.63.2 2024-04-22 08:24:54 -07:00
dependabot[bot]
a8956694ad Bump golang.org/x/net from 0.23.0 to 0.24.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.23.0 to 0.24.0.
- [Commits](https://github.com/golang/net/compare/v0.23.0...v0.24.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-05 07:56:47 -07:00
dependabot[bot]
3b53c8dea6 Bump golang.org/x/net from 0.22.0 to 0.23.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.22.0 to 0.23.0.
- [Commits](https://github.com/golang/net/compare/v0.22.0...v0.23.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 13:07:44 -07:00
dependabot[bot]
f138bea3d9 Bump golang from 1.22.1 to 1.22.2
Bumps golang from 1.22.1 to 1.22.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-04 12:59:32 -07:00
dependabot[bot]
1d3d890016 Bump mkdocs-material from 9.5.15 to 9.5.16
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.15 to 9.5.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.15...9.5.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 09:57:53 -07:00
dependabot[bot]
e51e28177b Bump mkdocs-material from 9.5.14 to 9.5.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.14 to 9.5.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.14...9.5.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-25 11:23:24 -07:00
Dalton Hubble
e309d55279 Prepare to release v0.11.0 2024-03-23 19:44:33 -07:00
dependabot[bot]
3a176ad84e Bump pymdown-extensions from 10.7 to 10.7.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.7 to 10.7.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.7...10.7.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 15:26:04 -07:00
dependabot[bot]
45d1500010 Bump mkdocs-material from 9.5.12 to 9.5.14
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.12 to 9.5.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.12...9.5.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-18 14:58:15 -07:00
dependabot[bot]
ae6777f274 Bump golang.org/x/net from 0.21.0 to 0.22.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.21.0 to 0.22.0.
- [Commits](https://github.com/golang/net/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 09:16:42 -08:00
dependabot[bot]
0736b1619a Bump golang from 1.22.0 to 1.22.1
Bumps golang from 1.22.0 to 1.22.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 09:10:33 -08:00
dependabot[bot]
4d8e86ff9f Bump google.golang.org/grpc from 1.62.0 to 1.62.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.62.0 to 1.62.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.62.0...v1.62.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 09:03:17 -08:00
dependabot[bot]
d1a5fdbbc8 Bump golang.org/x/crypto from 0.20.0 to 0.21.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/crypto/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 08:44:05 -08:00
dependabot[bot]
af1c2247d7 Bump github.com/golang/protobuf from 1.5.3 to 1.5.4
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.3 to 1.5.4.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.3...v1.5.4)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 08:37:00 -08:00
dependabot[bot]
f24ce09525 Bump mkdocs-material from 9.5.11 to 9.5.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.11 to 9.5.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.11...9.5.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 09:47:56 -08:00
dependabot[bot]
a4434c6fe0 Bump github.com/coreos/ignition/v2 from 2.17.0 to 2.18.0
Bumps [github.com/coreos/ignition/v2](https://github.com/coreos/ignition) from 2.17.0 to 2.18.0.
- [Release notes](https://github.com/coreos/ignition/releases)
- [Changelog](https://github.com/coreos/ignition/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/ignition/compare/v2.17.0...v2.18.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/ignition/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-04 09:41:47 -08:00
dependabot[bot]
46c39eaf8e Bump github.com/stretchr/testify from 1.8.4 to 1.9.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.4 to 1.9.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.4...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 22:55:44 -08:00
dependabot[bot]
f37afcd15d Bump golang.org/x/crypto from 0.19.0 to 0.20.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/crypto/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-27 08:17:54 -08:00
dependabot[bot]
5fc50eef22 Bump mkdocs-material from 9.5.9 to 9.5.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.9 to 9.5.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.9...9.5.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-26 09:01:06 -08:00
dependabot[bot]
00cb6006a4 Bump github.com/coreos/butane from 0.19.0 to 0.20.0
Bumps [github.com/coreos/butane](https://github.com/coreos/butane) from 0.19.0 to 0.20.0.
- [Release notes](https://github.com/coreos/butane/releases)
- [Changelog](https://github.com/coreos/butane/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/butane/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/butane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 19:50:11 -08:00
dependabot[bot]
1a1742310e Bump google.golang.org/grpc from 1.61.1 to 1.62.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.1 to 1.62.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.61.1...v1.62.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-24 19:37:43 -08:00
dependabot[bot]
5e6640b5a5 Bump mkdocs-material from 9.5.7 to 9.5.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.7 to 9.5.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.7...9.5.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-18 17:51:46 -08:00
dependabot[bot]
3b52d587e9 Bump google.golang.org/grpc from 1.61.0 to 1.61.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.61.0 to 1.61.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.61.0...v1.61.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-18 17:31:26 -08:00
dependabot[bot]
b0a4fdd958 Bump golang.org/x/net from 0.20.0 to 0.21.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/net/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-18 16:35:40 -08:00
dependabot[bot]
e32c7b9390 Bump golang from 1.21.6 to 1.22.0
Bumps golang from 1.21.6 to 1.22.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-07 22:32:17 -08:00
dependabot[bot]
cec5ffeb2e Bump mkdocs-material from 9.5.6 to 9.5.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.6 to 9.5.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.6...9.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-05 08:57:17 -08:00
dependabot[bot]
4bf27c6002 Bump mkdocs-material from 9.5.4 to 9.5.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.4 to 9.5.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.4...9.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 08:50:14 -08:00
dependabot[bot]
b275a14c4f Bump alpine from 3.19.0 to 3.19.1
Bumps alpine from 3.19.0 to 3.19.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-29 08:46:28 -08:00
dependabot[bot]
a1b4fbf7b8 Bump mkdocs-material from 9.5.3 to 9.5.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.3 to 9.5.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.3...9.5.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-28 23:57:40 -08:00
dependabot[bot]
588895c9a2 Bump golang from 1.21.5 to 1.21.6
Bumps golang from 1.21.5 to 1.21.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-28 23:53:06 -08:00
dependabot[bot]
33279d20a9 Bump golang.org/x/net from 0.19.0 to 0.20.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/net/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-28 23:34:46 -08:00
dependabot[bot]
b4079cbf50 Bump google.golang.org/grpc from 1.60.1 to 1.61.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.1 to 1.61.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.60.1...v1.61.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-28 23:28:24 -08:00
dependabot[bot]
1a5d47a48d Bump golang.org/x/crypto from 0.17.0 to 0.18.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.17.0 to 0.18.0.
- [Commits](https://github.com/golang/crypto/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-28 23:17:27 -08:00
dependabot[bot]
1aa0923aa9 Bump mkdocs-material from 9.5.2 to 9.5.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.2 to 9.5.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.2...9.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-07 20:02:34 -08:00
dependabot[bot]
eeed2f7035 Bump pymdown-extensions from 10.5 to 10.7
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.5 to 10.7.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.5...10.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-07 19:37:13 -08:00
dependabot[bot]
1c9ce3f30d Bump actions/setup-python from 4 to 5
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 21:24:38 -08:00
dependabot[bot]
de13f67741 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 21:24:29 -08:00
Dalton Hubble
287884436e Add dependabot to watch GitHub Actions for updates
* Update GitHub Workflows when GitHub Actions when they have
new releases
2023-12-21 21:19:12 -08:00
dependabot[bot]
99166c9480 Bump mkdocs-material from 9.5.1 to 9.5.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.5.1 to 9.5.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.5.1...9.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 20:57:25 -08:00
dependabot[bot]
c7926d5882 Bump google.golang.org/grpc from 1.60.0 to 1.60.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.60.0 to 1.60.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.60.0...v1.60.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 20:57:16 -08:00
dependabot[bot]
81b4492243 Bump golang.org/x/crypto from 0.16.0 to 0.17.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/crypto/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-21 20:52:50 -08:00
dependabot[bot]
20b273be13 Bump google.golang.org/grpc from 1.59.0 to 1.60.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.59.0 to 1.60.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.59.0...v1.60.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-17 11:59:33 -08:00
dependabot[bot]
2ea6681b97 Bump mkdocs-material from 9.4.14 to 9.5.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.14 to 9.5.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.14...9.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-17 11:38:39 -08:00
dependabot[bot]
0d00aef7ca Bump golang from 1.21.4 to 1.21.5
Bumps golang from 1.21.4 to 1.21.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-10 16:45:28 -08:00
dependabot[bot]
11361f2829 Bump alpine from 3.18.5 to 3.19.0
Bumps alpine from 3.18.5 to 3.19.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-10 09:46:56 -08:00
dependabot[bot]
8671162f50 Bump alpine from 3.18.4 to 3.18.5
Bumps alpine from 3.18.4 to 3.18.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-02 20:07:44 -08:00
dependabot[bot]
6f64a032a9 Bump golang.org/x/net from 0.18.0 to 0.19.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/net/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-28 07:21:07 -08:00
dependabot[bot]
ee861cd0a8 Bump github.com/coreos/ignition/v2 from 2.16.2 to 2.17.0
Bumps [github.com/coreos/ignition/v2](https://github.com/coreos/ignition) from 2.16.2 to 2.17.0.
- [Release notes](https://github.com/coreos/ignition/releases)
- [Changelog](https://github.com/coreos/ignition/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/ignition/compare/v2.16.2...v2.17.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/ignition/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 22:31:16 -08:00
dependabot[bot]
7784afe779 Bump mkdocs-material from 9.4.7 to 9.4.14
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.7 to 9.4.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.7...9.4.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 22:19:15 -08:00
dependabot[bot]
798573a77d Bump golang.org/x/crypto from 0.15.0 to 0.16.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/crypto/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 22:18:55 -08:00
dependabot[bot]
2df23b033b Bump pymdown-extensions from 10.3.1 to 10.5
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.3.1 to 10.5.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.3.1...10.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 21:49:18 -08:00
dependabot[bot]
14fb7a76aa Bump golang.org/x/net from 0.17.0 to 0.18.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.17.0 to 0.18.0.
- [Commits](https://github.com/golang/net/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 21:49:05 -08:00
dependabot[bot]
511f246fd3 Bump golang from 1.21.3 to 1.21.4
Bumps golang from 1.21.3 to 1.21.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 21:37:28 -08:00
dependabot[bot]
c30b353938 Bump pygments from 2.16.1 to 2.17.2
Bumps [pygments](https://github.com/pygments/pygments) from 2.16.1 to 2.17.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.16.1...2.17.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-27 21:30:34 -08:00
dependabot[bot]
526407d670 Bump github.com/spf13/cobra from 1.7.0 to 1.8.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.7.0 to 1.8.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.7.0...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-07 22:33:25 -08:00
dependabot[bot]
adfddf569c Bump mkdocs-material from 9.4.6 to 9.4.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.6 to 9.4.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.6...9.4.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-31 09:02:58 -07:00
dependabot[bot]
95af0b2666 Bump pymdown-extensions from 10.3 to 10.3.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.3 to 10.3.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.3...10.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 09:35:01 -07:00
dependabot[bot]
93974c3a8f Bump google.golang.org/grpc from 1.58.3 to 1.59.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.3 to 1.59.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.3...v1.59.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-23 09:31:23 -07:00
dependabot[bot]
c8b1b4ef21 Bump mkdocs-material from 9.4.4 to 9.4.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.4 to 9.4.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.4...9.4.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-16 09:22:49 -07:00
dependabot[bot]
6fd4fc7d5e Bump mkdocs-material from 9.4.2 to 9.4.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.4.2 to 9.4.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.4.2...9.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 22:21:22 -07:00
Ringo De Smet
e8c9b66746 Build for Apple M1/M2 architecture
Signed-off-by: Ringo De Smet <ringo@de-smet.name>
2023-10-15 22:17:32 -07:00
dependabot[bot]
8d924d669c Bump github.com/coreos/butane from 0.18.0 to 0.19.0
Bumps [github.com/coreos/butane](https://github.com/coreos/butane) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/coreos/butane/releases)
- [Changelog](https://github.com/coreos/butane/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/butane/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/butane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 22:00:17 -07:00
dependabot[bot]
fa12b4694e Bump google.golang.org/grpc from 1.58.2 to 1.58.3
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.2 to 1.58.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.2...v1.58.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 21:58:03 -07:00
dependabot[bot]
4f603f9893 Bump golang from 1.21.2 to 1.21.3
Bumps golang from 1.21.2 to 1.21.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-15 21:53:29 -07:00
dependabot[bot]
7a8f2de433 Bump golang.org/x/net from 0.16.0 to 0.17.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.16.0 to 0.17.0.
- [Commits](https://github.com/golang/net/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-14 13:03:30 -07:00
dependabot[bot]
00e2b9bcd9 Bump golang.org/x/net from 0.15.0 to 0.16.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.15.0 to 0.16.0.
- [Commits](https://github.com/golang/net/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-08 17:37:21 -07:00
dependabot[bot]
30f9385e70 Bump golang from 1.21.1 to 1.21.2
Bumps golang from 1.21.1 to 1.21.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-06 19:39:12 -07:00
dependabot[bot]
b0372e03b6 Bump alpine from 3.18.3 to 3.18.4
Bumps alpine from 3.18.3 to 3.18.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-02 13:42:41 +02:00
dependabot[bot]
959f6791a0 Bump mkdocs-material from 9.3.1 to 9.4.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.3.1 to 9.4.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.3.1...9.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-26 23:10:05 -07:00
dependabot[bot]
8d9c9979bb Bump mkdocs from 1.5.2 to 1.5.3
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.2...1.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-26 23:01:43 -07:00
dependabot[bot]
dcac456eb4 Bump google.golang.org/grpc from 1.58.1 to 1.58.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.1 to 1.58.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.1...v1.58.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-23 00:36:58 -07:00
dependabot[bot]
d0c826c21d Bump mkdocs-material from 9.2.8 to 9.3.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.8 to 9.3.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.8...9.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-18 08:06:03 -07:00
dependabot[bot]
97b3758124 Bump google.golang.org/grpc from 1.58.0 to 1.58.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.58.0 to 1.58.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.58.0...v1.58.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-15 07:50:11 -07:00
dependabot[bot]
4404863047 Bump golang.org/x/net from 0.14.0 to 0.15.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.14.0 to 0.15.0.
- [Commits](https://github.com/golang/net/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 22:34:37 -07:00
dependabot[bot]
f3634d56e9 Bump golang from 1.21.0 to 1.21.1
Bumps golang from 1.21.0 to 1.21.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 22:26:46 -07:00
dependabot[bot]
419865eabf Bump google.golang.org/grpc from 1.57.0 to 1.58.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.57.0 to 1.58.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.57.0...v1.58.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-07 22:14:15 -07:00
dependabot[bot]
ab5257846a Bump mkdocs-material from 9.2.5 to 9.2.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.2.5 to 9.2.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.2.5...9.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:44:28 -07:00
dependabot[bot]
669fa493d4 Bump pymdown-extensions from 10.1 to 10.3
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.1 to 10.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.1.0...10.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 13:41:54 -07:00
dependabot[bot]
b0c099bfb8 Bump mkdocs-material from 9.1.21 to 9.2.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.21 to 9.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.21...9.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-03 12:32:13 -07:00
dependabot[bot]
a933dd7918 Bump alpine from 3.18.2 to 3.18.3
Bumps alpine from 3.18.2 to 3.18.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-10 00:12:02 -07:00
dependabot[bot]
2c06b2a96c Bump golang from 1.20.7 to 1.21.0
Bumps golang from 1.20.7 to 1.21.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-09 23:41:22 -07:00
dependabot[bot]
336957426e Bump mkdocs from 1.5.1 to 1.5.2
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.5.1...1.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 10:33:04 -07:00
dependabot[bot]
41e27cf9a4 Bump golang.org/x/net from 0.13.0 to 0.14.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.13.0 to 0.14.0.
- [Commits](https://github.com/golang/net/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 09:51:44 -07:00
dependabot[bot]
72df1ad55d Bump pygments from 2.15.1 to 2.16.1
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.1 to 2.16.1.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.1...2.16.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-07 09:36:38 -07:00
dependabot[bot]
72850410dd Bump mkdocs from 1.4.3 to 1.5.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.3 to 1.5.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.3...1.5.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-04 23:05:51 -07:00
dependabot[bot]
df82b919e8 Bump golang from 1.20.6 to 1.20.7
Bumps golang from 1.20.6 to 1.20.7.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-04 22:57:52 -07:00
dependabot[bot]
1b6a05748f Bump golang.org/x/net from 0.12.0 to 0.13.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.12.0 to 0.13.0.
- [Commits](https://github.com/golang/net/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-04 22:46:23 -07:00
dependabot[bot]
802290f6e8 Bump mkdocs-material from 9.1.19 to 9.1.21
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.19 to 9.1.21.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.19...9.1.21)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-31 08:54:27 -07:00
Dalton Hubble
93ab2dcdd5 Remove auto-deploys to Poseidon internal infra
* We now use GitHub Actions instead of a private Drone which is great
for OSS build transparency, but one drawback to that change is that
we no longer auto-deploy matchbox to internal Poseidon Labs infra
* We don't want public workflows for deploys to our private infra
2023-07-29 13:29:08 -07:00
Hugo Florenty
1484cf7354 Added CPU architecture detection
Some commands were added in the ipxeBootstrap to enable architecture detection based on the architecture the iPXE version used was built for.
This is done through the use of an additional flag in the chain which is the ipxeBootstrap using the buildarch parameter.
2023-07-29 08:51:25 -07:00
dependabot[bot]
32ddba55c1 Bump google.golang.org/grpc from 1.56.2 to 1.57.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.2 to 1.57.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.56.2...v1.57.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-28 07:45:57 -07:00
dependabot[bot]
27a8726ef6 Bump mkdocs-material from 9.1.18 to 9.1.19
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.18 to 9.1.19.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.18...9.1.19)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-24 09:24:38 -07:00
dependabot[bot]
11fbf73169 Bump pymdown-extensions from 10.0.1 to 10.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.0.1 to 10.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.0.1...10.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-19 22:40:34 -07:00
dependabot[bot]
fb9cffe521 Bump golang from 1.20.5 to 1.20.6
Bumps golang from 1.20.5 to 1.20.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 22:50:04 -07:00
dependabot[bot]
b6c6a18a13 Bump github.com/coreos/ignition/v2 from 2.16.0 to 2.16.2
Bumps [github.com/coreos/ignition/v2](https://github.com/coreos/ignition) from 2.16.0 to 2.16.2.
- [Release notes](https://github.com/coreos/ignition/releases)
- [Changelog](https://github.com/coreos/ignition/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/ignition/compare/v2.16.0...v2.16.2)

---
updated-dependencies:
- dependency-name: github.com/coreos/ignition/v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-14 21:36:30 -07:00
dependabot[bot]
59226ee76b Bump golang.org/x/net from 0.11.0 to 0.12.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.11.0 to 0.12.0.
- [Commits](https://github.com/golang/net/compare/v0.11.0...v0.12.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 23:16:57 -07:00
dependabot[bot]
90d46067d3 Bump google.golang.org/grpc from 1.56.1 to 1.56.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.1 to 1.56.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.56.1...v1.56.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-07 23:07:10 -07:00
dependabot[bot]
f99192008d Bump mkdocs-material from 9.1.17 to 9.1.18
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.17 to 9.1.18.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.17...9.1.18)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-03 11:09:02 -07:00
dependabot[bot]
433dbed3f4 Bump github.com/coreos/ignition/v2 from 2.15.0 to 2.16.0
Bumps [github.com/coreos/ignition/v2](https://github.com/coreos/ignition) from 2.15.0 to 2.16.0.
- [Release notes](https://github.com/coreos/ignition/releases)
- [Changelog](https://github.com/coreos/ignition/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/ignition/compare/v2.15.0...v2.16.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/ignition/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-01 10:19:02 -07:00
dependabot[bot]
a9efef2791 Bump mkdocs-material from 9.1.16 to 9.1.17
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.16 to 9.1.17.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.16...9.1.17)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 10:16:06 -04:00
dependabot[bot]
31bba50dd2 Bump google.golang.org/grpc from 1.56.0 to 1.56.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.56.0 to 1.56.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.56.0...v1.56.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-23 20:30:00 -07:00
dependabot[bot]
2fed985923 Bump mkdocs-material from 9.1.15 to 9.1.16
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.15 to 9.1.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.15...9.1.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-19 11:32:54 -07:00
dependabot[bot]
7fd1422f99 Bump google.golang.org/grpc from 1.55.0 to 1.56.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.55.0 to 1.56.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.55.0...v1.56.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-16 09:29:14 -07:00
dependabot[bot]
fa64d8979b Bump alpine from 3.18.0 to 3.18.2
Bumps alpine from 3.18.0 to 3.18.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-15 17:44:37 -07:00
dependabot[bot]
1bc5254c1e Bump golang.org/x/net from 0.10.0 to 0.11.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.10.0 to 0.11.0.
- [Commits](https://github.com/golang/net/compare/v0.10.0...v0.11.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-14 23:48:33 -07:00
dependabot[bot]
43ef43de86 Bump golang.org/x/crypto from 0.9.0 to 0.10.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.9.0 to 0.10.0.
- [Commits](https://github.com/golang/crypto/compare/v0.9.0...v0.10.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-14 21:01:29 -07:00
dependabot[bot]
cd7111b2d0 Bump golang from 1.20.4 to 1.20.5
Bumps golang from 1.20.4 to 1.20.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 20:33:44 -07:00
dependabot[bot]
93b7d20019 Bump github.com/stretchr/testify from 1.8.3 to 1.8.4
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.3 to 1.8.4.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.3...v1.8.4)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 19:37:57 -07:00
dependabot[bot]
54d0d0a5cd Bump mkdocs-material from 9.1.14 to 9.1.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.14 to 9.1.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.14...9.1.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 19:37:50 -07:00
dependabot[bot]
995d52bf2c Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.2 to 1.9.3.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.2...v1.9.3)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-05 19:31:09 -07:00
Dalton Hubble
813ba1d83f Add mkdocs-pages GitHub Workflow
* Add a publish workflow that uses the mkdocs-pages re-usable GitHub
Workflow when the `release-docs` branch is updated
* Build the docs site with mkdocs and publish to GitHub Pages
2023-05-26 10:16:00 -07:00
dependabot[bot]
fb84da65fc Bump mkdocs-material from 9.1.12 to 9.1.14
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.12 to 9.1.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.12...9.1.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 10:37:08 -07:00
dependabot[bot]
7787259feb Bump pymdown-extensions from 10.0 to 10.0.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 10.0 to 10.0.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/10.0...10.0.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 10:32:45 -07:00
Dalton Hubble
c002e06639 Migrate container image builds to GitHub Workflows
* Migrate from the internal Drone server using a GitHub Workflow
to perform the multi-arch container image build
* Use self-hosted GitHub runners on ARM64 to perform the ARM64
build step faster that QEMU/KVM emulation
* Mandate approval for all workflow runs from outside contributors
since the builds use push credentials and partially run internally
2023-05-20 11:59:17 -07:00
dependabot[bot]
647c777f4b Bump github.com/stretchr/testify from 1.8.2 to 1.8.3
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.2 to 1.8.3.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.2...v1.8.3)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-19 21:28:19 -07:00
dependabot[bot]
8b5cab7353 Bump github.com/sirupsen/logrus from 1.9.1 to 1.9.2
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.1 to 1.9.2.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.1...v1.9.2)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-18 14:49:47 -07:00
dependabot[bot]
a3540f9e9d Bump pymdown-extensions from 9.11 to 10.0
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.11 to 10.0.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.11...10.0)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 21:07:13 -07:00
dependabot[bot]
c2bbc4c26b Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.1
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.9.0 to 1.9.1.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.9.0...v1.9.1)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-17 20:39:35 -07:00
dependabot[bot]
80d1b003fc Bump mkdocs-material from 9.1.9 to 9.1.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.9 to 9.1.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.9...9.1.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 09:33:53 -07:00
dependabot[bot]
5cb099e766 Bump alpine from 3.17.3 to 3.18.0
Bumps alpine from 3.17.3 to 3.18.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-15 09:29:30 -07:00
dependabot[bot]
4b17269625 Bump mkdocs from 1.4.2 to 1.4.3
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.2...1.4.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-10 22:37:54 -07:00
dependabot[bot]
4239717a3e Bump mkdocs-material from 9.1.8 to 9.1.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.8 to 9.1.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.8...9.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-10 22:01:25 -07:00
dependabot[bot]
5abdaf3d05 Bump golang.org/x/crypto from 0.8.0 to 0.9.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.8.0 to 0.9.0.
- [Commits](https://github.com/golang/crypto/compare/v0.8.0...v0.9.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-10 09:12:00 -07:00
dependabot[bot]
fb3e6b2a7f Bump mkdocs-material from 9.1.7 to 9.1.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.7 to 9.1.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.7...9.1.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 08:47:16 -07:00
dependabot[bot]
99f7fd410b Bump golang from 1.20.3 to 1.20.4
Bumps golang from 1.20.3 to 1.20.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 08:40:08 -07:00
dependabot[bot]
d0649f56c5 Bump google.golang.org/grpc from 1.54.0 to 1.55.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.54.0 to 1.55.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.54.0...v1.55.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-05 08:35:37 -07:00
dependabot[bot]
d0d5e9d523 Bump pygments from 2.15.0 to 2.15.1
Bumps [pygments](https://github.com/pygments/pygments) from 2.15.0 to 2.15.1.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.15.0...2.15.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 10:27:36 -07:00
dependabot[bot]
5775a1b0ca Bump mkdocs-material from 9.1.6 to 9.1.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.6 to 9.1.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.6...9.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-24 08:14:44 -07:00
dependabot[bot]
3cf3c40dfc Bump mkdocs-material from 9.1.5 to 9.1.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.5 to 9.1.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.5...9.1.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 22:11:38 -07:00
dependabot[bot]
f3e9e3aa39 Bump pymdown-extensions from 9.10 to 9.11
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.10 to 9.11.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.10...9.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 10:16:40 -07:00
dependabot[bot]
b01a878acd Bump pygments from 2.14.0 to 2.15.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.14.0 to 2.15.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.14.0...2.15.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 09:21:54 -07:00
dependabot[bot]
f21575e4a0 Bump golang.org/x/crypto from 0.7.0 to 0.8.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-07 10:06:39 -07:00
Dalton Hubble
fe4bade05e Update raw Ignition examples to use Ignition spec v3.4.0
* Regenerate example Ignition using fcct v0.18.0 to produce Ignition
spec v3.4.0 as a followup to https://github.com/poseidon/matchbox/pull/1079
* Fix one profile example where a double escape isn't needed
2023-04-05 12:52:39 -07:00
Dalton Hubble
e432763f51 Render Butane or raw Ignition to Ignition spec v3.4.0
* Add support for fcos v1.5.0 Butane Configs
* Add support for flatcar v1.1.0 Butane Configs
* Render Butane or raw Ignition to Ignition spec v3.4.0 using
Ignition's forward compatibility support

Rel:

* https://coreos.github.io/butane/config-fcos-v1_5/
* https://coreos.github.io/butane/config-flatcar-v1_1/
* https://coreos.github.io/ignition/configuration-v3_4/
2023-04-05 08:27:53 -07:00
dependabot[bot]
4013fbc50f Bump github.com/spf13/cobra from 1.6.1 to 1.7.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.6.1...v1.7.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 08:27:08 -07:00
dependabot[bot]
4b17bedaef Bump golang from 1.20.2 to 1.20.3
Bumps golang from 1.20.2 to 1.20.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 08:20:40 -07:00
dependabot[bot]
147199e3cc Bump github.com/coreos/butane from 0.17.0 to 0.18.0
Bumps [github.com/coreos/butane](https://github.com/coreos/butane) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/coreos/butane/releases)
- [Changelog](https://github.com/coreos/butane/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/butane/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/butane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-05 08:09:48 -07:00
dependabot[bot]
f5e2f6de12 Bump mkdocs-material from 9.1.4 to 9.1.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.4 to 9.1.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.4...9.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-02 11:10:50 -07:00
Dalton Hubble
81a34c36b4 Add ignition.md to the mkdocs.yaml navigation
* Add Ignition docs and remove Container Linux Config docs
from the mkdocs navigation and generation
2023-04-02 11:00:45 -07:00
Dalton Hubble
247e7b41a8 Prepare release notes for v0.10.0 release
* Emphasize that Container Linux Configs have been dropped and
that Butane is the way forward to use modern Ignition v2
* Include some links to Flatcar Linux docs
* Update Makefile and docs for v0.10.0 release process
2023-04-02 10:25:20 -07:00
Dalton Hubble
c9e5356047 Change tests to use shared GitHub Workflow from poseidon/.github
* Centrally managed Go test workflow across Poseidon repos
2023-04-01 18:04:01 -07:00
dependabot[bot]
9767ef93f3 Bump mkdocs-material from 9.1.3 to 9.1.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.3 to 9.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.3...9.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-01 09:40:18 -07:00
dependabot[bot]
74ba8baa50 Bump alpine from 3.17.2 to 3.17.3
Bumps alpine from 3.17.2 to 3.17.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-31 17:55:12 -07:00
dependabot[bot]
043f987600 Bump google.golang.org/grpc from 1.53.0 to 1.54.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.53.0 to 1.54.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.53.0...v1.54.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-22 10:11:17 -07:00
dependabot[bot]
3bc3aaa171 Bump mkdocs-material from 9.1.2 to 9.1.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.2 to 9.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.2...9.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-21 17:28:51 -07:00
dependabot[bot]
6c2d9d5a82 Bump mkdocs-material from 9.1.1 to 9.1.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.1.1 to 9.1.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.1.1...9.1.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-13 09:41:33 -07:00
dependabot[bot]
91d6405c1a Bump github.com/golang/protobuf from 1.5.2 to 1.5.3
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.2 to 1.5.3.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.2...v1.5.3)

---
updated-dependencies:
- dependency-name: github.com/golang/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-09 15:09:31 -08:00
dependabot[bot]
d797b39f28 Bump golang from 1.20.1 to 1.20.2
Bumps golang from 1.20.1 to 1.20.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-09 14:57:20 -08:00
dependabot[bot]
a374e55ccb Bump pymdown-extensions from 9.9.2 to 9.10
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9.2 to 9.10.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9.2...9.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 09:06:43 -08:00
dependabot[bot]
fbec35ba8b Bump mkdocs-material from 9.0.15 to 9.1.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.15 to 9.1.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.15...9.1.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 09:00:08 -08:00
dependabot[bot]
7104c6937c Bump golang.org/x/crypto from 0.6.0 to 0.7.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 08:56:30 -08:00
dependabot[bot]
ac5613c453 Bump golang.org/x/net from 0.7.0 to 0.8.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.7.0 to 0.8.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.7.0...v0.8.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-07 08:47:06 -08:00
dependabot[bot]
826e800f0a Bump mkdocs-material from 9.0.13 to 9.0.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.13 to 9.0.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.13...9.0.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-01 13:53:47 -08:00
dependabot[bot]
496138f28e Bump github.com/stretchr/testify from 1.8.1 to 1.8.2
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.1 to 1.8.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.1...v1.8.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-27 09:17:08 -08:00
dependabot[bot]
0d1d61225f Bump mkdocs-material from 9.0.12 to 9.0.13
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.12 to 9.0.13.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.12...9.0.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-20 11:16:55 -08:00
dependabot[bot]
e24c54451c Bump mkdocs-material from 9.0.11 to 9.0.12
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.11 to 9.0.12.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.11...9.0.12)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 09:45:00 -08:00
dependabot[bot]
9e7b5b9075 Bump golang.org/x/net from 0.6.0 to 0.7.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 08:57:13 -08:00
dependabot[bot]
f1d33f6cd6 Bump golang from 1.20.0 to 1.20.1
Bumps golang from 1.20.0 to 1.20.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 08:26:05 -08:00
dependabot[bot]
6809dee2a5 Bump alpine from 3.17.1 to 3.17.2
Bumps alpine from 3.17.1 to 3.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 09:41:03 -08:00
dependabot[bot]
86be74997a Bump golang.org/x/crypto from 0.5.0 to 0.6.0
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/crypto/releases)
- [Commits](https://github.com/golang/crypto/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 08:48:30 -08:00
dependabot[bot]
762d3d2018 Bump golang.org/x/net from 0.5.0 to 0.6.0
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/golang/net/releases)
- [Commits](https://github.com/golang/net/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-09 08:06:58 -08:00
dependabot[bot]
5f786b86c2 Bump google.golang.org/grpc from 1.52.3 to 1.53.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.3 to 1.53.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.52.3...v1.53.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-08 09:25:42 -08:00
dependabot[bot]
b8a7994b28 Bump golang from 1.19.5 to 1.20.0
Bumps golang from 1.19.5 to 1.20.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 09:13:49 -08:00
dependabot[bot]
c57ec32d50 Bump mkdocs-material from 9.0.8 to 9.0.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.8 to 9.0.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.8...9.0.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-07 09:00:02 -08:00
dependabot[bot]
8765e07bed Bump mkdocs-material from 9.0.6 to 9.0.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.6 to 9.0.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.6...9.0.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-30 08:55:35 -08:00
dependabot[bot]
635be79b3a Bump google.golang.org/grpc from 1.52.1 to 1.52.3
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.1 to 1.52.3.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.52.1...v1.52.3)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-26 09:16:03 -08:00
Dalton Hubble
5b1df675d8 Add fix to libvirt script and update README badges
* Workaround a bug in virt-install v4.1.0
* Replace Twitter badge with Mastodon badge

Rel: https://github.com/virt-manager/virt-manager/issues/426
2023-01-26 09:01:51 -08:00
dependabot[bot]
525521f5d8 Bump google.golang.org/grpc from 1.52.0 to 1.52.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.52.0 to 1.52.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.52.0...v1.52.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-25 08:13:42 -08:00
dependabot[bot]
743d34b056 Bump pymdown-extensions from 9.9.1 to 9.9.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9.1 to 9.9.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9.1...9.9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 09:04:43 -08:00
dependabot[bot]
c22f2620b6 Bump mkdocs-material from 9.0.5 to 9.0.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.5 to 9.0.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.5...9.0.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-23 08:58:18 -08:00
dependabot[bot]
66a40b563c Bump pymdown-extensions from 9.9 to 9.9.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.9 to 9.9.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.9...9.9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 10:17:03 -08:00
dependabot[bot]
bc2779b850 Bump mkdocs-material from 9.0.3 to 9.0.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.3 to 9.0.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.3...9.0.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-16 10:04:47 -08:00
dependabot[bot]
339dd19b05 Bump golang from 1.19.4 to 1.19.5
Bumps golang from 1.19.4 to 1.19.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-11 20:47:51 -08:00
dependabot[bot]
c9a3f915c5 Bump alpine from 3.17.0 to 3.17.1
Bumps alpine from 3.17.0 to 3.17.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-11 20:33:10 -08:00
dependabot[bot]
2eb8cb4074 Bump google.golang.org/grpc from 1.51.0 to 1.52.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.51.0 to 1.52.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.51.0...v1.52.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-11 20:26:41 -08:00
dependabot[bot]
2415ca968a Bump mkdocs-material from 9.0.0 to 9.0.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 9.0.0 to 9.0.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/9.0.0...9.0.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-10 08:44:41 -08:00
Dalton Hubble
acb0f1829c Update golang.org/x/crypto Go module dependency 2023-01-06 08:59:18 -08:00
dependabot[bot]
2ec8018c67 Bump github.com/coreos/butane from 0.16.0 to 0.17.0
Bumps [github.com/coreos/butane](https://github.com/coreos/butane) from 0.16.0 to 0.17.0.
- [Release notes](https://github.com/coreos/butane/releases)
- [Changelog](https://github.com/coreos/butane/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/butane/compare/v0.16.0...v0.17.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/butane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-05 08:16:57 -08:00
dependabot[bot]
ddbed0517f Bump mkdocs-material from 8.5.11 to 9.0.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.11 to 9.0.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Upgrade guide](https://github.com/squidfunk/mkdocs-material/blob/master/docs/upgrade.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.11...9.0.0)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 22:29:40 -08:00
dependabot[bot]
998ad6cc05 Bump pygments from 2.13.0 to 2.14.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.13.0 to 2.14.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.13.0...2.14.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-02 22:20:02 -08:00
Dalton Hubble
97b6aae19a Add opencontainer container image labels
* Allow automation tools to find the repo source, changelogs, and
other release information via container image labels
2022-12-07 08:04:58 -08:00
dependabot[bot]
981029bb0a Bump golang from 1.19.3 to 1.19.4
Bumps golang from 1.19.3 to 1.19.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-07 07:49:49 -08:00
dependabot[bot]
e4d5149278 Bump mkdocs-material from 8.5.10 to 8.5.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.10 to 8.5.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.10...8.5.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-05 09:20:50 -08:00
dependabot[bot]
5ec4cfba67 Bump pymdown-extensions from 9.8 to 9.9
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.8 to 9.9.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.8...9.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 08:54:51 -08:00
dependabot[bot]
d75881044e Bump google.golang.org/grpc from 1.50.1 to 1.51.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.1 to 1.51.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.50.1...v1.51.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-23 08:47:46 -08:00
dependabot[bot]
82a51f57b4 Bump alpine from 3.16.3 to 3.17.0
Bumps alpine from 3.16.3 to 3.17.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-23 08:11:59 -08:00
dependabot[bot]
5bcd401cc5 Bump pymdown-extensions from 9.7 to 9.8
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.7 to 9.8.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.7...9.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 18:47:40 -08:00
dependabot[bot]
6d8303fd58 Bump alpine from 3.16.2 to 3.16.3
Bumps alpine from 3.16.2 to 3.16.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 18:34:10 -08:00
dependabot[bot]
e7a60d7b7b Bump mkdocs-material from 8.5.8 to 8.5.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.8 to 8.5.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.8...8.5.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-14 18:26:31 -08:00
dependabot[bot]
241ca837db Bump mkdocs from 1.4.1 to 1.4.2
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.1 to 1.4.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.1...1.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 10:05:46 -08:00
dependabot[bot]
ca5c8061c0 Bump mkdocs-material from 8.5.7 to 8.5.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.7 to 8.5.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.7...8.5.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-07 09:36:23 -08:00
dependabot[bot]
d24d01e413 Bump golang from 1.19.2 to 1.19.3
Bumps golang from 1.19.2 to 1.19.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-03 09:38:35 -07:00
Dalton Hubble
205346a81d Enable deploybot.app auto-deploy to production
* When a commit on main passes tests, deploybot will start
a deploy to production
2022-10-29 14:27:33 -07:00
dependabot[bot]
6899e600b1 Bump github.com/spf13/cobra from 1.6.0 to 1.6.1
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-25 17:45:05 -07:00
dependabot[bot]
d863b0e0cd Bump mkdocs-material from 8.5.6 to 8.5.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.6 to 8.5.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.6...8.5.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 09:15:25 -07:00
dependabot[bot]
3c28d1f7f1 Bump pymdown-extensions from 9.6 to 9.7
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.6 to 9.7.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.6...9.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 09:09:24 -07:00
dependabot[bot]
30025c0cbf Bump github.com/stretchr/testify from 1.8.0 to 1.8.1
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.8.0 to 1.8.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.8.0...v1.8.1)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-24 09:03:41 -07:00
Dalton Hubble
1d83ba7364 Pin gopkg.in/yaml.v2 to v2.4.0
* gopkg.in/yaml.v2 2.2.8 has a minor CVE its still being indirectly
used through one of our dependencies
* Force MVS to use v2.4.0 instead
2022-10-17 09:32:50 -07:00
Dalton Hubble
71e81f9fc8 Remove gopkg.in/yaml.v2 from indirect version selection
* Update github.com/coreos/go-semver from v0.3.0 to 167f5da to
prevent it from using gopkg.in/yaml.v2 (CVE-2019-11254)

```
go mod why gopkg.in/yaml.v2
(main module does not need package gopkg.in/yaml.v2)
```
2022-10-17 09:21:24 -07:00
dependabot[bot]
9ea960fc2b Bump github.com/coreos/butane from 0.15.0 to 0.16.0
Bumps [github.com/coreos/butane](https://github.com/coreos/butane) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/coreos/butane/releases)
- [Changelog](https://github.com/coreos/butane/blob/main/docs/release-notes.md)
- [Commits](https://github.com/coreos/butane/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: github.com/coreos/butane
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 08:59:18 -07:00
dependabot[bot]
1f8c8f6397 Bump mkdocs from 1.4.0 to 1.4.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.4.0 to 1.4.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.4.0...1.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 08:45:25 -07:00
dependabot[bot]
139e7d0c03 Bump google.golang.org/grpc from 1.50.0 to 1.50.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.50.0 to 1.50.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.50.0...v1.50.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 08:36:32 -07:00
dependabot[bot]
dc40f3cd24 Bump github.com/spf13/cobra from 1.5.0 to 1.6.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.5.0...v1.6.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 17:10:37 -07:00
dependabot[bot]
cddcaa33ff Bump golang from 1.19.1 to 1.19.2
Bumps golang from 1.19.1 to 1.19.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-09 14:26:14 -07:00
dependabot[bot]
0af1425c36 Bump google.golang.org/grpc from 1.49.0 to 1.50.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.49.0 to 1.50.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.49.0...v1.50.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-09 14:11:10 -07:00
dependabot[bot]
481f428da7 Bump mkdocs-material from 8.5.3 to 8.5.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.3 to 8.5.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.3...8.5.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 15:33:13 -07:00
dependabot[bot]
c9c8158c27 Bump mkdocs from 1.3.1 to 1.4.0
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.3.1 to 1.4.0.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.3.1...1.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 14:48:29 -07:00
dependabot[bot]
bb1f2c7633 Bump pymdown-extensions from 9.5 to 9.6
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.5 to 9.6.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.5...9.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-03 07:14:32 -07:00
Dalton Hubble
e8b6a33bca Fix notable Go standard library warnings and deprecations
* Replace ioutil methods with equivalent io and os methods
* Remove unneccesary types from slice literals
* Update the minimum Go version to v1.18
2022-09-27 21:57:10 -07:00
dependabot[bot]
e21b16c9a4 Bump mkdocs-material from 8.5.2 to 8.5.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.5.2 to 8.5.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.5.2...8.5.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-26 08:07:51 -07:00
Dalton Hubble
726f64bd01 Update Fedora CoreOS examples to stable 36.20220906.3.2
* Pick up some recent bug fixes with root disks in QEMU setups
2022-09-25 21:46:08 -07:00
Dalton Hubble
3893b7f44d Allow Butane configs with basic Go templating
* Recommend preparing Ignition configs external to Matchbox (e.g.
with Terraform poseidon/terraform-provider-ct)
* Document that Matchbox Rendering is discouraged
* Add Butane Config support as a replacement for dropping Container
Linux Config support. Perform Matchbox Go template evaluation,
translation to Ignition, and parsing to a forward compatible version
2022-09-25 18:45:34 -07:00
Dalton Hubble
2301b48bcc Upgrade coreos/ignition to v2 and drop earlier versions
* Both Flatcar Linux and Fedora CoreOS now support Ignition v2
(spec v3.x) for machine consumption
* Drop support for Ignition v0.35.0 (Ignition spec v2.x)
* Drop support for Container Linux Configs (the YAML format that
rendered to Ignition v2.x JSON for Flatcar Linux)
2022-09-25 08:51:47 -07:00
Dalton Hubble
3787138fb2 Add a deploybot.yaml config file 2022-09-24 22:05:59 -07:00
dependabot[bot]
cff233c93e Bump mkdocs-material from 8.4.4 to 8.5.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.4 to 8.5.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.4...8.5.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-20 08:25:29 -07:00
dependabot[bot]
60ebb2eb3b Bump mkdocs-material from 8.4.2 to 8.4.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.2 to 8.4.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.2...8.4.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-14 07:42:51 -07:00
dependabot[bot]
c4a50cb804 Bump golang from 1.19.0 to 1.19.1
Bumps golang from 1.19.0 to 1.19.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-07 08:51:26 -07:00
Andrew Rothstein
44925727e5 gpg key hosted at www.flatcar.org now 2022-09-01 08:23:15 -07:00
dependabot[bot]
392e4fdfef Bump mkdocs-material from 8.4.1 to 8.4.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.1 to 8.4.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.1...8.4.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-29 09:36:22 -07:00
dependabot[bot]
1ac110cf71 Bump google.golang.org/grpc from 1.48.0 to 1.49.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.48.0 to 1.49.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.48.0...v1.49.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-25 09:19:22 -07:00
dependabot[bot]
828854b404 Bump mkdocs-material from 8.4.0 to 8.4.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.4.0 to 8.4.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.4.0...8.4.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 09:00:32 -07:00
dependabot[bot]
0866f15bd5 Bump pygments from 2.12.0 to 2.13.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.12.0 to 2.13.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.12.0...2.13.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-23 08:51:38 -07:00
dependabot[bot]
5280455637 Bump mkdocs-material from 8.3.9 to 8.4.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.9 to 8.4.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.9...8.4.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-15 08:19:12 -07:00
dependabot[bot]
d98164a330 Bump golang from 1.18.5 to 1.19.0
Bumps golang from 1.18.5 to 1.19.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-10 08:07:11 -07:00
dependabot[bot]
5146a78cb9 Bump alpine from 3.16.1 to 3.16.2
Bumps alpine from 3.16.1 to 3.16.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-10 07:19:39 -07:00
dependabot[bot]
e19f119a09 Bump golang from 1.18.4 to 1.18.5
Bumps golang from 1.18.4 to 1.18.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-02 09:23:50 -07:00
Dalton Hubble
82cd8461c9 Add v0.9.1 release notes and update docs
* Deprecate rendering Container Linux Configs
* Use tools like [poseidon/ct](https://github.com/poseidon/terraform-provider-ct) or
[butane](https://coreos.github.io/butane/getting-started/) to validate and convert a
Butane Config (`focs` or `flatcar`) to Ignition (for Matchbox to serve)
* Please migrate to serving CoreOS Ignition directly, the Container
Linux related HTTP and gRPC endpoints will be removed in future
2022-08-01 09:06:24 -07:00
Dalton Hubble
6dc47973a5 Update README and poseidon/matchbox provider in examples 2022-07-31 18:21:02 -07:00
Dalton Hubble
e59b2b7b55 Update Flatcar Linux examples and use Ignition
* Discontinue using Matchbox's Container Linux Config features
* Flatcar Linux OS now supports Ignition v2.13+ which means it
can accept Ignition v3.x spec's, like Fedora CoreOS. Matchbox
supports this by serving Ignition documents directly
* Users of the poseidon/matchbox Terraform provider can pass
a `matchbox_profile` `raw_ignition` contents with the desired
Ignition v3.3 spec
* Users of the poseidon/ct Terraform provider can write Butane
Config YAML, perform templating, and render an Ignition document
using either the fcos or the flatcar variant
2022-07-29 22:12:20 -07:00
Dalton Hubble
ed5ec02649 Fix GitHub Actions unit tests workflow
* Default branch was renamed from master to main
* Internal build and publishing workflows were unaffected,
the GitHub Action is just for public contribution vetting
2022-07-29 22:08:49 -07:00
Dalton Hubble
1f96cd36b2 Add initrd=main karg to examples and update QEMU/KVM setup
* Add initrd=main karg directive for UEFI (ignored by BIOS)
* Update Butane config version to v1.4.0 (generates Ignition v3.3.0)
in `fedora-coreos` and `fedora-coreos-install` examples
* Update virt-install flag --os-variant
* Removed virt-install deprecated flag --os-type
* Remove virt-install QEMU/KVM event preserve since it apparently
wasn't implemented anyway and QEMU/KVM now warns about it
* Remove serial consol kernel argument from examples, but still
mention it in docs

Rel:
* https://github.com/coreos/fedora-coreos-docs/pull/282
* https://www.spinics.net/linux/fedora/libvir/msg222078.html
2022-07-29 19:01:36 -07:00
Joe Doss
304d5a1563 Update iPXE example to match the FCOS documentation for booting with iPXE
https://docs.fedoraproject.org/en-US/fedora-coreos/bare-metal/#_installing_from_ipxe

Without these changes, the server will fail to boot with this error
/dev/root can't open blockdev
2022-07-29 19:00:23 -07:00
Dalton Hubble
98e27ac48b Add Github Pages CNAME file under docs 2022-07-20 08:52:42 -07:00
dependabot[bot]
bacde00ccd Bump mkdocs from 1.3.0 to 1.3.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.3.0 to 1.3.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.3.0...1.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 19:44:02 -07:00
dependabot[bot]
95999ab989 Bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0
Bumps [github.com/sirupsen/logrus](https://github.com/sirupsen/logrus) from 1.8.1 to 1.9.0.
- [Release notes](https://github.com/sirupsen/logrus/releases)
- [Changelog](https://github.com/sirupsen/logrus/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sirupsen/logrus/compare/v1.8.1...v1.9.0)

---
updated-dependencies:
- dependency-name: github.com/sirupsen/logrus
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 08:20:59 -07:00
dependabot[bot]
1532f25141 Bump alpine from 3.16.0 to 3.16.1
Bumps alpine from 3.16.0 to 3.16.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-19 07:52:37 -07:00
dependabot[bot]
947988e09f Bump golang from 1.18.3 to 1.18.4
Bumps golang from 1.18.3 to 1.18.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-15 19:10:39 -07:00
dependabot[bot]
62a6a6d8fc Bump google.golang.org/grpc from 1.47.0 to 1.48.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.47.0 to 1.48.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.47.0...v1.48.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-15 19:07:02 -07:00
Benjamin Gilbert
e993407d35 Update Fedora CoreOS docs link 2022-07-15 08:29:30 -07:00
Benjamin Gilbert
2f05a453f6 Drop legacy Fedora CoreOS kernel arguments
rd.neednet=1 is no longer needed by default.  Also, stop disabling
cgroups v2.
2022-07-15 08:29:30 -07:00
Benjamin Gilbert
70f6621044 Switch Fedora CoreOS to coreos.live.rootfs_url kernel argument
We still support passing the rootfs image as an appended initrd, but we
recommend using coreos.live.rootfs_url instead: it generally boots faster
and requires less RAM.
2022-07-15 08:29:30 -07:00
Benjamin Gilbert
43080bc486 Drop Fedora CoreOS metal image
When coreos-installer is running from the live image, it no longer needs
a separate install image, since by default it installs from content
embedded in the live system.
2022-07-15 08:29:30 -07:00
Benjamin Gilbert
0d01f2b3f1 Update Fedora CoreOS version to latest 2022-07-15 08:29:30 -07:00
dependabot[bot]
4c7eba2639 Bump mkdocs-material from 8.3.8 to 8.3.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.8 to 8.3.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.8...8.3.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-05 17:54:57 -07:00
dependabot[bot]
600f36edd4 Bump github.com/stretchr/testify from 1.7.5 to 1.8.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.5 to 1.8.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.5...v1.8.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-07-02 10:23:30 -07:00
dependabot[bot]
e10bcff97d Bump mkdocs-material from 8.3.6 to 8.3.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.6 to 8.3.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.6...8.3.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-29 08:11:01 -07:00
dependabot[bot]
25c2c0b169 Bump github.com/spf13/cobra from 1.4.0 to 1.5.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Commits](https://github.com/spf13/cobra/compare/v1.4.0...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-25 11:42:38 -07:00
dependabot[bot]
c39f6d7ce6 Bump github.com/stretchr/testify from 1.7.4 to 1.7.5
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.4 to 1.7.5.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.4...v1.7.5)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-25 09:38:11 -07:00
dependabot[bot]
2dc1a342c5 Bump github.com/stretchr/testify from 1.7.3 to 1.7.4
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.3 to 1.7.4.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.3...v1.7.4)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-21 07:46:03 -07:00
dependabot[bot]
1b5d668c38 Bump mkdocs-material from 8.3.5 to 8.3.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.5 to 8.3.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.5...8.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 11:53:52 -07:00
dependabot[bot]
6d4f482b51 Bump github.com/stretchr/testify from 1.7.2 to 1.7.3
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.2 to 1.7.3.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.2...v1.7.3)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-20 11:46:11 -07:00
dependabot[bot]
2e93c8637c Bump mkdocs-material from 8.3.2 to 8.3.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.3.2 to 8.3.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.3.2...8.3.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 22:58:52 -07:00
dependabot[bot]
7e55c55c37 Bump pymdown-extensions from 9.4 to 9.5
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.4 to 9.5.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.4...9.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-15 22:47:35 -07:00
dependabot[bot]
c9e8ee71e3 Bump mkdocs-material from 8.2.16 to 8.3.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.16 to 8.3.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.16...8.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 08:56:47 -07:00
dependabot[bot]
579065b08f Bump github.com/stretchr/testify from 1.7.1 to 1.7.2
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.1...v1.7.2)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 08:51:27 -07:00
dependabot[bot]
648937189a Bump golang from 1.18.2 to 1.18.3
Bumps golang from 1.18.2 to 1.18.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-03 09:18:31 +01:00
dependabot[bot]
ccc7ef095e Bump google.golang.org/grpc from 1.46.2 to 1.47.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.2 to 1.47.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.46.2...v1.47.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-02 10:55:15 +01:00
dependabot[bot]
3e4a33f8fe Bump mkdocs-material from 8.2.15 to 8.2.16
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.15 to 8.2.16.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.15...8.2.16)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-30 17:12:55 +01:00
dependabot[bot]
533045c0ff Bump mkdocs-material from 8.2.14 to 8.2.15
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.14 to 8.2.15.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.14...8.2.15)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-28 09:50:38 +01:00
dependabot[bot]
1a23d55d33 Bump alpine from 3.15.4 to 3.16.0
Bumps alpine from 3.15.4 to 3.16.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-25 18:33:37 +01:00
dependabot[bot]
cc66332a4f Bump google.golang.org/grpc from 1.46.0 to 1.46.2
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.46.0 to 1.46.2.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.46.0...v1.46.2)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-19 20:12:34 +01:00
dependabot[bot]
66bcdfbbec Bump golang from 1.18.1 to 1.18.2
Bumps golang from 1.18.1 to 1.18.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-19 19:08:55 +01:00
dependabot[bot]
6904fa694c Bump mkdocs-material from 8.2.13 to 8.2.14
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.13 to 8.2.14.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.13...8.2.14)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-09 09:20:43 -07:00
dependabot[bot]
614e1ef049 Bump mkdocs-material from 8.2.11 to 8.2.13
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.11 to 8.2.13.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.11...8.2.13)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-02 08:53:19 -07:00
Dalton Hubble
2cefc3f1d8 Update requirements.txt pypi packages 2022-04-25 08:45:49 -07:00
dependabot[bot]
6fd8359a8b Bump google.golang.org/grpc from 1.45.0 to 1.46.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.45.0 to 1.46.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.45.0...v1.46.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-25 07:34:15 -07:00
dependabot[bot]
53bf3b0703 Bump golang from 1.18.0 to 1.18.1
Bumps golang from 1.18.0 to 1.18.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-13 09:05:33 -07:00
dependabot[bot]
5447fcb7ba Bump mkdocs-material from 8.2.8 to 8.2.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.8 to 8.2.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.8...8.2.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-11 08:15:26 -07:00
dependabot[bot]
de0c2fb759 Bump alpine from 3.15.3 to 3.15.4
Bumps alpine from 3.15.3 to 3.15.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-10 09:16:19 -07:00
dependabot[bot]
0b073d70bd Bump alpine from 3.15.2 to 3.15.3
Bumps alpine from 3.15.2 to 3.15.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-29 07:17:28 -07:00
dependabot[bot]
f5e0536168 Bump mkdocs from 1.2.3 to 1.3.0
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.3 to 1.3.0.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.3...1.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 09:08:55 -07:00
dependabot[bot]
ec325f82ec Bump mkdocs-material from 8.2.5 to 8.2.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.5 to 8.2.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.5...8.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-28 09:03:38 -07:00
dependabot[bot]
302cace1dc Bump alpine from 3.15.1 to 3.15.2
Bumps alpine from 3.15.1 to 3.15.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-24 18:36:52 -07:00
dependabot[bot]
46430bf3f5 Bump pymdown-extensions from 9.2 to 9.3
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.2 to 9.3.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.2...9.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 09:56:07 -07:00
Dalton Hubble
b5df190a35 Add Go v1.18 to public Github Workflow
* Update Github Workflow `checkout` and `setup-go` actions
* Change `go get <tool>` to `go install <tool>`
* Remove Go v1.16
2022-03-18 21:05:01 -07:00
dependabot[bot]
721125ac95 Bump golang from 1.17.8 to 1.18.0
Bumps golang from 1.17.8 to 1.18.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 20:57:49 -07:00
dependabot[bot]
ab9ece68bc Bump alpine from 3.15.0 to 3.15.1
Bumps alpine from 3.15.0 to 3.15.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 17:48:00 -07:00
dependabot[bot]
f2a6e58a2e Bump github.com/stretchr/testify from 1.7.0 to 1.7.1
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.7.0...v1.7.1)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-17 17:41:55 -07:00
dependabot[bot]
603f33aa26 Bump mkdocs-material from 8.2.3 to 8.2.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.3 to 8.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.3...8.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 12:16:51 -08:00
dependabot[bot]
1ab6b0ea08 Bump google.golang.org/grpc from 1.44.0 to 1.45.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.44.0 to 1.45.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.44.0...v1.45.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 10:03:25 -08:00
dependabot[bot]
1d2fd41cb2 Bump github.com/spf13/cobra from 1.3.0 to 1.4.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/v1.3.0...v1.4.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 09:59:46 -08:00
dependabot[bot]
b111628b01 Bump golang from 1.17.7 to 1.17.8
Bumps golang from 1.17.7 to 1.17.8.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 09:55:12 -08:00
dependabot[bot]
a4f74757d7 Bump mkdocs-material from 8.2.1 to 8.2.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.2.1 to 8.2.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.2.1...8.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-28 09:36:31 -08:00
dependabot[bot]
c0099271d2 Bump mkdocs-material from 8.1.11 to 8.2.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.11 to 8.2.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.11...8.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 09:53:31 -08:00
dependabot[bot]
cc96609323 Bump pymdown-extensions from 9.1 to 9.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.1 to 9.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.1...9.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 11:07:44 -08:00
dependabot[bot]
b928ba05a4 Bump mkdocs-material from 8.1.10 to 8.1.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.10 to 8.1.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.10...8.1.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-14 10:52:59 -08:00
dependabot[bot]
0eaa794c9f Bump golang from 1.17.6 to 1.17.7
Bumps golang from 1.17.6 to 1.17.7.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-12 14:09:57 -08:00
dependabot[bot]
4a7e07dc86 Bump mkdocs-material from 8.1.9 to 8.1.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.9 to 8.1.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.9...8.1.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-07 08:19:18 -08:00
dependabot[bot]
30fc0b1a10 Bump mkdocs-material from 8.1.8 to 8.1.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.8 to 8.1.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.8...8.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-31 08:58:15 -08:00
sedlund
2d55773119 fix broken links and spelling 2022-01-27 16:33:06 -08:00
dependabot[bot]
eb2c9e97af Bump mkdocs-material from 8.1.7 to 8.1.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.7 to 8.1.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.7...8.1.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-27 09:25:22 -08:00
dependabot[bot]
20f7237cf2 Bump google.golang.org/grpc from 1.43.0 to 1.44.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.43.0 to 1.44.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.43.0...v1.44.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-27 09:01:25 -08:00
dependabot[bot]
ae3c41337e Bump mkdocs-material from 8.1.5 to 8.1.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.5 to 8.1.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.5...8.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-19 16:42:28 -08:00
dependabot[bot]
07f090640a Bump pygments from 2.11.1 to 2.11.2
Bumps [pygments](https://github.com/pygments/pygments) from 2.11.1 to 2.11.2.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.11.1...2.11.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 09:16:56 -08:00
dependabot[bot]
f8d02429ca Bump mkdocs-material from 8.1.4 to 8.1.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.4 to 8.1.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.4...8.1.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-13 09:03:50 -08:00
dependabot[bot]
189018f2e5 Bump golang from 1.17.5 to 1.17.6
Bumps golang from 1.17.5 to 1.17.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-07 09:45:41 -08:00
dependabot[bot]
608bc4b93f Bump pygments from 2.10.0 to 2.11.1
Bumps [pygments](https://github.com/pygments/pygments) from 2.10.0 to 2.11.1.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.10.0...2.11.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 10:47:52 -08:00
dependabot[bot]
a3ebe72265 Bump mkdocs-material from 8.1.3 to 8.1.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.3 to 8.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.3...8.1.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2022-01-03 10:43:26 -08:00
dependabot[bot]
99fc47a3c0 Bump mkdocs-material from 8.1.0 to 8.1.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.1.0 to 8.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.1.0...8.1.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-27 14:58:26 -08:00
dependabot[bot]
8e97a0dfee Bump google.golang.org/grpc from 1.42.0 to 1.43.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.42.0 to 1.43.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.42.0...v1.43.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-15 08:17:34 -08:00
dependabot[bot]
49652579bc Bump github.com/spf13/cobra from 1.2.1 to 1.3.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/v1.2.1...v1.3.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-15 07:58:14 -08:00
dependabot[bot]
fe5fd89a86 Bump mkdocs-material from 8.0.4 to 8.1.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.0.4 to 8.1.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.0.4...8.1.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-13 17:36:39 -08:00
dependabot[bot]
4798c5a98a Bump golang from 1.17.4 to 1.17.5
Bumps golang from 1.17.4 to 1.17.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-11 09:40:28 -08:00
dependabot[bot]
fc378149ee Bump mkdocs-material from 8.0.3 to 8.0.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 8.0.3 to 8.0.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/8.0.3...8.0.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-07 15:16:55 -08:00
dependabot[bot]
8ae6cd654e Bump golang from 1.17.3 to 1.17.4
Bumps golang from 1.17.3 to 1.17.4.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-06 09:50:14 -08:00
dependabot[bot]
07633ef73e Bump mkdocs-material from 7.3.6 to 8.0.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.6 to 8.0.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Upgrade guide](https://github.com/squidfunk/mkdocs-material/blob/master/docs/upgrade.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.6...8.0.3)

---
updated-dependencies:
- dependency-name: mkdocs-material
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-12-02 15:23:40 -08:00
dependabot[bot]
9422f8ece5 Bump alpine from 3.14.3 to 3.15.0
Bumps alpine from 3.14.3 to 3.15.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-28 16:35:26 -08:00
dependabot[bot]
b017a68268 Bump pymdown-extensions from 9.0 to 9.1
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 9.0 to 9.1.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/9.0...9.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 08:07:39 -08:00
dependabot[bot]
c5182bb038 Bump alpine from 3.14.2 to 3.14.3
Bumps alpine from 3.14.2 to 3.14.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-15 08:03:32 -08:00
dependabot[bot]
710ed88e05 Bump mkdocs-material from 7.3.4 to 7.3.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.4 to 7.3.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.4...7.3.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 17:01:26 -08:00
dependabot[bot]
0b8c8df913 Bump google.golang.org/grpc from 1.41.0 to 1.42.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.41.0 to 1.42.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.41.0...v1.42.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 16:46:36 -08:00
dependabot[bot]
d1d410641e Bump golang from 1.17.2 to 1.17.3
Bumps golang from 1.17.2 to 1.17.3.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-11-07 16:38:30 -08:00
dependabot[bot]
7f6ea37400 Bump mkdocs-material from 7.3.2 to 7.3.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.2 to 7.3.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.2...7.3.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-23 10:45:53 -07:00
dependabot[bot]
634508fc8e Bump mkdocs from 1.2.2 to 1.2.3
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.2...1.2.3)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-23 10:32:16 -07:00
dependabot[bot]
55c68b7955 Bump mkdocs-material from 7.3.1 to 7.3.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.1...7.3.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 09:18:34 -07:00
dependabot[bot]
49984f68e7 Bump golang from 1.17.1 to 1.17.2
Bumps golang from 1.17.1 to 1.17.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-11 08:35:13 -07:00
Dalton Hubble
bd9f53ac4e Update Go matrix to add v1.17
* Add Go v1.17
2021-10-04 21:21:56 -07:00
dependabot[bot]
2918a228ce Bump mkdocs-material from 7.3.0 to 7.3.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.3.0 to 7.3.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.3.0...7.3.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 21:07:40 -07:00
dependabot[bot]
70dbf35386 Bump pymdown-extensions from 8.2 to 9.0
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 8.2 to 9.0.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/8.2...9.0)

---
updated-dependencies:
- dependency-name: pymdown-extensions
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-10-04 21:01:13 -07:00
dependabot[bot]
3421c98e30 Bump mkdocs-material from 7.2.8 to 7.3.0
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.8 to 7.3.0.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.8...7.3.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 20:43:28 -07:00
dependabot[bot]
b19885110c Bump google.golang.org/grpc from 1.40.0 to 1.41.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.40.0 to 1.41.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.40.0...v1.41.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-27 11:02:53 -07:00
dependabot[bot]
dfc04155fc Bump mkdocs-material from 7.2.6 to 7.2.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.6 to 7.2.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.6...7.2.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-21 08:58:58 -07:00
dependabot[bot]
3154973f22 Bump mkdocs-material from 7.2.5 to 7.2.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.5 to 7.2.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.5...7.2.6)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-11 12:48:46 -07:00
dependabot[bot]
a73f6262f8 Bump golang from 1.17.0 to 1.17.1
Bumps golang from 1.17.0 to 1.17.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-11 10:41:38 -07:00
dependabot[bot]
28804d8d7f Bump alpine from 3.14.1 to 3.14.2
Bumps alpine from 3.14.1 to 3.14.2.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-31 17:50:20 -07:00
dependabot[bot]
d2460fa3e2 Bump mkdocs-material from 7.2.4 to 7.2.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.4 to 7.2.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.4...7.2.5)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-31 17:34:09 -07:00
dependabot[bot]
ea7527983a Bump golang from 1.16.7 to 1.17.0
Bumps golang from 1.16.7 to 1.17.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-18 21:00:32 -07:00
dependabot[bot]
587020d37d Bump pygments from 2.9.0 to 2.10.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.9.0 to 2.10.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.9.0...2.10.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 11:47:20 -07:00
dependabot[bot]
a95404c459 Bump mkdocs-material from 7.2.2 to 7.2.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.2.2 to 7.2.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.2.2...7.2.4)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-16 11:40:38 -07:00
dependabot[bot]
831c055211 Bump google.golang.org/grpc from 1.39.1 to 1.40.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.1 to 1.40.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.39.1...v1.40.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-13 17:50:37 -07:00
dependabot[bot]
c0bf4dc4c4 Bump alpine from 3.14.0 to 3.14.1
Bumps alpine from 3.14.0 to 3.14.1.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-10 20:09:25 -07:00
dependabot[bot]
669963e74e Bump google.golang.org/grpc from 1.39.0 to 1.39.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.39.0 to 1.39.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.39.0...v1.39.1)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 11:52:29 -07:00
dependabot[bot]
35ed7ca879 Bump golang from 1.16.6 to 1.16.7
Bumps golang from 1.16.6 to 1.16.7.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-07 11:42:21 -07:00
dependabot[bot]
4347790ea7 Bump mkdocs-material from 7.1.11 to 7.2.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.11 to 7.2.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.11...7.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-02 19:22:23 -07:00
dependabot[bot]
890ebdcc1a Bump mkdocs-material from 7.1.10 to 7.1.11
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.10 to 7.1.11.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.10...7.1.11)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 11:04:24 -07:00
dependabot[bot]
d665e09c1e Bump mkdocs from 1.2.1 to 1.2.2
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.2.1...1.2.2)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-19 10:57:07 -07:00
dependabot[bot]
41a44f9d01 Bump golang from 1.16.5 to 1.16.6
Bumps golang from 1.16.5 to 1.16.6.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-14 13:24:12 -07:00
dependabot[bot]
1ca91a6288 Bump mkdocs-material from 7.1.9 to 7.1.10
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.9 to 7.1.10.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.9...7.1.10)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-12 19:11:02 -07:00
dependabot[bot]
6d6d077478 Bump github.com/spf13/cobra from 1.2.0 to 1.2.1
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-06 14:46:25 -07:00
dependabot[bot]
769b82e14c Bump google.golang.org/grpc from 1.38.0 to 1.39.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.38.0 to 1.39.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.38.0...v1.39.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-04 09:50:14 -07:00
dependabot[bot]
3378f237f9 Bump github.com/spf13/cobra from 1.1.3 to 1.2.0
Bumps [github.com/spf13/cobra](https://github.com/spf13/cobra) from 1.1.3 to 1.2.0.
- [Release notes](https://github.com/spf13/cobra/releases)
- [Changelog](https://github.com/spf13/cobra/blob/master/CHANGELOG.md)
- [Commits](https://github.com/spf13/cobra/compare/v1.1.3...v1.2.0)

---
updated-dependencies:
- dependency-name: github.com/spf13/cobra
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-04 09:44:24 -07:00
dependabot[bot]
e29da3c5db Bump mkdocs-material from 7.1.8 to 7.1.9
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.8 to 7.1.9.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.8...7.1.9)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-29 22:25:30 -07:00
Rui Lopes
fc8e260b88 Fix markdown url typo (#859) 2021-06-27 14:02:26 -07:00
dependabot[bot]
349838b849 Bump alpine from 3.13 to 3.14.0
Bumps alpine from 3.13 to 3.14.0.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-16 11:06:13 -07:00
dependabot[bot]
1ccec3d1ca Bump mkdocs-material from 7.1.7 to 7.1.8
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.7 to 7.1.8.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.7...7.1.8)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 15:06:22 -07:00
dependabot[bot]
c294e6ad88 Bump mkdocs from 1.1.2 to 1.2.1
Bumps [mkdocs](https://github.com/mkdocs/mkdocs) from 1.1.2 to 1.2.1.
- [Release notes](https://github.com/mkdocs/mkdocs/releases)
- [Commits](https://github.com/mkdocs/mkdocs/compare/1.1.2...1.2.1)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-14 15:01:57 -07:00
dependabot[bot]
0def20088a Bump mkdocs-material from 7.1.6 to 7.1.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.6 to 7.1.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.6...7.1.7)

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-07 09:43:38 -07:00
dependabot[bot]
74bcedebda Bump golang from 1.16.4 to 1.16.5
Bumps golang from 1.16.4 to 1.16.5.

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

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-04 13:24:14 -07:00
dependabot[bot]
958add8da7 Bump mkdocs-material from 7.1.5 to 7.1.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.5 to 7.1.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.5...7.1.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 14:38:42 -07:00
dependabot[bot]
acb9513544 Bump mkdocs-material from 7.1.4 to 7.1.5
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.4 to 7.1.5.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.4...7.1.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 11:54:35 -07:00
dependabot[bot]
ba4e489369 Bump google.golang.org/grpc from 1.37.1 to 1.38.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.37.1 to 1.38.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.37.1...v1.38.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-23 10:46:43 -07:00
dependabot[bot]
d6bb21d585 Bump google.golang.org/grpc from 1.37.0 to 1.37.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.37.0 to 1.37.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.37.0...v1.37.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 11:08:25 -07:00
dependabot[bot]
d5ffa7309c Bump pymdown-extensions from 8.1.1 to 8.2
Bumps [pymdown-extensions](https://github.com/facelessuser/pymdown-extensions) from 8.1.1 to 8.2.
- [Release notes](https://github.com/facelessuser/pymdown-extensions/releases)
- [Commits](https://github.com/facelessuser/pymdown-extensions/compare/8.1.1...8.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 14:36:29 -07:00
dependabot[bot]
b4810a355f Bump mkdocs-material from 7.1.3 to 7.1.4
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.3 to 7.1.4.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.3...7.1.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 14:36:23 -07:00
dependabot[bot]
4892db2843 Bump golang from 1.16.3 to 1.16.4
Bumps golang from 1.16.3 to 1.16.4.

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-07 11:15:31 -07:00
dependabot[bot]
d5d5455768 Bump pygments from 2.8.1 to 2.9.0
Bumps [pygments](https://github.com/pygments/pygments) from 2.8.1 to 2.9.0.
- [Release notes](https://github.com/pygments/pygments/releases)
- [Changelog](https://github.com/pygments/pygments/blob/master/CHANGES)
- [Commits](https://github.com/pygments/pygments/compare/2.8.1...2.9.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-05 11:33:31 -07:00
dependabot[bot]
6e0a03a9e5 Bump mkdocs-material from 7.1.2 to 7.1.3
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.2 to 7.1.3.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.2...7.1.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-26 10:34:55 -07:00
dependabot[bot]
5494009cee Bump mkdocs-material from 7.1.1 to 7.1.2
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.1.1 to 7.1.2.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.1.1...7.1.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-23 14:26:41 -07:00
dependabot[bot]
87ffc2368f Bump mkdocs-material from 7.0.7 to 7.1.1
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.0.7 to 7.1.1.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.0.7...7.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-12 01:11:20 -07:00
dependabot[bot]
da831145ed Bump google.golang.org/grpc from 1.36.1 to 1.37.0
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.36.1 to 1.37.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.36.1...v1.37.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-12 01:11:03 -07:00
Dalton Hubble
3b75307565 Move poseidon/dnsmasq to its own repository
* Move the source for building the poseidon/dnsmasq
container image to github.com/poseidon/dnsmasq
* https://github.com/poseidon/dnsmasq
2021-04-04 10:32:55 -07:00
dependabot[bot]
df029a9827 Bump golang from 1.16.2 to 1.16.3
Bumps golang from 1.16.2 to 1.16.3.

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-04 10:22:53 -07:00
dependabot[bot]
c4479ee021 Bump mkdocs-material from 7.0.6 to 7.0.7
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.0.6 to 7.0.7.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.0.6...7.0.7)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-31 23:58:45 -07:00
dependabot[bot]
77c966aee4 Bump github.com/golang/protobuf from 1.5.1 to 1.5.2
Bumps [github.com/golang/protobuf](https://github.com/golang/protobuf) from 1.5.1 to 1.5.2.
- [Release notes](https://github.com/golang/protobuf/releases)
- [Commits](https://github.com/golang/protobuf/compare/v1.5.1...v1.5.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-31 23:58:27 -07:00
dependabot[bot]
639bc9b94b Bump google.golang.org/grpc from 1.36.0 to 1.36.1
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.36.0 to 1.36.1.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.36.0...v1.36.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-28 09:47:31 -07:00
dependabot[bot]
14a1b67f78 Bump mkdocs-material from 7.0.5 to 7.0.6
Bumps [mkdocs-material](https://github.com/squidfunk/mkdocs-material) from 7.0.5 to 7.0.6.
- [Release notes](https://github.com/squidfunk/mkdocs-material/releases)
- [Changelog](https://github.com/squidfunk/mkdocs-material/blob/master/docs/changelog.md)
- [Commits](https://github.com/squidfunk/mkdocs-material/compare/7.0.5...7.0.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-20 10:58:35 -07:00
dependabot[bot]
ba362ba003 Bump golang from 1.15.8 to 1.16.2
Bumps golang from 1.15.8 to 1.16.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-20 10:53:27 -07:00
Dalton Hubble
1dcb6fdd25 Add dependabot Go/docker/PyPi watchers
* Check for Go module and Dockerfile updates
* Check for mkdocs PyPi updates (for docs site) weekly
2021-03-20 10:03:09 -07:00
Dalton Hubble
fc0f3eb144 Update Go module dependencies 2021-03-19 17:05:08 -07:00
Dalton Hubble
f65829e161 Add Go v1.16 to the test matrix 2021-03-19 16:46:32 -07:00
Dalton Hubble
18a84ff091 Remove vendored Go module dependencies
* Looking at enabling some update automation, the clarity of
using non-vendored Go modules/checksums outweighs the risk
of a module disappearing (mitigated by proxies)
2021-03-19 16:30:19 -07:00
Dalton Hubble
21bcc46015 Update docs pypi dependencies 2021-03-07 16:47:36 -08:00
Dalton Hubble
d081cf30d3 Update Fedora CoreOS examples for 33.20210117.3.2
* Update Fedora CoreOS live PXE and disk install examples to
Fedora 33
* Increase libvirt VM memory from 2GB to 3GB to support live
PXE example, which is mostly just for laptop examples/demos.
Reduce the VM count from 3 to 2 to compensate.
* Change `fedora-coreos.ign` to suggest using an ed25519 SSH
key since Fedora CoreOS 33 disables RSA SHA1 (256 is still ok
but most people won't know which they have)
2021-02-16 21:11:55 -08:00
Dalton Hubble
d40d895ab5 Update Go version and alpine base image
* Update Go from v1.15.3 to v1.15.8
* Update alpine base from v3.12 to v3.13
2021-02-07 22:29:03 -08:00
Dalton Hubble
b0e69b494e Update terraform-provider-ct from v0.6.1 to v0.7.1 2020-12-12 12:18:33 -08:00
Dalton Hubble
4d8e2f74ea Update mkdocs-material from v6.1.0 to v6.1.2 2020-11-01 16:43:26 -08:00
Dalton Hubble
bee3be97fc Update Go version from v1.14.9 to v1.15.3
* https://golang.org/doc/devel/release.html#go1.15
2020-11-01 16:19:09 -08:00
Dalton Hubble
d1f14f0f76 Mention multi-arch container images in CHANGES 2020-10-28 20:39:14 -07:00
Dalton Hubble
f7a7d63d91 Fix dirty version in recent container images
* Avoid dockerignore'ing source files, since this
means a `COPY . /src` and git status (e.g. make)
will detect the commit state as dirty/deletions
2020-10-28 18:09:15 -07:00
Spencer Owen
2ee42c7230 Fix gRPC API link in README (#821) 2020-10-28 17:40:31 -07:00
Dalton Hubble
fad3fe18cb Use multi-stage Dockerfile for image build
* Go build the Matchbox binary in the container image
in a docker.io/golang builder stage rather building
the binary separately
2020-10-23 01:03:33 -07:00
Dalton Hubble
e0ba049931 Fix indentation in docs/index.md tutorials
* Update mkdocs-material from v6.0.2 to v6.1.0
2020-10-17 13:58:49 -07:00
Dalton Hubble
68e4900abe Reset QEM/KVM memory to 2GB for local nodes
* https://github.com/coreos/fedora-coreos-docs/pull/196
2020-10-15 20:10:59 -07:00
Dalton Hubble
ff7112e9d3 Improve deployment docs, prep for release v0.9.0
* Update deployment docs to target Fedora CoreOS and Flatcar Linux
* Remove redundant systemd units
2020-10-14 23:00:34 -07:00
Dalton Hubble
04f1c32ba2 Refresh Terraform examples and docs
* Update Terraform examples to use Terraform v0.13
* Refresh examples to show Fedora CoreOS and Flatcar Linux
* Remove the etcd3 example, not worth it to maintain
2020-10-14 03:30:12 -07:00
Dalton Hubble
da0df01763 Refresh manual examples and local QEMU/KVM docs
* Refactor examples to boot provision minimal hosts
with Fedora CoreOS or Flatcar Linux
* Remove the etcd3 cluster example or other specific
kinds of hosts
* Update script get-fedora-coreos
* Remove script get-coreos
2020-10-14 02:36:03 -07:00
Dalton Hubble
dadca25978 Fix dnsmasq container image build
* Remove grub.efi, Container Linux images are EOL and
have been removed
2020-10-12 00:36:24 -07:00
Dalton Hubble
2b04912307 Replace Travis CI with Github Actions
* Add test workflow with Go matrix
* Fix Quay image registry badge
2020-10-12 00:22:40 -07:00
Dalton Hubble
4fc5703558 Update mkdocs-material from v5.5.1 to v5.5.12
* Add missing copyright footer info
2020-09-10 23:32:49 -07:00
Dalton Hubble
e6b10e13dc Update mkdocs-material from v5.4.0 to v5.5.1 2020-08-02 15:22:45 -07:00
Dalton Hubble
44db881f05 Update mkdocs-material from v5.3.3 to v5.4.0 2020-07-15 22:02:25 -07:00
Dalton Hubble
5a1fa28d82 Update mkdocs-material from v5.3.0 to v5.3.3 2020-06-26 02:25:05 -07:00
Dalton Hubble
c91baffe0e Update mkdocs-material from v5.2.2 to v5.3.0
* Update other docs packages as well
2020-06-16 18:14:32 -07:00
Spencer Owen
5b61bc9c93 Change simple-install syntax for Terraform v0.12 (#804)
* Switch selector blocks to assignments for Terraform v0.12
2020-06-16 18:05:22 -07:00
Dalton Hubble
cf17df0aea Remove matchbox.spec RPM and Copr docs
* Matchbox is published as a binary or container image,
not planning to resume RPM/Copr publishing since its a
pain
* Publishing to Copr repo stopped in v0.6 (3 years ago)
2020-06-05 16:13:56 -07:00
Dalton Hubble
31b1ab20b7 Update alpine base image from v3.11 to v3.12 2020-06-03 21:59:26 -07:00
Dalton Hubble
705d3402b6 Change dnsmasq container image publishing
* Use our own infra to perform image builds and push images. Provides
  future options for publishing images to multiple image registries and
for multiple architectures, while keeping push permissions in-house
* Remove Travis ability to push to Quay
* Consider splitting repo and also enabling Quay automated builds
2020-06-03 13:27:34 -07:00
Dalton Hubble
3f6cde1cd5 Fix Github issue template location
* Issue templates must be nested inside .github/ISSUE_TEMPLATE
2020-05-31 16:09:42 -07:00
Dalton Hubble
48d61a02e6 Add Github issue template for bug reports
* Add standard poisedon bug report template and a
link for reporting security issues
2020-05-31 15:52:09 -07:00
Dalton Hubble
8c5b9dd6c6 Add Go v1.14 test coverage and CHANGES notes
* Remove Go v1.11 test coverage
2020-05-31 15:35:08 -07:00
Dalton Hubble
d007c64a5f Change Matchbox container image publishing
* Use our own infra to perform image builds and push images.
Provides future options for publishing images to multiple
image registries and for multiple architectures, while keeping
push permissions in-house
* Remove Travis ability to push to Quay
* Use Travis only for Go tests of Pull Requests
2020-05-31 14:59:51 -07:00
Dalton Hubble
ec1baf0aef Update mkdocs-material from v5.2.0 to v5.2.2 2020-05-27 21:39:48 -07:00
Dalton Hubble
b557654995 Upgrade mkdocs-material from v4.6.2 to v5.2.0
* https://github.com/squidfunk/mkdocs-material/releases/tag/5.2.0
2020-05-22 00:19:34 -07:00
Steve Miller
496e8e725d Update Kubernetes manifests (#791)
* Bump Kubernetes Deployment and Ingress API versions
2020-04-26 13:53:33 -07:00
Dalton Hubble
2de7d5af6c Fix contrib/dnsmasq links
* Either link to the Quay.io image or directly to the source
code contrib folder
* Close https://github.com/poseidon/matchbox/issues/789
2020-04-10 18:26:16 -07:00
Barak Michener
7ba809adf4 Add contrib/k8s to release tarball (#788)
The docs suggest it is (https://matchbox.psdn.io/deployment/#kubernetes) but they aren't there. They're only in the git checkout. Which is fine, but for consistency.
2020-03-24 23:11:56 -07:00
marcelo-martins
be10339429 Add ppc64le build to Makefile (#787) 2020-02-22 15:25:21 -08:00
Dalton Hubble
81341e4923 Update base container image from alpine:3.10 to alpine:3.11
* Add `make image` and `make push` targets to use rootless
buildah for regular development. Retain docker build for
Travis CI
2020-02-08 15:54:19 -08:00
Dalton Hubble
90a91f7306 Update get-fedora-coreos convenience script
* Refer to Fedora CoreOS 31 download paths
* https://github.com/poseidon/typhoon/pull/624
2020-02-08 15:35:28 -08:00
Dalton Hubble
3767ef93cb Update docs generation packages
* Update mkdocs-material from v4.6.0 to v4.6.2
2020-02-08 15:19:01 -08:00
Dalton Hubble
dcf099591e Update mkdocs-material from v4.5.1 to v4.6.0 2019-12-14 15:01:54 -08:00
Dalton Hubble
fa499ec1b8 Update mkdocs-material from v4.5.0 to v4.5.1 2019-12-02 21:22:16 -08:00
Dalton Hubble
97eda57303 Bump outdated release version in docs and examples
* Update release versions within the project. Plan to bump
with every release
2019-11-25 23:12:10 -08:00
Dalton Hubble
1fdae1d073 Vendor Go module dependencies 2019-11-25 23:00:22 -08:00
Dalton Hubble
8458357f35 Update Go module dependencies
* Exclude coreos-cloudinit, it currently relies on a missing library
2019-11-25 22:59:51 -08:00
Dalton Hubble
6593da7ef8 Vendor Go module dependencies 2019-11-24 14:59:09 -08:00
Dalton Hubble
26b5055f2f Use a container image for protobuf code generation
* Use `quay.io/dghubble/protoc` as the standard codegen
environment across projects. Pin a version (v3.10.1)
* Generated code is now automatically ignored by golint
based on the comment header, which will simplify linting
* Upgrade protobuf from 2bba0603135d to v1.3.2
* Upgrade grpc from v1.2.1 to v1.25.1
* Remove `get-protoc` and `codegen` scripts
2019-11-24 14:58:03 -08:00
Dalton Hubble
991c841046 Remove Makefile verbose diff output 2019-11-24 14:06:29 -08:00
Dalton Hubble
998eeaa1d0 Set go 1.13 in go.mod to avoid a diff at build
* `go` modifies `go.mod` during the build to add `go 1.13`,
which causes the build to be considered dirty
2019-11-24 13:33:13 -08:00
Dalton Hubble
873f053d10 Add verbose version output in Makefile
* Inspect why Travis builds may still show a diff
2019-11-24 13:19:44 -08:00
Dalton Hubble
82e97ed654 Disable Go modules while installing golint tool on Travis
* Travis creates a Go v1.13.4 environment, checks out the source
repo, and _then_ executes the `install` block to install `golint`
* With module-aware Go, this means installing `golint` caused a
diff, before the Matchbox `make` target was invoked. Builds were
correctly identified as "dirty" as a result
* Release tags v0.8.1 and v0.8.2 have been removed to avoid any
confusion. Container images with binaries considered dirty have
been removed as well
2019-11-24 12:59:39 -08:00
Dalton Hubble
e1de1ac938 Update next release version to v0.8.2 2019-11-23 16:29:10 -08:00
Dalton Hubble
515afcbb1d Inspect Makefile VERSION detection finding dirty 2019-11-23 16:02:59 -08:00
Dalton Hubble
97fb6b302c Fix links to Documentation to new docs directory 2019-11-23 15:38:28 -08:00
Dalton Hubble
bf04fa30ad Update Go version from v1.12.10 to v1.13.4
* Use Go version v1.13.4 in Travis image builds and
for building release binaries
2019-11-23 15:20:30 -08:00
Dalton Hubble
de0b88839c Add mkdocs generator, docs layout, and publish docs
* Publish matchbox docs to https://matchbox.psdn.io
* Remove references to https://coreos.com/matchbox/docs
2019-11-23 15:09:33 -08:00
Ruben Koster
f2f00b6d0e Fix typo in dnsmasq example (#767) 2019-10-31 01:44:29 -07:00
Ruben Koster
117d6d07e2 Document dnsmasq uefi chainloading in proxy mode (#768)
* Add dnsmasq flags to chainload UEFI to ipxe.efi
2019-10-31 01:43:42 -07:00
Dalton Hubble
c68f411910 Update Go versions for build and test matrix
* Build matchbox with Go v1.12.10
* Add go v1.13.x to the test matrix
* Drop Go v1.10.x from the test matrix
2019-10-06 22:49:50 -07:00
Dalton Hubble
a0b24a9596 Remove rkt tutorials, docs, and scripts
* rkt achieved its mission creating the OCI standard,
pluggable runtimes, and prevented Docker world
domination. We can now proceed with disarmament
* Few, if any, developers still use rkt locally
2019-10-06 22:28:39 -07:00
Dalton Hubble
0b56acf884 Remove node4 from the local QEMU/KVM setup 2019-10-06 21:49:40 -07:00
Dalton Hubble
ec55f43cdf Add get-fedora-coreos script to download files
* Download kernel, initramfs, and raw image needed
for cached installs of Fedora CoreOS
2019-10-06 16:34:09 -07:00
Dalton Hubble
c07eb9aaba Update base image from alpine:3.9 to alpine:3.10 2019-07-16 00:49:40 -07:00
Dalton Hubble
a7d19dfdd2 Remove Kubernetes cluster provisioning examples
* Matchbox examples should be simple and educational to
show how to PXE provision machines into clusters. Today,
these goals are achieved well enough by the 3-node etcd
cluster example
* Several years ago, I put together examples PXE booting
Kubernetes clusters with Matchbox. That was before we wrote
Tectonic or Kubernetes was as popular as it is. Today, a
Kubernetes distro is a project in its own right. It no
longer makes sense to maintain (duplicate) a Kubernetes
distro as "an example" inside Matchbox.
* Matchbox is now used for Kubernetes cluster provisioning in
more organizations than ever. It backs the poseidon/Typhoon and
kinvolk/Locomotive distros. These both serve as great external
examples of using Matchbox to provision Kubernetes clusters

Attention: If you relied on Matchbox Kubernetes docs, you can
find a similar guide at https://typhoon.psdn.io/cl/bare-metal/
(same author). https://github.com/poseidon/typhoon/
2019-07-07 23:17:33 -07:00
Dalton Hubble
908e89c3a1 Stop referencing outdated coreos/dnsmasq image
* Use the quay.io/poseidon/dnsmasq image, which receives
periodic updates. The coreos/dnsmasq image is outdated
* https://github.com/poseidon/matchbox/issues/712
2019-07-07 23:01:42 -07:00
Dalton Hubble
0626163494 Remove links to CoreOS Tectonic product
* Stop linking to the now deprecated CoreOS Tectonic Enterprise
Kubernetes product or tailored examples
2019-05-27 00:59:38 -07:00
Dalton Hubble
b4f5e574a2 Remove CoreOS specific files and coreos emails
* Remove files that are unused or refer to CoreOS policies
or points of contact that no longer apply
* Specifically, CoreOS (and by extension Red Hat) no longer
manages this project, events, etc.
2019-05-26 23:51:46 -07:00
Dalton Hubble
74005e901c Show the full OpenPGP fingerprint instead of long form 2019-05-07 00:41:47 -07:00
Dalton Hubble
b97328b6ec Prepare for Matchbox v0.8.0 release 2019-05-07 00:19:12 -07:00
Dalton Hubble
e1d2d8fcc9 Update Matchbox release signing process
* Matchbox releases will be signed by my GPG key,
like other projects in the poseidon org
2019-05-07 00:12:42 -07:00
Dalton Hubble
cefa31c8e4 Update Kubernetes cluster example to v1.14.1
* Set terraform-provider-matchbox version to v0.2.3
* Set terraform-provider-ct version to v0.3.1
2019-05-06 23:09:08 -07:00
Dalton Hubble
f4623c508f Fix name and versioning for quay.io/poseidon/dnsmasq 2019-05-02 23:44:24 -07:00
Dalton Hubble
901fda0e3e Update coreos/dnsmasq image and automate deploys
* Update base image from alpine:3.6 to alpine:3.9
* Automatically publish dnsmasq image on merge to a branch
named "dnsmasq". Similar to how matchbox is automatically
published from master. Set the version based on git SHA
2019-05-02 23:23:10 -07:00
Dalton Hubble
1cf7d6cd8c Build binaries with Go v1.11.7
* Document that release binaries and the container image
binary will be built with Go v1.11.7
2019-05-02 23:14:01 -07:00
Dalton Hubble
7628807c77 Fix README badges and links 2019-05-02 23:02:56 -07:00
Dalton Hubble
fe0b3a1ed3 Update links to Matchbox, Quay, and terraform provider plugins
* Bump versions of terraform provider plugins to current
* Verify getting started with docker and etcd example
2019-05-02 22:54:59 -07:00
Dalton Hubble
8a4da0cf7b Rename Go module/packages org to poseidon
* Matchbox has moved to a new home in Poseidon
* Update Makefile so container image name uses
poseidon instead of coreos
* Publish container images to quay.io/poseidon/matchbox
2019-05-02 22:12:29 -07:00
Dalton Hubble
5bfcb24003 Vendor Go module dependencies 2019-03-10 23:59:34 -07:00
Dalton Hubble
a7c13fbe5b Render Container Linux Configs as Ignition v2.2.0
* Render Container Linux Configs referenced in Profiles
as Ignition v2.2.0 documents.
* Recall, configs suffixed with .ign/.ignition will be
served as-is, as raw Ignition. Parse warnings will be
shown
2019-03-10 23:59:15 -07:00
Dalton Hubble
da35d4d567 Update ignition module from v0.22.0 to v0.31.0
* Serve Ignition configs (ending in .ign/.ignition) with v2.1
or v2.2 formats (previously, configs above v2.1 produced warnings
that the config was too new)
2019-03-10 23:39:09 -07:00
Dalton Hubble
94fef772a5 Update testify Go module dependency
* Example of updating a small single module
2019-03-10 23:01:43 -07:00
Dalton Hubble
c1d4c53c2c Remove unused smoke tests and Jenkinsfile
* Matchbox has unit tests. It is no longer tested by
provisioning full Kubernetes clusters, since that's a
sizeable undertaking
2019-03-10 22:40:07 -07:00
Dalton Hubble
8e3855bbb3 Re-vendor dependencies using make vendor
* Vendor dependencies as-is, without updating any
2019-03-10 22:25:26 -07:00
Dalton Hubble
67707d83a5 Switch to Go modules and use Go v1.11
* Use Go 1.11 modules with `GO111MODULE=on`
* Change `make vendor` target to call `go mod vendor`
* Enforce builds and tests use the vendor directory by setting
the `-mod=vendor` flag (notice, travis does not fetch)
* Remove glide requirement and glide files
2019-03-10 22:24:19 -07:00
Dalton Hubble
7c9a94c6dc Remove the squid proxy contrib docs
* Squid proxy docs were added as a draft in 2017 to show a
containerized setup for caching images for network boot
environments
* These docs never matured to a point of viability, I don't
make use of squid, and they're unmaintained. Users would be
better served consulting the squid project
2019-03-10 22:03:38 -07:00
Dalton Hubble
a5d3a8a4a7 Remove the rkt / acbuild based tutorial
* Local QEMU/KVM tutorials use either docker or rkt/acbuild,
but they're dated. rkt and acbuild are no longer in mainstream
use since they successfully drove OCI standardization
* Remove the rkt examples, as they are just more difficult for
newcomers to use and seldom maintained at this point
* Retain Docker examples, although podman will likely supplant
all docker usage in future
2019-03-10 21:57:47 -07:00
Dalton Hubble
dc0a098bf6 Update base container image from alpine:3.6 to alpine:3.9 2019-03-10 21:37:08 -07:00
Dalton Hubble
d34fbb6da6 Replace git-version script with the standard Makefile one-liner 2019-03-10 21:34:27 -07:00
Dalton Hubble
7fbce93101 Replace test script with Makefile test targets 2019-03-10 21:27:10 -07:00
Dalton Hubble
2eea9c7731 Re-vendor dependencies 2019-02-10 21:45:48 -08:00
Dalton Hubble
9cf216e937 Upgrade Sirupsen/logrus v0.10.0 to sirupsen v1.3.0
* Upstream author changed case of his/her username (breaking)
* Fix to lowercase name so clients using Go modules can avoid
case-sensitive conflicts. Go modules do not handle this real-world
case well
2019-02-10 21:39:17 -08:00
M. Haeckl
cac0881206 Fix docs on user:group ownership of /etc/matchbox 2019-01-26 16:58:00 -08:00
Dalton Hubble
832a95e53b Improve Terraform example and update to Kubernetes v1.13.2
* Define the required versions of terraform-provider-matchbox
and terraform-provider-ct, with install instructions
* Refresh the tutorial for using Matchbox to PXE boot local
QEMU/KVM machines (using Terraform as a client)
2019-01-24 01:35:28 -08:00
Dalton Hubble
b5a6888f3b Update Container Linux from 1911.4.0 to 1967.3.0 2019-01-24 00:53:20 -08:00
Dalton Hubble
65eff1203d Update Go version from v1.11.1 to v1.11.5
* Push container images built with Go v1.11.5
2019-01-24 00:12:24 -08:00
Dalton Hubble
0bc1cb8d77 Update Kubernetes (terraform) example to v1.12.3 2018-12-04 00:14:35 -08:00
Dalton Hubble
cd57013d5b Update Container Linux from 1576.5.0 to 1911.4.0 2018-12-03 21:52:03 -08:00
Dalton Hubble
b25a379d19 Add a MAINTAINERS file 2018-11-20 00:57:07 -08:00
Stephen Demos
e78150218f Merge pull request #727 from sdemos/release
release v0.7.1
2018-11-01 14:37:41 -07:00
Stephen Demos
cccb588855 *: update matchbox version to v0.7.1 2018-11-01 14:28:26 -07:00
Stephen Demos
9a177e83d7 changes: update changes document with relevant changes 2018-11-01 14:20:09 -07:00
Stephen Demos
dfd0457e03 Merge pull request #713 from anitakumar/master
HTTPS support for web server
2018-11-01 13:58:24 -07:00
Anita Kumar
9de30aea59 documentation: document HTTPS flags
Updated Documentation to include HTTPS
2018-11-01 13:41:51 -07:00
Anita Kumar
910ee6f18c cmd/matchbox: HTTPS support for web server 2018-11-01 13:41:04 -07:00
Stephen Demos
0994b860b5 Merge pull request #720 from salarmgh/feature/autologin
Add kernel args variable
2018-11-01 13:26:54 -07:00
Stephen Demos
78f7e8d492 Merge pull request #722 from kkohtaka/fix-terraform-modules-example
Fix an example usage of terraform modules
2018-11-01 13:25:18 -07:00
Stephen Demos
e804ace9e2 Merge pull request #726 from schu/schu/scripts-get-flatcar
scripts: add helper script `get-flatcar`
2018-10-30 11:00:33 -07:00
Kazumasa Kohtaka
0012d691f4 Fix an example usage of terraform modules 2018-10-30 02:37:43 +09:00
Michael Schubert
e170c600b3 scripts: add helper script get-flatcar
Similar to `get-coreos`, add a helper script `get-flatcar` to download
Flatcar assets.

Follow up for https://github.com/poseidon/typhoon/pull/315
2018-10-29 16:53:22 +01:00
Stephen Demos
4f229d5d9a Merge pull request #723 from sdemos/master
travis: update to latest supported go major versions
2018-10-19 14:17:48 -07:00
Stephen Demos
3cd8ba0a05 travis: update to latest supported go major versions
this also fixes the golint url to use the new location, to fix ci.
2018-10-19 12:14:20 -07:00
Salar Moghaddam
74f13a2f86 Add description and defualt value 2018-09-24 15:59:08 +03:30
Salar Moghaddam
4eee84b17d Add kernel args variable 2018-09-24 15:15:17 +03:30
Stephen Demos
845d1d0adc Merge pull request #717 from olleolleolle/patch-2
README: Use SVG badge for GoDoc
2018-09-13 11:56:00 -07:00
Stephen Demos
5b1c790d0c Merge pull request #716 from olleolleolle/patch-1
[docs] Typo fix
2018-09-13 11:55:45 -07:00
Olle Jonsson
70400b7dd0 README: Use SVG badge for GoDoc 2018-09-12 16:09:20 +02:00
Olle Jonsson
c6ebdfeb92 [docs] Typo fix 2018-09-12 13:22:35 +02:00
Stephen Demos
99acdf4c6b Merge pull request #709 from dghubble/update-kubernetes
Update Kubernetes (terraform) example to v1.10.3
2018-05-30 10:07:21 -07:00
Dalton Hubble
be057ed9c8 Update Kubernetes (terraform) example to v1.10.3
* https://github.com/poseidon/typhoon/releases/tag/v1.10.3
2018-05-30 00:34:05 -07:00
Stephen Demos
8bb99143e8 Merge pull request #704 from ae-v/master
fixes typo in scripts/tls/README.md
2018-04-09 16:26:48 -07:00
Stephen Demos
c802ce5805 Merge pull request #703 from dghubble/master
Update terraform Kubernetes examples to v1.10.0
2018-04-09 13:20:28 -07:00
Andre Veelken
c4e82c03a4 fixes typo in scripts/tls/README.md 2018-04-09 10:20:55 +02:00
Dalton Hubble
29c93046ef Update terraform Kubernetes examples to v1.10.0 2018-04-04 01:23:11 -07:00
Dalton Hubble
34e981dc7c examples: Update terraform Kubernetes examples to v1.9.3 2018-02-13 16:18:45 -08:00
Dalton Hubble
3a88a663c3 Merge pull request #696 from zbwright/example-links
docs: change links to work with sync
2018-01-25 15:20:51 -08:00
Dalton Hubble
572c8d26eb Merge pull request #695 from coreos/fix-cert-gen
scripts/tls: Fix cert-gen to add index.txt.attr
2018-01-25 15:09:43 -08:00
Beth Wright
c22b273548 docs: change links to work with sync 2018-01-25 14:04:56 -08:00
Dalton Hubble
c3ef870ce5 scripts/tls: Fix cert-gen to add index.txt.attr 2018-01-25 11:35:09 -08:00
Dalton Hubble
e9ce7325ab Merge pull request #689 from diegs/env
scripts: fix shebangs.
2018-01-10 10:02:38 -08:00
Diego Pontoriero
948bdee165 scripts: fix shebangs.
/bin/bash is not an LSB path.
2018-01-09 17:59:15 -08:00
Dalton Hubble
50e923730e Merge pull request #687 from coreos/bump-cl
Bump Container Linux version from 1576.4.0 to 1576.5.0
2018-01-09 04:28:40 -08:00
Dalton Hubble
1799c8e23e Bump Container Linux version from 1576.4.0 to 1576.5.0 2018-01-08 16:33:48 -08:00
Dalton Hubble
454ae972a1 Merge pull request #686 from ericchiang/coc
automated PR: update CoC
2018-01-08 06:55:38 -08:00
Eric Chiang
fe0c3438fd update CoC 2018-01-04 12:30:28 -08:00
Dalton Hubble
65b410e20b Merge pull request #683 from coreos/update-kubernetes
Update Kubernetes from v1.8.4 to v1.8.5
2017-12-18 16:09:39 -08:00
Dalton Hubble
dced573acb examples: Update Kubernetes from v1.8.4 to v1.8.5 2017-12-14 13:23:57 -08:00
Dalton Hubble
4888c04dee contrib: Change nginx-ingress ssl-passthrough annotation
* nginx-ingress controller 0.9.0-beta.18 and above changed the
annotations prefix to nginx.ingress.kubernetes.io
2017-12-13 15:24:24 -08:00
Dalton Hubble
4e9d542a87 Merge pull request #682 from coreos/release-v0.7.0
*: Update Matchbox version to v0.7.0
2017-12-12 17:00:55 -08:00
Dalton Hubble
08f4e9908b *: Update Matchbox version to v0.7.0 2017-12-12 14:57:09 -08:00
Dalton Hubble
dd96f58417 Merge pull request #681 from coreos/allow-terraform-11
examples: Fix examples to work with Terraform v0.11.x
2017-12-12 14:48:45 -08:00
Dalton Hubble
f5ef2d156b examples: Fix examples to work with Terraform v0.11.x
* Explicitly pass provider modules to satisfy constraints
* https://github.com/hashicorp/terraform/issues/16824
2017-12-12 14:36:38 -08:00
Dalton Hubble
f673d48007 Merge pull request #680 from coreos/bump-cl
examples: Update Container Linux to stable 1576.4.0
2017-12-12 13:33:13 -08:00
Dalton Hubble
7a58d944d8 examples: Update Container Linux to stable 1576.4.0
* Use Docker 17.09 by default in Kubernetes clusters
2017-12-11 21:40:51 -08:00
Dalton Hubble
5d975ec42a Merge pull request #678 from coreos/update-bootkube
examples: Update from Kubernetes v1.8.3 to v1.8.4
2017-12-11 21:40:26 -08:00
Dalton Hubble
2404d34b0e examples: Update from Kubernetes v1.8.3 to v1.8.4 2017-12-11 21:30:26 -08:00
Dalton Hubble
c9b9711bca Merge pull request #677 from dghubble/bump-version
scripts/devnet: Bump matchbox image version
2017-11-27 16:12:17 -08:00
Dalton Hubble
ae524f57f2 scripts/devnet: Bump matchbox image version
* Examples use Ignition v2.1.0 spec
2017-11-27 11:14:47 -08:00
Dalton Hubble
f26224c57d Merge pull request #675 from redbaron/multiple-initrd
fix loading multiple initrds
2017-11-22 13:45:42 -08:00
Dalton Hubble
2c063a4674 Merge pull request #676 from coreos/fix-matchbox-endpoint
examples: Fix endpoint name for manual examples
2017-11-20 14:10:46 -08:00
Dalton Hubble
7d5656ffe3 examples: Fix endpoint name for manual examples
* Bug introduced by b10c777729
2017-11-20 13:46:02 -08:00
Maxim Ivanov
a683e8261e iPXE loads multiple initrds when each is given to it's own initrd command 2017-11-20 19:23:04 +00:00
Dalton Hubble
c75fc8f88e Merge pull request #674 from coreos/efi
contrib/dnsmasq: Add ipxe.efi for dnsmasq:v0.5.0
2017-11-17 11:21:24 -08:00
Dalton Hubble
b10c777729 contrib/dnsmasq: Remove old matchbox endpoint from dnsmasq configs 2017-11-16 23:41:29 -08:00
Dalton Hubble
5992ba6ad5 scripts/libvirt: Add disk hd to UEFI VM boot order 2017-11-16 23:41:29 -08:00
Dalton Hubble
ca223f800b examples: Add UEFI initrd option to Terraform examples 2017-11-16 23:41:27 -08:00
Dalton Hubble
1246d5a0db contrib/dnsmasq: Add ipxe.efi for dnsmasq:v0.5.0
* Add ipxe.efi to dnsmasq image's /var/lib/tftpboot directory
* Add initrd kernel argument respected only by UEFI
https://github.com/coreos/bugs/issues/1239
* Improve network-setup docs and scripts to cover UEFI clients
and to support launching UEFI QEMU/KVM clusters locally
* Reduce references to grub.efi flow, its not a happy path
2017-11-16 23:40:52 -08:00
Dalton Hubble
4f7dd0942c Merge pull request #673 from coreos/update-kubernetes
examples: Update Kubernetes from v1.8.2 to v1.8.3
2017-11-09 16:29:45 -08:00
Dalton Hubble
3e6aa4ee73 examples: Update Kubernetes from v1.8.2 to v1.8.3 2017-11-09 16:01:43 -08:00
Dalton Hubble
9c39221b71 Merge pull request #672 from coreos/fix-publishing
travis.yml: Ensure deploy condition matches build matrix
2017-11-08 15:41:40 -08:00
Dalton Hubble
4103461778 travis.yml: Ensure deploy condition matches build matrix
* Build binaries for Docker images with Go 1.8.5
* Travis should "deploy" publish the quay image for Go 1.8.5
2017-11-08 15:09:43 -08:00
Dalton Hubble
9a6d815978 Merge pull request #671 from coreos/fix-publishing
travis.yml: Fix travis to publish master images
2017-11-08 15:00:39 -08:00
Dalton Hubble
6aa8759bfd travis.yml: Fix travis to publish master images 2017-11-08 14:47:40 -08:00
Dalton Hubble
d5027950e2 Merge pull request #670 from coreos/update-ignition
Update Ignition config version to v2.1.0
2017-11-08 12:58:29 -08:00
Dalton Hubble
85a2a6b252 matchbox: Update tests due to Ignition 2.1.0 format 2017-11-07 15:23:41 -08:00
Dalton Hubble
4bc5fcdc5e vendor: Vendor glide.yaml ct, Ignition, and dependencies 2017-11-06 14:13:54 -08:00
Dalton Hubble
2f4d5b95e4 glide.yaml: Update ct to v0.5.0 and Ignition to v0.19.0
* Change `/ignition` endpoint to serve a v2.1.0 Ignition config
* Drops support for Container Linux versions before 1465.0.0
2017-11-06 13:29:42 -08:00
Dalton Hubble
257f2fa553 Merge pull request #667 from dghubble/bump-cl
examples: Bump Container Linux to stable 1520.8.0
2017-10-30 17:11:50 -07:00
Dalton Hubble
7829c14d52 examples: Bump Container Linux to stable 1520.8.0
* Increase minimum RAM required to use PXE image
* https://coreos.com/releases/#1520.5.0
2017-10-30 13:58:17 -07:00
Dalton Hubble
ce72fb72a0 Merge pull request #665 from coreos/hyperkube
Update to Kubernetes v1.8.2
2017-10-27 16:39:07 -07:00
Dalton Hubble
41d5db4723 examples: Update examples to Kubernetes v1.8.2
* Fixes v1.8.1 kube-apiserver memory leak
2017-10-27 15:49:53 -07:00
Dalton Hubble
dfd08e48e5 Switch from quay.io to gcr.io hyperkube image 2017-10-27 15:49:53 -07:00
Dalton Hubble
347e142db9 Merge pull request #664 from coreos/docker-docs
Switch local QEMU/KVM tutorial to favor Docker
2017-10-27 13:51:36 -07:00
Dalton Hubble
b63e9b2589 scripts/devnet: Use a tagged matchbox release in devnet 2017-10-23 13:50:07 -07:00
Dalton Hubble
4a32b0cd59 scripts: Switch default tutorial from rkt to docker 2017-10-23 13:49:09 -07:00
Dalton Hubble
b0b8d97539 examples: Update examples to Kubernetes v1.8.1
* Use bootkube v0.8.0
2017-10-20 15:04:09 -07:00
Dalton Hubble
581be69da7 Merge pull request #659 from rlenferink/master
Documentation: minor documentation changes
2017-10-05 14:01:28 -07:00
Roy Lenferink
dc75fcc869 Documentation: minor improvements
Fixed example hostname in docker run command

Added bash statements for storing certificates
2017-10-05 22:51:12 +02:00
Dalton Hubble
fc3e688c97 Merge pull request #658 from zbwright/fix-link
docs: fix broken link
2017-10-04 17:14:10 -07:00
Beth Wright
f07dc758c4 docs: fix broken link 2017-10-04 16:40:30 -07:00
Dalton Hubble
d2827d7ed0 Merge pull request #656 from coreos/update-kubernetes
examples: Update Kubernetes from v1.7.5 to v1.7.7
2017-10-04 10:13:33 -07:00
Dalton Hubble
692bf81df8 examples: Update Kubernetes from v1.7.5 to v1.7.7
* Update from bootkube v0.6.2 to v0.7.0
* Update kube-dns to fix dnsmasq vulnerability
2017-10-04 09:55:37 -07:00
Dalton Hubble
cfcec6ac03 Merge pull request #655 from coreos/update-terraform-module
examples/terraform: Update bare-metal module version
2017-09-29 10:52:18 -07:00
Dalton Hubble
592969134c examples/terraform: Update bare-metal module version
* Upstream fixes to bump all control plane components to v1.7.5
* Stop including etcd-network-checkpointer with on-host etcd
* Remove experimental_self_hosted_etcd support
2017-09-28 11:25:52 -07:00
Dalton Hubble
2b605c8d9c Merge pull request #653 from coreos/improve-ctx
matchbox: Use Go 1.7 request Context, remove ContextHandler
2017-09-25 17:07:45 -07:00
Dalton Hubble
63a95188be matchbox: Use Go 1.7 request Context, remove ContextHandler
* Starting in Go 1.7, the standard library http.Request includes
a Context for passing request-scoped values between chained handlers
* Delete the ContextHandler (breaking, should not have been
exported to begin with)
2017-09-21 17:12:33 -07:00
Dalton Hubble
5aa301b72d Merge pull request #648 from coreos/bump-container-linux
examples: Bump Container Linux to stable 1465.7.0
2017-09-18 16:35:48 -07:00
Dalton Hubble
7647a5d095 Merge pull request #649 from radhus/add_select_client
matchbox/client: Expose Select endpoint
2017-09-18 15:09:50 -07:00
Dalton Hubble
06f80fa003 examples: Bump Container Linux to stable 1465.7.0 2017-09-18 15:08:08 -07:00
Dalton Hubble
01a767ab3e Merge pull request #651 from coreos/cleanup
examples: Remove unused example module
2017-09-18 14:57:34 -07:00
Dalton Hubble
6be5c0f59c examples: Remove unused example module
* Terraform-based Kubernetes example now uses an community project's
 Terraform module to show Matchbox usage
2017-09-18 14:33:51 -07:00
William Johansson
5efc514097 matchbox/client: Expose Select endpoint
Exposes the Select endpoint in matchbox/client just as the other
endpoints like Profiles, Ignition and Generic.
2017-09-17 21:19:37 +02:00
Dalton Hubble
757f46e96f Merge pull request #647 from dvrkps/patch-1
travis: update go versions
2017-09-15 10:43:05 -07:00
Dalton Hubble
5aeb2d1d3d Merge pull request #646 from coreos/update-kubernetes
examples: Update Kubernetes from v1.7.3 to v1.7.5
2017-09-15 10:38:59 -07:00
Davor Kapsa
1119bb22f0 travis: update go versions 2017-09-15 12:15:03 +02:00
Dalton Hubble
6195ae377e examples/ignition: Update kubelet.service to match upstream
* Mount host /opt/cni/bin in Kubelet to use host's CNI plugins
* Switch /var/run/kubelet-pod.uuid to /var/cache/kubelet-pod.uuid
to persist between reboots and cleanup old Kubelet pods
* Organize Kubelet flags in alphabetical order
2017-09-14 16:53:42 -07:00
Dalton Hubble
d7783a94e9 examples: Update Kubernetes from v1.7.3 to v1.7.5
* Switch Terraform example to use Typhoon project's module
instead: https://github.com/poseidon/typhoon
* Includes support for Calico and Flannel
2017-09-14 15:52:58 -07:00
Dalton Hubble
4228ccb330 README: List notable projects using Matchbox 2017-09-11 15:59:05 -07:00
Dalton Hubble
e5d5280658 Merge pull request #644 from squeed/fix-pxe-flag
libvirt: don't pass --pxe
2017-08-22 10:47:31 -07:00
Casey Callendrello
46f0477614 libvirt: don't pass --pxe
In virt-install v1.4.2, the meaning of  `--pxe` changed from "allow pxe
boot" to "always pxe boot." This breaks matchbox, since we expect hosts
to pxe-boot only with empty hds. On hosts with v1.4.2, the VMs loop,
re-installing CL over and over.

The flag isn't necessary anyways, since we pass `--boot=hd,network`,
which enables pxe-booting.
2017-08-22 11:19:16 +02:00
Dalton Hubble
0e4265b2bc Merge pull request #643 from coreos/bump-kubernetes
examples: Update Kubernetes from v1.7.1 to v1.7.3
2017-08-21 15:00:57 -07:00
Dalton Hubble
18de74e85b examples: Update Kubernetes from v1.7.1 to v1.7.3 2017-08-21 11:19:39 -07:00
Dalton Hubble
31040e9729 Merge pull request #642 from coreos/bump-fix
Update CLUO version and bootkube-terraform location
2017-08-18 10:28:29 -07:00
Dalton Hubble
f0a4cfd1cb *: Update location of bootkube-terraform module 2017-08-17 15:56:49 -07:00
Dalton Hubble
aeca5b08f9 examples/addons: Update CLUO to v0.3.1 2017-08-17 15:38:34 -07:00
Dalton Hubble
7c1b9b17dc Merge pull request #636 from jcmoraisjr/jm-add-version
Add version.txt download on get-coreos
2017-08-15 17:15:47 -07:00
Dalton Hubble
0e6ce19172 Merge pull request #640 from andrewrothstein/typo
fix typo in documentation
2017-08-15 10:49:50 -07:00
Andrew Rothstein
281fd5226a fix typo 2017-08-14 19:35:49 -04:00
Joao Morais
fb0ee0f05a Add version.txt download on get-coreos
The version.txt file is used by coreos-install if
the version number is "current".
2017-08-09 22:10:59 -03:00
Dalton Hubble
7def0d7e86 Merge pull request #635 from dghubble/better-validation
matchbox/client: Validate client endpoint is a host:port
2017-08-09 14:45:57 -07:00
Dalton Hubble
1c076875c2 matchbox/client: Validate client endpoint is a host:port
* Provide better errors to clients that forget to specify the
port or include a protocol scheme by mistake
* grpc-go uses net.SplitHostPort to validate server listener
addresses are 'host:port', but doesn't validate Dial targets
2017-08-09 10:50:25 -07:00
Dalton Hubble
7ba0f1476b Merge pull request #632 from dghubble/update-ct-and-ignition
glide.yaml: Update ct and Ignition
2017-08-08 13:55:21 -07:00
Dalton Hubble
ec6844a43a glide.yaml: Update ct and Ignition
* Fix container-linux-config-transpiler calls that changes
* Update container-linux-config-transpiler to v0.4.2
* Update Ignition to v0.17.2
2017-08-08 13:30:14 -07:00
Dalton Hubble
6857c1319a Merge pull request #629 from heyitsanthony/etcdctl-api
Documentation: remove ETCDCTL_API=3 settings
2017-08-07 09:48:44 -07:00
Anthony Romano
cb6bb3c90d Documentation: remove ETCDCTL_API=3 settings
etcd examples set ETCDCTL_API=3 but are using v2 etcdctl commands. This
works on CL by accident because it ships with 2.3 so etcdctl doesn't
recognize the API env var.
2017-08-04 23:04:19 -07:00
Dalton Hubble
5c5be5ce5b Merge pull request #628 from alrs/fix-swallowed-test-errors
Fix swallowed errors in server package tests
2017-08-04 17:02:41 -07:00
Lars Lehtonen
4cbf2b7448 Fix swallowed errors in server package tests 2017-08-03 18:59:15 -07:00
Dalton Hubble
d781e43212 Merge pull request #627 from coreos/fix-module-location
*: Fix location of the bootkube-terraform module
2017-08-03 16:09:57 -07:00
Dalton Hubble
3ca88334d2 *: Fix location of the bootkube-terraform module 2017-08-03 14:00:35 -07:00
Dalton Hubble
c7a649c731 Merge pull request #626 from coreos/bump-dnsmasq
*: Bump dnsmasq references to use v0.4.1
2017-08-01 23:21:18 -07:00
Dalton Hubble
d03f256976 *: Bump dnsmasq references to use v0.4.1 2017-08-01 16:47:18 -07:00
Dalton Hubble
9ecfcac0b9 Merge pull request #625 from coreos/dnsmasq
contrib/dnsmasq: Bump dnsmasq image to v0.4.1
2017-08-01 16:17:06 -07:00
Dalton Hubble
035b01634f contrib/dnsmasq: Bump dnsmasq image to v0.4.1
* Update from alpine:3.5 to alpine:3.6
* List ports 67 and 69 so ACI conversion still works
2017-07-31 14:26:05 -07:00
Dalton Hubble
e8d3e8c70c Merge pull request #617 from coreos/kubernetes-v1.7
examples: Update Kubernetes to v1.7.1
2017-07-24 17:14:51 -07:00
Dalton Hubble
cc490ff55d examples: Update Kubernetes to v1.7.1 2017-07-24 15:52:57 -07:00
Dalton Hubble
df6354ad45 Merge pull request #618 from dghubble/cluo
examples/addonts: Update CLUO from v0.2.1 to v0.2.2
2017-07-21 16:05:43 -07:00
Dalton Hubble
3d8a3777f0 examples/addonts: Update CLUO from v0.2.1 to v0.2.2 2017-07-21 15:12:23 -07:00
Dalton Hubble
dfee550522 Merge pull request #615 from dghubble/in-place-upgrade
Documentation: Refresh Kubernetes in-place upgrade doc
2017-07-21 13:50:00 -07:00
Dalton Hubble
07e9676457 Merge pull request #616 from coreos/bump-cl
examples: Install clusters at Container Linux 1409.7.0 (stable)
2017-07-20 11:52:57 -07:00
Dalton Hubble
a69f6dd2d8 examples: Install clusters at Container Linux 1409.7.0 (stable) 2017-07-20 11:13:43 -07:00
Dalton Hubble
26d8b7d480 Documentation: Refresh Kubernetes in-place upgrade doc 2017-07-19 17:15:12 -07:00
Dalton Hubble
2c02549cd6 Merge branch 'celevra' 2017-07-19 13:06:44 -07:00
Philipp Zeitschel
3c999d27e9 Documentation: Export variables in example commands 2017-07-19 13:04:44 -07:00
Dalton Hubble
52b317dff9 Merge pull request #614 from coreos/kubernetes-v1.6.7
examples: Update Kubernetes from v1.6.6 to v1.6.7
2017-07-19 11:59:12 -07:00
Dalton Hubble
97985b213b examples: Update Kubernetes from v1.6.6 to v1.6.7 2017-07-19 11:30:54 -07:00
Dalton Hubble
1ba353e5b6 Merge pull request #611 from coreos/fix-bootkube-tests
tests/smoke: Fix etcd certs distribution in bootkube test
2017-07-17 14:15:38 -07:00
Dalton Hubble
398d12e148 tests/smoke: Fix etcd certs distribution in bootkube test
* Introduced in ce3154cae9
* Masked by larger-scale timeouts / issues in the testing env
2017-07-17 13:25:48 -07:00
Dalton Hubble
be8fd3d488 Merge pull request #608 from coreos/locksmithd-to-cluo
Switch Kubernetes clusters from locksmith to Container Linux Update Operator
2017-07-17 11:26:14 -07:00
Dalton Hubble
27d1139a07 examples/terraform: Switch Kubernetes to use CLUO
* Users should deploy the Container Linux Update Operator to coordinate
reboots of Container Linux nodes in a Kubernetes cluster
* Write cluster addon docs to describe CLUO
* Terraform modules `bootkube` and `profiles` (Kubernetes) disable
locksmithd
2017-07-14 15:12:53 -07:00
Dalton Hubble
ee3445454e examples: Switch Kubernetes (non-terraform) to use CLUO
* Use the container linux update operator to coordinate reboots
* Stop using locksmithd for reboot coordination
* etcd TLS assets now only need to be distributed to controller
nodes which are etcd peers
2017-07-14 14:11:33 -07:00
Dalton Hubble
170f8c09ec Merge pull request #605 from coreos/fix-bootkube-version
scripts/dev: Update bootkube render binary for tests
2017-07-14 10:23:35 -07:00
Dalton Hubble
e10525ded0 scripts/dev: Fix bootkube render binary for tests 2017-07-13 10:26:30 -07:00
Dalton Hubble
4c47adf390 Merge pull request #604 from coreos/bootkube-v0.5.0
examples: Update terraform Kubernetes to use bootkube v0.5.0
2017-07-13 09:37:41 -07:00
Dalton Hubble
ce3154cae9 examples: Update terraform Kubernetes to use bootkube v0.5.0 2017-07-12 20:13:04 -07:00
Dalton Hubble
5e54960a92 Merge pull request #603 from coreos/non-terraform-bootkube
Update non-terraform Kubernetes to use bootkube v0.5.0
2017-07-12 15:27:16 -07:00
Dalton Hubble
e008b8ea5e Jenkinsfile: Bump Kubernetes test timeouts
* Hyperkube image downloads can be very slow, though the
clusters themselves are considered correctly configured
2017-07-12 13:42:34 -07:00
Dalton Hubble
b636fc7a3d examples: Update non-terraform Kubernetes to use bootkube v0.5.0 2017-07-12 13:41:33 -07:00
Dalton Hubble
30cf06853d Merge pull request #597 from ivy/doc-tweaks
Documentation tweaks
2017-07-10 11:46:43 -07:00
Ivy Evans
61377d2955 Documentation: Add syntax highlighting for example 2017-07-06 18:38:57 -07:00
Ivy Evans
a7ba7714f5 Documentation: Fix typo "template" => "templates" 2017-07-06 18:34:26 -07:00
Dalton Hubble
ff916686e7 Merge pull request #596 from euank/retry-curl
examples: include 'curl' retries
2017-06-30 14:53:08 -07:00
Euan Kemp
fbc4b39c59 examples: include 'curl' retries
`After=network-online.target` *should* mean this isn't needed in most
cases, but per
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/, the
definition of "network-online" is a little shaky.

Regardless, being a little more resilient to network flakes and races is
a good thing. The count of `10` was arbitrarily chosen.
2017-06-30 10:58:51 -07:00
Dalton Hubble
be46b389bf Merge pull request #594 from sdemos/master
scripts/devnet: open port 8081 when using docker
2017-06-28 14:51:53 -07:00
Stephen Demos
a14e6c8bb9 scripts/devnet: open port 8081 when using docker
otherwise the gRPC server is not accessible
2017-06-28 14:10:07 -07:00
Dalton Hubble
c03b7a9627 Merge branch 'readme-cleanup' 2017-06-26 17:38:48 -07:00
Dalton Hubble
ac40eeedb5 README: Remove duplicated Tectonic docs
* Ensure that Matchbox (open-source) and Tectonic (enterprise)
are kept separate, Tectonic has its own docs
* Matchbox is agnostic to Kubernetes distribution
2017-06-26 17:03:10 -07:00
Dalton Hubble
9e23f3a86d examples: Fix LOCKSMITHD_ENDPOINT protocol to be https
* Fix auto-update issue introduced in 6f02107 which occurs
when self-hosted etcd is used and locksmithd cannot auth
* See #590
2017-06-26 16:02:17 -07:00
Dalton Hubble
d1baa3fb65 Merge pull request #591 from coreos/fix-locksmithd
examples: Use etcd client certs in locksmithd dropin
2017-06-26 15:11:33 -07:00
Dalton Hubble
c915fc2b52 examples: Use etcd client certs in locksmithd dropin
* Fixes a regression introduced in 6f02107 which upgraded to
Kubernetes v1.6.6 and added self-hosted etcd with TLS
* Both on-host and self-hosted etcd now require clients to use
TLS client certs so locksmithd
2017-06-26 14:39:54 -07:00
Dalton Hubble
6f02107448 Merge pull request #585 from coreos/kubernetes-upgrade
examples: Upgrade Kubernetes to v1.6.6
2017-06-24 15:02:20 -07:00
Dalton Hubble
ff06990edb examples: Upgrade Kubernetes to v1.6.6
* Upgrade to bootkube v0.4.5
* Enable TLS for experimental self-hosted etcd
* Upstream manifest generation changes modify the flannel
Daemonset, switch several control plane components to run
as non-root, and add an explicit UpdateStrategy to the
control plane components
2017-06-24 14:39:10 -07:00
Dalton Hubble
9bc6edc65b Merge pull request #583 from coreos/etcd3-update
examples: Update etcd3 from v3.1.6 to v3.2.0
2017-06-16 15:19:02 -07:00
Dalton Hubble
5b8006ae35 examples: Update etcd3 from v3.1.6 to v3.2.0 2017-06-16 14:23:38 -07:00
Dalton Hubble
ff5cd0468e Merge pull request #547 from coreos/enable-bootkube-tests
Re-enable bootkube-terraform cluster tests
2017-06-15 16:56:30 -07:00
Dalton Hubble
4d9bd82c12 tests/smoke: Re-enable bootkube-terraform cluster tests
* Simplify script to not launch subshells
* Verify tests don't leave behind processes running terraform apply
2017-06-15 11:59:34 -07:00
Dalton Hubble
882793f230 Merge pull request #577 from notnamed/patch-1
Correct path to client.crt and client.key
2017-06-15 11:31:05 -07:00
Dalton Hubble
858e1bda73 Merge pull request #572 from coreos/allow-docker
scripts: Improve devnet script to allow using rkt or docker
2017-06-15 11:30:52 -07:00
Dalton Hubble
cfbb9cebd0 scripts: Improve devnet script to allow using rkt or docker
* Add create, status, and destroy subcommands that use docker as
the container runtime for testing local QEMU/KVM clusters. Before,
only rkt could be used.
* Update local QEMU/KVM tutorial documentation
2017-06-15 11:06:22 -07:00
Jordan Cooks
edbe5bab20 Correct path to client.crt and client.key
gRPC API verification step has invalid paths to client.crt and client.key; these are created in ~/matchbox-v0.6.1-linux-amd64/scripts/tls (depending on where the matchbox installer is extracted).
2017-06-14 09:19:55 -07:00
Dalton Hubble
299701e7ea Merge pull request #576 from coreos/fix-ingress-resource
contrib/k8s: Use two Ingress resources for HTTP and TLS gRPC
2017-06-13 17:15:02 -07:00
Dalton Hubble
a20720a0d4 contrib/k8s: Use two Ingress resources for HTTP and TLS gRPC
* Fixes Ingress controller issue upgrading from nginx-ingress-controller
0.9-beta.3 to 0.9-beta.4 through 0.9-beta.7
2017-06-13 14:06:53 -07:00
Dalton Hubble
5a9c24ceb3 Merge pull request #573 from coreos/base-image
Dockerfile: Update base image from alpine:3.5 to alpine:3.6
2017-06-13 09:57:52 -07:00
Dalton Hubble
82af3f747d Dockerfile: Update base image from alpine:3.5 to alpine:3.6 2017-06-12 16:45:18 -07:00
Dalton Hubble
e955fecd30 Merge pull request #571 from coreos/missing-output
examples/terraform/modules: Add outputs.tf with kubeconfig
2017-06-12 14:18:31 -07:00
Dalton Hubble
0c1e20db27 Merge pull request #569 from coreos/deprecate-cloud
matchbox,Documentation: Mark Cloud-Config as deprecated
2017-06-12 09:48:29 -07:00
Dalton Hubble
8d6d0397ff examples/terraform/modules: Add outputs.tf with kubeconfig 2017-06-12 00:46:14 -07:00
Dalton Hubble
abc7eb8dfb Merge pull request #568 from dghubble/changelog
CHANGES.md: Add missing changelog notes
2017-06-09 11:18:41 -07:00
Dalton Hubble
149f441ad8 matchbox,Documentation: Mark Cloud-Config as deprecated
* Warn that Cloud-Config support will be removed in the
future
2017-06-09 10:53:49 -07:00
Dalton Hubble
cf43908a72 CHANGES.md: Add missing changelog notes 2017-06-09 10:35:27 -07:00
Benjamin Gilbert
523b15ed13 Merge pull request #567 from bgilbert/container-linux
*: CoreOS -> Container Linux
2017-06-08 15:33:37 -07:00
Benjamin Gilbert
aac270e937 README: Shorten line 2017-06-08 15:14:03 -07:00
Dalton Hubble
1cfdce2970 Merge branch 'add-generic' 2017-06-08 14:37:18 -07:00
Benjamin Gilbert
9d3d08a26f *: CoreOS -> Container Linux 2017-06-08 12:29:00 -07:00
Wagner Sartori Junior
b176de805e cli,client,http,rpc,server,storage: Add gRPC API for generic (experimental) templates
Matchbox added generic template support to enable experimenting with
rendering different kinds of templates, beyond Container Linux configs
and cloud-configs. We'd like to add a gRPC endpoint for generic
templates, as is done for other configs to support gRPC clients.
2017-06-08 11:34:09 -07:00
Dalton Hubble
009b44b25d Merge pull request #566 from coreos/on-host-etcd-tls
examples: Use Kubernetes on-host etcd TLS
2017-06-08 09:51:44 -07:00
Dalton Hubble
57e473b6f5 examples/terraform: Enable on-host etcd TLS for terraform-based bootkube 2017-06-07 16:38:54 -07:00
Dalton Hubble
66cd8da417 examples: Use Kubernetes on-host etcd TLS
* etcd3 cluster requires peers and clients to be TLS authenticated
* kube-apiserver (incl. bootstrap) communicates with TLS
authenticated on-host etcd cluster
2017-06-07 10:56:55 -07:00
Dalton Hubble
50a3d11414 Merge pull request #564 from coreos/remove-cmdline
matchbox: Remove Profile cmdline map field
2017-06-06 13:53:14 -07:00
Dalton Hubble
6fa13007c8 matchbox: Remove Profile cmdline map field 2017-06-05 13:04:09 -07:00
Dalton Hubble
500a7b25e1 Merge pull request #561 from joshix/patch-1
Doc/deployment.md: Cp local config to correct location
2017-06-02 14:35:45 -07:00
Josh Wood
951e5ec4a3 Doc/deployment.md: Cp local config to correct location
Copy matchbox-local.service to /etc/systemd/system/matchbox.service
rather than bare dir.
2017-06-02 14:11:19 -07:00
Dalton Hubble
f92743fa57 Merge pull request #556 from coreos/terraform-improvements
Add some minor Terraform variables
2017-06-01 11:12:01 -07:00
Dalton Hubble
d84bb8e398 examples/terraform: Configure whether to install CL from cache
* Module "profiles" provides container-linux-install and
cached-container-linux-install Profiles
* Module bootkube accepts cached_install variable to determine
whether the cluster should install Container Linux from cache
or from the public download site (default)
2017-05-31 13:57:12 -07:00
Dalton Hubble
d54562f429 examples/terraform: Add install_disk optional override 2017-05-30 16:00:37 -07:00
Dalton Hubble
395494c1d9 examples/terraform: Template variables early where possible 2017-05-30 16:00:37 -07:00
Dalton Hubble
ddbe17cd31 Merge pull request #555 from coreos/declarative-jenkinsfile
Jenkinsfile: Switch to declarative-style Jenkins pipeline
2017-05-26 16:34:27 -07:00
Dalton Hubble
b1a866370a Jenkinsfile: Cleanup workspace directories 2017-05-26 14:40:34 -07:00
Dalton Hubble
b8326e6db6 Jenkinsfile: Switch to declarative-style Jenkins pipeline 2017-05-26 11:17:14 -07:00
Dalton Hubble
7864e64fd2 Merge pull request #554 from dghubble/documentation-fix
*: Update docs references to v0.6.1
2017-05-25 14:39:09 -07:00
Dalton Hubble
89bb5125b5 *: Update docs references to v0.6.1 2017-05-25 14:24:04 -07:00
Dalton Hubble
cff053328d Merge pull request #551 from coreos/prep-point-release
CHANGES.md: Prepare for a v0.6.1 docs point release
2017-05-25 10:43:58 -07:00
Dalton Hubble
698b6f6118 CHANGES.md: Prepare for a v0.6.1 docs point release 2017-05-25 10:27:43 -07:00
Dalton Hubble
23f23c1dcb Merge pull request #552 from coreos/go-bump
Update openpgp package and bump Go to 1.8.3
2017-05-24 15:39:35 -07:00
Dalton Hubble
51cf859587 glide.yaml: Update and vendor the crypto openpgp package 2017-05-24 15:28:16 -07:00
Dalton Hubble
8061f57346 travis.yml: Use Go 1.8.3 in tests and published images 2017-05-24 15:14:31 -07:00
Dalton Hubble
8000c323b6 Merge pull request #524 from coreos/organize-scripts
scripts: Organize dev-only scripts and use a single scripts/tls location
2017-05-24 14:21:00 -07:00
Dalton Hubble
314a317271 scripts: Move examples/etc/matchbox to scripts/tls
* Use the same TLS cert-gen location in source as in releases
2017-05-24 13:19:21 -07:00
Dalton Hubble
d437167ebf scripts: Move development-only scripts under scripts/dev 2017-05-24 10:15:24 -07:00
Dalton Hubble
4067702641 Merge pull request #548 from coreos/multi-controller
examples/terraform: Add tfvars showing multi-controller case
2017-05-24 09:49:21 -07:00
Dalton Hubble
86c07da76e examples/terraform: Add tfvars showing multi-controller case 2017-05-23 15:54:18 -07:00
Dalton Hubble
be00fdbca0 Merge pull request #546 from coreos/update-container-linux
Bump Container Linux version to stable 1353.7.0
2017-05-23 12:09:05 -07:00
enilfodne
abbf7faf56 examples: Bump Container Linux version to stable 1353.7.0 2017-05-23 11:01:24 -07:00
Dalton Hubble
76cc8cb13c scripts: Remove unused static k8s generation scripts
* Remove static rktnetes cluster docs
* Bump devnet matchbox version
2017-05-22 18:11:11 -07:00
Dalton Hubble
ed6dde528a Merge pull request #543 from coreos/remove-pixiecore
Remove pixiecore handler and support
2017-05-22 17:51:21 -07:00
Dalton Hubble
1e095661ad matchbox: Remove pixiecore handler and support
* Pixiecore was deprecated in v0.5.0 and can be removed
2017-05-22 17:13:02 -07:00
Dalton Hubble
3f70f9f2e5 Merge pull request #544 from coreos/remove-static-kubernetes
Remove static Kubernetes and rktnetes example clusters
2017-05-22 17:11:11 -07:00
Dalton Hubble
dabba64850 examples: Remove static Kubernetes and rktnetes example clusters
* Static Kubernetes / rktnetes examples are no longer going to be
maintained by this repo or upgraded to Kubernetes v1.6. This is not
considered a deprecation bc the reference clusters are examples.
* Remove static Kubernetes cluster examples so users don't choose it
* Self-hosted Kubernetes (bootkube) is now the standard recommended
Kubernetes cluster configuration
2017-05-22 16:13:26 -07:00
Dalton Hubble
7a2764b17b Merge pull request #542 from coreos/disable-terraform-tests
tests: Temporarily disable bootkube (terraform-based) cluster testing
2017-05-22 16:11:29 -07:00
Dalton Hubble
9de41e29ab scripts/test: Fix fmt test for local tests
* examples/terraform modules may contain Go files which
should be ignored
2017-05-22 15:55:19 -07:00
Dalton Hubble
0592503652 tests/smoke: Get nodes/pods should not fail bootkube tests
* Listing pods or nodes as the final step of cluster creation should
not fail the entire build, its mainly for a pretty output
* There is no official definition of when a Kubernetes cluster is
"done" bootstrapping, they can momentarily fail to response in the
first minute or so as components stabalize
2017-05-22 15:12:29 -07:00
Dalton Hubble
40926b6d0f tests: Temporarily disable bootkube (terraform-based) tests 2017-05-22 14:51:25 -07:00
Dalton Hubble
859ea5888b Merge pull request #538 from coreos/kubernetes-upgrade
Update Kubernetes from v1.6.2 to v1.6.4
2017-05-19 20:44:51 -07:00
Dalton Hubble
1736af5024 tests/smoke: Be sure terraform destroy runs 2017-05-19 18:08:50 -07:00
Dalton Hubble
c476cf8928 examples: Update Kubernetes clusters to v1.6.4
* Update bootkube example cluster to v1.6.4
* Update bootkube (terraform-based) cluster to v1.6.4
* Update bootkube Terraform module to v1.6.4
* Uses bootkube v0.4.4
2017-05-19 16:52:37 -07:00
Dalton Hubble
a47087ec6a Merge pull request #536 from coreos/calc-ips
Calculate Kubernetes service IPs based on the service CIDR
2017-05-19 16:46:48 -07:00
Dalton Hubble
0961e50f64 examples: Remove Kubernetes service IP inputs
* Calculate the required service IP values from the service CIDR
* These inputs were never truly customizable anyway since bootkube
start assumed the 1st, 10th, and 15th offsets for named services
2017-05-19 15:05:42 -07:00
Dalton Hubble
7a017c2d7d Merge pull request #537 from coreos/etcd3-terraform-state
tests/smoke: Ensure etcd3-terraform tests cleans state
2017-05-19 13:21:31 -07:00
Dalton Hubble
41aaad3d6f tests/smoke: Ensure etcd3-terraform tests cleans state 2017-05-19 12:41:37 -07:00
Dalton Hubble
ddf1f88cb9 Merge pull request #535 from coreos/bootkube-tests
tests: Add cluster tests for bootkube-install (terraform-based)
2017-05-19 11:39:55 -07:00
Dalton Hubble
af8abc7dc2 tests: Add cluster tests for bootkube-install (terraform-based)
* Terraform-based cluster examples are doing disk installs so they
take a bit longer than their counterparts
2017-05-19 10:14:22 -07:00
Dalton Hubble
0d2173e446 Merge pull request #534 from coreos/bootkube-v0.4.3
examples: Update Kubernetes to use bootkube v0.4.3
2017-05-18 16:10:00 -07:00
Dalton Hubble
e9bf13963c examples: Update Kubernetes to use bootkube v0.4.3
* Update terraform-based bootkube-install cluster example
* Update manual bootkube cluster example
2017-05-18 15:37:51 -07:00
Dalton Hubble
dbba1316b2 Merge branch 'support-oem' 2017-05-18 12:04:38 -07:00
enilfodne
34d0f5003a examples/terraform: Add support for OEM images 2017-05-18 04:43:24 +03:00
Dalton Hubble
79e5240d3f Merge pull request #531 from coreos/examples-and-links
Organize README examples listing and links
2017-05-17 16:46:10 -07:00
Dalton Hubble
46dd95da0c README: Organize examples listing and links 2017-05-17 16:32:00 -07:00
Dalton Hubble
f6522a561b Merge pull request #528 from coreos/controller-taints
examples: Add NoSchedule taint to bootkube controllers
2017-05-15 16:49:08 -07:00
Dalton Hubble
e4fdcb204e examples: Add NoSchedule taint to bootkube controllers 2017-05-15 13:50:19 -07:00
Dalton Hubble
81e00d7e79 Merge pull request #522 from coreos/bootkube-automate
examples/terraform: Automate terraform-based bootkube-install
2017-05-15 13:43:54 -07:00
Dalton Hubble
06a9a28d7c examples/terraform: Add optional variables commented out 2017-05-15 13:11:48 -07:00
Dalton Hubble
756c28f2fc examples/terraform: Fix terraform fmt 2017-05-14 14:14:47 -07:00
Dalton Hubble
cc240286f3 examples/terraform: Automate terraform-based bootkube-install
* Use the dghubble/bootkube-terraform terraform module to generate
the exact same assets that `bootkube render` would
* Use terraform to automate the kubeconfig copy and bootkube start
* Removes the reuqirement to download a bootkube binary, render assets,
and manually copy assets to nodes
2017-05-14 14:14:10 -07:00
Dalton Hubble
75e428aece Merge pull request #520 from coreos/etcd3-terraform
Jenkinsfile,tests: Add etcd3-terraform cluster to pipeline
2017-05-12 15:46:14 -07:00
Dalton Hubble
51c4371e39 Jenkinsfile,tests: Add etcd3-terraform cluster to pipeline
* Test the Terraform-based etcd3 cluster in parallel
2017-05-12 14:54:42 -07:00
Dalton Hubble
ef85730d69 Merge pull request #517 from dghubble/self-hosted-etcd
examples/terraform: Add experimental self-hosted etcd option
2017-05-10 09:55:33 -07:00
Dalton Hubble
3752ee78d5 Merge pull request #519 from brianredbeard/source-url-fix
contrib/rpm: Fixing the source URL format
2017-05-09 20:35:21 -04:00
Brian 'Redbeard' Harrington
ea9042e86e contrib/rpm: Fixing the source URL format
Fixing the source URL format to confirm to more normative rpmbuild
standards and to allow for proper use of spectool/rpmspectool.  This
change now produces a proper archive with the name and version number
used.
2017-05-09 17:26:42 -07:00
Dalton Hubble
d4e33efb38 Merge pull request #516 from coreos/local-disk-size
scripts/libvirt: Allow QEMU/KVM disk size to be customized
2017-05-09 17:37:19 -04:00
Dalton Hubble
459ce2d8bc examples/terraform: Add experimental self-hosted etcd option
* Add an option to try experimental self-hosted etcd which uses
the etcd-operator to deploy an etcd cluster as pods atop Kubernetes
and disables the on-host etcd cluster
* When enabled, configure locksmithd to coordinate reboots through
self-hosted etcd
2017-05-09 14:00:51 -07:00
Dalton Hubble
31ed8dba2f scripts/libvirt: Allow QEMU/KVM disk size to be customized 2017-05-08 16:43:38 -07:00
Dalton Hubble
2d69b2d734 Merge pull request #514 from coreos/container-install
Documentation: Add missing mkdir for rkt/docker installation
2017-05-08 18:13:01 -04:00
Dalton Hubble
2aea18e048 Documentation: Add missing mkdir for rkt/docker installation 2017-05-08 13:47:00 -07:00
Dalton Hubble
c2e5196d1a Merge pull request #510 from dghubble/squid-proxy
Add squid proxy docs as contrib drafts
2017-05-02 17:47:26 -07:00
Dalton Hubble
47d3dbacb1 contrib/squid: Move Squid docs to contrib as a draft 2017-05-02 14:11:02 -07:00
Daneyon Hansen
5e2adb1eda Adds documentation for using a Squid proxy with Matchbox. 2017-05-02 13:57:30 -07:00
Dalton Hubble
7ee68aa1a4 Merge pull request #509 from coreos/improve-examples
Improve terraform examples, tutorials, and re-usable modules
2017-05-02 13:12:57 -07:00
Dalton Hubble
e1cabcf8e8 examples/terraform: Add etcd3 tutorial and Terraform modules doc 2017-05-02 12:56:08 -07:00
Dalton Hubble
6500ed51f3 examples/terraform: Improve configurability of cluster examples
* Add matchbox_http_endpoint and matchbox_rpc_endpoint as variables
* Remove dghubble ssh public key from default
* Add a terraform.tfvars.example and gitignore terraform.tfvars
2017-05-01 21:25:12 -07:00
Dalton Hubble
4fb3ea2c7e examples/terraform: Rename coreos-install to container-linux-install
* Add container-linux-install profile to install Container Linux
* Add cached-container-linux-install profile to install Container Linux
from cached matchbox assets
2017-05-01 17:54:18 -07:00
Dalton Hubble
b1beebe855 Merge pull request #506 from coreos/bootkube-v0.4.2
examples: Update from bootkube v0.4.1 to v0.4.2
2017-05-01 16:48:39 -07:00
Dalton Hubble
6743944390 examples: Update from bootkube v0.4.1 to v0.4.2
* Contains a few fixes to bootkube logging and checkpointing
2017-05-01 15:31:29 -07:00
Dalton Hubble
4451425db8 Merge pull request #505 from danehans/issue_502
examples: updates terraform readme to include get
2017-04-28 11:13:36 -07:00
Daneyon Hansen
23959a4dd2 examples: updates terraform readme to include get
Previously, the terraform readme was incomplete by only including
terraform plan and apply commands. Additionally, the readme was
updated to include instructions for updating the profiles module
source.

Fixes #502
2017-04-28 11:28:07 -06:00
Dalton Hubble
0825fd2492 Merge pull request #504 from coreos/bootkube-bump
examples: Update self-hosted Kubernetes to v1.6.2
2017-04-27 17:59:01 -07:00
Dalton Hubble
bb08cd5087 examples: Update self-hosted Kubernetes to v1.6.2 2017-04-27 17:47:59 -07:00
Dalton Hubble
a117af6500 Merge pull request #503 from coreos/init-flannel
examples/ignition: Remove --fail from curl PUT/POST's
2017-04-27 15:39:32 -07:00
Dalton Hubble
4304ee2aa5 examples/ignition: Remove --fail from curl PUT/POST's
* Reverts parts of #470
2017-04-27 13:38:30 -07:00
Dalton Hubble
6d6879ca4a Merge pull request #501 from dghubble/copr-fix
contrib/rpm: Bump to re-build RPM release now Copr is fixed
2017-04-25 17:39:39 -07:00
Dalton Hubble
cf301eed45 Merge pull request #500 from dghubble/fix-signing-docs
Documentation/dev/release: Update commands used for signing
2017-04-25 17:37:16 -07:00
Dalton Hubble
7bbd1f651f contrib/rpm: Bump to re-build RPM release now Copr is fixed 2017-04-25 17:34:49 -07:00
Dalton Hubble
6455528f3c Documentation/dev/release: Update commands used for signing 2017-04-25 16:46:27 -07:00
Dalton Hubble
a6fde5a0c6 Merge pull request #496 from coreos/add-rpm-spec
contrib/rpm: Add matchbox RPM spec file
2017-04-25 11:28:16 -07:00
Dalton Hubble
32baac329d Merge pull request #497 from coreos/caps-retain
Documentation: Add back original rkt run dnsmasq --caps-retain
2017-04-25 11:27:58 -07:00
Dalton Hubble
73d40db168 Documentation: Add back original dnsmasq Linux --caps-retain 2017-04-24 17:08:55 -07:00
Dalton Hubble
96259aa5da contrib/rpm: Add matchbox RPM spec file 2017-04-24 16:43:29 -07:00
Dalton Hubble
fed01db5a6 README: Add v0.6.0 release announcement 2017-04-24 11:24:24 -07:00
Dalton Hubble
c8af40108f Merge pull request #495 from coreos/prep-release
*: Prepare for v0.6.0 release
2017-04-24 11:15:42 -07:00
Dalton Hubble
bcae94efc7 Merge pull request #493 from dghubble/terraform-tutorial
Documentation,examples: Add getting started tutorial with terraform
2017-04-24 11:13:33 -07:00
Dalton Hubble
348b48d886 *: Prepare for v0.6.0 release 2017-04-24 11:04:50 -07:00
Dalton Hubble
2bc6934e44 Documentation,examples: Add getting started tutorial w terraform 2017-04-24 10:52:52 -07:00
Dalton Hubble
6a53726119 Merge pull request #492 from coreos/update-cl
Update Container Linux to 1298.7.0 and pin dev/test matchbox version
2017-04-24 10:07:18 -07:00
Dalton Hubble
64168bc42e Merge pull request #494 from coreos/sync-bootkube
examples: Sync with bootkube and etcd3
2017-04-22 20:05:58 -07:00
Dalton Hubble
37b050db3e examples: Update etcd3 from 3.1.0 to 3.1.6 2017-04-22 19:34:37 -07:00
Dalton Hubble
4e544a8f39 examples: Update self-hosted Kubernetes node labels
* Update kubelet wrapper env variables and location
2017-04-22 19:34:37 -07:00
Dalton Hubble
c0c43abf49 examples: Update Container Linux image from 1235.9.0 to 1298.7.0 2017-04-21 14:28:58 -07:00
Dalton Hubble
12fc4f37cc scripts: Set the matchbox tag development and test run against
* Stop using the latest tag, since this may be cached (i.e. rkt)
2017-04-21 13:54:31 -07:00
Dalton Hubble
1cefbe5d97 Merge pull request #491 from dghubble/readme-structure
README: Update README structure and description
2017-04-21 11:40:10 -07:00
Dalton Hubble
2b96139ff7 README: Update README structure and description 2017-04-21 11:33:18 -07:00
Dalton Hubble
fa5a76d9de Merge pull request #489 from coreos/fix-terraform-bootkube
examples/terraform: Fix bootkube worker etcd_endpoints port
2017-04-20 14:58:20 -07:00
Dalton Hubble
e30f800b2b examples/terraform: Fix bootkube worker etcd_endpoints port
* Terraform example typo's the port number in the etcd_endpoints
* Causes worker etcd-gateway to fail so Container Linux updates may
not been coordinated by locksmith
2017-04-19 22:13:36 -07:00
Dalton Hubble
7dfb04c4af Merge pull request #487 from coreos/dnsmasq-docs-fixes
Update docs, changelog, and scripts for dnsmasq:v0.4.0
2017-04-19 14:53:32 -07:00
Dalton Hubble
45bece3cf7 Documentation: Update dnsmasq image version mentions
* Update coreos.com/dnsmasq references to quay.io/coreos/dnsmasq
with the v0.4.0 when specifying the tag
* Add CHANGES.md for dnsmasq image releases
2017-04-19 14:36:12 -07:00
Dalton Hubble
fa31b0a58c Merge pull request #484 from coreos/dnsmasq-update
contrib/dnsmasq: Add dnsmasq Makefile, v0.4.0 bump
2017-04-19 00:07:33 -07:00
Dalton Hubble
fbbd1b88f7 scripts/devnet: Fix rkt run quay.io/coreos/dnsmasq
* Set --dns=host so /etc/resolv.conf is not empty
* Set Linux capabilities to run dnsmasq
2017-04-18 20:00:51 -07:00
Dalton Hubble
8aac29bdf1 Merge pull request #482 from dghubble/changes
CHANGE.md: Update changelog with notable recent changes
2017-04-18 14:00:54 -07:00
Dalton Hubble
d2fdc8bfab contrib/dnsmasq: Add dnsmasq Makefile, v0.4.0 bump
* Add grub.efi to get-tftp-files script. This matches prior
dnsmasq images, but was not part of a repeatable build
* Switch rkt run examples to pull from quay.io
* Remove script using acbuild to create ACIs
2017-04-18 13:22:27 -07:00
Dalton Hubble
c66360bee0 Merge pull request #479 from coreos/update-ignition-cloud-ct
Update Ignition, Container Linux Config transpiler, and Cloud-init
2017-04-18 11:38:02 -07:00
Dalton Hubble
c9d8fcfbc1 Merge pull request #480 from coreos/remove-bootcmd
Makefile: Remove bootcmd from the release tarball
2017-04-18 11:22:42 -07:00
Dalton Hubble
311f1ec7cd Documentation: Move ignition.md to container-linux-config.md 2017-04-18 10:22:38 -07:00
Dalton Hubble
32d48018e1 glide.yaml: Update and vendor coreos-cloudinit v1.13.0 2017-04-18 10:22:38 -07:00
Dalton Hubble
a948a97339 glide.yaml: Vendor Container Linux Config transpiler
* Update and vendor ct, Ignition, and deps
2017-04-18 10:22:38 -07:00
Dalton Hubble
3f43e4ecb6 matchbox,docs: Switch from Fuze to Container Linux Config
* Container Linux Configs are Fuze configs, just renamed
2017-04-18 10:20:44 -07:00
Chris Jones
2a83612ffb matchbox/http: Update grub endpoint to use profile kernel args 2017-04-18 00:31:08 -07:00
Dalton Hubble
bf7c6abc1d CHANGE.md: Update changelog with notable recent changes
* Fix a few reamining CoreOS -> Container Linux cases
2017-04-17 22:49:24 -07:00
Dalton Hubble
ed57a2a04a Makefile: Remove bootcmd from the release tarball
* Stop shipping or mentioning bootcmd CLI tool
  * bootcmd has not been built out into a user-facing tool
  * terraform-provider-matchbox addresses some of the need
* Keep bootcmd implementation as an example matchbox gRPC client
2017-04-17 22:16:17 -07:00
Dalton Hubble
fd2c5e303d Merge pull request #477 from coreos/terraform-examples
Add terraform examples for etcd3 and self-hosted Kubernetes
2017-04-17 13:56:55 -07:00
Dalton Hubble
2eed5fdf58 Add terraform examples for etcd3 and self-hosted Kubernetes 2017-04-17 11:31:33 -07:00
Dalton Hubble
54f0cc51ba Merge pull request #476 from coreos/upgrade-kubernetes
examples: Upgrade self-hosted Kubernetes to v1.6.1
2017-04-15 00:20:18 -07:00
Dalton Hubble
bd17dd07a3 examples: Upgrade self-hosted Kubernetes to v1.6.1
* Render self-hosted assets with bootkube v0.4.0
* Relax bootkube smoke test Jenkins timeout
2017-04-14 21:58:12 -07:00
Dalton Hubble
f162ab8943 Merge pull request #475 from coreos/matchbox-on-kubernetes
contrib/k8s: Run matchbox on Kubernetes behind Ingress
2017-04-14 18:40:35 -07:00
Dalton Hubble
370790804b contrib/k8s: Run matchbox on Kubernetes behind Ingress
* Show matchbox deployment, service, and TLS secret creation
* Provide an Ingress resource for exposing HTTP and gRPC APIs
* Add note mentioning matchbox can be run publicly if best practices
are followed
2017-04-14 15:07:31 -07:00
Dalton Hubble
9a42fb0701 Merge pull request #474 from coreos/terraform-experiment
README: Announce Matchbox Terraform Provider experiment
2017-04-12 13:07:24 -07:00
Dalton Hubble
a93a7f12bb README: Announce Matchbox Terraform Provider experiment 2017-04-12 11:37:06 -07:00
Dalton Hubble
5eb257f2eb Merge pull request #472 from coreos/ignition-get-delete
Add IgnitionGet and IgnitionDelete gRPC methods
2017-04-12 10:14:24 -07:00
Dalton Hubble
43ce5c1d91 matchbox/rpc: Add IgnitionGet and IgnitionDelete gRPC methods 2017-04-11 13:35:40 -07:00
Dalton Hubble
6bbf4a30a6 matchbox/storage: Add Ignition deletes to the Store 2017-04-11 12:01:34 -07:00
Dalton Hubble
d65b1b58ec Merge pull request #469 from coreos/update-protobuf
Update protoc, Go protobuf plugin, and gRPC package
2017-04-11 11:31:00 -07:00
Dalton Hubble
7aaf0bce1e glide.yaml: Update and vendor golang protobuf plugin and gRPC
* Update Go protobuf plugin to a recent SHA
* Update Go gRPC pacakge to v1.2.1
* Regenerate code from proto files (no changes)
2017-04-11 11:12:04 -07:00
Dalton Hubble
a0a508b16b scripts/get-protoc: Update protoc from 3.1.0 to 3.2.0
* Update protoc Protocol Buffer Compiler codegen tool
2017-04-11 11:12:04 -07:00
Dalton Hubble
e5f428d412 scripts: Remove unused gentools script 2017-04-11 11:12:04 -07:00
Dalton Hubble
585ce50284 Merge pull request #468 from coreos/deletion-apis
gRPC: Add ProfileDelete and GroupDelete gRPC methods
2017-04-11 11:03:23 -07:00
Dalton Hubble
fcdabd2f23 Merge pull request #470 from coreos/curl-exit-code
examples/ignition: Return non-zero exit code for curl failures
2017-04-11 10:38:13 -07:00
Dalton Hubble
ebfc9b3f57 examples/ignition: Return non-zero exit code for curl failures 2017-04-10 16:48:52 -07:00
Dalton Hubble
3464e38c85 matchbox/rpc: Add ProfileDelete and GroupDelete gRPC methods 2017-04-10 14:52:02 -07:00
Dalton Hubble
81989cc64e matchbox/storage: Add profile and group deletes to the Store
* Add deleteFile to the Dir restricted filesystem accessor
2017-04-10 13:44:09 -07:00
Dalton Hubble
7e05672ee7 Merge pull request #466 from coreos/update-bootkube
examples: Update self-hosted Kubernetes to v1.5.6
2017-04-05 10:51:16 -07:00
Dalton Hubble
5cd275bdc1 Jenkinsfile: Relax static Kubernetes bring-up timeout 2017-04-05 09:58:16 -07:00
Dalton Hubble
1537676484 examples: Update self-hosted Kubernetes to v1.5.6
* Bump bootkube to v0.3.13
* Use hyperkube v1.5.6_coreos.0
2017-04-05 09:55:21 -07:00
Dalton Hubble
9a3347f1b5 Merge pull request #465 from coreos/vm-memory
scripts: Allow libvirt VM_MEMORY configuration
2017-04-03 20:03:21 -07:00
Dalton Hubble
7787c6b787 scripts: Allow libvirt VM_MEMORY configuration 2017-04-03 14:48:48 -07:00
Dalton Hubble
630026a1ae Merge pull request #464 from coreos/update-kubernetes
examples: Update Kubernetes (static, self-hosted, rktnetes) to v1.5.5
2017-03-21 22:14:40 -07:00
Dalton Hubble
ca4ab1a230 examples: Update Kubernetes (static, self-hosted, rktnetes) to v1.5.5
* Bump kubectl version to v1.5.5
* Bump bootkube to v0.3.12
2017-03-21 21:47:14 -07:00
Dalton Hubble
1a48a51253 Merge pull request #460 from coreos/bump-k8s
examples: Update static Kubernetes to v1.5.4
2017-03-13 15:46:15 -07:00
Dalton Hubble
07e22ca6ed examples: Update static Kubernetes to v1.5.4 2017-03-13 15:30:35 -07:00
Dalton Hubble
a79d94947f Merge pull request #459 from tvon/patch-1
Add missing comma
2017-03-13 15:28:30 -07:00
Tom von Schwerdtner
31993b2e69 Add missing comma 2017-03-13 13:15:01 -04:00
Dalton Hubble
00dbbd9588 Merge pull request #458 from coreos/download-bins
scripts: Always download bootkube and kubectl
2017-03-10 18:04:14 -08:00
Dalton Hubble
c498665bdd scripts: Always download bootkube and kubectl
* Cached bootkube binary causes smoke test failures
when a new version is needed
2017-03-10 17:27:52 -08:00
Dalton Hubble
ad5caa1eee Merge pull request #457 from coreos/bootkube-update
examples: Update self-hosted Kubernetes to v1.5.4
2017-03-10 16:31:20 -08:00
Dalton Hubble
66fb51f006 examples: Update self-hosted Kubernetes to v1.5.4
* Use bootkube v0.3.11 binary and image
* Disable anonymous-auth flag for on-host kubelet
* Set the client CA for on-host kubelet, based on kubeconfig
2017-03-10 14:45:11 -08:00
Dalton Hubble
7c53dc5b60 Merge pull request #443 from coreos/go-1.8
travis.yml: Build matchbox with Go 1.8
2017-03-10 14:39:18 -08:00
Dalton Hubble
020768834c travis.yml: Build matchbox with Go 1.8 2017-03-09 11:28:31 -08:00
Dalton Hubble
aaa29ec6b2 Merge pull request #456 from coreos/improve-tests
tests: Improve Jenkins smoke testing reliability
2017-03-09 11:24:03 -08:00
Dalton Hubble
d465d97201 Jenkinsfile: Smoke test against the checkout scm 2017-03-09 10:57:25 -08:00
Dalton Hubble
fa23c0706f tests: Increase etcd3 timeout and trap EXITs to cleanup 2017-03-09 10:54:38 -08:00
Dalton Hubble
3946d9ee66 tests,scripts: Simplify bootkube and kubectl binary curling 2017-03-09 10:51:10 -08:00
Dalton Hubble
b03f62814d Merge pull request #453 from coreos/fix-address-parse
cmd/matchbox: fix -address parsing when built with Go 1.8
2017-03-08 10:08:16 -08:00
Dalton Hubble
0d1beeb632 cmd/matchbox: fix -address parsing when built with Go 1.8
* 1.8 changed the behavior of url.Parse so it is no longer
appropriate for parsing values like 0.0.0.0:8080
* Pass the address directly to http.ListenAndServe which gives
reasonable errors when bad values are given
2017-03-08 01:45:30 -08:00
Josh Wood
3ff11fad17 Merge pull request #452 from radhikapc/master
Documentation/*.md: Make headings sentence case
2017-03-07 17:00:33 -08:00
Radhika Puthiyetath
08504aabc5 Documentation/*.md: Make headings sentence case. Performed the following checks:
sentence case
index heading 2
matchbox - proper noun and capitalized
2017-03-07 16:51:16 -08:00
Dalton Hubble
05cc9d8f1b Merge pull request #451 from coreos/jenkins
Add a Jenkinsfile to perform smoke tests
2017-03-07 13:45:03 -08:00
Dalton Hubble
30600915c6 Add a Jenkinsfile to perform smoke tests 2017-03-07 12:34:43 -08:00
Dalton Hubble
fb80af3fe5 Merge pull request #450 from coreos/add-worker-node
contrib/dnsmasq: Add a 4th node for multi-k8s tests
2017-03-07 10:35:35 -08:00
Dalton Hubble
ce34cc8fa4 contrib/dnsmasq: Add a 4th node for multi-k8s tests 2017-03-06 17:55:21 -08:00
Dalton Hubble
033efb5ebf tests/smoke: Cleanup TLS assets before k8s smoke tests 2017-03-06 12:55:00 -08:00
Dalton Hubble
f3f20104aa Merge pull request #449 from coreos/bootkube-update
Update self-hosted Kubernetes to v1.5.3 and use bootkube v0.3.9
2017-03-04 12:14:11 -08:00
Dalton Hubble
b84e92a05a examples: Update self-hosted Kubernetes to v1.5.3
* Use kubernetes-incubator/bootkube v0.3.9
2017-03-03 15:33:59 -08:00
Dalton Hubble
26957d6fb3 Merge pull request #447 from coreos/bootkube-tests
Add bootkube cluster bring-up to smoke tests
2017-03-03 15:33:08 -08:00
Dalton Hubble
90532afa3d tests: Move smoke tests from internal to tests 2017-03-03 15:16:00 -08:00
Dalton Hubble
2849f94cd9 internal: Reduce smoke test duplication 2017-03-03 13:51:14 -08:00
Dalton Hubble
fa14cf8c9c Add bootkube cluster bring-up to smoke tests 2017-03-02 01:32:34 -08:00
Dalton Hubble
d2ec4f1ced Merge pull request #431 from coreos/smoke-tests
internal: Add smoke testing scripts
2017-03-01 14:28:18 -08:00
Dalton Hubble
9a1d87b143 internal: Add internal smoke test scripts
* Test etcd and k8s cluster bring-up
2017-03-01 13:38:32 -08:00
Dalton Hubble
1e6b8ece14 Merge pull request #444 from coreos/jx-generic-linux
Doc/deployment: s/general/generic linux distros
2017-03-01 10:48:52 -08:00
Josh Wood
1b86919bac Doc/deployment: s/general/generic linux distros 2017-03-01 10:30:08 -08:00
Dalton Hubble
58fa667888 Merge pull request #445 from siadat/fix-hosts-in-doc
Docs: fix entries in the /etc/hosts section
2017-03-01 10:26:14 -08:00
Sina Siadat
e47227750a Docs: fix entries in the /etc/hosts section
Remove unnecessary "$" prefixes
2017-03-01 11:26:32 +03:30
Dalton Hubble
66f2e35616 Merge pull request #442 from ElijahCaine/codeblock-std
Docs: standardize codeblocks to ``` fencing
2017-02-27 09:40:10 -08:00
Elijah C. Voigt
6a12032f51 Docs: standardize codeblock fencing. 2017-02-24 17:17:41 -08:00
Dalton Hubble
2e5375f495 Merge pull request #441 from joshix/markerrun
Documentation: Update outdated links (marker)
2017-02-23 13:02:58 -08:00
Josh Wood
5fad9943da Documentation: Update outdated links (marker) 2017-02-23 11:33:30 -08:00
Dalton Hubble
dde6a8972f Merge pull request #440 from coreos/etcd2-to-etcd3
Switch from etcd2 to etcd3
2017-02-19 12:04:20 -08:00
Dalton Hubble
8fd4bea89b examples: Update bootkube to v0.3.7 and etcd3 2017-02-17 18:36:12 -08:00
Dalton Hubble
dabf0eae54 examples: Remove etcd (i.e. etcd2) cluster examples 2017-02-17 15:21:12 -08:00
Dalton Hubble
e02f8f7a9e examples: Update etcd3 (etcd-member) and use the etcd3 gateway 2017-02-17 15:10:37 -08:00
Dalton Hubble
b27e1a8afa Merge pull request #439 from coreos/test
Documentation: Remove mkdocs site builder
2017-02-16 15:53:38 -08:00
Dalton Hubble
1a93282cb5 Documentation: Remove mkdocs site builder 2017-02-16 15:47:29 -08:00
Dalton Hubble
fd2b6e1cb1 Merge pull request #438 from andrewrothstein/fix-typo
fix typo in documentation
2017-02-16 15:45:34 -08:00
Andrew Rothstein
2d5bce04c1 fix typo 2017-02-14 23:13:16 -05:00
Dalton Hubble
189f790a7e examples: Remove torus example cluster 2017-02-13 16:39:16 -08:00
Dalton Hubble
cfdec8cea0 Merge pull request #435 from coreos/bump-coreos
Bump CoreOS image from 1185.3.0 to 1235.9.0
2017-02-13 16:33:25 -08:00
Dalton Hubble
0419b2f327 Bump CoreOS image from 1185.3.0 to 1235.9.0 2017-02-13 15:44:06 -08:00
Dalton Hubble
e1fda6b22b Merge pull request #434 from cjyar/filestore-logging
Don't swallow errors; that's rude.
2017-02-13 15:30:45 -08:00
Chris Jones
697d7ec73d storage: report errors in GroupList
Errors should be reported instead of silently failing to read files.
2017-02-10 16:45:05 -07:00
Dalton Hubble
7fa2c96d5d Merge pull request #428 from coreos/update-kubernetes
Update example Kubernetes clusters to v1.5.2
2017-01-30 14:26:13 -08:00
Dalton Hubble
1526a2edaf examples: Ensure kubelet awaits /etc/resolv.conf setup
* Reflects a change we applied in Tectonic clusters
2017-01-29 17:37:36 -08:00
Dalton Hubble
e024a6b7b0 examples: Update Kubernetes clusters to v1.5.2
* Update bootkube to v0.3.5 binary
2017-01-29 17:37:19 -08:00
Dalton Hubble
5812cab050 Documentation: Update RPM Copr repository 2017-01-25 11:24:11 -08:00
Dalton Hubble
40f13e0587 *: Prepare for v0.5.0 release 2017-01-23 04:05:55 -08:00
Máximo Cuadros
cedeb868f9 ipxe: use mac instead of net0/mac 2017-01-19 21:06:45 -08:00
Dalton Hubble
354b434ffc Merge pull request #427 from urzds/patch-2
Lock architecture to ARMv6 for linux-arm images
2017-01-19 14:01:42 -08:00
Dalton Hubble
88f9d637b1 Merge branch 'master' into patch-2 2017-01-19 11:48:51 -08:00
Dalton Hubble
a0d578d547 Merge pull request #426 from urzds/patch-1
Fix typo: AMR64->ARM64
2017-01-19 11:48:25 -08:00
Dennis Schridde
e739b98305 Lock architecture to ARMv6 for linux-arm images
Unless `GOARM` is specified, the Go compiler will choose the compiling system's architecture as a target (similar to GCC's `-march=native`). This commit prevents that by explicitly selecting ARMv6 (e.g. Raspberry Pi 1) as the target.

According to the documentation, ARM64 does not need this, as ARMv8 is implicit and the value of `GOARM` is not considered for this architecture.

See-Also: https://github.com/golang/go/wiki/GoArm
2017-01-19 13:49:23 +01:00
Dennis Schridde
ea10f41886 Fix typo: AMR64->ARM64 2017-01-19 11:30:38 +01:00
Dalton Hubble
ed017d7a86 Merge pull request #425 from coreos/devnet
scripts/devnet: Improve devnet script usability
2017-01-18 13:04:29 -08:00
Dalton Hubble
3337f9ef60 scripts/devnet: Improve devnet script usability
* Add devnet script to getting-started-rkt
2017-01-18 11:37:03 -08:00
Dalton Hubble
23216b2a97 Merge pull request #417 from coreos/update-protobuf
Update protobuf tools, re-vendor deps, re-generate code
2017-01-18 11:36:03 -08:00
Dalton Hubble
f609b85d30 matchbox: Re-generate matchbox protobuf code 2017-01-18 11:17:08 -08:00
Dalton Hubble
3ac3063995 vendor: Re-vendor protobuf and grpc 2017-01-18 11:17:08 -08:00
Dalton Hubble
11c739949f glide.yaml: Update protobuf and grpc
* Update grpc to 1.0.5
* Update protobuf to 8ee79997227bf9b34611aee7946ae64735e6fd93
* Add protoc-gen-go subpackage which is needed by codegen
2017-01-18 11:17:08 -08:00
Dalton Hubble
6c6e2aadaf Merge pull request #422 from coreos/makefile
Switch to a Makefile driven develop/release process
2017-01-18 10:21:10 -08:00
Dalton Hubble
219da4d934 *: Switch to a Makefile driven develop/release process
* Add make targets for vendor, docker-image, and tools
* Move scripts into the scripts folder
2017-01-18 02:11:27 -08:00
Dalton Hubble
b9d73c58ee Merge pull request #421 from coreos/project-rename
*: Rename coreos-baremetal to matchbox
2017-01-17 01:48:35 -08:00
Dalton Hubble
c749a28662 *: Rename coreos-baremetal to matchbox 2017-01-17 00:58:03 -08:00
Dalton Hubble
9e3efa5229 Merge pull request #411 from coreos/self-hosted-flannel
examples: Update Kubernetes to use self-hosted flannel
2017-01-13 16:57:07 -08:00
Dalton Hubble
e54418633c examples: Update Kubernetes to use self-hosted flannel
* Self-hosted Kubernetes now runs flannel as a daemonset
2017-01-13 15:29:23 -08:00
Dalton Hubble
e56e5a3a03 Update dockerignore to slim the build context 2017-01-12 17:21:16 -08:00
Dalton Hubble
e4b4f82177 Merge pull request #416 from coreos/pin-base-image
Dockerfile: Pin the matchbox and dnsmasq base images
2017-01-11 18:01:46 -08:00
Dalton Hubble
79a2bf2326 Dockerfile: Pin the matchbox and dnsmasq base images 2017-01-11 15:47:31 -08:00
Dalton Hubble
2b23f4a17c Merge pull request #414 from coreos/standard-context
matchbox: Switch to Go 1.7+ standard context
2017-01-11 10:58:09 -08:00
Dalton Hubble
89accb281f matchbox: Switch to Go 1.7+ standard context
* Drop build support for Go 1.6
2017-01-11 03:00:33 -08:00
Dalton Hubble
fd61297a43 README: Update README with move notice
* Add an Enterprise section to show Tectonic
2017-01-11 02:44:05 -08:00
Dalton Hubble
f064d72c28 .travis.yml: Add Go 1.8rc1, fix Go tip tests 2017-01-11 01:28:18 -08:00
Dalton Hubble
9165dc202b contrib: Rename systemd units from bootcfg to matchbox 2017-01-11 01:25:32 -08:00
Dalton Hubble
2d8977b2e1 Merge pull request #413 from coreos/rename-bootcfg
Rename bootcfg to matchbox
2017-01-11 00:59:54 -08:00
Dalton Hubble
27427dbd1b Add CHANGES, migration notes, and update contrib
* Update k8s and systemd contrib examples for v0.5.0
2017-01-09 04:34:06 -08:00
Dalton Hubble
b7377f54bc Discontinue signed and tagged ACIs
* Move toward a unified container image which is run
either by rkt or docker
* Sadly, image signing only supported by rkt and is not
part of the new standard
2017-01-09 04:33:01 -08:00
Dalton Hubble
d496192032 Rename bootcfg to matchbox in docs, examples, scripts
* Verify all examples and docs work correctly
* Exclude contrib k8s and systemd which will be updated
and verified in a followup commit
2017-01-09 04:32:45 -08:00
Dalton Hubble
86f737ff93 Rename bootcfg code references to matchbox
* Change config drectory to /etc/matchbox
* Change data-path to /var/lib/matchbox
* Change assets-path to /var/lib/matchbox/assets
2017-01-09 04:30:30 -08:00
Dalton Hubble
50432159d7 Update imports from bootcfg to matchbox 2017-01-09 02:25:56 -08:00
Dalton Hubble
88da59560d Move bootcfg package to matchbox 2017-01-09 02:21:47 -08:00
Dalton Hubble
3073e1ed22 Rename bootcfg to matchbox in development scripts
* Build and cross-compile binary named matchbox
* Use matchbox binary in container images
2017-01-09 02:15:30 -08:00
Dalton Hubble
6320cae91e Merge pull request #409 from coreos/update-k8s
Update Kubernetes (static) to v1.5.1
2017-01-05 13:14:34 -08:00
Dalton Hubble
0e06878714 examples: Update Kubernetes (static) addons for v1.5.1 2017-01-05 13:04:19 -08:00
Dalton Hubble
5ee63aebe5 examples: Update Kubernetes (static) to v1.5.1 2017-01-05 10:54:06 -08:00
Dalton Hubble
4a72802a32 Merge pull request #408 from coreos/virt-install-reboots
scripts: Add virt-install flag so reboots work
2017-01-04 16:55:42 -08:00
Dalton Hubble
da95af5625 scripts: Add virt-install flag so reboots work
* virt-install created VMs which reboot themselves should
actually reboot in order to mirror real machines
2017-01-04 16:26:51 -08:00
Dalton Hubble
8b50a84c4a Merge pull request #407 from coreos/update-self-hosted
examples: Upgrade self-hosted Kubernetes to v1.5.1
2016-12-30 17:05:07 -08:00
Dalton Hubble
b9f0f61bd5 examples: Upgrade self-hosted Kubernetes to v1.5.1
* Update bootkube version to stop requiring the forked
binary; bootkube now allows DNS names
* https://github.com/kubernetes-incubator/bootkube/pull/151
2016-12-30 16:27:53 -08:00
Dalton Hubble
8823e0fc30 Merge pull request #405 from stephanlindauer/patch-1
typo
2016-12-19 17:56:17 -08:00
stephan lindauer
dcb37f1acc typo 2016-12-20 02:25:35 +01:00
Dalton Hubble
e1334730ce Merge pull request #403 from coreos/k8s-v1.4.7
Update Kubernetes clusters to v1.4.7
2016-12-17 23:38:46 -08:00
Dalton Hubble
6963994942 examples: Update static Kubernetes clusters to v1.4.7
* Combine rktnetes Ignition into Kubernetes static cluster
* Set the container_runtime metadata to docker or rkt
2016-12-17 17:07:56 -08:00
Dalton Hubble
9f27efba9b examples/ignition/bootkube: Wrap bootkube in systemd service
* Start `bootkube start` via systemctl, don't require a persistent
SSH connection during the script run
2016-12-17 14:43:50 -08:00
Dalton Hubble
b2317ec35e examples/bootkube: Update self-hosted k8s to v1.4.7 2016-12-17 14:26:31 -08:00
Dalton Hubble
eb9809ee86 examples/ignition: Remove old kubelet by uuid-file
* Fix typo, --uuid should be --uuid-file
2016-12-13 14:16:24 -08:00
Dalton Hubble
112c2949fa Merge pull request #396 from coreos/kernel-args
bootcfg/storage: Change kernel args to be a slice
2016-12-12 11:13:30 -08:00
Dalton Hubble
54f0be2b8a bootcfg/storage: Change kernel args to be a slice
* Add Profile 'args' field as a list of kernel args
* Deprecate 'cmdline' field map of kernel args
* Add missing console=tty0 console=ttyS0 kernel args
to all example clusters
* Show `virsh console nodeN` command for development
with local QEMU/KVM nodes
2016-12-12 11:05:05 -08:00
Dalton Hubble
1e367634f3 Documentation: Deprecate Pixiecore support
* Focus on real-world, varied network environments
and flexibility, and bare-metal Tectonic
* iPXE provides better hardware introspection than being
limited to MAC
* ISC DHCP and dnsmasq provides production DHCP service
* Drop Pixiecore from the setups we can support or recommend
2016-12-12 10:45:26 -08:00
Dalton Hubble
0e495c5720 bootcfg: Parse and convert Fuze configs to Ignition 2016-12-11 21:08:40 -08:00
Dalton Hubble
377ca3b1e8 vendor: Update Ignition and Fuze version 2016-12-11 21:08:12 -08:00
Dalton Hubble
d48b8e884f Merge pull request #395 from coreos/kubelet-cleanup
examples: Remove old kubelet pods by uuid-file
2016-12-09 16:57:45 -08:00
Dalton Hubble
6cd016d019 examples: Remove old kubelet pods by uuid-file
* Save the rkt pod uuid on start and remove pod resources
(files, network) on restart, without waiting on gc
2016-12-09 15:08:56 -08:00
Dalton Hubble
d654c525dd Documentation: Update release process docs 2016-12-07 14:04:24 -08:00
Dalton Hubble
3e2593c673 Update version from v0.4.1 to v0.4.2 2016-12-07 13:14:24 -08:00
Dalton Hubble
8005c51d56 Merge pull request #391 from coreos/add-mkdocs
Add mkdocs.yaml and index page
2016-12-07 13:02:56 -08:00
Dalton Hubble
9124f3f461 Add mkdocs.yaml and index page 2016-12-07 12:15:31 -08:00
Dalton Hubble
485f7bcc99 Documentation: Add RPM install notes 2016-12-07 12:02:29 -08:00
Dalton Hubble
ce381ff788 contrib/systemd: Update bootcfg systemd units 2016-12-07 11:41:08 -08:00
Dalton Hubble
a77dd0f55b Merge pull request #389 from coreos/bump-go-version
Update .travis Go version and deployment settings
2016-12-06 20:42:38 -08:00
Dalton Hubble
2a73345e0f travis: Pull requests always skip deploy
* https://docs.travis-ci.com/user/deployment/#Pull-Requests
2016-12-06 20:13:07 -08:00
Dalton Hubble
de093cb7aa travis: Update Go version to 1.7.4 2016-12-06 20:01:00 -08:00
Dalton Hubble
e62e8419cd Documentation: Remove rkt trust command
* CoreOS systemd unit doesn't use the signed image
coreos.com/bootcfg currently. Trust does nothing
2016-12-06 16:37:13 -08:00
Dalton Hubble
37a3fd9b3a Merge pull request #387 from bzub/doc-fix
Documentation: update deployment.md cert-gen references
2016-12-04 12:58:30 -08:00
bzub
61eafcb861 Documentation: update deployment.md cert-gen references
Deployment document refers to `scripts/tls` for self-signed certificates.
The current location is actually `examples/etc/bootcfg`
2016-12-04 13:25:46 -06:00
Dalton Hubble
74e5e884ec contrib/dnsmasq: Add address for a Tectonic test 2016-11-29 17:17:46 -08:00
Dalton Hubble
1394ee4fd8 scripts/devnet: Fix CoreOS download help text 2016-11-28 11:17:31 -08:00
Quentin Machu
a78c3a0f75 Documentation: Update pixiecore link 2016-11-28 11:06:24 -08:00
Dmitry Bashkatov
2bdffc7569 scripts/tls: Fix kube-conf for darwin OS type 2016-11-28 11:04:31 -08:00
Dalton Hubble
43cf9cba66 Merge pull request #383 from coreos/metal0-cidr
Documentation: Change metal0 bridge to 172.18.0.0/24
2016-11-21 11:41:38 -08:00
Dalton Hubble
b492b1a23a Documentation: Change metal0 bridge to 172.18.0.0/24
* Change CIDR from 172.15.0.0/16, which isn't a reserved
private range
* Use a smaller CIDR, /24 is sufficient
2016-11-21 11:01:41 -08:00
Dalton Hubble
a00437c8c4 Merge pull request #380 from coreos/update-examples
Update CoreOS and tutorial/docs
2016-11-20 15:32:12 -08:00
Dalton Hubble
002412df2e Documentation: Use /etc/hosts node names in docs 2016-11-20 01:05:44 -08:00
Dalton Hubble
dc36b7858d examples/README: Add autologin clarification 2016-11-19 23:18:04 -08:00
Dalton Hubble
d5c5dde2e4 docs,examples: Update CoreOS to stable 1185.3.0 2016-11-19 23:09:58 -08:00
Dalton Hubble
7edf503807 Merge pull request #378 from coreos/docs-deployment
Documentation: Update deployment docs to use v0.4.1
2016-11-17 20:52:03 -08:00
Dalton Hubble
3a07ea3ac2 Documentation: Update deployment docs for v0.4.1 2016-11-17 20:25:58 -08:00
Dalton Hubble
e1727e6cb3 Merge pull request #377 from coreos/update-kubernetes
Update Kubernetes clusters to v1.4.6
2016-11-17 11:15:42 -08:00
Dalton Hubble
afa5068dd6 Documentation: Update Kubernetes dashboard screenshot 2016-11-17 00:50:14 -08:00
Dalton Hubble
cc07099687 examples: Bump self-hosted Kubernetes to v1.4.6 2016-11-17 00:46:14 -08:00
Dalton Hubble
962474e667 examples: Bump Kubernetes to v1.4.6
* Bump static docker/rkt Kubernetes clusters to v1.4.6
2016-11-16 23:21:10 -08:00
Dalton Hubble
91d42b9e1f Merge pull request #373 from coreos/locksmith
examples/ignition: Set reboot strategy to etcd-lock
2016-11-10 16:07:27 -08:00
Dalton Hubble
60842c155c examples/ignition: Set reboot strategy to etcd-lock
* locksmithd should use etcd to lock for reboots
* The default best-effort strategy uses the reboot
strategy if etcd isn't running for some reason
2016-11-10 15:28:54 -08:00
Denis Andrejew
dbc081913e fix anchor link in network-setup.md 2016-11-10 14:37:16 -08:00
Dalton Hubble
7a13843b21 examples: Increase the inotify max_user_watches
* Kubelet is reported to crash if cadvisor can't watch
2016-11-08 10:09:38 -08:00
Dalton Hubble
b2735d1f41 Merge pull request #370 from coreos/on-host-kubelet
examples: Use Kubelet --pod-manifest-path and EnvironmentFile
2016-11-02 13:16:18 -07:00
Dalton Hubble
2c68b4a0d9 examples: Use Kubelet --pod-manifest-path and EnvironmentFile 2016-11-01 16:39:14 -07:00
Dalton Hubble
f97df85304 Documentation: Fix some images and links 2016-10-29 18:01:09 -07:00
Dalton Hubble
056a29ad0f Merge pull request #367 from coreos/bump-kubernetes
Upgrade Kubernetes clusters to v1.4.3
2016-10-19 14:14:11 -07:00
Dalton Hubble
eb0e109f09 Upgrade Kubernetes clusters to v1.4.3
* Upgrade rktnetes Kubernetes clusters
* Upgrade dockernetes Kubernetes clusters
* Upgrade self-hosted Kubernetes clusters
2016-10-19 12:11:19 -07:00
Dalton Hubble
cee750cf3e Merge pull request #365 from coreos/self-hosted-upgrades
Documentation: Show self-hosted Kubernetes upgrade process
2016-10-19 09:49:20 -07:00
Dalton Hubble
faf8e37938 Documentation: Show self-hosted Kubernetes upgrade process 2016-10-19 02:24:53 -07:00
4288 changed files with 7457 additions and 917063 deletions

View File

@@ -1,8 +1,3 @@
contrib/
Documentation/
examples/
Godeps/
scripts/
vendor/
vagrant/
*.aci
bin/
_output/

36
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,36 @@
---
name: Bug report
about: Report a bug to improve the project
title: ''
labels: ''
assignees: ''
---
<!-- READ: Issues are used to receive focused bug reports from users and to track planned future enhancements by the authors. Topics like support, debugging help, advice, and operation are out of scope and should not use issues-->
**Description**
A clear and concise description of what the bug is.
**Steps to Reproduce**
Provide clear steps to reproduce the bug.
- [ ] Relevant error messages if appropriate (concise, not a dump of everything).
**Expected behavior**
A clear and concise description of what you expected to happen.
**Environment**
* OS: fedora-coreos, flatcar-linux (include release version)
* Release: Matchbox version or Git SHA (reporting latest is **not** helpful)
**Possible Solution**
<!-- Most bug reports should have some inkling about solutions. Otherwise, your report may be less of a bug and more of a support request (see top).-->
Link to a PR or description.

5
.github/ISSUE_TEMPLATE/config.yml vendored Normal file
View File

@@ -0,0 +1,5 @@
blank_issues_enabled: false
contact_links:
- name: Security
url: https://typhoon.psdn.io/topics/security/
about: Report security vulnerabilities

18
.github/dependabot.yaml vendored Normal file
View File

@@ -0,0 +1,18 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
- package-ecosystem: docker
directory: "/"
schedule:
interval: daily
- package-ecosystem: pip
directory: "/"
schedule:
interval: weekly

12
.github/release.yaml vendored Normal file
View File

@@ -0,0 +1,12 @@
changelog:
categories:
- title: Contributions
labels:
- '*'
exclude:
labels:
- dependencies
- no-release-note
- title: Dependencies
labels:
- dependencies

15
.github/workflows/build.yaml vendored Normal file
View File

@@ -0,0 +1,15 @@
name: build
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
go:
uses: poseidon/.github/.github/workflows/golang-library.yaml@main
multiarch:
uses: poseidon/fleetlock/.github/workflows/multiarch.yaml@main
secrets:
QUAY_TOKEN: ${{ secrets.QUAY_TOKEN }}

26
.github/workflows/mkdocs-pages.yaml vendored Normal file
View File

@@ -0,0 +1,26 @@
name: mkdocs-pages
on:
workflow_call:
jobs:
publish:
name: publish
runs-on: ubuntu-latest
steps:
# Checkout repo to GitHub Actions runner
- name: Checkout
uses: actions/checkout@v6
# Install Python
- name: Setup Python
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.x
# Install PyPI packages
- name: Dependencies
run: pip install -r requirements.txt
# Push to GitHub Pages
- name: Push Docs
run: |
mkdocs gh-deploy --force

13
.github/workflows/publish.yaml vendored Normal file
View File

@@ -0,0 +1,13 @@
name: publish
on:
push:
branches:
- release-docs
jobs:
mkdocs:
name: mkdocs
uses: ./.github/workflows/mkdocs-pages.yaml
# Add content write for GitHub Pages
permissions:
contents: write

8
.github/workflows/summary.yaml vendored Normal file
View File

@@ -0,0 +1,8 @@
name: summary
on:
pull_request:
jobs:
enforce:
uses: ./.github/workflows/wait-for-status-checks.yaml
permissions:
checks: read

View File

@@ -0,0 +1,16 @@
name: wait-for-status-checks
on:
workflow_call:
jobs:
status-checks:
runs-on: ubuntu-slim
permissions:
checks: read
steps:
- name: GitHub Checks
uses: poseidon/wait-for-status-checks@899c768d191b56eef585c18f8558da19e1f3e707 # v0.6.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
# wait-for-status-checks ignores it's own check name, but it does
# not know the full name when used inside a reusable workflow
ignore: "enforce / status-checks"

1
.gitignore vendored
View File

@@ -32,3 +32,4 @@ bin/
_output/
tools/
contrib/registry/data
contrib/rpm/*.tar.gz

View File

@@ -1,29 +0,0 @@
language: go
sudo: required
services:
- docker
go:
- 1.6.3
- 1.7
- tip
matrix:
allow_failures:
- go: tip
env:
global:
- GO15VENDOREXPERIMENT="1"
install:
- go get github.com/golang/lint/golint
script:
- ./test
deploy:
provider: script
script: scripts/travis-docker-push
skip_cleanup: true
on:
branch: master
go: '1.6.3'
condition: "$TRAVIS_PULL_REQUEST = false"
notifications:
email: change

View File

@@ -1,8 +1,218 @@
# coreos-baremetal bootcfg
# Matchbox
Notable changes between releases.
## Latest
* Add ARM and AMR64 release architectures (#309)
## v0.11.0
* Update butane from v0.17.0 to v0.18.0 ([#1079](https://github.com/poseidon/matchbox/pull/1079))
* Add support for `fcos` [v1.5.0](https://coreos.github.io/butane/config-fcos-v1_5/) Butane Configs
* Add support for `flatcar` [v1.1.0](https://coreos.github.io/butane/config-flatcar-v1_1/) Butane Configs
* Render Ignition as Ignition spec [v3.4.0](https://coreos.github.io/ignition/configuration-v3_4/)
## v0.10.0
* Remove support for Ignition v0.35.0 (Ignition spec v2.x)
* Remove support for Container Linux Configs (**action required**)
* Container Linux Configs were a YAML format that rendered to Ignition (spec v2.x)
* Flatcar Linux now supports Ignition v2 (spec v3.x)
* Butane is a suitable YAML format that renders Ignition v2 (spec v3.x)
* Upgrade Ignition from v0.35.0 (spec v2.x) to v2.14.0 (spec v3.x)
* Update Go version (v1.20.2) and alpine base image (v3.17.3)
* Add limited support for Matchbox rendering Butane configs ([#997](https://github.com/poseidon/matchbox/pull/997)) ([docs](https://matchbox.psdn.io/ignition/#matchbox-rendering))
* Recommend writing Butane via external tools (**action required**)
* For Terraform, use [poseidon/terraform-provider-ct](https://github.com/poseidon/terraform-provider-ct)
* For a CLI, use [`butane`](https://github.com/coreos/butane)
* Parse Ignition and render forward to Ignition v2 (spec v3.3)
* Ignition is [forward](https://github.com/coreos/ignition/blob/main/config/v3_3/config.go#L61) compatible (e.g. a `v3.1` spec can be rendered as `v3.3` safely)
If you still template Container Linux Configs via Matchbox, [migrate](https://www.flatcar.org/docs/latest/provisioning/config-transpiler/) to Butane by prepending:
```yaml
variant: flatcar
version: 1.0.0
```
## v0.9.1
* Add dependabot Go module update automation ([#833](https://github.com/poseidon/matchbox/pull/833))
* Build multi-arch container images (amd64, arm64) ([#823](https://github.com/poseidon/matchbox/pull/823))
* Update Go version (v1.18.4) and alpine base image (v3.16.1)
* Move `dnsmasq` container image to its own [repo](https://github.com/poseidon/dnsmasq) ([#840](https://github.com/poseidon/matchbox/pull/840))
* Deprecate rendering Container Linux Configs
* Please migrate to serving CoreOS Ignition directly
* Use tools like [poseidon/ct](https://github.com/poseidon/terraform-provider-ct) or [butane](https://coreos.github.io/butane/getting-started/) to validate and convert a Butane Config (`focs` or `flatcar`) to Ignition (for Matchbox to serve)
### Docs/Examples
* Migrate docs website to GitHub Pages ([#976](https://github.com/poseidon/matchbox/pull/976))
* Update Fedora CoreOS images and configuration ([#972](https://github.com/poseidon/matchbox/pull/972))
* Update Fedora CoreOS initrd karg for UEFI ([#978](https://github.com/poseidon/matchbox/pull/978))
* Update Flatcar Linux examples to use Ignition v3.3.0 ([#980](https://github.com/poseidon/matchbox/pull/980))
## v0.9.0
* Refresh docs and examples for Fedora CoreOS and Flatcar Linux ([#815](https://github.com/poseidon/matchbox/pull/815), [#816](https://github.com/poseidon/matchbox/pull/816))
* Update Kubernetes manifest examples ([#791](https://github.com/poseidon/matchbox/pull/791), [#817](https://github.com/poseidon/matchbox/pull/817))
* Update Matchbox container image publishing ([#795](https://github.com/poseidon/matchbox/pull/795))
* Publish Matchbox images from internal infra to Quay (`quay.io/poseidon/matchbox`)
* Update Go version from v1.13.4 to v1.14.9
* Update base image from `alpine:3.10` to `alpine:3.12` ([#784](https://github.com/poseidon/matchbox/pull/784))
* Include `contrib/k8s` in release tarballs ([#788](https://github.com/poseidon/matchbox/pull/788))
* Remove outdated systemd units ([#817](https://github.com/poseidon/matchbox/pull/817))
* Remove RPM spec file (Copr publishing stopped in v0.6)
## v0.8.3
* Publish docs to [https://matchbox.psdn.io](https://matchbox.psdn.io/) ([#769](https://github.com/poseidon/matchbox/pull/769))
* Update Go version from v1.11.7 to v1.13.4 ([#766](https://github.com/poseidon/matchbox/pull/766), [#770](https://github.com/poseidon/matchbox/pull/770))
* Update container image base from `alpine:3.9` to `alpine:3.10` ([#761](https://github.com/poseidon/matchbox/pull/761))
* Include `get-fedora-coreos` convenience script ([#763](https://github.com/poseidon/matchbox/pull/763))
* Remove Kubernetes provisioning examples ([#759](https://github.com/poseidon/matchbox/pull/759))
* Remove rkt tutorials and docs ([#765](https://github.com/poseidon/matchbox/pull/765))
## v0.8.1 - v0.8.2
Releases `v0.8.1` and `v0.8.2` were not built cleanly
* Release tags and container images have been removed
* Caused by go get golint (module-aware) mutating `go.mod` on Travis (see [#775](https://github.com/poseidon/matchbox/pull/775), [#777](https://github.com/poseidon/matchbox/pull/777))
## v0.8.0
* Transfer Matchbox repo from coreos to poseidon GitHub Org
* Publish container images at [quay.io/poseidon/matchbox](https://quay.io/repository/poseidon/matchbox)
* Build Matchbox with Go v1.11.7 for images and binaries
* Update container image base from alpine:3.6 to alpine:3.9
* Render Container Linux Configs as Ignition v2.2.0
* Validate raw Ignition configs with the v2.2 spec (warn-only)
* Fix warnings that v2.2 configs are too new
Note: Release signing key [has changed](https://github.com/poseidon/matchbox/blob/v0.8.0/Documentation/deployment.md) with the project move.
### Examples
* Update Kubernetes example clusters to v1.14.1 (Terraform-based)
## v0.7.1 (2018-11-01)
* Add `kernel_args` variable to the terraform bootkube-install cluster definition
* Add `get-flatcar` helper script
* Add optional TLS support to read-only HTTP API
* Build Matchbox with Go 1.11.1 for images and binaries
### Examples
* Upgrade Kubernetes example clusters to v1.10.0 (Terraform-based)
* Upgrade Kubernetes example clusters to v1.8.5
## v0.7.0 (2017-12-12)
* Add gRPC API endpoints for managing generic (experimental) templates
* Update Container Linux config transpiler to v0.5.0
* Update Ignition to v0.19.0, render v2.1.0 Ignition configs
* Drop support for Container Linux versions below 1465.0.0 (breaking)
* Build Matchbox with Go 1.8.5 for images and binaries
* Remove Profile `Cmdline` map (deprecated in v0.5.0), use `Args` slice instead
* Remove pixiecore support (deprecated in v0.5.0)
* Remove `ContextHandler`, `ContextHandlerFunc`, and `NewHandler` from the `matchbox/http` package.
### Examples / Modules
* Upgrade Kubernetes example clusters to v1.8.4
* Kubernetes examples clusters enable etcd TLS
* Deploy the Container Linux Update Operator (CLUO) to coordinate reboots of Container Linux nodes in Kubernetes clusters. See the cluster [addon docs](Documentation/cluster-addons.md).
* Kubernetes examples (terraform and non-terraform) mask locksmithd
* Terraform modules `bootkube` and `profiles` (Kubernetes) mask locksmithd
## v0.6.1 (2017-05-25)
* Improve the installation documentation
* Move examples/etc/matchbox/cert-gen to scripts/tls
* Build Matchbox with Go 1.8.3 for images and binaries
### Examples
* Upgrade self-hosted Kubernetes cluster examples to v1.6.4
* Add NoSchedule taint to self-hosted Kubernetes controllers
* Remove static Kubernetes and rktnetes cluster examples
## v0.6.0 (2017-04-25)
* New [terraform-provider-matchbox](https://github.com/coreos/terraform-provider-matchbox) plugin for Terraform users!
* New hosted [documentation](https://coreos.com/matchbox/docs/latest) on coreos.com
* Add `ProfileDelete`, `GroupDelete`, `IgnitionGet` and `IgnitionDelete` gRPC endpoints
* Build matchbox with Go 1.8 for container images and binaries
* Generate code with gRPC v1.2.1 and matching Go protoc-gen-go plugin
* Update Ignition to v0.14.0 and coreos-cloudinit to v1.13.0
* Update "fuze" docs to the new name [Container Linux Configs](https://coreos.com/os/docs/latest/configuration.html)
* Remove `bootcmd` binary from release tarballs
### Examples
* Upgrade Kubernetes v1.5.5 (static) example clusters
* Upgrade Kubernetes v1.6.1 (self-hosted) example cluster
* Use etcd3 by default in all clusters (remove etcd2 clusters)
* Add Terraform examples for etcd3 and self-hosted Kubernetes 1.6.1
## v0.5.0 (2017-01-23)
* Rename project to CoreOS `matchbox`!
* Add Profile `args` field to list kernel args
* Update [Fuze](https://github.com/coreos/container-linux-config-transpiler) and [Ignition](https://github.com/coreos/ignition) to v0.11.2
* Switch from `golang.org/x/net/context` to `context`
* Deprecate Profile `cmd` field map of kernel args
* Deprecate Pixiecore support
* Drop build support for Go 1.6
#### Rename
* Move repo from github.com/coreos/coreos-baremetal to github.com/coreos/matchbox
* Rename `bootcfg` binary to `matchbox`
* Rename `bootcfg` packages to `matchbox`
* Publish a `quay.io/coreos/matchbox` container image. The `quay.io/coreos/bootcfg` image will no longer be updated.
* Rename environment variable prefix from `BOOTCFG*` to `MATCHBOX*`
* Change config directory to `/etc/matchbox`
* Change default `-data-path` to `/var/lib/matchbox`
* Change default `-assets-path` to `/var/lib/matchbox/assets`
#### Examples
* Upgrade Kubernetes v1.5.1 (static) example clusters
* Upgrade Kubernetes v1.5.1 (self-hosted) example cluster
* Switch Kubernetes (self-hosted) to run flannel as pods
* Combine rktnetes Ignition into Kubernetes static cluster
#### Migration
* binary users should install the `matchbox` binary (see [installation](Documentation/deployment.md))
* rkt/docker users should start using `quay.io/coreos/matchbox` (see [installation](Documentation/deployment.md))
* RPM users should uninstall bootcfg and install matchbox (see [installation](Documentation/deployment.md))
* Move `/etc/bootcfg` configs and certificates to `/etc/matchbox`
* Move `/var/lib/bootcfg` data to `/var/lib/matchbox`
* See the new [contrib/systemd](contrib/systemd) service examples
* Remove the old `bootcfg` user if you created one
## v0.4.2 (2016-12-7)
#### Improvements
* Add RPM packages to Copr
* Fix packaged `contrib/systemd` units
* Update Go version to 1.7.4
#### Examples
* Upgrade Kubernetes v1.4.6 (static manifest) example clusters
* Upgrade Kubernetes v1.4.6 (rktnetes) example clusters
* Upgrade Kubernetes v1.4.6 (self-hosted) example cluster
## v0.4.1 (2016-10-17)
#### Improvements
* Add ARM and ARM64 release architectures (#309)
* Add guide for installing bootcfg on CoreOS (#306)
* Improvements to the bootcfg cert-gen script (#310)
@@ -28,7 +238,7 @@
* Allow Fuze YAML template files for Ignition 2.0.0 (#141)
* Stop requiring Ignition templates to use file extensions (#176)
* Logging Improvements:
* Add structured loggging with Logrus (#254, #268)
* Add structured logging with Logrus (#254, #268)
* Log requests for bootcfg assets (#214)
* Show `bootcfg` message at the home path `/`
* Fix http package log messages (#173)

View File

@@ -1,77 +1,5 @@
# How to Contribute
# Contributing
CoreOS projects are [Apache 2.0 licensed](LICENSE) and accept contributions via
GitHub pull requests. This document outlines some of the conventions on
development workflow, commit message formatting, contact points and other
resources to make it easier to get your contribution accepted.
## Developer Certificate of Origin
# Certificate of Origin
By contributing to this project you agree to the Developer Certificate of
Origin (DCO). This document was created by the Linux Kernel community and is a
simple statement that you, as a contributor, have the legal right to make the
contribution. See the [DCO](DCO) file for details.
# Email and Chat
The project currently uses the general CoreOS email list and IRC channel:
- Email: [coreos-dev](https://groups.google.com/forum/#!forum/coreos-dev)
- IRC: #[coreos](irc://irc.freenode.org:6667/#coreos) IRC channel on freenode.org
Please avoid emailing maintainers found in the MAINTAINERS file directly. They
are very busy and read the mailing lists.
## Getting Started
- Fork the repository on GitHub
- Read the [README](README.md) for build and test instructions
- Play with the project, submit bugs, submit patches!
## Contribution Flow
This is a rough outline of what a contributor's workflow looks like:
- Create a topic branch from where you want to base your work (usually master).
- Make commits of logical units.
- Make sure your commit messages are in the proper format (see below).
- Push your changes to a topic branch in your fork of the repository.
- Make sure the tests pass, and add any new tests as appropriate.
- Submit a pull request to the original repository.
Thanks for your contributions!
### Coding Style
CoreOS projects written in Go follow a set of style guidelines that we've documented
[here](https://github.com/coreos/docs/tree/master/golang). Please follow them when
working on your contributions.
### Format of the Commit Message
We follow a rough convention for commit messages that is designed to answer two
questions: what changed and why. The subject line should feature the what and
the body of the commit should describe the why.
```
scripts: add the test-cluster command
this uses tmux to setup a test cluster that you can easily kill and
start for debugging.
Fixes #38
```
The format can be described more formally as follows:
```
<subsystem>: <what changed>
<BLANK LINE>
<why this change was made>
<BLANK LINE>
<footer>
```
The first line is the subject and should be no longer than 70 characters, the
second line is always blank, and other lines should be wrapped at 80 characters.
This allows the message to be easier to read on GitHub as well as in various
git tools.
By contributing, you agree to the Linux Foundation's Developer Certificate of Origin ([DCO](DCO)). The DCO is a statement that you, the contributor, have the legal right to make your contribution and understand the contribution will be distributed as part of this project.

View File

@@ -1,5 +1,13 @@
FROM alpine:latest
MAINTAINER Dalton Hubble <dalton.hubble@coreos.com>
COPY bin/bootcfg /bootcfg
FROM docker.io/golang:1.26.0 AS builder
COPY . src
RUN cd src && make build
FROM docker.io/alpine:3.23.3
LABEL maintainer="Dalton Hubble <dghubble@gmail.com>"
LABEL org.opencontainers.image.title="Matchbox",
LABEL org.opencontainers.image.source="https://github.com/poseidon/matchbox"
LABEL org.opencontainers.image.documentation="https://matchbox.psdn.io"
LABEL org.opencontainers.image.vendor="Poseidon Labs"
COPY --from=builder /go/src/bin/matchbox /matchbox
EXPOSE 8080
ENTRYPOINT ["/bootcfg"]
ENTRYPOINT ["/matchbox"]

View File

@@ -1,234 +0,0 @@
# HTTP API
## iPXE Script
Serves a static iPXE boot script which gathers client machine attributes and chainloads to the iPXE endpoint. Use DHCP/TFTP to point iPXE clients to this endpoint as the next-server.
GET http://bootcfg.foo/boot.ipxe
GET http://bootcfg.foo/boot.ipxe.0 // for dnsmasq
**Response**
#!ipxe
chain ipxe?uuid=${uuid}&mac=${net0/mac:hexhyp}&domain=${domain}&hostname=${hostname}&serial=${serial}
Client's booted with the `/ipxe.boot` endpoint will introspect and make a request to `/ipxe` with the `uuid`, `mac`, `hostname`, and `serial` value as query arguments.
## iPXE
Finds the profile for the machine and renders the network boot config (kernel, options, initrd) as an iPXE script.
GET http://bootcfg.foo/ipxe?label=value
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
#!ipxe
kernel /assets/coreos/1185.1.0/coreos_production_pxe.vmlinuz coreos.config.url=http://bootcfg.foo:8080/ignition?uuid=${uuid}&mac=${net0/mac:hexhyp} coreos.first_boot=1 coreos.autologin
initrd /assets/coreos/1185.1.0/coreos_production_pxe_image.cpio.gz
boot
## GRUB2
Finds the profile for the machine and renders the network boot config as a GRUB config. Use DHCP/TFTP to point GRUB clients to this endpoint as the next-server.
GET http://bootcfg.foo/grub?label=value
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
default=0
timeout=1
menuentry "CoreOS" {
echo "Loading kernel"
linuxefi "(http;bootcfg.foo:8080)/assets/coreos/1185.1.0/coreos_production_pxe.vmlinuz" "coreos.autologin" "coreos.config.url=http://bootcfg.foo:8080/ignition" "coreos.first_boot"
echo "Loading initrd"
initrdefi "(http;bootcfg.foo:8080)/assets/coreos/1185.1.0/coreos_production_pxe_image.cpio.gz"
}
## Pixiecore
Finds the profile matching the machine and renders the network boot config as JSON to implement the [Pixiecore API](https://github.com/danderson/pixiecore/blob/master/README.api.md). Currently, Pixiecore only provides the machine's MAC address for matching.
GET http://bootcfg.foo/pixiecore/v1/boot/:MAC
**URL Parameters**
| Name | Type | Description |
|------|--------|-------------|
| mac | string | MAC address |
**Response**
{
"kernel":"/assets/coreos/1185.1.0/coreos_production_pxe.vmlinuz",
"initrd":["/assets/coreos/1185.1.0/coreos_production_pxe_image.cpio.gz"],
"cmdline":{
"cloud-config-url":"http://bootcfg.foo/cloud?mac=ADDRESS",
"coreos.autologin":""
}
}
## Cloud Config
Finds the profile matching the machine and renders the corresponding Cloud-Config with group metadata, selectors, and query params.
GET http://bootcfg.foo/cloud?label=value
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
#cloud-config
coreos:
units:
- name: etcd2.service
command: start
- name: fleet.service
command: start
## Ignition Config
Finds the profile matching the machine and renders the corresponding Ignition Config with group metadata, selectors, and query params.
GET http://bootcfg.foo/ignition?label=value
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
{
"ignition": { "version": "2.0.0" },
"systemd": {
"units": [{
"name": "example.service",
"enable": true,
"contents": "[Service]\nType=oneshot\nExecStart=/usr/bin/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
}]
}
}
## Generic Config
Finds the profile matching the machine and renders the corresponding generic config with group metadata, selectors, and query params.
GET http://bootcfg.foo/generic?label=value
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
{
“uuid”: “”,
“mac”: “52:54:00:a1:9c:ae”,
“osInstalled”: true,
“rawQuery”: “mac=52:54:00:a1:9c:ae&os=installed”
}
## Metadata
Finds the matching machine group and renders the group metadata, selectors, and query params in an "env file" style response.
GET http://bootcfg.foo/metadata?mac=52-54-00-a1-9c-ae&foo=bar&count=3&gate=true
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
META=data
ETCD_NAME=node1
SOME_NESTED_DATA=some-value
MAC=52:54:00:a1:9c:ae
REQUEST_QUERY_MAC=52:54:00:a1:9c:ae
REQUEST_QUERY_FOO=bar
REQUEST_QUERY_COUNT=3
REQUEST_QUERY_GATE=true
REQUEST_RAW_QUERY=mac=52-54-00-a1-9c-ae&foo=bar&count=3&gate=true
## OpenPGP Signatures
OpenPGPG signature endpoints serve detached binary and ASCII armored signatures of rendered configs, if enabled. See [OpenPGP Signing](openpgp.md).
| Endpoint | Signature Endpoint | ASCII Signature Endpoint |
|------------|--------------------|-------------------------|
| iPXE | `http://bootcfg.foo/ipxe.sig` | `http://bootcfg.foo/ipxe.asc` |
| Pixiecore | `http://bootcfg/pixiecore/v1/boot.sig/:MAC` | `http://bootcfg/pixiecore/v1/boot.asc/:MAC` |
| GRUB2 | `http://bootcf.foo/grub.sig` | `http://bootcfg.foo/grub.asc` |
| Ignition | `http://bootcfg.foo/ignition.sig` | `http://bootcfg.foo/ignition.asc` |
| Cloud-Config | `http://bootcfg.foo/cloud.sig` | `http://bootcfg.foo/cloud.asc` |
| Generic | `http://bootcfg.foo/generic.sig` | `http://bootcfg.foo/generic.asc` |
| Metadata | `http://bootcfg.foo/metadata.sig` | `http://bootcfg.foo/metadata.asc` |
Get a config and its detached ASCII armored signature.
GET http://bootcfg.foo/ipxe?label=value
GET http://bootcfg.foo/ipxe.asc?label=value
**Response**
```
-----BEGIN PGP SIGNATURE-----
wsBcBAEBCAAQBQJWoDHyCRCzUpbPLRRcKAAAqQ8IAGD+eC9kzc/U7h9tgwvvWwm9
suTmVSGlzC5RwTRXg6CKuW31m3WAin2b5zWRPa7MxxanYMhhBbOfrqg/4xi1tfdE
w7ipmmgftl3re0np75Jt9K1rwGXUHTCs3yooz/zvqSvNSobG13FL5tp+Jl7a22wE
+W7x9BukTytVgNLt3IDIxsJ/rAEYUm4zySftooDbFVKj/SK5w8xg4zLmE6Jxz6wp
eaMlL1TEXy3NaFR0+hgbqM/tgeV2j6pmho8yaPF63iPnksH+gdmPiwasCfpSaJyr
NO+p24BL3PHZyKw0nsrm275C913OxEVgnNZX7TQltaweW23Cd1YBNjcfb3zv+Zo=
=mqZK
-----END PGP SIGNATURE-----
```
## Assets
If you need to serve static assets (e.g. kernel, initrd), `bootcfg` can serve arbitrary assets from the `-assets-path`.
bootcfg.foo/assets/
└── coreos
└── 1185.1.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
└── 1153.0.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz

View File

@@ -1,176 +0,0 @@
# bootcfg
`bootcfg` is an HTTP and gRPC service that renders signed [Ignition configs](https://coreos.com/ignition/docs/latest/what-is-ignition.html), [cloud-configs](https://coreos.com/os/docs/latest/cloud-config.html), network boot configs, and metadata to machines to create CoreOS clusters. `bootcfg` maintains **Group** definitions which match machines to *profiles* based on labels (e.g. MAC address, UUID, stage, region). A **Profile** is a named set of config templates (e.g. iPXE, GRUB, Ignition config, Cloud-Config, generic configs). The aim is to use CoreOS Linux's early-boot capabilities to provision CoreOS machines.
Network boot endpoints provide iPXE, GRUB, and [Pixiecore](https://github.com/danderson/pixiecore/blob/master/README.api.md) support. `bootcfg` can be deployed as a binary, as an [appc](https://github.com/appc/spec) container with rkt, or as a Docker container.
<img src='img/overview.png' class="img-center" alt="Bootcfg Overview"/>
## Getting Started
Get started running `bootcfg` on your Linux machine, with rkt or Docker.
* [bootcfg with rkt](getting-started-rkt.md)
* [bootcfg with Docker](getting-started-docker.md)
## Flags
See [configuration](config.md) flags and variables.
## API
* [HTTP API](api.md)
* [gRPC API](https://godoc.org/github.com/coreos/coreos-baremetal/bootcfg/client)
## Data
A `Store` stores machine Groups, Profiles, and associated Ignition configs, cloud-configs, and generic configs. By default, `bootcfg` uses a `FileStore` to search a `-data-path` for these resources.
Prepare `/var/lib/bootcfg` with `groups`, `profile`, `ignition`, `cloud`, and `generic` subdirectories. You may wish to keep these files under version control.
/var/lib/bootcfg
├── cloud
│   ├── cloud.yaml.tmpl
│   └── worker.sh.tmpl
├── ignition
│   └── raw.ign
│   └── etcd.yaml.tmpl
│   └── simple.yaml.tmpl
├── generic
│   └── config.yaml
│   └── setup.cfg
│   └── datacenter-1.tmpl
├── groups
│   └── default.json
│   └── node1.json
│   └── us-central1-a.json
└── profiles
└── etcd.json
└── worker.json
The [examples](../examples) directory is a valid data directory with some pre-defined configs. Note that `examples/groups` contains many possible groups in nested directories for demo purposes (tutorials pick one to mount). Your machine groups should be kept directly inside the `groups` directory as shown above.
### Profiles
Profiles reference an Ignition config, Cloud-Config, and/or generic config by name and define network boot settings.
{
"id": "etcd",
"name": "CoreOS with etcd2",
"cloud_id": "",
"ignition_id": "etcd.yaml"
"generic_id": "some-service.cfg",
"boot": {
"kernel": "/assets/coreos/1185.1.0/coreos_production_pxe.vmlinuz",
"initrd": ["/assets/coreos/1185.1.0/coreos_production_pxe_image.cpio.gz"],
"cmdline": {
"coreos.config.url": "http://bootcfg.foo:8080/ignition?uuid=${uuid}&mac=${net0/mac:hexhyp}",
"coreos.autologin": "",
"coreos.first_boot": "1"
}
},
}
The `"boot"` settings will be used to render configs to network boot programs such as iPXE, GRUB, or Pixiecore. You may reference remote kernel and initrd assets or [local assets](#assets).
To use Ignition, set the `coreos.config.url` kernel option to reference the `bootcfg` [Ignition endpoint](api.md#ignition-config), which will render the `ignition_id` file. Be sure to add the `coreos.first_boot` option as well.
To use cloud-config, set the `cloud-config-url` kernel option to reference the `bootcfg` [Cloud-Config endpoint](api.md#cloud-config), which will render the `cloud_id` file.
### Groups
Groups define selectors which match zero or more machines. Machine(s) matching a group will boot and provision according to the group's `Profile`.
Create a group definition with a `Profile` to be applied, selectors for matching machines, and any `metadata` needed to render templated configs. For example `/var/lib/bootcfg/groups/node1.json` matches a single machine with MAC address `52:54:00:89:d8:10`.
# /var/lib/bootcfg/groups/node1.json
{
"name": "node1",
"profile": "etcd",
"selector": {
"mac": "52:54:00:89:d8:10"
},
"metadata": {
"fleet_metadata": "role=etcd,name=node1",
"etcd_name": "node1",
"etcd_initial_cluster": "node1=http://172.15.0.21:2380,node2=http://172.15.0.22:2380,node3=http://172.15.0.23:2380"
}
}
Meanwhile, `/var/lib/bootcfg/groups/proxy.json` acts as the default machine group since it has no selectors.
{
"name": "etcd-proxy",
"profile": "etcd-proxy",
"metadata": {
"fleet_metadata": "role=etcd-proxy",
"etcd_initial_cluster": "node1=http://172.15.0.21:2380,node2=http://172.15.0.22:2380,node3=http://172.15.0.23:2380"
}
}
For example, a request to `/ignition?mac=52:54:00:89:d8:10` would render the Ignition template in the "etcd" `Profile`, with the machine group's metadata. A request to `/ignition` would match the default group (which has no selectors) and render the Ignition in the "etcd-proxy" Profile. Avoid defining multiple default groups as resolution will not be deterministic.
#### Reserved Selectors
Group selectors can use any key/value pairs you find useful. However, several labels have a defined purpose and will be normalized or parsed specially.
* `uuid` - machine UUID
* `mac` - network interface physical address (normalized MAC address)
* `hostname` - hostname reported by a network boot program
* `serial` - serial reported by a network boot program
### Config Templates
Profiles can reference various templated configs. Ignition JSON configs can be generated from [Fuze config](https://github.com/coreos/fuze/blob/master/doc/configuration.md) template files. Cloud-Config templates files can be used to render a script or Cloud-Config. Generic template files can be used to render arbitrary untyped configs (experimental). Each template may contain [Go template](https://golang.org/pkg/text/template/) elements which will be rendered with machine group metadata, selectors, and query params.
For details and examples:
* [Ignition Config](ignition.md)
* [Cloud-Config](cloud-config.md)
#### Variables
Within Ignition/Fuze templates, Cloud-Config templates, or generic templates, you can use group metadata, selectors, or request-scoped query params. For example, a request `/generic?mac=52-54-00-89-d8-10&foo=some-param&bar=b` would match the `node1.json` machine group shown above. If the group's profile ("etcd") referenced a generic template, the following variables could be used.
# Untyped generic config file
# Selector
{{.mac}} # 52:54:00:89:d8:10 (normalized)
# Metadata
{{.etcd_name}} # node1
{{.fleet_metadata}} # role=etcd,name=node1
# Query
{{.request.query.mac}} # 52:54:00:89:d8:10 (normalized)
{{.request.query.foo}} # some-param
{{.request.query.bar}} # b
# Special Addition
{{.request.raw_query}} # mac=52:54:00:89:d8:10&foo=some-param&bar=b
Note that `.request` is reserved for these purposes so group metadata with data nested under a top level "request" key will be overwritten.
## Assets
`bootcfg` can serve `-assets-path` static assets at `/assets`. This is helpful for reducing bandwidth usage when serving the kernel and initrd to network booted machines. The default assets-path is `/var/lib/bootcfg/assets` or you can pass `-assets-path=""` to disable asset serving.
bootcfg.foo/assets/
└── coreos
└── VERSION
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
For example, a `Profile` might refer to a local asset `/assets/coreos/VERSION/coreos_production_pxe.vmlinuz` instead of `http://stable.release.core-os.net/amd64-usr/VERSION/coreos_production_pxe.vmlinuz`.
See the [get-coreos](../scripts/README.md#get-coreos) script to quickly download, verify, and place CoreOS assets.
## Network
`bootcfg` does not implement or exec a DHCP/TFTP server. Read [network setup](network-setup.md) or use the [coreos/dnsmasq](../contrib/dnsmasq) image if you need a quick DHCP, proxyDHCP, TFTP, or DNS setup.
## Going Further
* [gRPC API Usage](config.md#grpc-api)
* [Metadata](api.md#metadata)
* OpenPGP [Signing](api.md#openpgp-signatures)

View File

@@ -1,101 +0,0 @@
# Self-Hosted Kubernetes
The self-hosted Kubernetes example provisions a 3 node "self-hosted" Kubernetes v1.4.1 cluster. On-host kubelets wait for an apiserver to become reachable, then yield to kubelet pods scheduled via daemonset. [bootkube](https://github.com/kubernetes-incubator/bootkube) is run on any controller to bootstrap a temporary apiserver which schedules control plane components as pods before exiting. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs).
## Requirements
Ensure that you've gone through the [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with docker](getting-started-docker.md) guide and understand the basics. In particular, you should be able to:
* Use rkt or Docker to start `bootcfg`
* Create a network boot environment with `coreos/dnsmasq`
* Create the example libvirt client VMs
Build and install the [fork of bootkube](https://github.com/dghubble/bootkube), which supports DNS names.
## Examples
The [examples](../examples) statically assign IP addresses to libvirt client VMs created by `scripts/libvirt`. The examples can be used for physical machines if you update the MAC addresses. See [network setup](network-setup.md) and [deployment](deployment.md).
* [bootkube](../examples/groups/bootkube) - iPXE boot a self-hosted Kubernetes cluster
* [bootkube-install](../examples/groups/bootkube-install) - Install a self-hosted Kubernetes cluster
### Assets
Download the CoreOS image assets referenced in the target [profile](../examples/profiles).
./scripts/get-coreos beta 1185.1.0 ./examples/assets
Add your SSH public key to each machine group definition [as shown](../examples/README.md#ssh-keys).
{
"profile": "bootkube-worker",
"metadata": {
"ssh_authorized_keys": ["ssh-rsa pub-key-goes-here"]
}
}
Use the `bootkube` tool to render Kubernetes manifests and credentials into an `--asset-dir`. Later, `bootkube` will schedule these manifests during bootstrapping and the credentials will be used to access your cluster.
# If running with docker, use 172.17.0.21 instead of 172.15.0.21
bootkube render --asset-dir=assets --api-servers=https://172.15.0.21:443 --etcd-servers=http://node1.example.com:2379 --api-server-alt-names=DNS=node1.example.com,IP=172.15.0.21
## Containers
Use rkt or docker to start `bootcfg` and mount the desired example resources. Create a network boot environment and power-on your machines. Revisit [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with Docker](getting-started-docker.md) for help.
Client machines should boot and provision themselves. Local client VMs should network boot CoreOS and become available via SSH in about 1 minute. If you chose `bootkube-install`, notice that machines install CoreOS and then reboot (in libvirt, you must hit "power" again). Time to network boot and provision physical hardware depends on a number of factors (POST duration, boot device iteration, network speed, etc.).
## bootkube
We're ready to use [bootkube](https://github.com/kubernetes-incubator/bootkube) to create a temporary control plane and bootstrap a self-hosted Kubernetes cluster.
Secure copy the `kubeconfig` to `/etc/kubernetes/kubeconfig` on **every** node (i.e. 172.15.0.21-23 for metal0 or 172.17.0.21-23 for docker0).
for node in '172.15.0.21' '172.15.0.22' '172.15.0.23'; do
scp assets/auth/kubeconfig core@$node:/home/core/kubeconfig
ssh core@$node 'sudo mv kubeconfig /etc/kubernetes/kubeconfig'
done
Secure copy the `bootkube` generated assets to any controller node and run `bootkube-start`.
scp -r assets core@172.15.0.21:/home/core/assets
ssh core@172.15.0.21 'sudo ./bootkube-start'
Watch the temporary control plane logs until the scheduled kubelet takes over in place of the on-host kubelet.
[ 299.241291] bootkube[5]: Pod Status: kube-api-checkpoint Running
[ 299.241618] bootkube[5]: Pod Status: kube-apiserver Running
[ 299.241804] bootkube[5]: Pod Status: kube-scheduler Running
[ 299.241993] bootkube[5]: Pod Status: kube-controller-manager Running
[ 299.311743] bootkube[5]: All self-hosted control plane components successfully started
You may cleanup the `bootkube` assets on the node, but you should keep the copy on your laptop. It contains a `kubeconfig` and may need to be re-used if the last apiserver were to fail and bootstrapping were needed.
## Verify
[Install kubectl](https://coreos.com/kubernetes/docs/latest/configure-kubectl.html) on your laptop. Use the generated kubeconfig to access the Kubernetes cluster. Verify that the cluster is accessible and that the kubelet, apiserver, scheduler, and controller-manager are running as pods.
$ KUBECONFIG=assets/auth/kubeconfig
$ kubectl get nodes
NAME STATUS AGE
node1.example.com Ready 3m
node2.example.com Ready 3m
node3.example.com Ready 3m
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system kube-api-checkpoint-node1.example.com 1/1 Running 0 4m
kube-system kube-apiserver-iffsz 2/2 Running 0 5m
kube-system kube-controller-manager-1148212084-1zx9g 1/1 Running 0 6m
kube-system kube-dns-v20-3531996453-r18ht 3/3 Running 0 5m
kube-system kube-proxy-36jj8 1/1 Running 0 5m
kube-system kube-proxy-fdt2t 1/1 Running 0 6m
kube-system kube-proxy-sttgn 1/1 Running 0 5m
kube-system kube-scheduler-1921762579-z6jn6 1/1 Running 0 6m
kube-system kubelet-1ibsf 1/1 Running 0 6m
kube-system kubelet-65h6j 1/1 Running 0 5m
kube-system kubelet-d1qql 1/1 Running 0 5m
Try deleting pods to see that the cluster is resilient to failures and machine restarts (CoreOS auto-updates).

View File

@@ -1,109 +0,0 @@
# Flags and Variables
Configuration arguments can be provided as flags or as environment variables.
| flag | variable | default | example |
|------|----------|---------|---------|
| -address | BOOTCFG_ADDRESS | 127.0.0.1:8080 | 0.0.0.0:8080 |
| -log-level | BOOTCFG_LOG_LEVEL | info | critical, error, warning, notice, info, debug |
| -data-path | BOOTCFG_DATA_PATH | /var/lib/bootcfg | ./examples |
| -assets-path | BOOTCFG_ASSETS_PATH | /var/lib/bootcfg/assets | ./examples/assets |
| -rpc-address | BOOTCFG_RPC_ADDRESS | (gRPC API disabled) | 0.0.0.0:8081 |
| -cert-file | BOOTCFG_CERT_FILE | /etc/bootcfg/server.crt | ./examples/etc/bootcfg/server.crt |
| -key-file | BOOTCFG_KEY_FILE | /etc/bootcfg/server.key | ./examples/etc/bootcfg/server.key
| -ca-file | BOOTCFG_CA_FILE | /etc/bootcfg/ca.crt | ./examples/etc/bootcfg/ca.crt |
| -key-ring-path | BOOTCFG_KEY_RING_PATH | (no key ring) | ~/.secrets/vault/bootcfg/secring.gpg |
| (no flag) | BOOTCFG_PASSPHRASE | (no passphrase) | "secret passphrase" |
## Files and Directories
| Data | Default Location |
|:---------|:--------------------------------------------------|
| data | /var/lib/bootcfg/{profiles,groups,ignition,cloud,generic} |
| assets | /var/lib/bootcfg/assets |
| gRPC API TLS Credentials | Default Location |
|:---------|:--------------------------------------------------|
| CA certificate | /etc/bootcfg/ca.crt |
| Server certificate | /etc/bootcfg/server.crt |
| Server private key | /etc/bootcfg/server.key |
| Client certificate | /etc/bootcfg/client.crt |
| Client private key | /etc/bootcfg/client.key |
## Version
./bin/bootcfg -version
sudo rkt run quay.io/coreos/bootcfg:latest -- -version
sudo docker run quay.io/coreos/bootcfg:latest -version
## Usage
Run the binary.
./bin/bootcfg -address=0.0.0.0:8080 -log-level=debug -data-path=examples -assets-path=examples/assets
Run the latest ACI with rkt.
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=assets,target=/var/lib/bootcfg/assets --volume assets,kind=host,source=$PWD/examples/assets quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -log-level=debug
Run the latest Docker image.
sudo docker run -p 8080:8080 --rm -v $PWD/examples/assets:/var/lib/bootcfg/assets:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug
#### With Examples
Mount `examples` to pre-load the [example](../examples/README.md) machine groups and profiles. Run the container with rkt,
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -log-level=debug
or with Docker.
sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/groups/etcd:/var/lib/bootcfg/groups:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug
### gRPC API
The gRPC API allows clients with a TLS client certificate and key to make RPC requests to programmatically create or update `bootcfg` resources. The API can be enabled with the `-rpc-address` flag and by providing a TLS server certificate and key with `-cert-file` and `-key-file` and a CA certificate for authenticating clients with `-ca-file`.
Run the binary with TLS credentials from `examples/etc/bootcfg`.
./bin/bootcfg -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug -data-path=examples -assets-path=examples/assets -cert-file examples/etc/bootcfg/server.crt -key-file examples/etc/bootcfg/server.key -ca-file examples/etc/bootcfg/ca.crt
Clients, such as `bootcmd`, verify the server's certificate with a CA bundle passed via `-ca-file` and present a client certificate and key via `-cert-file` and `-key-file` to cal the gRPC API.
./bin/bootcmd profile list --endpoints 127.0.0.1:8081 --ca-file examples/etc/bootcfg/ca.crt --cert-file examples/etc/bootcfg/client.crt --key-file examples/etc/bootcfg/client.key
#### With rkt
Run the ACI with rkt and TLS credentials from `examples/etc/bootcfg`.
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples,readOnly=true --mount volume=config,target=/etc/bootcfg --volume config,kind=host,source=$PWD/examples/etc/bootcfg --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
A `bootcmd` client can call the gRPC API running at the IP used in the rkt example.
./bin/bootcmd profile list --endpoints 172.15.0.2:8081 --ca-file examples/etc/bootcfg/ca.crt --cert-file examples/etc/bootcfg/client.crt --key-file examples/etc/bootcfg/client.key
#### With docker
Run the Docker image with TLS credentials from `examples/etc/bootcfg`.
sudo docker run -p 8080:8080 -p 8081:8081 --rm -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/etc/bootcfg:/etc/bootcfg:Z,ro -v $PWD/examples/groups/etcd:/var/lib/bootcfg/groups:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
A `bootcmd` client can call the gRPC API running at the IP used in the Docker example.
./bin/bootcmd profile list --endpoints 127.0.0.1:8081 --ca-file examples/etc/bootcfg/ca.crt --cert-file examples/etc/bootcfg/client.crt --key-file examples/etc/bootcfg/client.key
### OpenPGP [Signing](openpgp.md)
Run with the binary with a test key.
export BOOTCFG_PASSPHRASE=test
./bin/bootcfg -address=0.0.0.0:8080 -key-ring-path bootcfg/sign/fixtures/secring.gpg -data-path=examples -assets-path=examples/assets
Run the ACI with a test key.
sudo rkt run --net=metal0:IP=172.15.0.2 --set-env=BOOTCFG_PASSPHRASE=test --mount volume=secrets,target=/secrets --volume secrets,kind=host,source=$PWD/bootcfg/sign/fixtures --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -key-ring-path secrets/secring.gpg
Run the Docker image with a test key.
sudo docker run -p 8080:8080 --rm --env BOOTCFG_PASSPHRASE=test -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/groups/etcd:/var/lib/bootcfg/groups:Z -v $PWD/bootcfg/sign/fixtures:/secrets:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug -key-ring-path secrets/secring.gpg

View File

@@ -1,276 +0,0 @@
# Installation
This guide walks through deploying the `bootcfg` service on a Linux host (via binary, rkt, or docker) or on a Kubernetes cluster.
## Provisoner
`bootcfg` is a service for network booting and provisioning machines to create CoreOS clusters. `bootcfg` should be installed on a provisioner machine (CoreOS or any Linux distribution) or cluster (Kubernetes) which can serve configs to client machines in a lab or datacenter.
Choose one of the supported installation options:
* [CoreOS (systemd & rkt)](#coreos)
* [General Linux (systemd & binary)](#binary-release)
* [With rkt](#rkt)
* [With docker](#docker)
* [Kubernetes Service](#kubernetes)
* RPM package ([coming soon](https://github.com/coreos/coreos-baremetal/issues/266))
## Download
Download the latest coreos-baremetal [release](https://github.com/coreos/coreos-baremetal/releases) to the provisioner host.
```sh
$ wget https://github.com/coreos/coreos-baremetal/releases/download/v0.4.0/coreos-baremetal-v0.4.0-linux-amd64.tar.gz
$ wget https://github.com/coreos/coreos-baremetal/releases/download/v0.4.0/coreos-baremetal-v0.4.0-linux-amd64.tar.gz.asc
```
Verify the release has been signed by the [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/).
```
$ gpg --keyserver pgp.mit.edu --recv-key 18AD5014C99EF7E3BA5F6CE950BDD3E0FC8A365E
$ gpg --verify coreos-baremetal-v0.4.0-linux-amd64.tar.gz.asc coreos-baremetal-v0.4.0-linux-amd64.tar.gz
# gpg: Good signature from "CoreOS Application Signing Key <security@coreos.com>"
```
Untar the release.
```sh
$ tar xzvf coreos-baremetal-v0.4.0-linux-amd64.tar.gz
$ cd coreos-baremetal-v0.4.0-linux-amd64
```
## TLS Credentials
*Skip this unless you need to enable the gRPC API*
The `bootcfg` gRPC API allows client apps (`bootcmd` CLI, Tectonic Installer, etc.) to manage how machines are provisioned. TLS credentials are needed for client authentication and to establish a secure communication channel. Client machines (those PXE booting) read from the HTTP endpoints and do not require this setup.
If your organization manages public key infrastructure and a certificate authority, create a server certificate and key for the `bootcfg` service and a client certificate and key for each client tool.
Otherwise, generate a self-signed `ca.crt`, a server certificate (`server.crt`, `server.key`), and client credentials (`client.crt`, `client.key`) with the `scripts/tls/cert-gen` script. Export the DNS name or IP (discouraged) of the provisioner host.
```sh
$ cd scripts/tls
# DNS or IP Subject Alt Names where bootcfg can be reached
$ export SAN=DNS.1:bootcfg.example.com,IP.1:192.168.1.42
$ ./cert-gen
```
Place the TLS credentials in the default location:
```sh
$ sudo mkdir -p /etc/bootcfg
$ sudo cp ca.crt server.crt server.key /etc/bootcfg/
```
Save `client.crt`, `client.key`, and `ca.crt` to use with a client tool later.
## Install
### CoreOS
On CoreOS, it is easiest to run `bootcfg` with the provided systemd unit file.
```sh
$ sudo cp contrib/systemd/bootcfg-on-coreos.service /etc/systemd/system/bootcfg.service
$ sudo systemctl daemon-reload
```
The example systemd unit exposes the `bootcfg` HTTP machine endpoints on port 8080 and the (optional) gRPC API on port 8081 (remove the `-rpc-address` flag if you don't need the gRPC API). Customize the port settings to suit your preferences and be sure to allow your choices within the host's firewall so clients can access the services.
The unit will rkt run the latest tagged `bootcfg` release, signed by the [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/). Trust the public key.
```sh
$ sudo rkt trust --prefix quay.io/coreos/bootcfg
# gpg key fingerprint is: BFF3 13CD AA56 0B16 A898 7B8F 72AB F5F6 799D 33BC
```
Start the `bootcfg` service and enable it if you'd like it to start on every boot.
```sh
$ sudo systemctl enable bootcfg.service
$ sudo systemctl start bootcfg.service
```
### General Linux
Pre-built binaries are available for general Linux distributions.
#### Binary
Copy the `bootcfg` static binary to an appropriate location on the host.
```sh
$ sudo cp bootcfg /usr/local/bin
```
#### Set Up User/Group
The `bootcfg` service should be run by a non-root user with access to the `bootcfg` data directory (`/var/lib/bootcfg`). Create a `bootcfg` user and group.
```sh
$ sudo useradd -U bootcfg
$ sudo mkdir -p /var/lib/bootcfg/assets
$ sudo chown -R bootcfg:bootcfg /var/lib/bootcfg
```
#### Create systemd Service
Copy the provided `bootcfg` systemd unit file.
```sh
$ sudo cp contrib/systemd/bootcfg.service /etc/systemd/system/
$ sudo systemctl daemon-reload
```
The example unit exposes the `bootcfg` HTTP machine endpoints on port 8080 and exposes the (optional) gRPC API on port 8081 (remove the `-rpc-address` flag if you don't need the gRPC API). Customize the port settings to suit your preferences.
#### Firewall
Be sure to allow your port choices on the provisioner's firewall so the clients can access the service. Here are the commands for those using `firewalld`:
```sh
$ sudo firewall-cmd --zone=MYZONE --add-port=8080/tcp --permanent
$ sudo firewall-cmd --zone=MYZONE --add-port=8081/tcp --permanent
```
#### Start bootcfg
Start the `bootcfg` service and enable it if you'd like it to start on every boot.
```sh
$ sudo systemctl start bootcfg.service
$ sudo systemctl enable bootcfg.service
```
## Verify
Verify the bootcfg service can be reached by client machines (those being provisioned).
```sh
$ systemctl status bootcfg
$ dig bootcfg.example.com
```
Verify you receive a response from the HTTP and API endpoints. All of the following responses are expected:
```sh
$ curl http://bootcfg.example.com:8080
bootcfg
```
If you enabled the gRPC API,
```sh
$ cd scripts/tls
$ openssl s_client -connect bootcfg.example.com:8081 -CAfile /etc/bootcfg/ca.crt -cert client.crt -key client.key
CONNECTED(00000003)
depth=1 CN = fake-ca
verify return:1
depth=0 CN = fake-server
verify return:1
---
Certificate chain
0 s:/CN=fake-server
i:/CN=fake-ca
---
....
```
## Download CoreOS (optional)
`bootcfg` can serve CoreOS images in development or lab environments to reduce bandwidth usage and increase the speed of CoreOS PXE boots and installs to disk.
Download a recent CoreOS [release](https://coreos.com/releases/) with signatures.
```sh
$ cd scripts
$ ./get-coreos beta 1185.1.0 . # note the "." 3rd argument
```
Move the images to `/var/lib/bootcfg/assets`,
```sh
$ sudo cp -r coreos /var/lib/bootcfg/assets
```
```
/var/lib/bootcfg/assets/
├── coreos
│   └── 1185.1.0
│   ├── CoreOS_Image_Signing_Key.asc
│   ├── coreos_production_image.bin.bz2
│   ├── coreos_production_image.bin.bz2.sig
│   ├── coreos_production_pxe_image.cpio.gz
│   ├── coreos_production_pxe_image.cpio.gz.sig
│   ├── coreos_production_pxe.vmlinuz
│   └── coreos_production_pxe.vmlinuz.sig
```
and verify the images are acessible.
```
$ curl http://bootcfg.example.com:8080/assets/coreos/1185.1.0/
<pre>...
```
For large production environments, use a cache proxy or mirror suitable for your environment to serve CoreOS images.
## Network
Review [network setup](https://github.com/coreos/coreos-baremetal/blob/master/Documentation/network-setup.md) with your network administrator to set up DHCP, TFTP, and DNS services on your network. At a high level, your goals are to:
* Chainload PXE firmwares to iPXE
* Point iPXE client machines to the `bootcfg` iPXE HTTP endpoint `http://bootcfg.example.com:8080/boot.ipxe`
* Ensure `bootcfg.example.com` resolves to your `bootcfg` deployment
CoreOS provides [dnsmasq](https://github.com/coreos/coreos-baremetal/tree/master/contrib/dnsmasq) as `quay.io/coreos/dnsmasq`, if you wish to use rkt or Docker.
## rkt
Run the most recent tagged and signed `bootcfg` [release](https://github.com/coreos/coreos-baremetal/releases) ACI. Trust the [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/) for image signature verification.
```sh
$ sudo rkt trust --prefix coreos.com/bootcfg
# gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E
$ sudo rkt run --net=host --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=/var/lib/bootcfg quay.io/coreos/bootcfg:v0.4.0 --mount volume=config,target=/etc/bootcfg --volume config,kind=host,source=/etc/bootcfg,readOnly=true -- -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
```
Create machine profiles, groups, or Ignition configs at runtime with `bootcmd` or by using your own `/var/lib/bootcfg` volume mounts.
## Docker
Run the latest or the most recently tagged `bootcfg` [release](https://github.com/coreos/coreos-baremetal/releases) Docker image.
```sh
sudo docker run --net=host --rm -v /var/lib/bootcfg:/var/lib/bootcfg:Z -v /etc/bootcfg:/etc/bootcfg:Z,ro quay.io/coreos/bootcfg:v0.4.0 -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
```
Create machine profiles, groups, or Ignition configs at runtime with `bootcmd` or by using your own `/var/lib/bootcfg` volume mounts.
## Kubernetes
*Note: Enhancements to the CLI and `EtcdStore` backend will improve this deployment strategy in the future.*
Create a `bootcfg` Kubernetes `Deployment` and `Service` based on the example manifests provided in [contrib/k8s](../contrib/k8s).
```
$ kubectl apply -f contrib/k8s/bootcfg-deployment.yaml
$ kubectl apply -f contrib/k8s/bootcfg-service.yaml
```
The `bootcfg` HTTP server should be exposed on NodePort `tcp:31488` on each node in the cluster. `BOOTCFG_LOG_LEVEL` is set to debug.
```sh
$ kubectl get deployments
$ kubectl get services
$ kubectl get pods
$ kubectl logs POD-NAME
```
The example manifests use Kubernetes `emptyDir` volumes to back the `bootcfg` FileStore (`/var/lib/bootcfg`). This doesn't provide long-term persistent storage so you may wish to mount your machine groups, profiles, and Ignition configs with a [gitRepo](http://kubernetes.io/docs/user-guide/volumes/#gitrepo) and host image assets on a file server.
### Documentation
View the [documentation](https://github.com/coreos/coreos-baremetal#coreos-on-baremetal) for `bootcfg` service docs, tutorials, example clusters and Ignition configs, PXE booting guides, or machine lifecycle guides.

View File

@@ -1,63 +0,0 @@
# bootcfg Development
Develop `bootcfg` locally.
## Binary
Build the static binary.
./build
Test with vendored dependencies.
./test
## Container Image
Build an ACI `bootcfg.aci`.
./build-aci
Alternately, build a Docker image `coreos/bootcfg:latest`.
sudo ./build-docker
## Version
./bin/bootcfg -version
sudo rkt --insecure-options=image run bootcfg.aci -- -version
sudo docker run coreos/bootcfg:latest -version
## Run
Run the binary.
./bin/bootcfg -address=0.0.0.0:8080 -log-level=debug -data-path examples -assets-path examples/assets
Run the ACI with rkt on `metal0`.
sudo rkt --insecure-options=image run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=config,target=/etc/bootcfg --volume config,kind=host,source=$PWD/examples/etc/bootcfg --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd bootcfg.aci -- -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
Alternately, run the Docker image on `docker0`.
sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/groups/etcd-docker:/var/lib/bootcfg/groups:Z coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug
### bootcmd
Run `bootcmd` against the gRPC API of the service running via rkt.
./bin/bootcmd profile list --endpoints 172.15.0.2:8081 --cacert examples/etc/bootcfg/ca.crt
## Dependencies
Dependencies are commited to the `vendor` directory so builds and tests can be isolated from the Go workspace environment.
[Glide](https://github.com/Masterminds/glide/releases) 0.12 is used to download, update, and manage dependencies listed in `glide.yaml` recursively.
glide update --strip-vendor --skip-test
You can regenerate or repair your `vendor` directory from scratch by installing the exact versions pinned in `glide.lock`.
rm -rf vendor/
glide install --strip-vendor --skip-test

View File

@@ -1,55 +0,0 @@
# Release Guide
This guide covers releasing new versions of coreos-baremetal.
## Tag
Tag, sign the release version, and push it to Github.
git tag -s vX.Y.Z -m 'vX.Y.Z'
git push origin --tags
Travis CI will build the Docker image and push it to Quay.io when the tag is pushed to master.
## Github Release
Publish the release on Github with release notes.
## Tarballs
Build the release tarballs.
export VERSION=v0.4.0
make release
## ACI
Build the rkt ACI on a Linux host with `acbuild`,
make build
./build-aci
mv bootcfg.aci _output/bootcfg-$VERSION-linux-amd64.aci
Check that the listed version is correct/clean.
sudo rkt --insecure-options=image run bootcfg.aci -- -version
## Signing
Sign the release tarballs and ACI with a [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/) subkey.
cd _output
gpg2 -a --default-key FC8A365E --detach-sign bootcfg-$VERSION-linux-amd64.aci
gpg2 -a --default-key FC8A365E --detach-sign coreos-baremetal-$VERSION-linux-amd64.tar.gz
gpg2 -a --default-key FC8A365E --detach-sign coreos-baremetal-$VERSION-darwin-amd64.tar.gz
Verify the signatures.
gpg2 --verify bootcfg-$VERSION-linux-amd64.aci.asc bootcfg-$VERSION-linux-amd64.aci
gpg2 --verify coreos-baremetal-$VERSION-linux-amd64.tar.gz.asc coreos-baremetal-$VERSION-linux-amd64.tar.gz
gpg2 --verify coreos-baremetal-$VERSION-darwin-amd64.tar.gz.asc coreos-baremetal-$VERSION-darwin-amd64.tar.gz
## Publish
Publish the signed tarball(s) and ACI with the Github release. Verify the Docker image was published to Quay.io when the release tag was pushed.

View File

@@ -1,86 +0,0 @@
# Getting Started with Docker
In this tutorial, we'll run `bootcfg` on your Linux machine with Docker to network boot and provision a cluster of QEMU/KVM CoreOS machines locally. You'll be able to create Kubernetes clustes, etcd clusters, and test network setups.
*Note*: To provision physical machines, see [network setup](network-setup.md) and [deployment](deployment.md).
## Requirements
Install the package dependencies and start the Docker daemon.
# Fedora
sudo dnf install docker virt-install virt-manager
sudo systemctl start docker
# Debian/Ubuntu
# check Docker's docs to install Docker 1.8+ on Debian/Ubuntu
sudo apt-get install virt-manager virtinst qemu-kvm
Clone the [coreos-baremetal](https://github.com/coreos/coreos-baremetal) source which contains the examples and scripts.
git clone https://github.com/coreos/coreos-baremetal.git
cd coreos-baremetal
Download CoreOS image assets referenced by the `etcd-docker` [example](../examples) to `examples/assets`.
./scripts/get-coreos beta 1185.1.0 ./examples/assets
## Containers
Run the latest `bootcfg` Docker image from `quay.io/coreos/bootcfg` with the `etcd-docker` example. The container should receive the IP address 172.17.0.2 on the `docker0` bridge.
sudo docker pull quay.io/coreos/bootcfg:latest
sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/groups/etcd:/var/lib/bootcfg/groups:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug
or run the latest tagged release.
sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/bootcfg:Z -v $PWD/examples/groups/etcd:/var/lib/bootcfg/groups:Z quay.io/coreos/bootcfg:v0.4.0 -address=0.0.0.0:8080 -log-level=debug
Take a look at the [etcd groups](../examples/groups/etcd-docker) to get an idea of how machines are mapped to Profiles. Explore some endpoints port mapped to localhost:8080.
* [node1's ipxe](http://127.0.0.1:8080/ipxe?mac=52:54:00:a1:9c:ae)
* [node1's Ignition](http://127.0.0.1:8080/ignition?mac=52:54:00:a1:9c:ae)
* [node1's Metadata](http://127.0.0.1:8080/metadata?mac=52:54:00:a1:9c:ae)
## Network
Since the virtual network has no network boot services, use the `dnsmasq` image to create an iPXE network boot environment which runs DHCP, DNS, and TFTP.
sudo docker run --name dnsmasq --cap-add=NET_ADMIN -v $PWD/contrib/dnsmasq/docker0.conf:/etc/dnsmasq.conf:Z quay.io/coreos/dnsmasq -d
In this case, dnsmasq runs a DHCP server allocating IPs to VMs between 172.17.0.43 and 172.17.0.99, resolves `bootcfg.foo` to 172.17.0.2 (the IP where `bootcfg` runs), and points iPXE clients to `http://bootcfg.foo:8080/boot.ipxe`.
## Client VMs
Create QEMU/KVM VMs which have known hardware attributes. The nodes will be attached to the `docker0` bridge, where Docker's containers run.
sudo ./scripts/libvirt create-docker
sudo virt-manager
You can use `virt-manager` to watch the console and reboot VM machines with
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt start
## Verify
The VMs should network boot and provision themselves into a three node etcd cluster, with other nodes behaving as etcd proxies.
The example profile added autologin so you can verify that etcd works between nodes.
systemctl status etcd2
etcdctl set /message hello
etcdctl get /message
fleetctl list-machines
Clean up the VM machines.
sudo docker rm -f dnsmasq
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt destroy
## Going Further
Learn more about [bootcfg](bootcfg.md) or explore the other [example](../examples) clusters. Try the [k8s-docker example](kubernetes.md) to produce a TLS-authenticated Kubernetes cluster you can access locally with `kubectl` ([docs](../examples/README.md#kubernetes)).

View File

@@ -1,123 +0,0 @@
# Getting Started with rkt
In this tutorial, we'll run `bootcfg` on your Linux machine with `rkt` and `CNI` to network boot and provision a cluster of QEMU/KVM CoreOS machines locally. You'll be able to create Kubernetes clustes, etcd clusters, and test network setups.
*Note*: To provision physical machines, see [network setup](network-setup.md) and [deployment](deployment.md).
## Requirements
Install [rkt](https://coreos.com/rkt/docs/latest/distributions.html) 1.8 or higher ([example script](https://github.com/dghubble/phoenix/blob/master/scripts/fedora/sources.sh)) and setup rkt [privilege separation](https://coreos.com/rkt/docs/latest/trying-out-rkt.html).
Next, install the package dependencies.
# Fedora
sudo dnf install virt-install virt-manager
# Debian/Ubuntu
sudo apt-get install virt-manager virtinst qemu-kvm systemd-container
**Note**: rkt does not yet integrate with SELinux on Fedora. As a workaround, temporarily set enforcement to permissive if you are comfortable (`sudo setenforce Permissive`). Check the rkt [distribution notes](https://github.com/coreos/rkt/blob/master/Documentation/distributions.md) or see the tracking [issue](https://github.com/coreos/rkt/issues/1727).
Clone the [coreos-baremetal](https://github.com/coreos/coreos-baremetal) source which contains the examples and scripts.
git clone https://github.com/coreos/coreos-baremetal.git
cd coreos-baremetal
Download CoreOS image assets referenced by the `etcd` [example](../examples) to `examples/assets`.
./scripts/get-coreos beta 1185.1.0 ./examples/assets
Define the `metal0` virtual bridge with [CNI](https://github.com/appc/cni).
```bash
sudo mkdir -p /etc/rkt/net.d
sudo bash -c 'cat > /etc/rkt/net.d/20-metal.conf << EOF
{
"name": "metal0",
"type": "bridge",
"bridge": "metal0",
"isGateway": true,
"ipMasq": true,
"ipam": {
"type": "host-local",
"subnet": "172.15.0.0/16",
"routes" : [ { "dst" : "0.0.0.0/0" } ]
}
}
EOF'
```
On Fedora, add the `metal0` interface to the trusted zone in your firewall configuration.
sudo firewall-cmd --add-interface=metal0 --zone=trusted
After a recent update, you may see a warning that NetworkManager controls the interface. Work-around this using the firewall-config GUI to add `metal0` to the trusted zone.
## Containers
Run the latest `bootcfg` ACI with rkt and the `etcd` example.
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -log-level=debug
or run the latest tagged release signed by the [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/).
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/etcd coreos.com/bootcfg:v0.4.0 -- -address=0.0.0.0:8080 -log-level=debug
If you get an error about the IP assignment, stop old pods and run garbage collection.
sudo rkt gc --grace-period=0
Take a look at the [etcd groups](../examples/groups/etcd) to get an idea of how machines are mapped to Profiles. Explore some endpoints exposed by the service.
* [node1's ipxe](http://172.15.0.2:8080/ipxe?mac=52:54:00:a1:9c:ae)
* [node1's Ignition](http://172.15.0.2:8080/ignition?mac=52:54:00:a1:9c:ae)
* [node1's Metadata](http://172.15.0.2:8080/metadata?mac=52:54:00:a1:9c:ae)
## Network
Since the virtual network has no network boot services, use the `dnsmasq` ACI to create an iPXE network boot environment which runs DHCP, DNS, and TFTP.
Trust the [CoreOS App Signing Key](https://coreos.com/security/app-signing-key/).
sudo rkt trust --prefix coreos.com/dnsmasq
# gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E
Run the `coreos.com/dnsmasq` ACI with rkt.
sudo rkt run coreos.com/dnsmasq:v0.3.0 --net=metal0:IP=172.15.0.3 --mount volume=config,target=/etc/dnsmasq.conf --volume config,kind=host,source=$PWD/contrib/dnsmasq/metal0.conf
In this case, dnsmasq runs a DHCP server allocating IPs to VMs between 172.15.0.50 and 172.15.0.99, resolves `bootcfg.foo` to 172.15.0.2 (the IP where `bootcfg` runs), and points iPXE clients to `http://bootcfg.foo:8080/boot.ipxe`.
## Client VMs
Create QEMU/KVM VMs which have known hardware attributes. The nodes will be attached to the `metal0` bridge, where your pods run.
sudo ./scripts/libvirt create
sudo virt-manager
You can use `virt-manager` to watch the console and reboot VM machines with
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt start
## Verify
The VMs should network boot and provision themselves into a three node etcd cluster, with other nodes behaving as etcd proxies.
The example profile added autologin so you can verify that etcd works between nodes.
systemctl status etcd2
etcdctl set /message hello
etcdctl get /message
fleetctl list-machines
Press ^] three times to stop a rkt pod. Clean up the VM machines.
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt destroy
## Going Further
Learn more about [bootcfg](bootcfg.md) or explore the other [example](../examples) clusters. Try the [k8s example](kubernetes.md) to produce a TLS-authenticated Kubernetes cluster you can access locally with `kubectl` ([docs](../examples/README.md#kubernetes)).

View File

@@ -1,42 +0,0 @@
# GRUB2 Netboot
Use GRUB to network boot UEFI hardware.
## Requirements
For local development, install the dependencies for libvirt with UEFI.
* [UEFI with QEMU](https://fedoraproject.org/wiki/Using_UEFI_with_QEMU)
Ensure that you've gone through the [bootcfg with rkt](getting-started-rkt.md) and [bootcfg](bootcfg.md) guides and understand the basics.
## Containers
Run `bootcfg` with rkt, but mount the [grub](../examples/groups/grub) group example.
## Network
On Fedora, add the `metal0` interface to the trusted zone in your firewall configuration.
sudo firewall-cmd --add-interface=metal0 --zone=trusted
Run the `coreos.com/dnsmasq` ACI with rkt.
sudo rkt run coreos.com/dnsmasq:v0.3.0 --net=metal0:IP=172.15.0.3 -- -d -q --dhcp-range=172.15.0.50,172.15.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;bootcfg.foo:8080)/grub","172.15.0.2" --log-queries --log-dhcp --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/172.15.0.2
## Client VM
Create UEFI VM nodes which have known hardware attributes.
sudo ./scripts/libvirt create-uefi
## Docker
If you use Docker, run `bootcfg` according to [bootcfg with Docker](getting-started-docker.md), but mount the [grub](../examples/groups/grub) group example. Then start the `coreos/dnsmasq` Docker image, which bundles a `grub.efi`.
sudo docker run --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q --dhcp-range=172.17.0.43,172.17.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;bootcfg.foo:8080)/grub","172.17.0.2" --log-queries --log-dhcp --dhcp-option=3,172.17.0.1 --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/172.17.0.2
Create a VM to verify the machine network boots.
sudo virt-install --name uefi-test --pxe --boot=uefi,network --disk pool=default,size=4 --network=bridge=docker0,model=e1000 --memory=1024 --vcpus=1 --os-type=linux --noautoconsole

View File

@@ -1,161 +0,0 @@
# Ignition
Ignition is a system for declaratively provisioning disks during the initramfs, before systemd starts. It runs only on the first boot and handles partitioning disks, formatting partitions, writing files (regular files, systemd units, networkd units, etc.), and configuring users. See the Ignition [docs](https://coreos.com/ignition/docs/latest/) for details.
## Fuze Configs
Ignition 2.0.0+ configs are versioned, *machine-friendly* JSON documents (which contain encoded file contents). Operators should write and maintain configs in a *human-friendly* format, such as CoreOS [fuze](https://github.com/coreos/fuze) configs. As of `bootcfg` v0.4.0, Fuze configs are the primary way to use CoreOS Ignition.
The [Fuze schema](https://github.com/coreos/fuze/blob/master/doc/configuration.md) formalizes and improves upon the YAML to Ignition JSON transform. Fuze provides better support for Ignition 2.0.0+, handles file content encoding, patches Ignition bugs, performs better validations, and lets services (like `bootcfg`) negotiate the Ignition version required by a CoreOS client.
## Adding Fuze Configs
Fuze template files can be added in the `/var/lib/bootcfg/ignition` directory or in an `ignition` subdirectory of a custom `-data-path`. Template files may contain [Go template](https://golang.org/pkg/text/template/) elements which will be evaluated with group metadata, selectors, and query params.
/var/lib/bootcfg
├── cloud
├── ignition
│   └── k8s-controller.yaml
│   └── etcd.yaml
│   └── k8s-worker.yaml
│   └── raw.ign
└── profiles
### Reference
Reference an Fuze config in a [Profile](bootcfg.md#profiles) with `ignition_id`. When PXE booting, use the kernel option `coreos.first_boot=1` and `coreos.config.url` to point to the `bootcfg` [Ignition endpoint](api.md#ignition-config).
### Migration from v0.3.0
In v0.4.0, `bootcfg` switched to using the CoreOS [fuze](https://github.com/coreos/fuze) library, which formalizes and improves upon the YAML to Ignition JSON transform. Fuze provides better support for Ignition 2.0.0+, handles file content encoding, patches Ignition bugs, and performs better validations.
Upgrade your Ignition YAML templates to match the [Fuze config schema](https://github.com/coreos/fuze/blob/master/doc/configuration.md). Typically, you'll need to do the following:
* Remove `ignition_version: 1`, Fuze configs are version-less
* Update `filesystems` section and set the `name`
* Update `files` section to use `inline` as shown below
* Replace `uid` and `gid` with `user` and `group` objects as shown above
Maintain readable inline file contents in Fuze:
```
...
files:
- path: /etc/foo.conf
filesystem: root
contents:
inline: |
foo bar
```
Support for the older Ignition v1 format has been dropped, so CoreOS machines must be **1010.1.0 or newer**. Read the upstream Ignition v1 to 2.0.0 [migration guide](https://coreos.com/ignition/docs/latest/migrating-configs.html) to understand the reasons behind schema changes.
## Examples
Here is an example Fuze template. This template will be rendered into a Fuze config (YAML), using group metadata, selectors, and query params as template variables. Finally, the Fuze config is served to client machines as Ignition JSON.
ignition/format-disk.yaml.tmpl:
---
storage:
disks:
- device: /dev/sda
wipe_table: true
partitions:
- label: ROOT
filesystems:
- name: root
mount:
device: "/dev/sda1"
format: "ext4"
create:
force: true
options:
- "-LROOT"
files:
- filesystem: root
path: /home/core/foo
mode: 0644
user:
id: 500
group:
id: 500
contents:
inline: |
{{.example_contents}}
{{ if index . "ssh_authorized_keys" }}
passwd:
users:
- name: core
ssh_authorized_keys:
{{ range $element := .ssh_authorized_keys }}
- {{$element}}
{{end}}
{{end}}
The Ignition config response (formatted) to a query `/ignition?label=value` for a CoreOS instance supporting Ignition 2.0.0 would be:
{
"ignition": {
"version": "2.0.0",
"config": {}
},
"storage": {
"disks": [
{
"device": "/dev/sda",
"wipeTable": true,
"partitions": [
{
"label": "ROOT",
"number": 0,
"size": 0,
"start": 0
}
]
}
],
"filesystems": [
{
"name": "root",
"mount": {
"device": "/dev/sda1",
"format": "ext4",
"create": {
"force": true,
"options": [
"-LROOT"
]
}
}
}
],
"files": [
{
"filesystem": "root",
"path": "/home/core/foo",
"contents": {
"source": "data:,Example%20file%20contents%0A",
"verification": {}
},
"mode": 420,
"user": {
"id": 500
},
"group": {
"id": 500
}
}
]
},
"systemd": {},
"networkd": {},
"passwd": {}
}
See [examples/ignition](../examples/ignition) for numerous Fuze template examples.
### Raw Ignition
If you prefer to design your own templating solution, raw Ignition files (suffixed with `.ign` or `.ignition`) are served directly.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

View File

@@ -1,87 +0,0 @@
# Kubernetes
The Kubernetes example provisions a 3 node Kubernetes v1.4.1 cluster with one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs).
## Requirements
Ensure that you've gone through the [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with docker](getting-started-docker.md) guide and understand the basics. In particular, you should be able to:
* Use rkt or Docker to start `bootcfg`
* Create a network boot environment with `coreos/dnsmasq`
* Create the example libvirt client VMs
## Examples
The [examples](../examples) statically assign IP addresses to libvirt client VMs created by `scripts/libvirt`. VMs are setup on the `metal0` CNI bridge for rkt or the `docker0` bridge for Docker. The examples can be used for physical machines if you update the MAC addresses. See [network setup](network-setup.md) and [deployment](deployment.md).
* [k8s](../examples/groups/k8s) - iPXE boot a Kubernetes cluster
* [k8s-install](../examples/groups/k8s-install) - Install a Kubernetes cluster to disk
* [Lab examples](https://github.com/dghubble/metal) - Lab hardware examples
### Assets
Download the CoreOS image assets referenced in the target [profile](../examples/profiles).
./scripts/get-coreos beta 1185.1.0 ./examples/assets
Optionally, add your SSH public key to each machine group definition [as shown](../examples/README.md#ssh-keys).
Generate a root CA and Kubernetes TLS assets for components (`admin`, `apiserver`, `worker`).
rm -rf examples/assets/tls
# for Kubernetes on CNI metal0 (for rkt)
./scripts/tls/k8s-certgen -d examples/assets/tls -s 172.15.0.21 -m IP.1=10.3.0.1,IP.2=172.15.0.21,DNS.1=node1.example.com -w DNS.1=node2.example.com,DNS.2=node3.example.com
# for Kubernetes on docker0 (for docker)
./scripts/tls/k8s-certgen -d examples/assets/tls -s 172.17.0.21 -m IP.1=10.3.0.1,IP.2=172.17.0.21,DNS.1=node1.example.com -w DNS.1=node2.example.com,DNS.2=node3.example.com
**Note**: TLS assets are served to any machines which request them, which requires a trusted network. Alternately, provisioning may be tweaked to require TLS assets be securely copied to each host. Read about our longer term security plans at [Distributed Trusted Computing](https://coreos.com/blog/coreos-trusted-computing.html).
## Containers
Use rkt or docker to start `bootcfg` and mount the desired example resources. Create a network boot environment and power-on your machines. Revisit [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with Docker](getting-started-docker.md) for help.
Client machines should boot and provision themselves. Local client VMs should network boot CoreOS in about a 1 minute and the Kubernetes API should be available after 3-4 minutes (each node downloads a ~160MB Hyperkube). If you chose `k8s-install`, notice that machines install CoreOS and then reboot (in libvirt, you must hit "power" again). Time to network boot and provision Kubernetes clusters on physical hardware depends on a number of factors (POST duration, boot device iteration, network speed, etc.).
## Verify
[Install kubectl](https://coreos.com/kubernetes/docs/latest/configure-kubectl.html) on your laptop. Use the generated kubeconfig to access the Kubernetes cluster created on rkt `metal0` or `docker0`.
$ KUBECONFIG=examples/assets/tls/kubeconfig
$ kubectl get nodes
NAME STATUS AGE
node1.example.com Ready 3m
node2.example.com Ready 3m
node3.example.com Ready 3m
Get all pods.
$ kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system heapster-v1.2.0-4088228293-k3yn8 2/2 Running 0 3m
kube-system kube-apiserver-node1.example.com 1/1 Running 0 4m
kube-system kube-controller-manager-node1.example.com 1/1 Running 0 3m
kube-system kube-dns-v19-l2u8r 3/3 Running 0 4m
kube-system kube-proxy-node1.example.com 1/1 Running 0 3m
kube-system kube-proxy-node2.example.com 1/1 Running 0 3m
kube-system kube-proxy-node3.example.com 1/1 Running 0 3m
kube-system kube-scheduler-node1.example.com 1/1 Running 0 3m
kube-system kubernetes-dashboard-v1.4.0-0iy07 1/1 Running 0 4m
## Kubernetes Dashboard
Access the Kubernetes Dashboard with `kubeconfig` credentials by port forwarding to the dashboard pod.
$ kubectl --kubeconfig=examples/assets/tls/kubeconfig port-forward kubernetes-dashboard-v1.4.0-SOME-ID 9090 --namespace=kube-system
Forwarding from 127.0.0.1:9090 -> 9090
Then visit [http://127.0.0.1:9090](http://127.0.0.1:9090/).
<img src='img/kubernetes-dashboard.png' class="img-center" alt="Kubernetes Dashboard"/>
## Tectonic
Sign up for [Tectonic Starter](https://tectonic.com/starter/) for free and deploy the [Tectonic Console](https://tectonic.com/enterprise/docs/latest/deployer/tectonic_console.html) with a few `kubectl` commands!
<img src='img/tectonic-console.png' class="img-center" alt="Tectonic Console"/>

View File

@@ -1,15 +0,0 @@
# Lifecycle of a Physical Machine
Physical machines [network boot](network-booting.md) in an network boot environment with DHCP/TFTP/DNS services or with [coreos/dnsmasq](../contrib/dnsmasq).
`bootcfg` serves iPXE, GRUB, or Pixiecore boot configs via HTTP to machines based on Group selectors (e.g. UUID, MAC, region, etc.) and machine Profiles. Kernel and initrd images are fetched and booted with Ignition to install CoreOS. The "first boot" Ignition config if fetched and CoreOS is installed.
CoreOS boots ("first boot" from disk) and runs Ignition to provision its disk with systemd units, files, keys, and more to become a cluster node. Systemd units may fetch metadata from a remote source if needed.
Coordinated auto-updates are enabled. Systems like [fleet](https://coreos.com/docs/#fleet) or [Kubernetes](http://kubernetes.io/docs/) coordinate container services. IPMI, vendor utilities, or first-boot are used to re-provision machines into new roles.
![Machine Lifecycle](img/machine-lifecycle.png)

View File

@@ -1,181 +0,0 @@
# Network Setup
This guide shows how to create a DHCP/TFTP/DNS network boot environment to work with `bootcfg` to boot and provision PXE, iPXE, or GRUB2 client machines.
`bootcfg` serves iPXE scripts or GRUB configs over HTTP to serve as the entrypoint for CoreOS cluster bring-up. It does not implement or exec a DHCP, TFTP, or DNS server. Instead, you can configure your own network services to point to `bootcfg` or use the convenient [coreos/dnsmasq](../contrib/dnsmasq) container image (used in libvirt demos).
*Note*: These are just suggestions. Your network administrator or system administrator should choose the right network setup for your company.
## Requirements
Client hardware must have a network interface which supports PXE or iPXE.
## Goals
* Add a DNS name which resolves to a `bootcfg` deploy.
* Chainload PXE firmware to iPXE or GRUB2
* Point iPXE clients to `http://bootcfg.foo:port/boot.ipxe`
* Point GRUB clients to `http://bootcfg.foo:port/grub`
## Setup
Many companies already have DHCP/TFTP configured to "PXE-boot" PXE/iPXE clients. In this case, machines (or a subset of machines) can be made to chainload from `chain http://bootcfg.foo:port/boot.ipxe`. Older PXE clients can be made to chainload into iPXE or GRUB to be able to fetch subsequent configs via HTTP.
On simpler networks, such as what a developer might have at home, a relatively inflexible DHCP server may be in place, with no TFTP server. In this case, a proxy DHCP server can be run alongside a non-PXE capable DHCP server.
This diagram can point you to the **right section(s)** of this document.
<img src='img/network-setup-flow.png' class="img-center" alt="Network Setup Flow"/>
The setup of DHCP, TFTP, and DNS services on a network varies greatly. If you wish to use rkt or Docker to quickly run DHCP, proxyDHCP TFTP, or DNS services, use [coreos/dnsmasq](#coreos/dnsmasq).
## DNS
Add a DNS entry (e.g. `bootcfg.foo`, `provisoner.mycompany-internal`) that resolves to a deployment of the CoreOS `bootcfg` service from machines you intend to boot and provision.
dig bootcfg.foo
If you deployed `bootcfg` to a known IP address (e.g. dedicated host, load balanced endpoint, Kubernetes NodePort) and use `dnsmasq`, a domain name to IPv4/IPv6 address mapping could be added to the `/etc/dnsmasq.conf`.
# dnsmasq.conf
address=/bootcfg.foo/172.15.0.2
## iPXE
Servers with DHCP/TFTP/ services which already network boot iPXE clients can use the `chain` command to make clients download and execute the iPXE boot script from `bootcfg`.
# /var/www/html/ipxe/default.ipxe
chain http://bootcfg.foo:8080/boot.ipxe
You can chainload from a menu entry or use other [iPXE commands](http://ipxe.org/cmd) if you have needs beyond just delegating to the iPXE script served by `bootcfg`.
## GRUB
Needs docs.
### Configuring DHCP
Configure your DHCP server to supply options to older PXE client firmware to specify the location of an iPXE or GRUB network boot program on your TFTP server. Send clients to the `bootcfg` iPXE script or GRUB config endpoints.
Here is an example `/etc/dnsmasq.conf`:
```ini
dhcp-range=192.168.1.1,192.168.1.254,30m
enable-tftp
tftp-root=/var/lib/tftpboot
# if request comes from older PXE ROM, chainload to iPXE (via TFTP)
dhcp-boot=tag:!ipxe,undionly.kpxe
# if request comes from iPXE user class, set tag "ipxe"
dhcp-userclass=set:ipxe,iPXE
# point ipxe tagged requests to the bootcfg iPXE boot script (via HTTP)
dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe
# verbose
log-queries
log-dhcp
# static DNS assignements
address=/bootcfg.foo/192.168.1.100
# (optional) disable DNS and specify alternate
# port=0
# dhcp-option=6,192.168.1.100
```
Add [unidonly.kpxe](http://boot.ipxe.org/undionly.kpxe) (and undionly.kpxe.0 if using dnsmasq) to your tftp-root (e.g. `/var/lib/tftpboot`).
sudo systemctl start dnsmasq
sudo firewall-cmd --add-service=dhcp --add-service=tftp [--add-service=dns]
sudo firewall-cmd --list-services
#### proxy DHCP
Alternately, a DHCP proxy server can be run alongside an existing non-PXE DHCP server. The proxy DHCP server provides only the next server and boot filename Options, leaving IP allocation to the DHCP server. Clients listen for both DHCP offers and merge the responses as though they had come from one PXE-enabled DHCP server.
Example `/etc/dnsmasq.conf`:
```ini
dhcp-range=192.168.1.1,proxy,255.255.255.0
enable-tftp
tftp-root=/var/lib/tftpboot
# if request comes from older PXE ROM, chainload to iPXE (via TFTP)
pxe-service=tag:#ipxe,x86PC,"PXE chainload to iPXE",undionly.kpxe
# if request comes from iPXE user class, set tag "ipxe"
dhcp-userclass=set:ipxe,iPXE
# point ipxe tagged requests to the bootcfg iPXE boot script (via HTTP)
pxe-service=tag:ipxe,x86PC,"iPXE",http://bootcfg.foo:8080/boot.ipxe
# verbose
log-queries
log-dhcp
```
Add [unidonly.kpxe](http://boot.ipxe.org/undionly.kpxe) (and undionly.kpxe.0 if using dnsmasq) to your tftp-root (e.g. `/var/lib/tftpboot`).
```sh
sudo systemctl start dnsmasq
sudo firewall-cmd --add-service=dhcp --add-service=tftp [--add-service=dns]
sudo firewall-cmd --list-services
```
With rkt:
```sh
sudo rkt run coreos.com/dnsmasq:v0.3.0 --net=host -- -d -q --dhcp-range=192.168.1.1,proxy,255.255.255.0 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --pxe-service=tag:#ipxe,x86PC,"PXE chainload to iPXE",undionly.kpxe --pxe-service=tag:ipxe,x86PC,"iPXE",http://bootcfg.foo:8080/boot.ipxe --log-queries --log-dhcp
```
With Docker:
```sh
sudo docker run --net=host --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q --dhcp-range=192.168.1.1,proxy,255.255.255.0 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --pxe-service=tag:#ipxe,x86PC,"PXE chainload to iPXE",undionly.kpxe --pxe-service=tag:ipxe,x86PC,"iPXE",http://bootcfg.foo:8080/boot.ipxe --log-queries --log-dhcp
```
### Configurable TFTP
If your DHCP server is configured to PXE boot clients, but you don't have control over this configuration, you can modify the pxelinux.cfg's served to PXE clients.
Example `/var/lib/tftpboot/pxelinux.cfg/default`:
timeout 10
default iPXE
LABEL iPXE
KERNEL ipxe.lkrn
APPEND dhcp && chain http://bootcfg.foo:8080/boot.ipxe
Add ipxe.lkrn to `/var/lib/tftpboot` (see [iPXE docs](http://ipxe.org/embed)).
## coreos/dnsmasq
On networks without network services, the `coreos.com/dnsmasq:v0.3.0` rkt ACI or `coreos/dnsmasq:latest` Docker image can setup an appropriate environment quickly. The images bundle `undionly.kpxe` and `grub.efi` for convenience. Here are some examples which run a DHCP/TFTP/DNS server on your host's network:
With rkt:
```sh
sudo rkt trust --prefix coreos.com/dnsmasq
# gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E
```
```sh
sudo rkt run coreos.com/dnsmasq:v0.3.0 --net=host -- -d -q --dhcp-range=192.168.1.3,192.168.1.254 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:#ipxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/192.168.1.2 --log-queries --log-dhcp
```
With Docker:
```sh
sudo docker run --rm --cap-add=NET_ADMIN --net=host quay.io/coreos/dnsmasq -d -q --dhcp-range=192.168.1.3,192.168.1.254 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:#ipxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --address=/bootcfg.foo/192.168.1.2 --log-queries --log-dhcp
```
Ensure that `bootcfg.foo` resolves to a `bootcfg` deployment and that you've allowed the services to run in your firewall configuration.
```sh
sudo firewall-cmd --add-service=dhcp --add-service=tftp --add-service=dns
```
## Troubleshooting
See [troubleshooting](troubleshooting.md).

View File

@@ -1,53 +0,0 @@
# OpenPGP Signing
The `bootcfg` OpenPGP signature endpoints serve detached binary and ASCII armored signatures of rendered configs, if enabled. Each config endpoint has corresponding signature endpoints, typically suffixed with `.sig` or `.asc`.
To enable OpenPGP signing, provide the path to a secret keyring containing a single signing key with `-key-ring-path` or by setting `BOOTCFG_KEY_RING_PATH`. If a passphrase is required, set it via the `BOOTCFG_PASSPHRASE` environment variable.
Here are example signature endpoints without their query parameters.
| Endpoint | Signature Endpoint | ASCII Signature Endpoint |
|------------|--------------------|-------------------------|
| iPXE | `http://bootcfg.foo/ipxe.sig` | `http://bootcfg.foo/ipxe.asc` |
| Pixiecore | `http://bootcfg/pixiecore/v1/boot.sig/:MAC` | `http://bootcfg/pixiecore/v1/boot.asc/:MAC` |
| GRUB2 | `http://bootcf.foo/grub.sig` | `http://bootcfg.foo/grub.asc` |
| Ignition | `http://bootcfg.foo/ignition.sig` | `http://bootcfg.foo/ignition.asc` |
| Cloud-Config | `http://bootcfg.foo/cloud.sig` | `http://bootcfg.foo/cloud.asc` |
| Metadata | `http://bootcfg.foo/metadata.sig` | `http://bootcfg.foo/metadata.asc` |
In production, mount your signing keyring and source the passphrase from a [Kubernetes secret](http://kubernetes.io/v1.1/docs/user-guide/secrets.html). Use a signing subkey exported to a keyring by itself, which can be revoked by a primary key, if needed.
To try it locally, you may use the test fixture keyring. **Warning: The test fixture keyring is for examples only.**
## Verify
Verify a signature response and config response from the command line using the public key. Notice that most configs have a trailing newline.
**Warning: The test fixture keyring is for examples only.**
$ gpg --homedir sign/fixtures --verify sig_file response_file
gpg: Signature made Mon 08 Feb 2016 11:37:03 PM PST using RSA key ID 9896356A
gpg: sign/fixtures/trustdb.gpg: trustdb created
gpg: Good signature from "Fake Bare Metal Key (Do not use) <do-not-use@example.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: BE2F 12BC 3642 2594 570A CCBB 8DC4 2020 9896 356A
## Signing Key Generation
Create a signing key or subkey according to your requirements and security policies. Here are some basic [guides](https://coreos.com/rkt/docs/latest/signing-and-verification-guide.html).
### gpg
mkdir -m 700 path/in/vault
gpg --homedir path/in/vault --expert --gen-key
...
### gpg2
mkdir -m 700 path/in/vault
gpg2 --homedir path/in/vault --expert --gen-key
...
gpg2 --homedir path/in/vault --export-secret-key KEYID > path/in/vault/secring.gpg

View File

@@ -1,79 +0,0 @@
# Kubernetes (with rkt)
The `rktnetes` example provisions a 3 node Kubernetes v1.4.1 cluster with [rkt](https://github.com/coreos/rkt) as the container runtime. The cluster has one controller, two workers, and TLS authentication. An etcd cluster backs Kubernetes and coordinates CoreOS auto-updates (enabled for disk installs).
## Requirements
Ensure that you've gone through the [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with docker](getting-started-docker.md) guide and understand the basics. In particular, you should be able to:
* Use rkt or Docker to start `bootcfg`
* Create a network boot environment with `coreos/dnsmasq`
* Create the example libvirt client VMs
## Examples
The [examples](../examples) statically assign IP addresses to libvirt client VMs created by `scripts/libvirt`. VMs are setup on the `metal0` CNI bridge for rkt or the `docker0` bridge for Docker. The examples can be used for physical machines if you update the MAC addresses. See [network setup](network-setup.md) and [deployment](deployment.md).
* [rktnetes](../examples/groups/rktnetes) - iPXE boot a Kubernetes cluster
* [rktnetes-install](../examples/groups/rktnetes-install) - Install a Kubernetes cluster to disk
* [Lab examples](https://github.com/dghubble/metal) - Lab hardware examples
### Assets
Download the CoreOS image assets referenced in the target [profile](../examples/profiles).
./scripts/get-coreos beta 1185.1.0 ./examples/assets
Optionally, add your SSH public key to each machine group definition [as shown](../examples/README.md#ssh-keys).
Generate a root CA and Kubernetes TLS assets for components (`admin`, `apiserver`, `worker`).
rm -rf examples/assets/tls
# for Kubernetes on CNI metal0 (for rkt)
./scripts/tls/k8s-certgen -d examples/assets/tls -s 172.15.0.21 -m IP.1=10.3.0.1,IP.2=172.15.0.21,DNS.1=node1.example.com -w DNS.1=node2.example.com,DNS.2=node3.example.com
# for Kubernetes on docker0 (for docker)
./scripts/tls/k8s-certgen -d examples/assets/tls -s 172.17.0.21 -m IP.1=10.3.0.1,IP.2=172.17.0.21,DNS.1=node1.example.com -w DNS.1=node2.example.com,DNS.2=node3.example.com
**Note**: TLS assets are served to any machines which request them, which requires a trusted network. Alternately, provisioning may be tweaked to require TLS assets be securely copied to each host. Read about our longer term security plans at [Distributed Trusted Computing](https://coreos.com/blog/coreos-trusted-computing.html).
## Containers
Use rkt or docker to start `bootcfg` and mount the desired example resources. Create a network boot environment and power-on your machines. Revisit [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with Docker](getting-started-docker.md) for help.
Client machines should boot and provision themselves. Local client VMs should network boot CoreOS in about a 1 minute and the Kubernetes API should be available after 3-4 minutes (each node downloads a ~160MB Hyperkube). If you chose `rktnetes-install`, notice that machines install CoreOS and then reboot (in libvirt, you must hit "power" again). Time to network boot and provision Kubernetes clusters on physical hardware depends on a number of factors (POST duration, boot device iteration, network speed, etc.).
## Verify
[Install kubectl](https://coreos.com/kubernetes/docs/latest/configure-kubectl.html) on your laptop. Use the generated kubeconfig to access the Kubernetes cluster created on rkt `metal0` or `docker0`.
$ cd /path/to/coreos-baremetal
$ kubectl --kubeconfig=examples/assets/tls/kubeconfig get nodes
NAME STATUS AGE
node1.example.com Ready 3m
node2.example.com Ready 3m
node3.example.com Ready 3m
Get all pods.
$ kubectl --kubeconfig=examples/assets/tls/kubeconfig get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system heapster-v1.2.0-4088228293-k3yn8 2/2 Running 0 3m
kube-system kube-apiserver-node1.example.com 1/1 Running 0 4m
kube-system kube-controller-manager-node1.example.com 1/1 Running 0 3m
kube-system kube-dns-v19-l2u8r 3/3 Running 0 4m
kube-system kube-proxy-node1.example.com 1/1 Running 0 3m
kube-system kube-proxy-node2.example.com 1/1 Running 0 3m
kube-system kube-proxy-node3.example.com 1/1 Running 0 3m
kube-system kube-scheduler-node1.example.com 1/1 Running 0 3m
kube-system kubernetes-dashboard-v1.4.0-0iy07 1/1 Running 0 4m
## Kubernetes Dashboard
Access the Kubernetes Dashboard with `kubeconfig` credentials by port forwarding to the dashboard pod.
$ kubectl --kubeconfig=examples/assets/tls/kubeconfig port-forward kubernetes-dashboard-v1.4.0-SOME-ID 9090 --namespace=kube-system
Forwarding from 127.0.0.1:9090 -> 9090
Then visit [http://127.0.0.1:9090](http://127.0.0.1:9090/).
<img src='img/kubernetes-dashboard.png' class="img-center" alt="Kubernetes Dashboard"/>

View File

@@ -1,118 +0,0 @@
# Torus Storage
The Torus example provisions a 3 node CoreOS cluster, with `etcd3` and Torus, to demonstrate a stand-alone storage cluster. Each of the 3 nodes runs a Torus instance which makes 1GiB of space available (configured per node by "torus_storage_size" in machine group metadata).
## Requirements
Ensure that you've gone through the [bootcfg with rkt](getting-started-rkt.md) guide and understand the basics. In particular, you should be able to:
* Use rkt or Docker to start `bootcfg`
* Create a network boot environment with `coreos/dnsmasq`
* Create the example libvirt client VMs
* Install the Torus [binaries](https://github.com/coreos/torus/releases)
## Examples
The [examples](../examples) statically assign IP addresses to libvirt client VMs created by `scripts/libvirt`. The examples can be used for physical machines if you update the MAC addresses. See [network setup](network-setup.md) and [deployment](deployment.md).
* [torus](../examples/groups/torus) - iPXE boot a Torus cluster
## Assets
Download the CoreOS image assets referenced in the target [profile](../examples/profiles).
./scripts/get-coreos beta 1185.1.0 ./examples/assets
## Containers
Run the latest `bootcfg` ACI with rkt and the `torus` example.
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=data,target=/var/lib/bootcfg --volume data,kind=host,source=$PWD/examples --mount volume=groups,target=/var/lib/bootcfg/groups --volume groups,kind=host,source=$PWD/examples/groups/torus quay.io/coreos/bootcfg:latest -- -address=0.0.0.0:8080 -log-level=debug
Create a network boot environment and power-on your machines. Revisit [bootcfg with rkt](getting-started-rkt.md) or [bootcfg with Docker](getting-started-docker.md) for help. Client machines should network boot and provision themselves.
## Verify
Install the Torus [binaries](https://github.com/coreos/torus/releases) on your laptop. Torus uses etcd3 for coordination and metadata storage, so any etcd node in the cluster can be queried with `torusctl`.
./torusctl --etcd 172.15.0.21:2379 list-peers
Run `list-peers` to report the status of data nodes in the Torus cluster.
```
+--------------------------------+--------------------------------------+---------+------+--------+---------------+--------------+
| ADDRESS | UUID | SIZE | USED | MEMBER | UPDATED | REB/REP DATA |
+--------------------------------+--------------------------------------+---------+------+--------+---------------+--------------+
| http://node1.example.com:40000 | 67145622-52cb-11e6-a886-525400a19cae | 1.0 GiB | 0 B | OK | 2 seconds ago | 0 B/sec |
| http://node2.example.com:40000 | 6978182a-52cb-11e6-b41d-525400b22f86 | 1.0 GiB | 0 B | OK | 3 seconds ago | 0 B/sec |
| http://node3.example.com:40000 | 6e0e4d7d-52cb-11e6-af25-525400c36177 | 1.0 GiB | 0 B | OK | now | 0 B/sec |
+--------------------------------+--------------------------------------+---------+------+--------+---------------+--------------+
```
Torus has already initialized its metadata within etcd3 to format the cluster and added all peers to the pool. Each node provides 1 GiB of storage and has `MEMBER` status `OK`.
### Volume Creation
Create a new replicated, virtual block device or `volume` on Torus.
./torusctl --etcd=172.15.0.21:2379 block create hello 500MiB
List the current volumes,
./torusctl --etcd=172.15.0.21:2379 volume list
and verify that `hello` was created.
```
+-------------+---------+
| VOLUME NAME | SIZE |
+-------------+---------+
| hello | 500 MiB |
+-------------+---------+
```
### Filesystems and Mounting
Let's attach the Torus volume, create a filesystem, and add some files. Add the `nbd` kernel module.
sudo modprobe nbd
sudo ./torusblk --etcd=172.15.0.21:2379 nbd hello
In a new shell, create a new filesystem on the volume and mount it on your system.
sudo mkfs.ext4 /dev/nbd0
sudo mkdir -p /mnt/hello
sudo mount /dev/nbd0 -o discard,noatime /mnt/hello
Check that the mounted filesystem is present.
$ mount | grep nbd
/dev/nbd0 on /mnt/hello type ext4 (rw,noatime,seclabel,discard,data=ordered)
### Simulate Failure
By default, Torus uses a replication factor of 2. You may write some data and poweroff one of the three nodes if you wish.
sudo sh -c "echo 'hello world' > /mnt/hello/world"
sudo virsh destroy node3 # actually equivalent to poweroff
Check the Torus data nodes.
$ ./torusctl --etcd 172.15.0.21:2379 list-peers
```
+--------------------------+--------------------------------------+---------+--------+--------+---------------+--------------+
| ADDRESS | UUID | SIZE | USED | MEMBER | UPDATED | REB/REP DATA |
+--------------------------+--------------------------------------+---------+--------+--------+---------------+--------------+
| http://172.15.0.21:40000 | 016fad6a-2e23-11e6-8ced-525400a19cae | 1.0 GiB | 22 MiB | OK | 3 seconds ago | 0 B/sec |
| http://172.15.0.22:40000 | 0c67d31c-2e23-11e6-91f5-525400b22f86 | 1.0 GiB | 22 MiB | OK | 3 seconds ago | 0 B/sec |
| | 0408cbba-2e23-11e6-9871-525400c36177 | ??? | ??? | DOWN | Missing | |
+--------------------------+--------------------------------------+---------+--------+--------+---------------+--------------+
Balanced: true Usage: 2.15%
```
## Going Further
See the [Torus](https://github.com/coreos/torus) project to learn more about Torus and contribute.

View File

@@ -1,18 +0,0 @@
# Troubleshooting
## Firewall
Running DHCP or proxyDHCP with `coreos/dnsmasq` on a host requires that the Firewall allow DHCP and TFTP (for chainloading) services to run.
## Port Collision
Running DHCP or proxyDHCP can cause port already in use collisions depending on what's running. Fedora runs bootp listening on udp/67 for example. Find the service using the port.
sudo lsof -i :67
Evaluate whether you can configure the existing service or whether you'd like to stop it and test with `coreos/dnsmasq`.
## No boot filename received
PXE client firmware did not receive a DHCP Offer with PXE-Options after several attempts. If you're using the `coreos/dnsmasq` image with `-d`, each request should log to stdout. Using the wrong `-i` interface is the most common reason DHCP requests are not received. Otherwise, wireshark can be useful for investigating.

162
Makefile
View File

@@ -1,79 +1,121 @@
export CGO_ENABLED:=0
LD_FLAGS="-w -X github.com/coreos/coreos-baremetal/bootcfg/version.Version=$(shell ./git-version)"
LOCAL_BIN=/usr/local/bin
all: build
build: clean bin/bootcfg bin/bootcmd
DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
VERSION=$(shell git describe --tags --match=v* --always --dirty)
LD_FLAGS="-w -X github.com/poseidon/matchbox/matchbox/version.Version=$(VERSION)"
tools:
./scripts/gentools
REPO=github.com/poseidon/matchbox
LOCAL_REPO=poseidon/matchbox
IMAGE_REPO=quay.io/poseidon/matchbox
codegen: tools
./scripts/codegen
.PHONY: all
all: build test vet fmt
bin/bootcfg:
go build -o bin/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg
bin/bootcmd:
go build -o bin/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd
.PHONY: build
build:
@go build -o bin/matchbox -ldflags $(LD_FLAGS) $(REPO)/cmd/matchbox
.PHONY: test
test:
./test
@go test ./... -cover
install:
cp bin/bootcfg $(LOCAL_BIN)
cp bin/bootcmd $(LOCAL_BIN)
.PHONY: vet
vet:
@go vet -all ./...
.PHONY: fmt
fmt:
@test -z $$(go fmt ./...)
.PHONY: lint
lint:
@golangci-lint run ./...
.PHONY: image
image: \
image-amd64 \
image-arm64
image-%:
buildah bud -f Dockerfile \
-t $(LOCAL_REPO):$(VERSION)-$* \
--arch $* --override-arch $* \
--format=docker .
push: \
push-amd64
push-arm64
push-%:
buildah tag $(LOCAL_REPO):$(VERSION)-$* $(IMAGE_REPO):$(VERSION)-$*
buildah push --format v2s2 $(IMAGE_REPO):$(VERSION)-$*
manifest:
buildah manifest create $(IMAGE_REPO):$(VERSION)
buildah manifest add $(IMAGE_REPO):$(VERSION) docker://$(IMAGE_REPO):$(VERSION)-amd64
buildah manifest add --variant v8 $(IMAGE_REPO):$(VERSION) docker://$(IMAGE_REPO):$(VERSION)-arm64
buildah manifest inspect $(IMAGE_REPO):$(VERSION)
buildah manifest push -f v2s2 $(IMAGE_REPO):$(VERSION) docker://$(IMAGE_REPO):$(VERSION)
protoc/%:
podman run --security-opt label=disable \
-u root \
--mount type=bind,src=$(DIR),target=/mnt/code \
quay.io/dghubble/protoc:v3.10.1 \
--go_out=plugins=grpc,paths=source_relative:. $*
codegen: \
protoc/matchbox/storage/storagepb/*.proto \
protoc/matchbox/server/serverpb/*.proto \
protoc/matchbox/rpc/rpcpb/*.proto
clean:
@rm -rf bin
clean-release:
@rm -rf _output
release: \
clean \
_output/coreos-baremetal-linux-amd64.tar.gz \
_output/coreos-baremetal-linux-arm.tar.gz \
_output/coreos-baremetal-linux-arm64.tar.gz \
_output/coreos-baremetal-darwin-amd64.tar.gz \
clean-release \
_output/matchbox-linux-amd64.tar.gz \
_output/matchbox-linux-arm.tar.gz \
_output/matchbox-linux-arm64.tar.gz \
_output/matchbox-darwin-amd64.tar.gz \
_output/matchbox-darwin-arm64.tar.gz
# bootcfg
bin/linux-amd64/matchbox: GOARGS = GOOS=linux GOARCH=amd64
bin/linux-arm/matchbox: GOARGS = GOOS=linux GOARCH=arm GOARM=6
bin/linux-arm64/matchbox: GOARGS = GOOS=linux GOARCH=arm64
bin/darwin-amd64/matchbox: GOARGS = GOOS=darwin GOARCH=amd64
bin/darwin-arm64/matchbox: GOARGS = GOOS=darwin GOARCH=arm64
bin/linux-ppc64le/matchbox: GOARGS = GOOS=linux GOARCH=ppc64le
bin/linux-amd64/bootcfg:
GOOS=linux GOARCH=amd64 go build -o bin/linux-amd64/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg
bin/%/matchbox:
$(GOARGS) go build -o $@ -ldflags $(LD_FLAGS) -a $(REPO)/cmd/matchbox
bin/linux-arm/bootcfg:
GOOS=linux GOARCH=arm go build -o bin/linux-arm/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg
bin/linux-arm64/bootcfg:
GOOS=linux GOARCH=arm64 go build -o bin/linux-arm64/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg
bin/darwin-amd64/bootcfg:
GOOS=darwin GOARCH=amd64 go build -o bin/darwin-amd64/bootcfg -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcfg
# bootcmd
bin/linux-amd64/bootcmd:
GOOS=linux GOARCH=amd64 go build -o bin/linux-amd64/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd
bin/linux-arm/bootcmd:
GOOS=linux GOARCH=arm go build -o bin/linux-arm/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd
bin/linux-arm64/bootcmd:
GOOS=linux GOARCH=arm64 go build -o bin/linux-arm64/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd
bin/darwin-amd64/bootcmd:
GOOS=darwin GOARCH=amd64 go build -o bin/darwin-amd64/bootcmd -ldflags $(LD_FLAGS) -a github.com/coreos/coreos-baremetal/cmd/bootcmd
_output/coreos-baremetal-%.tar.gz: NAME=coreos-baremetal-$(VERSION)-$*
_output/coreos-baremetal-%.tar.gz: DEST=_output/$(NAME)
_output/coreos-baremetal-%.tar.gz: bin/%/bootcfg bin/%/bootcmd
_output/matchbox-%.tar.gz: NAME=matchbox-$(VERSION)-$*
_output/matchbox-%.tar.gz: DEST=_output/$(NAME)
_output/matchbox-%.tar.gz: bin/%/matchbox
mkdir -p $(DEST)
cp bin/$*/bootcfg $(DEST)
cp bin/$*/bootcmd $(DEST)
./scripts/release-files $(DEST)
cp bin/$*/matchbox $(DEST)
./scripts/dev/release-files $(DEST)
tar zcvf $(DEST).tar.gz -C _output $(NAME)
clean:
rm -rf tools
rm -rf bin
rm -rf _output
.PHONY: all build clean test release
.SECONDARY: _output/matchbox-linux-amd64 _output/matchbox-darwin-amd64
.PHONY: all build tools test install release clean
.SECONDARY: _output/coreos-baremetal-linux-amd64 _output/coreos-baremetal-darwin-amd64
release-sign:
gpg2 --armor --detach-sign _output/matchbox-$(VERSION)-linux-amd64.tar.gz
gpg2 --armor --detach-sign _output/matchbox-$(VERSION)-linux-arm.tar.gz
gpg2 --armor --detach-sign _output/matchbox-$(VERSION)-linux-arm64.tar.gz
gpg2 --armor --detach-sign _output/matchbox-$(VERSION)-darwin-amd64.tar.gz
gpg2 --armor --detach-sign _output/matchbox-$(VERSION)-darwin-arm64.tar.gz
release-verify: NAME=_output/matchbox
release-verify:
gpg2 --verify $(NAME)-$(VERSION)-linux-amd64.tar.gz.asc $(NAME)-$(VERSION)-linux-amd64.tar.gz
gpg2 --verify $(NAME)-$(VERSION)-linux-arm.tar.gz.asc $(NAME)-$(VERSION)-linux-arm.tar.gz
gpg2 --verify $(NAME)-$(VERSION)-linux-arm64.tar.gz.asc $(NAME)-$(VERSION)-linux-arm64.tar.gz
gpg2 --verify $(NAME)-$(VERSION)-darwin-amd64.tar.gz.asc $(NAME)-$(VERSION)-darwin-amd64.tar.gz
gpg2 --verify $(NAME)-$(VERSION)-darwin-arm64.tar.gz.asc $(NAME)-$(VERSION)-darwin-arm64.tar.gz

5
NOTICE
View File

@@ -1,5 +0,0 @@
CoreOS Project
Copyright 2015 CoreOS, Inc
This product includes software developed at CoreOS, Inc.
(http://www.coreos.com/).

View File

@@ -1,59 +1,44 @@
# matchbox
[![GoDoc](https://pkg.go.dev/badge/github.com/poseidon/matchbox.svg)](https://pkg.go.dev/github.com/poseidon/matchbox)
[![Quay](https://img.shields.io/badge/container-quay-green)](https://quay.io/repository/poseidon/matchbox)
[![Workflow](https://github.com/poseidon/matchbox/actions/workflows/build.yaml/badge.svg)](https://github.com/poseidon/matchbox/actions/workflows/build.yaml?query=branch%3Amain)
![Downloads](https://img.shields.io/github/downloads/poseidon/matchbox/total)
[![Sponsors](https://img.shields.io/github/sponsors/poseidon?logo=github)](https://github.com/sponsors/poseidon)
[![Mastodon](https://img.shields.io/badge/follow-news-6364ff?logo=mastodon)](https://fosstodon.org/@poseidon)
# CoreOS on Baremetal
`matchbox` is a service that matches bare-metal machines to profiles that PXE boot and provision clusters. Machines are matched by labels like MAC or UUID during PXE and profiles specify a kernel/initrd, iPXE config, and Ignition config.
[![Build Status](https://travis-ci.org/coreos/coreos-baremetal.svg?branch=master)](https://travis-ci.org/coreos/coreos-baremetal) [![GoDoc](https://godoc.org/github.com/coreos/coreos-baremetal?status.png)](https://godoc.org/github.com/coreos/coreos-baremetal) [![Docker Repository on Quay](https://quay.io/repository/coreos/bootcfg/status "Docker Repository on Quay")](https://quay.io/repository/coreos/bootcfg) [![IRC](https://img.shields.io/badge/irc-%23coreos-449FD8.svg)](https://botbot.me/freenode/coreos)
## Features
Guides and a service for network booting and provisioning CoreOS clusters on virtual or physical hardware.
* Chainload via iPXE and match hardware labels
* Provision Fedora CoreOS or Flatcar Linux (powered by [Ignition](https://github.com/coreos/ignition))
* Authenticated gRPC API for clients (e.g. Terraform)
## Guides
## Documentation
* [Network Setup](Documentation/network-setup.md)
* [Machine Lifecycle](Documentation/machine-lifecycle.md)
* [Background: PXE Booting](Documentation/network-booting.md)
* [Docs](https://matchbox.psdn.io/)
* [Configuration](docs/config.md)
* [HTTP API](docs/api-http.md) / [gRPC API](docs/api-grpc.md)
## bootcfg
## Installation
`bootcfg` is an HTTP and gRPC service that renders signed [Ignition configs](https://coreos.com/ignition/docs/latest/what-is-ignition.html), [cloud-configs](https://coreos.com/os/docs/latest/cloud-config.html), network boot configs, and metadata to machines to create CoreOS clusters. Groups match machines based on labels (e.g. MAC, UUID, stage, region) and use named Profiles for provisioning. Network boot endpoints provide PXE, iPXE, and GRUB. `bootcfg` can be deployed as a binary, as an [appc](https://github.com/appc/spec) container with [rkt](https://coreos.com/rkt/docs/latest/), or as a Docker container.
Matchbox can be installed from a binary or a container image.
* [bootcfg Service](Documentation/bootcfg.md)
* [Profiles](Documentation/bootcfg.md#profiles)
* [Groups](Documentation/bootcfg.md#groups-and-metadata)
* Config Templates
* [Ignition](Documentation/ignition.md)
* [Cloud-Config](Documentation/cloud-config.md)
* Tutorials (QEMU/KVM/libvirt)
* [bootcfg with rkt](Documentation/getting-started-rkt.md)
* [bootcfg with Docker](Documentation/getting-started-docker.md)
* [Configuration](Documentation/config.md)
* [HTTP API](Documentation/api.md)
* [gRPC API](https://godoc.org/github.com/coreos/coreos-baremetal/bootcfg/client)
* Installation
* [CoreOS / Linux distros](Documentation/deployment.md)
* [rkt](Documentation/deployment.md#rkt) / [docker](Documentation/deployment.md#docker)
* [Kubernetes](Documentation/deployment.md#kubernetes)
* Clients
* bootcmd CLI (POC)
* Tectonic Installer ([guide](https://tectonic.com/enterprise/docs/latest/deployer/platform-baremetal.html), [blog](https://tectonic.com/blog/tectonic-1-3-release.html))
* Backends
* [FileStore](Documentation/bootcfg.md#data)
* [Troubleshooting](Documentation/troubleshooting.md)
* Going Further
* [gRPC API Usage](Documentation/config.md#grpc-api)
* [Metadata Endpoint](Documentation/api.md#metadata)
* OpenPGP [Signing](Documentation/api.md#openpgp-signatures)
* Install Matchbox as a [binary](docs/deployment.md#matchbox-binary), as a [container image](docs/deployment.md#container-image), or on [Kubernetes](docs/deployment.md#kubernetes)
* Setup a PXE-enabled [network](docs/network-setup.md)
### Examples
## Tutorials
The [examples](examples) network boot and provision CoreOS clusters. Network boot [QEMU/KVM](scripts/README.md#libvirt) VMs to try the examples on your Linux laptop.
Start provisioning machines with Fedora CoreOS or Flatcar Linux.
* Multi-node [Kubernetes cluster](Documentation/kubernetes.md)
* Multi-node Kubernetes cluster with rkt container runtime (i.e. rktnetes)
* Multi-node [self-hosted Kubernetes cluster](Documentation/bootkube.md)
* Multi-node etcd2 or etcd3 cluster
* Multi-node [Torus](Documentation/torus.md) distributed storage cluster
* Network boot or Install to Disk
* Multi-stage CoreOS installs
* [GRUB Netboot](Documentation/grub.md) CoreOS
* iPXE Boot CoreOS with a root fs
* iPXE Boot CoreOS
* Lab [examples](https://github.com/dghubble/metal)
* [Terraform Usage](docs/getting-started.md)
* Fedora CoreOS (PXE install to disk)
* Flatcar Linux (PXE install to disk)
* [Local QEMU/KVM](docs/getting-started-docker.md)
* Fedora CoreOS (live PXE or PXE install to disk)
* Flatcar Linux (live PXE or PXE install to disk)
## Contrib
* [dnsmasq](contrib/dnsmasq/README.md) - Run DHCP, TFTP, and DNS services as a container
* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) - Terraform provider plugin for Matchbox

View File

@@ -1,16 +0,0 @@
package client
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNew_MissingEndpoints(t *testing.T) {
cfg := &Config{
Endpoints: []string{},
}
client, err := New(cfg)
assert.Nil(t, client)
assert.Equal(t, errNoEndpoints, err)
}

View File

@@ -1,14 +0,0 @@
// Package client provides the bootcfg gRPC client.
//
// Create a bootcfg gRPC client using `client.New`:
//
// cfg := &client.Config{
// Endpoints: []string{"127.0.0.1:8081"},
// DialTimeout: 10 * time.Second,
// }
// client, err := client.New(cfg)
// defer client.Close()
//
// Callers must Close the client after use.
//
package client

View File

@@ -1,47 +0,0 @@
package http
import (
"net/http"
"golang.org/x/net/context"
)
// ContextHandler defines a handler which receives a passed context.Context
// with the standard ResponseWriter and Request.
type ContextHandler interface {
ServeHTTP(context.Context, http.ResponseWriter, *http.Request)
}
// ContextHandlerFunc type is an adapter to allow the use of an ordinary
// function as a ContextHandler. If f is a function with the correct
// signature, ContextHandlerFunc(f) is a ContextHandler that calls f.
type ContextHandlerFunc func(context.Context, http.ResponseWriter, *http.Request)
// ServeHTTP calls the function f(ctx, w, req).
func (f ContextHandlerFunc) ServeHTTP(ctx context.Context, w http.ResponseWriter, req *http.Request) {
f(ctx, w, req)
}
// handler wraps a ContextHandler to implement the http.Handler interface for
// compatability with ServeMux and middlewares.
//
// Middleswares which do not pass a ctx break the chain so place them before
// or after chains of ContextHandlers.
type handler struct {
ctx context.Context
handler ContextHandler
}
// NewHandler returns an http.Handler which wraps the given ContextHandler
// and creates a background context.Context.
func NewHandler(h ContextHandler) http.Handler {
return &handler{
ctx: context.Background(),
handler: h,
}
}
// ServeHTTP lets handler implement the http.Handler interface.
func (h *handler) ServeHTTP(w http.ResponseWriter, req *http.Request) {
h.handler.ServeHTTP(h.ctx, w, req)
}

View File

@@ -1,22 +0,0 @@
package http
import (
"fmt"
"net/http"
"net/http/httptest"
"testing"
"github.com/stretchr/testify/assert"
"golang.org/x/net/context"
)
func TestNewHandler(t *testing.T) {
fn := func(ctx context.Context, w http.ResponseWriter, req *http.Request) {
fmt.Fprintf(w, "ContextHandler called")
}
h := NewHandler(ContextHandlerFunc(fn))
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(w, req)
assert.Equal(t, "ContextHandler called", w.Body.String())
}

View File

@@ -1,2 +0,0 @@
// Package http provides the bootcfg HTTP server
package http

View File

@@ -1,123 +0,0 @@
package http
import (
"net/http"
"net/http/httptest"
"testing"
logtest "github.com/Sirupsen/logrus/hooks/test"
"github.com/stretchr/testify/assert"
"golang.org/x/net/context"
"github.com/coreos/coreos-baremetal/bootcfg/server"
"github.com/coreos/coreos-baremetal/bootcfg/storage/storagepb"
fake "github.com/coreos/coreos-baremetal/bootcfg/storage/testfakes"
)
func TestIgnitionHandler_V2JSON(t *testing.T) {
content := `{"ignition":{"version":"2.0.0","config":{}},"storage":{},"systemd":{"units":[{"name":"etcd2.service","enable":true}]},"networkd":{},"passwd":{}}`
profile := &storagepb.Profile{
Id: fake.Group.Profile,
IgnitionId: "file.ign",
}
store := &fake.FixedStore{
Profiles: map[string]*storagepb.Profile{fake.Group.Profile: profile},
IgnitionConfigs: map[string]string{"file.ign": content},
}
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: store})
h := srv.ignitionHandler(c)
ctx := withGroup(context.Background(), fake.Group)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(ctx, w, req)
// assert that:
// - raw Ignition config served directly
assert.Equal(t, http.StatusOK, w.Code)
assert.Equal(t, jsonContentType, w.HeaderMap.Get(contentType))
assert.Equal(t, content, w.Body.String())
}
func TestIgnitionHandler_V2YAML(t *testing.T) {
// exercise templating features, not a realistic Fuze template
content := `
systemd:
units:
- name: {{.service_name}}.service
enable: true
- name: {{.uuid}}.service
enable: true
- name: {{.request.query.foo}}.service
enable: true
contents: {{.request.raw_query}}
`
expectedIgnitionV2 := `{"ignition":{"version":"2.0.0","config":{}},"storage":{},"systemd":{"units":[{"name":"etcd2.service","enable":true},{"name":"a1b2c3d4.service","enable":true},{"name":"some-param.service","enable":true,"contents":"foo=some-param\u0026bar=b"}]},"networkd":{},"passwd":{}}`
store := &fake.FixedStore{
Profiles: map[string]*storagepb.Profile{fake.Group.Profile: testProfileIgnitionYAML},
IgnitionConfigs: map[string]string{testProfileIgnitionYAML.IgnitionId: content},
}
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: store})
h := srv.ignitionHandler(c)
ctx := withGroup(context.Background(), fake.Group)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/?foo=some-param&bar=b", nil)
h.ServeHTTP(ctx, w, req)
// assert that:
// - Fuze template rendered with Group selectors, metadata, and query variables
// - Transformed to an Ignition config (JSON)
assert.Equal(t, http.StatusOK, w.Code)
assert.Equal(t, jsonContentType, w.HeaderMap.Get(contentType))
assert.Equal(t, expectedIgnitionV2, w.Body.String())
}
func TestIgnitionHandler_MissingCtxProfile(t *testing.T) {
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: &fake.EmptyStore{}})
h := srv.ignitionHandler(c)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(context.Background(), w, req)
assert.Equal(t, http.StatusNotFound, w.Code)
}
func TestIgnitionHandler_MissingIgnitionConfig(t *testing.T) {
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: &fake.EmptyStore{}})
h := srv.ignitionHandler(c)
ctx := withProfile(context.Background(), fake.Profile)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(ctx, w, req)
assert.Equal(t, http.StatusNotFound, w.Code)
}
func TestIgnitionHandler_MissingTemplateMetadata(t *testing.T) {
content := `
ignition_version: 1
systemd:
units:
- name: {{.missing_key}}
enable: true
`
store := &fake.FixedStore{
Profiles: map[string]*storagepb.Profile{fake.Group.Profile: fake.Profile},
IgnitionConfigs: map[string]string{fake.Profile.IgnitionId: content},
}
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: store})
h := srv.ignitionHandler(c)
ctx := withGroup(context.Background(), fake.Group)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(ctx, w, req)
// assert that:
// - Ignition template rendering errors because "missing_key" is not
// present in the template variables
assert.Equal(t, http.StatusNotFound, w.Code)
}

View File

@@ -1,57 +0,0 @@
package http
import (
"net/http"
"path/filepath"
"github.com/Sirupsen/logrus"
"golang.org/x/net/context"
"github.com/coreos/coreos-baremetal/bootcfg/server"
pb "github.com/coreos/coreos-baremetal/bootcfg/server/serverpb"
)
// pixiecoreHandler returns a handler that renders the boot config JSON for
// the requester, to implement the Pixiecore API specification.
// https://github.com/danderson/pixiecore/blob/master/README.api.md
func (s *Server) pixiecoreHandler(core server.Server) ContextHandler {
fn := func(ctx context.Context, w http.ResponseWriter, req *http.Request) {
// pixiecore only provides a MAC address label
macAddr, err := parseMAC(filepath.Base(req.URL.Path))
if err != nil {
s.logger.Errorf("unparseable MAC address: %v", err)
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
attrs := map[string]string{"mac": macAddr.String()}
group, err := core.SelectGroup(ctx, &pb.SelectGroupRequest{Labels: attrs})
if err != nil {
s.logger.WithFields(logrus.Fields{
"label": macAddr,
}).Infof("No matching group")
http.NotFound(w, req)
return
}
profile, err := core.ProfileGet(ctx, &pb.ProfileGetRequest{Id: group.Profile})
if err != nil {
s.logger.WithFields(logrus.Fields{
"label": macAddr,
"group": group.Id,
}).Infof("No profile named: %s", group.Profile)
http.NotFound(w, req)
return
}
// match was successful
s.logger.WithFields(logrus.Fields{
"label": macAddr,
"group": group.Id,
"profile": profile.Id,
}).Debug("Matched a Pixiecore config")
s.renderJSON(w, profile.Boot)
}
return ContextHandlerFunc(fn)
}

View File

@@ -1,73 +0,0 @@
package http
import (
"net/http"
"net/http/httptest"
"testing"
logtest "github.com/Sirupsen/logrus/hooks/test"
"github.com/stretchr/testify/assert"
"golang.org/x/net/context"
"github.com/coreos/coreos-baremetal/bootcfg/server"
"github.com/coreos/coreos-baremetal/bootcfg/storage/storagepb"
fake "github.com/coreos/coreos-baremetal/bootcfg/storage/testfakes"
)
func TestPixiecoreHandler(t *testing.T) {
store := &fake.FixedStore{
Groups: map[string]*storagepb.Group{testGroupWithMAC.Id: testGroupWithMAC},
Profiles: map[string]*storagepb.Profile{testGroupWithMAC.Profile: fake.Profile},
}
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: store})
h := srv.pixiecoreHandler(c)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/"+validMACStr, nil)
h.ServeHTTP(context.Background(), w, req)
// assert that:
// - MAC address parameter is used for Group matching
// - the Profile's NetBoot config is rendered as Pixiecore JSON
expectedJSON := `{"kernel":"/image/kernel","initrd":["/image/initrd_a","/image/initrd_b"],"cmdline":{"a":"b","c":""}}`
assert.Equal(t, http.StatusOK, w.Code)
assert.Equal(t, jsonContentType, w.HeaderMap.Get(contentType))
assert.Equal(t, expectedJSON, w.Body.String())
}
func TestPixiecoreHandler_InvalidMACAddress(t *testing.T) {
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: &fake.EmptyStore{}})
h := srv.pixiecoreHandler(c)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/", nil)
h.ServeHTTP(context.Background(), w, req)
assert.Equal(t, http.StatusBadRequest, w.Code)
assert.Equal(t, "invalid MAC address /\n", w.Body.String())
}
func TestPixiecoreHandler_NoMatchingGroup(t *testing.T) {
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: &fake.EmptyStore{}})
h := srv.pixiecoreHandler(c)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/"+validMACStr, nil)
h.ServeHTTP(context.Background(), w, req)
assert.Equal(t, http.StatusNotFound, w.Code)
}
func TestPixiecoreHandler_NoMatchingProfile(t *testing.T) {
store := &fake.FixedStore{
Groups: map[string]*storagepb.Group{fake.Group.Id: fake.Group},
}
logger, _ := logtest.NewNullLogger()
srv := NewServer(&Config{Logger: logger})
c := server.NewServer(&server.Config{Store: store})
h := srv.pixiecoreHandler(c)
w := httptest.NewRecorder()
req, _ := http.NewRequest("GET", "/"+validMACStr, nil)
h.ServeHTTP(context.Background(), w, req)
assert.Equal(t, http.StatusNotFound, w.Code)
}

View File

@@ -1,21 +0,0 @@
package http
import (
"github.com/coreos/coreos-baremetal/bootcfg/storage/storagepb"
)
var (
validMACStr = "52:da:00:89:d8:10"
testProfileIgnitionYAML = &storagepb.Profile{
Id: "g1h2i3j4",
IgnitionId: "ignition.yaml",
}
testGroupWithMAC = &storagepb.Group{
Id: "test-group",
Name: "test group",
Profile: "g1h2i3j4",
Selector: map[string]string{"mac": validMACStr},
}
)

View File

@@ -1,2 +0,0 @@
// Package rpc provides the bootcfg gRPC server
package rpc

View File

@@ -1,25 +0,0 @@
package rpc
import (
"golang.org/x/net/context"
"github.com/coreos/coreos-baremetal/bootcfg/rpc/rpcpb"
"github.com/coreos/coreos-baremetal/bootcfg/server"
pb "github.com/coreos/coreos-baremetal/bootcfg/server/serverpb"
)
// ignitionServer takes a bootcfg Server and implements a gRPC IgnitionServer.
type ignitionServer struct {
srv server.Server
}
func newIgnitionServer(s server.Server) rpcpb.IgnitionServer {
return &ignitionServer{
srv: s,
}
}
func (s *ignitionServer) IgnitionPut(ctx context.Context, req *pb.IgnitionPutRequest) (*pb.IgnitionPutResponse, error) {
_, err := s.srv.IgnitionPut(ctx, req)
return &pb.IgnitionPutResponse{}, grpcError(err)
}

View File

@@ -1,499 +0,0 @@
// Code generated by protoc-gen-go.
// source: rpc.proto
// DO NOT EDIT!
/*
Package rpcpb is a generated protocol buffer package.
It is generated from these files:
rpc.proto
It has these top-level messages:
*/
package rpcpb
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import serverpb "github.com/coreos/coreos-baremetal/bootcfg/server/serverpb"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.ProtoPackageIsVersion1
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion2
// Client API for Groups service
type GroupsClient interface {
// Create a Group.
GroupPut(ctx context.Context, in *serverpb.GroupPutRequest, opts ...grpc.CallOption) (*serverpb.GroupPutResponse, error)
// Get a machine Group by id.
GroupGet(ctx context.Context, in *serverpb.GroupGetRequest, opts ...grpc.CallOption) (*serverpb.GroupGetResponse, error)
// List all machine Groups.
GroupList(ctx context.Context, in *serverpb.GroupListRequest, opts ...grpc.CallOption) (*serverpb.GroupListResponse, error)
}
type groupsClient struct {
cc *grpc.ClientConn
}
func NewGroupsClient(cc *grpc.ClientConn) GroupsClient {
return &groupsClient{cc}
}
func (c *groupsClient) GroupPut(ctx context.Context, in *serverpb.GroupPutRequest, opts ...grpc.CallOption) (*serverpb.GroupPutResponse, error) {
out := new(serverpb.GroupPutResponse)
err := grpc.Invoke(ctx, "/rpcpb.Groups/GroupPut", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupsClient) GroupGet(ctx context.Context, in *serverpb.GroupGetRequest, opts ...grpc.CallOption) (*serverpb.GroupGetResponse, error) {
out := new(serverpb.GroupGetResponse)
err := grpc.Invoke(ctx, "/rpcpb.Groups/GroupGet", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *groupsClient) GroupList(ctx context.Context, in *serverpb.GroupListRequest, opts ...grpc.CallOption) (*serverpb.GroupListResponse, error) {
out := new(serverpb.GroupListResponse)
err := grpc.Invoke(ctx, "/rpcpb.Groups/GroupList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Groups service
type GroupsServer interface {
// Create a Group.
GroupPut(context.Context, *serverpb.GroupPutRequest) (*serverpb.GroupPutResponse, error)
// Get a machine Group by id.
GroupGet(context.Context, *serverpb.GroupGetRequest) (*serverpb.GroupGetResponse, error)
// List all machine Groups.
GroupList(context.Context, *serverpb.GroupListRequest) (*serverpb.GroupListResponse, error)
}
func RegisterGroupsServer(s *grpc.Server, srv GroupsServer) {
s.RegisterService(&_Groups_serviceDesc, srv)
}
func _Groups_GroupPut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.GroupPutRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupsServer).GroupPut(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Groups/GroupPut",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupsServer).GroupPut(ctx, req.(*serverpb.GroupPutRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Groups_GroupGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.GroupGetRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupsServer).GroupGet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Groups/GroupGet",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupsServer).GroupGet(ctx, req.(*serverpb.GroupGetRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Groups_GroupList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.GroupListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(GroupsServer).GroupList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Groups/GroupList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(GroupsServer).GroupList(ctx, req.(*serverpb.GroupListRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Groups_serviceDesc = grpc.ServiceDesc{
ServiceName: "rpcpb.Groups",
HandlerType: (*GroupsServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GroupPut",
Handler: _Groups_GroupPut_Handler,
},
{
MethodName: "GroupGet",
Handler: _Groups_GroupGet_Handler,
},
{
MethodName: "GroupList",
Handler: _Groups_GroupList_Handler,
},
},
Streams: []grpc.StreamDesc{},
}
// Client API for Profiles service
type ProfilesClient interface {
// Create a Profile.
ProfilePut(ctx context.Context, in *serverpb.ProfilePutRequest, opts ...grpc.CallOption) (*serverpb.ProfilePutResponse, error)
// Get a Profile by id.
ProfileGet(ctx context.Context, in *serverpb.ProfileGetRequest, opts ...grpc.CallOption) (*serverpb.ProfileGetResponse, error)
// List all Profiles.
ProfileList(ctx context.Context, in *serverpb.ProfileListRequest, opts ...grpc.CallOption) (*serverpb.ProfileListResponse, error)
}
type profilesClient struct {
cc *grpc.ClientConn
}
func NewProfilesClient(cc *grpc.ClientConn) ProfilesClient {
return &profilesClient{cc}
}
func (c *profilesClient) ProfilePut(ctx context.Context, in *serverpb.ProfilePutRequest, opts ...grpc.CallOption) (*serverpb.ProfilePutResponse, error) {
out := new(serverpb.ProfilePutResponse)
err := grpc.Invoke(ctx, "/rpcpb.Profiles/ProfilePut", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *profilesClient) ProfileGet(ctx context.Context, in *serverpb.ProfileGetRequest, opts ...grpc.CallOption) (*serverpb.ProfileGetResponse, error) {
out := new(serverpb.ProfileGetResponse)
err := grpc.Invoke(ctx, "/rpcpb.Profiles/ProfileGet", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *profilesClient) ProfileList(ctx context.Context, in *serverpb.ProfileListRequest, opts ...grpc.CallOption) (*serverpb.ProfileListResponse, error) {
out := new(serverpb.ProfileListResponse)
err := grpc.Invoke(ctx, "/rpcpb.Profiles/ProfileList", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Profiles service
type ProfilesServer interface {
// Create a Profile.
ProfilePut(context.Context, *serverpb.ProfilePutRequest) (*serverpb.ProfilePutResponse, error)
// Get a Profile by id.
ProfileGet(context.Context, *serverpb.ProfileGetRequest) (*serverpb.ProfileGetResponse, error)
// List all Profiles.
ProfileList(context.Context, *serverpb.ProfileListRequest) (*serverpb.ProfileListResponse, error)
}
func RegisterProfilesServer(s *grpc.Server, srv ProfilesServer) {
s.RegisterService(&_Profiles_serviceDesc, srv)
}
func _Profiles_ProfilePut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.ProfilePutRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProfilesServer).ProfilePut(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Profiles/ProfilePut",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProfilesServer).ProfilePut(ctx, req.(*serverpb.ProfilePutRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Profiles_ProfileGet_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.ProfileGetRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProfilesServer).ProfileGet(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Profiles/ProfileGet",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProfilesServer).ProfileGet(ctx, req.(*serverpb.ProfileGetRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Profiles_ProfileList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.ProfileListRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ProfilesServer).ProfileList(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Profiles/ProfileList",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ProfilesServer).ProfileList(ctx, req.(*serverpb.ProfileListRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Profiles_serviceDesc = grpc.ServiceDesc{
ServiceName: "rpcpb.Profiles",
HandlerType: (*ProfilesServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "ProfilePut",
Handler: _Profiles_ProfilePut_Handler,
},
{
MethodName: "ProfileGet",
Handler: _Profiles_ProfileGet_Handler,
},
{
MethodName: "ProfileList",
Handler: _Profiles_ProfileList_Handler,
},
},
Streams: []grpc.StreamDesc{},
}
// Client API for Ignition service
type IgnitionClient interface {
// Create or update an Ignition template.
IgnitionPut(ctx context.Context, in *serverpb.IgnitionPutRequest, opts ...grpc.CallOption) (*serverpb.IgnitionPutResponse, error)
}
type ignitionClient struct {
cc *grpc.ClientConn
}
func NewIgnitionClient(cc *grpc.ClientConn) IgnitionClient {
return &ignitionClient{cc}
}
func (c *ignitionClient) IgnitionPut(ctx context.Context, in *serverpb.IgnitionPutRequest, opts ...grpc.CallOption) (*serverpb.IgnitionPutResponse, error) {
out := new(serverpb.IgnitionPutResponse)
err := grpc.Invoke(ctx, "/rpcpb.Ignition/IgnitionPut", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Ignition service
type IgnitionServer interface {
// Create or update an Ignition template.
IgnitionPut(context.Context, *serverpb.IgnitionPutRequest) (*serverpb.IgnitionPutResponse, error)
}
func RegisterIgnitionServer(s *grpc.Server, srv IgnitionServer) {
s.RegisterService(&_Ignition_serviceDesc, srv)
}
func _Ignition_IgnitionPut_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.IgnitionPutRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(IgnitionServer).IgnitionPut(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Ignition/IgnitionPut",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(IgnitionServer).IgnitionPut(ctx, req.(*serverpb.IgnitionPutRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Ignition_serviceDesc = grpc.ServiceDesc{
ServiceName: "rpcpb.Ignition",
HandlerType: (*IgnitionServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "IgnitionPut",
Handler: _Ignition_IgnitionPut_Handler,
},
},
Streams: []grpc.StreamDesc{},
}
// Client API for Select service
type SelectClient interface {
// SelectGroup returns the Group matching the given labels.
SelectGroup(ctx context.Context, in *serverpb.SelectGroupRequest, opts ...grpc.CallOption) (*serverpb.SelectGroupResponse, error)
// SelectProfile returns the Profile matching the given labels.
SelectProfile(ctx context.Context, in *serverpb.SelectProfileRequest, opts ...grpc.CallOption) (*serverpb.SelectProfileResponse, error)
}
type selectClient struct {
cc *grpc.ClientConn
}
func NewSelectClient(cc *grpc.ClientConn) SelectClient {
return &selectClient{cc}
}
func (c *selectClient) SelectGroup(ctx context.Context, in *serverpb.SelectGroupRequest, opts ...grpc.CallOption) (*serverpb.SelectGroupResponse, error) {
out := new(serverpb.SelectGroupResponse)
err := grpc.Invoke(ctx, "/rpcpb.Select/SelectGroup", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *selectClient) SelectProfile(ctx context.Context, in *serverpb.SelectProfileRequest, opts ...grpc.CallOption) (*serverpb.SelectProfileResponse, error) {
out := new(serverpb.SelectProfileResponse)
err := grpc.Invoke(ctx, "/rpcpb.Select/SelectProfile", in, out, c.cc, opts...)
if err != nil {
return nil, err
}
return out, nil
}
// Server API for Select service
type SelectServer interface {
// SelectGroup returns the Group matching the given labels.
SelectGroup(context.Context, *serverpb.SelectGroupRequest) (*serverpb.SelectGroupResponse, error)
// SelectProfile returns the Profile matching the given labels.
SelectProfile(context.Context, *serverpb.SelectProfileRequest) (*serverpb.SelectProfileResponse, error)
}
func RegisterSelectServer(s *grpc.Server, srv SelectServer) {
s.RegisterService(&_Select_serviceDesc, srv)
}
func _Select_SelectGroup_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.SelectGroupRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SelectServer).SelectGroup(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Select/SelectGroup",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SelectServer).SelectGroup(ctx, req.(*serverpb.SelectGroupRequest))
}
return interceptor(ctx, in, info, handler)
}
func _Select_SelectProfile_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(serverpb.SelectProfileRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(SelectServer).SelectProfile(ctx, in)
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/rpcpb.Select/SelectProfile",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(SelectServer).SelectProfile(ctx, req.(*serverpb.SelectProfileRequest))
}
return interceptor(ctx, in, info, handler)
}
var _Select_serviceDesc = grpc.ServiceDesc{
ServiceName: "rpcpb.Select",
HandlerType: (*SelectServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "SelectGroup",
Handler: _Select_SelectGroup_Handler,
},
{
MethodName: "SelectProfile",
Handler: _Select_SelectProfile_Handler,
},
},
Streams: []grpc.StreamDesc{},
}
var fileDescriptor0 = []byte{
// 311 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0x92, 0x41, 0x4e, 0xeb, 0x30,
0x10, 0x86, 0x5f, 0x17, 0xaf, 0x6a, 0x8d, 0xd8, 0x78, 0x47, 0x29, 0x20, 0xb1, 0x27, 0x91, 0xca,
0x11, 0x90, 0xa8, 0x22, 0x75, 0x51, 0x95, 0x0d, 0xdb, 0x38, 0x9a, 0x86, 0x48, 0x49, 0x6c, 0x3c,
0x0e, 0x87, 0xe2, 0x48, 0x1c, 0x82, 0x33, 0x10, 0x3b, 0xb6, 0xeb, 0x36, 0xce, 0x2a, 0xa3, 0xff,
0xf3, 0x7c, 0xca, 0x6f, 0x99, 0x2c, 0xa5, 0x28, 0x12, 0x21, 0xb9, 0xe2, 0xf4, 0x7f, 0x3f, 0x0a,
0xb6, 0xca, 0xca, 0x4a, 0x7d, 0x74, 0x2c, 0x29, 0x78, 0x93, 0x16, 0x5c, 0x02, 0x47, 0xfb, 0x79,
0x62, 0xb9, 0x84, 0x06, 0x54, 0x5e, 0xa7, 0x8c, 0x73, 0x55, 0x1c, 0xcb, 0x14, 0x41, 0x7e, 0x81,
0xb4, 0x1f, 0xc1, 0xd2, 0x06, 0x10, 0xf3, 0x12, 0x70, 0x30, 0x6e, 0x7e, 0x66, 0x64, 0xbe, 0x95,
0xbc, 0x13, 0x48, 0x5f, 0xc8, 0xc2, 0x4c, 0xfb, 0x4e, 0xd1, 0x9b, 0xc4, 0x2d, 0x24, 0x2e, 0x3b,
0xc0, 0x67, 0x07, 0xa8, 0x56, 0xab, 0x18, 0x42, 0xc1, 0x5b, 0x84, 0xc7, 0x7f, 0x5e, 0xb2, 0x85,
0xb1, 0xa4, 0xcf, 0xa6, 0x24, 0x06, 0x79, 0xc9, 0x2b, 0x59, 0x9a, 0x74, 0x57, 0xa1, 0xa2, 0x97,
0x47, 0x75, 0xe8, 0x34, 0xb7, 0x51, 0xe6, 0x3c, 0x9b, 0xdf, 0x19, 0x59, 0xec, 0x25, 0x3f, 0x56,
0x35, 0x20, 0xcd, 0x08, 0xb1, 0xb3, 0x2e, 0x18, 0x6c, 0x9e, 0x52, 0xa7, 0x5d, 0xc7, 0xa1, 0xff,
0xbf, 0x93, 0x4a, 0xd7, 0x1c, 0xab, 0x82, 0xa2, 0xeb, 0x38, 0xf4, 0xaa, 0x1d, 0xb9, 0xb2, 0xb9,
0x29, 0x3b, 0x3e, 0x1e, 0xd6, 0xbd, 0x9b, 0xa0, 0xbe, 0xf0, 0x3b, 0x59, 0x64, 0x65, 0x5b, 0xa9,
0x8a, 0xb7, 0xda, 0xec, 0x66, 0x5d, 0x38, 0x30, 0x07, 0x71, 0xc4, 0x7c, 0x46, 0xbd, 0xf9, 0xbb,
0x7f, 0x27, 0x6f, 0x50, 0x43, 0xa1, 0xb4, 0x78, 0x98, 0xcc, 0x95, 0x87, 0xe2, 0x20, 0x8e, 0x88,
0xcf, 0xa8, 0xbf, 0x80, 0x03, 0xb9, 0x1e, 0x80, 0x6d, 0x44, 0xef, 0x2f, 0x37, 0x2c, 0x70, 0xc6,
0x87, 0x49, 0xee, 0x9c, 0x6c, 0x6e, 0xde, 0xf6, 0xf3, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x9c,
0xbc, 0x09, 0xef, 0x3a, 0x03, 0x00, 0x00,
}

View File

@@ -1,2 +0,0 @@
// Package server is a bootcfg library package for implementing servers.
package server

View File

@@ -1,2 +0,0 @@
// Package serverpb provides bootcfg message types.
package serverpb

View File

@@ -1,326 +0,0 @@
// Code generated by protoc-gen-go.
// source: messages.proto
// DO NOT EDIT!
/*
Package serverpb is a generated protocol buffer package.
It is generated from these files:
messages.proto
It has these top-level messages:
SelectGroupRequest
SelectGroupResponse
SelectProfileRequest
SelectProfileResponse
GroupPutRequest
GroupPutResponse
GroupGetRequest
GroupListRequest
GroupGetResponse
GroupListResponse
ProfilePutRequest
ProfilePutResponse
ProfileGetRequest
ProfileGetResponse
ProfileListRequest
ProfileListResponse
IgnitionPutRequest
IgnitionPutResponse
*/
package serverpb
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import storagepb "github.com/coreos/coreos-baremetal/bootcfg/storage/storagepb"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.ProtoPackageIsVersion1
type SelectGroupRequest struct {
Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}
func (m *SelectGroupRequest) Reset() { *m = SelectGroupRequest{} }
func (m *SelectGroupRequest) String() string { return proto.CompactTextString(m) }
func (*SelectGroupRequest) ProtoMessage() {}
func (*SelectGroupRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *SelectGroupRequest) GetLabels() map[string]string {
if m != nil {
return m.Labels
}
return nil
}
type SelectGroupResponse struct {
Group *storagepb.Group `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
}
func (m *SelectGroupResponse) Reset() { *m = SelectGroupResponse{} }
func (m *SelectGroupResponse) String() string { return proto.CompactTextString(m) }
func (*SelectGroupResponse) ProtoMessage() {}
func (*SelectGroupResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *SelectGroupResponse) GetGroup() *storagepb.Group {
if m != nil {
return m.Group
}
return nil
}
type SelectProfileRequest struct {
Labels map[string]string `protobuf:"bytes,1,rep,name=labels" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}
func (m *SelectProfileRequest) Reset() { *m = SelectProfileRequest{} }
func (m *SelectProfileRequest) String() string { return proto.CompactTextString(m) }
func (*SelectProfileRequest) ProtoMessage() {}
func (*SelectProfileRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *SelectProfileRequest) GetLabels() map[string]string {
if m != nil {
return m.Labels
}
return nil
}
type SelectProfileResponse struct {
Profile *storagepb.Profile `protobuf:"bytes,1,opt,name=profile" json:"profile,omitempty"`
}
func (m *SelectProfileResponse) Reset() { *m = SelectProfileResponse{} }
func (m *SelectProfileResponse) String() string { return proto.CompactTextString(m) }
func (*SelectProfileResponse) ProtoMessage() {}
func (*SelectProfileResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }
func (m *SelectProfileResponse) GetProfile() *storagepb.Profile {
if m != nil {
return m.Profile
}
return nil
}
type GroupPutRequest struct {
Group *storagepb.Group `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
}
func (m *GroupPutRequest) Reset() { *m = GroupPutRequest{} }
func (m *GroupPutRequest) String() string { return proto.CompactTextString(m) }
func (*GroupPutRequest) ProtoMessage() {}
func (*GroupPutRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }
func (m *GroupPutRequest) GetGroup() *storagepb.Group {
if m != nil {
return m.Group
}
return nil
}
type GroupPutResponse struct {
}
func (m *GroupPutResponse) Reset() { *m = GroupPutResponse{} }
func (m *GroupPutResponse) String() string { return proto.CompactTextString(m) }
func (*GroupPutResponse) ProtoMessage() {}
func (*GroupPutResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }
type GroupGetRequest struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}
func (m *GroupGetRequest) Reset() { *m = GroupGetRequest{} }
func (m *GroupGetRequest) String() string { return proto.CompactTextString(m) }
func (*GroupGetRequest) ProtoMessage() {}
func (*GroupGetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }
type GroupListRequest struct {
}
func (m *GroupListRequest) Reset() { *m = GroupListRequest{} }
func (m *GroupListRequest) String() string { return proto.CompactTextString(m) }
func (*GroupListRequest) ProtoMessage() {}
func (*GroupListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }
type GroupGetResponse struct {
Group *storagepb.Group `protobuf:"bytes,1,opt,name=group" json:"group,omitempty"`
}
func (m *GroupGetResponse) Reset() { *m = GroupGetResponse{} }
func (m *GroupGetResponse) String() string { return proto.CompactTextString(m) }
func (*GroupGetResponse) ProtoMessage() {}
func (*GroupGetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }
func (m *GroupGetResponse) GetGroup() *storagepb.Group {
if m != nil {
return m.Group
}
return nil
}
type GroupListResponse struct {
Groups []*storagepb.Group `protobuf:"bytes,1,rep,name=groups" json:"groups,omitempty"`
}
func (m *GroupListResponse) Reset() { *m = GroupListResponse{} }
func (m *GroupListResponse) String() string { return proto.CompactTextString(m) }
func (*GroupListResponse) ProtoMessage() {}
func (*GroupListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{9} }
func (m *GroupListResponse) GetGroups() []*storagepb.Group {
if m != nil {
return m.Groups
}
return nil
}
type ProfilePutRequest struct {
Profile *storagepb.Profile `protobuf:"bytes,1,opt,name=profile" json:"profile,omitempty"`
}
func (m *ProfilePutRequest) Reset() { *m = ProfilePutRequest{} }
func (m *ProfilePutRequest) String() string { return proto.CompactTextString(m) }
func (*ProfilePutRequest) ProtoMessage() {}
func (*ProfilePutRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{10} }
func (m *ProfilePutRequest) GetProfile() *storagepb.Profile {
if m != nil {
return m.Profile
}
return nil
}
type ProfilePutResponse struct {
}
func (m *ProfilePutResponse) Reset() { *m = ProfilePutResponse{} }
func (m *ProfilePutResponse) String() string { return proto.CompactTextString(m) }
func (*ProfilePutResponse) ProtoMessage() {}
func (*ProfilePutResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{11} }
type ProfileGetRequest struct {
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
}
func (m *ProfileGetRequest) Reset() { *m = ProfileGetRequest{} }
func (m *ProfileGetRequest) String() string { return proto.CompactTextString(m) }
func (*ProfileGetRequest) ProtoMessage() {}
func (*ProfileGetRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{12} }
type ProfileGetResponse struct {
Profile *storagepb.Profile `protobuf:"bytes,1,opt,name=profile" json:"profile,omitempty"`
}
func (m *ProfileGetResponse) Reset() { *m = ProfileGetResponse{} }
func (m *ProfileGetResponse) String() string { return proto.CompactTextString(m) }
func (*ProfileGetResponse) ProtoMessage() {}
func (*ProfileGetResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{13} }
func (m *ProfileGetResponse) GetProfile() *storagepb.Profile {
if m != nil {
return m.Profile
}
return nil
}
type ProfileListRequest struct {
}
func (m *ProfileListRequest) Reset() { *m = ProfileListRequest{} }
func (m *ProfileListRequest) String() string { return proto.CompactTextString(m) }
func (*ProfileListRequest) ProtoMessage() {}
func (*ProfileListRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{14} }
type ProfileListResponse struct {
Profiles []*storagepb.Profile `protobuf:"bytes,1,rep,name=profiles" json:"profiles,omitempty"`
}
func (m *ProfileListResponse) Reset() { *m = ProfileListResponse{} }
func (m *ProfileListResponse) String() string { return proto.CompactTextString(m) }
func (*ProfileListResponse) ProtoMessage() {}
func (*ProfileListResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{15} }
func (m *ProfileListResponse) GetProfiles() []*storagepb.Profile {
if m != nil {
return m.Profiles
}
return nil
}
type IgnitionPutRequest struct {
Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
Config []byte `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"`
}
func (m *IgnitionPutRequest) Reset() { *m = IgnitionPutRequest{} }
func (m *IgnitionPutRequest) String() string { return proto.CompactTextString(m) }
func (*IgnitionPutRequest) ProtoMessage() {}
func (*IgnitionPutRequest) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{16} }
type IgnitionPutResponse struct {
}
func (m *IgnitionPutResponse) Reset() { *m = IgnitionPutResponse{} }
func (m *IgnitionPutResponse) String() string { return proto.CompactTextString(m) }
func (*IgnitionPutResponse) ProtoMessage() {}
func (*IgnitionPutResponse) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{17} }
func init() {
proto.RegisterType((*SelectGroupRequest)(nil), "serverpb.SelectGroupRequest")
proto.RegisterType((*SelectGroupResponse)(nil), "serverpb.SelectGroupResponse")
proto.RegisterType((*SelectProfileRequest)(nil), "serverpb.SelectProfileRequest")
proto.RegisterType((*SelectProfileResponse)(nil), "serverpb.SelectProfileResponse")
proto.RegisterType((*GroupPutRequest)(nil), "serverpb.GroupPutRequest")
proto.RegisterType((*GroupPutResponse)(nil), "serverpb.GroupPutResponse")
proto.RegisterType((*GroupGetRequest)(nil), "serverpb.GroupGetRequest")
proto.RegisterType((*GroupListRequest)(nil), "serverpb.GroupListRequest")
proto.RegisterType((*GroupGetResponse)(nil), "serverpb.GroupGetResponse")
proto.RegisterType((*GroupListResponse)(nil), "serverpb.GroupListResponse")
proto.RegisterType((*ProfilePutRequest)(nil), "serverpb.ProfilePutRequest")
proto.RegisterType((*ProfilePutResponse)(nil), "serverpb.ProfilePutResponse")
proto.RegisterType((*ProfileGetRequest)(nil), "serverpb.ProfileGetRequest")
proto.RegisterType((*ProfileGetResponse)(nil), "serverpb.ProfileGetResponse")
proto.RegisterType((*ProfileListRequest)(nil), "serverpb.ProfileListRequest")
proto.RegisterType((*ProfileListResponse)(nil), "serverpb.ProfileListResponse")
proto.RegisterType((*IgnitionPutRequest)(nil), "serverpb.IgnitionPutRequest")
proto.RegisterType((*IgnitionPutResponse)(nil), "serverpb.IgnitionPutResponse")
}
var fileDescriptor0 = []byte{
// 441 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x5d, 0x8b, 0xd3, 0x40,
0x14, 0x25, 0x5d, 0x37, 0xae, 0xb7, 0xb2, 0x76, 0xa7, 0x5d, 0x59, 0xf6, 0x49, 0x47, 0x90, 0x20,
0x3a, 0x85, 0xf5, 0xc5, 0x5d, 0x58, 0x58, 0x17, 0xca, 0xa2, 0xec, 0x43, 0x89, 0xbf, 0x20, 0x89,
0xb7, 0x31, 0x98, 0x64, 0xe2, 0xcc, 0xa4, 0xd0, 0x9f, 0xe1, 0x83, 0xff, 0xd7, 0x76, 0x3e, 0xe2,
0xa4, 0x15, 0xb1, 0xe2, 0xd3, 0xdc, 0xb9, 0xf7, 0x9c, 0x73, 0x7b, 0xce, 0x94, 0xc0, 0x71, 0x85,
0x52, 0x26, 0x39, 0x4a, 0xd6, 0x08, 0xae, 0x38, 0x39, 0x92, 0x28, 0x96, 0x28, 0x9a, 0xf4, 0xfc,
0x63, 0x5e, 0xa8, 0x2f, 0x6d, 0xca, 0x32, 0x5e, 0x4d, 0x33, 0x2e, 0x90, 0x4b, 0x7b, 0xbc, 0x49,
0x13, 0x81, 0x15, 0xaa, 0xa4, 0x9c, 0xa6, 0x9c, 0xab, 0x6c, 0x91, 0x4f, 0xa5, 0xe2, 0x62, 0x2d,
0xe2, 0xce, 0x26, 0x75, 0x95, 0x51, 0xa5, 0xdf, 0x03, 0x20, 0x9f, 0xb0, 0xc4, 0x4c, 0xdd, 0x09,
0xde, 0x36, 0x31, 0x7e, 0x6b, 0x51, 0x2a, 0x72, 0x03, 0x61, 0x99, 0xa4, 0x58, 0xca, 0xb3, 0xe0,
0xd9, 0x41, 0x34, 0xbc, 0x88, 0x98, 0xdb, 0xce, 0x76, 0xd1, 0xec, 0x5e, 0x43, 0x67, 0xb5, 0x12,
0xab, 0xd8, 0xf2, 0xce, 0x2f, 0x61, 0xe8, 0xb5, 0xc9, 0x08, 0x0e, 0xbe, 0xe2, 0x6a, 0xad, 0x16,
0x44, 0x8f, 0xe2, 0x4d, 0x49, 0x26, 0x70, 0xb8, 0x4c, 0xca, 0x16, 0xcf, 0x06, 0xba, 0x67, 0x2e,
0x57, 0x83, 0x77, 0x01, 0xbd, 0x86, 0x71, 0x6f, 0x89, 0x6c, 0x78, 0x2d, 0x91, 0xbc, 0x84, 0xc3,
0x7c, 0xd3, 0xd0, 0x22, 0xc3, 0x8b, 0x11, 0xeb, 0x3c, 0x31, 0x03, 0x34, 0x63, 0xfa, 0x23, 0x80,
0x89, 0xe1, 0xcf, 0x05, 0x5f, 0x14, 0x25, 0x3a, 0x53, 0xb7, 0x5b, 0xa6, 0x5e, 0x6d, 0x9b, 0xea,
0xe3, 0xff, 0xb7, 0xad, 0x19, 0x9c, 0x6e, 0xad, 0xb1, 0xc6, 0x5e, 0xc3, 0xc3, 0xc6, 0xb4, 0xac,
0x35, 0xe2, 0x59, 0x73, 0x60, 0x07, 0xa1, 0x97, 0xf0, 0x44, 0xdb, 0x9d, 0xb7, 0xca, 0x19, 0xfb,
0xdb, 0x64, 0x08, 0x8c, 0x7e, 0x51, 0xcd, 0x72, 0xfa, 0xdc, 0xca, 0xdd, 0x61, 0x27, 0x77, 0x0c,
0x83, 0xe2, 0xb3, 0xf5, 0xb4, 0xae, 0x3a, 0xda, 0x7d, 0x21, 0x1d, 0x86, 0x5e, 0xd9, 0x9e, 0xa6,
0xed, 0xf9, 0x40, 0xd7, 0x70, 0xe2, 0xe9, 0x59, 0x72, 0x04, 0xa1, 0x9e, 0xba, 0xc7, 0xd9, 0x65,
0xdb, 0x39, 0x7d, 0x0f, 0x27, 0x36, 0x14, 0x2f, 0x82, 0xfd, 0x32, 0x9c, 0x00, 0xf1, 0x25, 0x6c,
0x14, 0x2f, 0x3a, 0xe1, 0x3f, 0x84, 0x71, 0xdb, 0x51, 0x7d, 0xeb, 0xff, 0xba, 0xde, 0x8f, 0x74,
0x06, 0xe3, 0x5e, 0xd7, 0x4a, 0x33, 0x38, 0xb2, 0x3c, 0x17, 0xcd, 0xef, 0xb4, 0x3b, 0x0c, 0xbd,
0x01, 0xf2, 0x21, 0xaf, 0x0b, 0x55, 0xf0, 0xda, 0xcb, 0x87, 0xc0, 0x83, 0x3a, 0xa9, 0xd0, 0x1a,
0xd1, 0x35, 0x79, 0x0a, 0x61, 0xc6, 0xeb, 0x45, 0x91, 0xeb, 0xff, 0xea, 0xe3, 0xd8, 0xde, 0xe8,
0x29, 0x8c, 0x7b, 0x0a, 0xe6, 0x87, 0xa4, 0xa1, 0xfe, 0x62, 0xbc, 0xfd, 0x19, 0x00, 0x00, 0xff,
0xff, 0x19, 0xef, 0xe3, 0x5b, 0x99, 0x04, 0x00, 0x00,
}

View File

@@ -1,2 +0,0 @@
// Package sign adds signatures to bootcfg responses.
package sign

View File

@@ -1,2 +0,0 @@
// Package storage defines bootcfg's storage and object types.
package storage

View File

@@ -1,72 +0,0 @@
package storagepb
import (
"testing"
"github.com/stretchr/testify/assert"
)
var (
testProfile = &Profile{
Id: "id",
CloudId: "cloud.yaml",
IgnitionId: "ignition.json",
}
)
func TestProfileParse(t *testing.T) {
cases := []struct {
json string
profile *Profile
}{
{`{"id": "id", "cloud_id": "cloud.yaml", "ignition_id": "ignition.json"}`, testProfile},
}
for _, c := range cases {
profile, _ := ParseProfile([]byte(c.json))
assert.Equal(t, c.profile, profile)
}
}
func TestProfileValidate(t *testing.T) {
cases := []struct {
profile *Profile
valid bool
}{
{testProfile, true},
{&Profile{Id: "a1b2c3d4"}, true},
{&Profile{}, false},
}
for _, c := range cases {
valid := c.profile.AssertValid() == nil
assert.Equal(t, c.valid, valid)
}
}
func TestProfileCopy(t *testing.T) {
profile := &Profile{
Id: "id",
CloudId: "cloudy.tmpl",
IgnitionId: "ignition.tmpl",
Boot: &NetBoot{
Kernel: "/image/kernel",
Initrd: []string{"/image/initrd_a"},
Cmdline: map[string]string{"a": "b"},
},
}
copy := profile.Copy()
// assert that:
// - Profile fields are copied
// - mutation of the copy does not affect the original
assert.Equal(t, profile.Id, copy.Id)
assert.Equal(t, profile.Name, copy.Name)
assert.Equal(t, profile.IgnitionId, copy.IgnitionId)
assert.Equal(t, profile.CloudId, copy.CloudId)
assert.Equal(t, profile.Boot, copy.Boot)
copy.Id = "a-copy"
copy.Boot.Initrd = []string{"/image/initrd_b"}
copy.Boot.Cmdline["c"] = "d"
assert.NotEqual(t, profile.Id, copy.Id)
assert.NotEqual(t, profile.Boot.Initrd, copy.Boot.Initrd)
assert.NotEqual(t, profile.Boot.Cmdline, copy.Boot.Cmdline)
}

View File

@@ -1,137 +0,0 @@
// Code generated by protoc-gen-go.
// source: storage.proto
// DO NOT EDIT!
/*
Package storagepb is a generated protocol buffer package.
It is generated from these files:
storage.proto
It has these top-level messages:
Group
Profile
NetBoot
*/
package storagepb
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.ProtoPackageIsVersion1
// Group selects one or more machines and matches them to a Profile.
type Group struct {
// machine readable Id
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
// human readable name
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
// Profile id
Profile string `protobuf:"bytes,3,opt,name=profile" json:"profile,omitempty"`
// Selectors to match machines
Selector map[string]string `protobuf:"bytes,4,rep,name=selector" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
// JSON encoded metadata
Metadata []byte `protobuf:"bytes,5,opt,name=metadata,proto3" json:"metadata,omitempty"`
}
func (m *Group) Reset() { *m = Group{} }
func (m *Group) String() string { return proto.CompactTextString(m) }
func (*Group) ProtoMessage() {}
func (*Group) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }
func (m *Group) GetSelector() map[string]string {
if m != nil {
return m.Selector
}
return nil
}
// Profile defines the boot and provisioning behavior of a group of machines.
type Profile struct {
// profile id
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
// human readable name
Name string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"`
// ignition id
IgnitionId string `protobuf:"bytes,3,opt,name=ignition_id,json=ignitionId" json:"ignition_id,omitempty"`
// cloud config id
CloudId string `protobuf:"bytes,4,opt,name=cloud_id,json=cloudId" json:"cloud_id,omitempty"`
// support network boot / PXE
Boot *NetBoot `protobuf:"bytes,5,opt,name=boot" json:"boot,omitempty"`
// generic config id
GenericId string `protobuf:"bytes,6,opt,name=generic_id,json=genericId" json:"generic_id,omitempty"`
}
func (m *Profile) Reset() { *m = Profile{} }
func (m *Profile) String() string { return proto.CompactTextString(m) }
func (*Profile) ProtoMessage() {}
func (*Profile) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }
func (m *Profile) GetBoot() *NetBoot {
if m != nil {
return m.Boot
}
return nil
}
// NetBoot describes network or PXE boot settings for a machine.
type NetBoot struct {
// the URL of the kernel image
Kernel string `protobuf:"bytes,1,opt,name=kernel" json:"kernel,omitempty"`
// the init RAM filesystem URLs
Initrd []string `protobuf:"bytes,2,rep,name=initrd" json:"initrd,omitempty"`
// kernel parameters (command line)
Cmdline map[string]string `protobuf:"bytes,3,rep,name=cmdline" json:"cmdline,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
}
func (m *NetBoot) Reset() { *m = NetBoot{} }
func (m *NetBoot) String() string { return proto.CompactTextString(m) }
func (*NetBoot) ProtoMessage() {}
func (*NetBoot) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }
func (m *NetBoot) GetCmdline() map[string]string {
if m != nil {
return m.Cmdline
}
return nil
}
func init() {
proto.RegisterType((*Group)(nil), "storagepb.Group")
proto.RegisterType((*Profile)(nil), "storagepb.Profile")
proto.RegisterType((*NetBoot)(nil), "storagepb.NetBoot")
}
var fileDescriptor0 = []byte{
// 341 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x94, 0x52, 0xcd, 0x4e, 0xf3, 0x30,
0x10, 0x54, 0x9a, 0xf4, 0x6f, 0xdb, 0x7e, 0xfa, 0xb4, 0x42, 0x28, 0x54, 0x82, 0x56, 0x3d, 0xa0,
0x9e, 0x72, 0x28, 0x17, 0x28, 0x37, 0x10, 0x42, 0xbd, 0x20, 0x14, 0x1e, 0x00, 0xa5, 0xf1, 0x52,
0x59, 0x4d, 0xed, 0xca, 0x75, 0x91, 0xfa, 0x56, 0x3c, 0x0f, 0x4f, 0x83, 0xed, 0x38, 0x51, 0x11,
0x17, 0xb8, 0xed, 0xcc, 0x8e, 0xc7, 0xb3, 0x5e, 0xc3, 0x60, 0xa7, 0xa5, 0xca, 0x56, 0x94, 0x6c,
0x95, 0xd4, 0x12, 0xbb, 0x1e, 0x6e, 0x97, 0x93, 0xcf, 0x00, 0x9a, 0x8f, 0x4a, 0xee, 0xb7, 0xf8,
0x0f, 0x1a, 0x9c, 0xc5, 0xc1, 0x38, 0x98, 0x76, 0x53, 0x53, 0x21, 0x42, 0x24, 0xb2, 0x0d, 0xc5,
0x0d, 0xc7, 0xb8, 0x1a, 0x63, 0x68, 0x1b, 0x87, 0x37, 0x5e, 0x50, 0x1c, 0x3a, 0xba, 0x82, 0x38,
0x87, 0xce, 0x8e, 0x0a, 0xca, 0x8d, 0x71, 0x1c, 0x8d, 0xc3, 0x69, 0x6f, 0x76, 0x91, 0xd4, 0xb7,
0x24, 0xee, 0x86, 0xe4, 0xc5, 0x0b, 0x1e, 0x84, 0x56, 0x87, 0xb4, 0xd6, 0xe3, 0x10, 0x3a, 0x1b,
0xd2, 0x19, 0xcb, 0x74, 0x16, 0x37, 0x8d, 0x6d, 0x3f, 0xad, 0xf1, 0xf0, 0x16, 0x06, 0xdf, 0x8e,
0xe1, 0x7f, 0x08, 0xd7, 0x74, 0xf0, 0x39, 0x6d, 0x89, 0x27, 0xd0, 0x7c, 0xcf, 0x8a, 0x7d, 0x95,
0xb4, 0x04, 0xf3, 0xc6, 0x75, 0x30, 0xf9, 0x08, 0xa0, 0xfd, 0xec, 0x03, 0xfe, 0x66, 0xbc, 0x11,
0xf4, 0xf8, 0x4a, 0x70, 0xcd, 0xa5, 0x78, 0x35, 0xe2, 0x72, 0x44, 0xa8, 0xa8, 0x05, 0xc3, 0x33,
0xe8, 0xe4, 0x85, 0xdc, 0x33, 0xdb, 0x8d, 0xca, 0x07, 0x70, 0xd8, 0xb4, 0x2e, 0x21, 0x5a, 0x4a,
0xa9, 0xdd, 0x00, 0xbd, 0x19, 0x1e, 0x0d, 0xff, 0x44, 0xfa, 0xce, 0x74, 0x52, 0xd7, 0xc7, 0x73,
0x80, 0x15, 0x09, 0x52, 0x3c, 0xb7, 0x26, 0x2d, 0x67, 0xd2, 0xf5, 0xcc, 0x82, 0xb9, 0xc8, 0xfe,
0x00, 0x9e, 0x42, 0x6b, 0x4d, 0x4a, 0x50, 0xe1, 0x63, 0x7b, 0x64, 0x79, 0x6e, 0x22, 0x29, 0x66,
0xc2, 0x87, 0x96, 0x2f, 0x11, 0xde, 0x40, 0x3b, 0xdf, 0xb0, 0x82, 0x0b, 0xbb, 0x1d, 0xbb, 0x82,
0xd1, 0xcf, 0x14, 0xc9, 0x7d, 0xa9, 0x28, 0x77, 0x50, 0xe9, 0x87, 0x73, 0xe8, 0x1f, 0x37, 0xfe,
0xf2, 0xca, 0xcb, 0x96, 0xfb, 0x54, 0x57, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xd2, 0x0d, 0x6c,
0x68, 0x65, 0x02, 0x00, 0x00,
}

7
build
View File

@@ -1,7 +0,0 @@
#!/bin/bash -e
LD_FLAGS="-w -X github.com/coreos/coreos-baremetal/bootcfg/version.Version=$(./git-version)"
CGO_ENABLED=0 go build -o bin/bootcfg -ldflags "$LD_FLAGS" -a github.com/coreos/coreos-baremetal/cmd/bootcfg
# bootcmd CLI binary
CGO_ENABLED=0 go build -o bin/bootcmd -ldflags "$LD_FLAGS" -a github.com/coreos/coreos-baremetal/cmd/bootcmd

View File

@@ -1,31 +0,0 @@
#!/usr/bin/env bash
set -e
GIT_SHA=$(./git-version)
# Start with an empty ACI
acbuild --debug begin
# In the event of the script exiting, end the build
trap "{ export EXT=$?; acbuild --debug end && exit $EXT; }" EXIT
# Name the ACI
acbuild --debug set-name coreos.com/bootcfg
# Add a version label
acbuild --debug label add version $GIT_SHA
# Add alpine base dependency
acbuild --debug dep add quay.io/coreos/alpine-sh
# Copy the static binary
acbuild --debug copy bin/bootcfg /bootcfg
# Add a port for HTTP traffic
acbuild --debug port add www tcp 8080
# Set the exec command
acbuild --debug set-exec -- /bootcfg
# Save and overwrite any older bootcfg ACI
acbuild --debug write --overwrite bootcfg.aci

View File

@@ -1,7 +0,0 @@
#!/bin/bash -e
REPO=coreos/bootcfg
GIT_SHA=$(./git-version)
docker build -q --rm=true -t $REPO:$GIT_SHA .
docker tag $REPO:$GIT_SHA $REPO:latest

View File

@@ -1,171 +0,0 @@
package main
import (
"flag"
"fmt"
"net"
"net/http"
"net/url"
"os"
"github.com/Sirupsen/logrus"
"github.com/coreos/pkg/flagutil"
web "github.com/coreos/coreos-baremetal/bootcfg/http"
"github.com/coreos/coreos-baremetal/bootcfg/rpc"
"github.com/coreos/coreos-baremetal/bootcfg/server"
"github.com/coreos/coreos-baremetal/bootcfg/sign"
"github.com/coreos/coreos-baremetal/bootcfg/storage"
"github.com/coreos/coreos-baremetal/bootcfg/tlsutil"
"github.com/coreos/coreos-baremetal/bootcfg/version"
)
var (
// Defaults to info logging
log = logrus.New()
)
func main() {
flags := struct {
address string
rpcAddress string
dataPath string
assetsPath string
logLevel string
certFile string
keyFile string
caFile string
keyRingPath string
version bool
help bool
}{}
flag.StringVar(&flags.address, "address", "127.0.0.1:8080", "HTTP listen address")
flag.StringVar(&flags.rpcAddress, "rpc-address", "", "RPC listen address")
flag.StringVar(&flags.dataPath, "data-path", "/var/lib/bootcfg", "Path to data directory")
flag.StringVar(&flags.assetsPath, "assets-path", "/var/lib/bootcfg/assets", "Path to static assets")
// Log levels https://github.com/Sirupsen/logrus/blob/master/logrus.go#L36
flag.StringVar(&flags.logLevel, "log-level", "info", "Set the logging level")
// gRPC Server TLS
flag.StringVar(&flags.certFile, "cert-file", "/etc/bootcfg/server.crt", "Path to the server TLS certificate file")
flag.StringVar(&flags.keyFile, "key-file", "/etc/bootcfg/server.key", "Path to the server TLS key file")
// TLS Client Authentication
flag.StringVar(&flags.caFile, "ca-file", "/etc/bootcfg/ca.crt", "Path to the CA verify and authenticate client certificates")
// Signing
flag.StringVar(&flags.keyRingPath, "key-ring-path", "", "Path to a private keyring file")
// subcommands
flag.BoolVar(&flags.version, "version", false, "print version and exit")
flag.BoolVar(&flags.help, "help", false, "print usage and exit")
// parse command-line and environment variable arguments
flag.Parse()
if err := flagutil.SetFlagsFromEnv(flag.CommandLine, "BOOTCFG"); err != nil {
log.Fatal(err.Error())
}
// restrict OpenPGP passphrase to pass via environment variable only
passphrase := os.Getenv("BOOTCFG_PASSPHRASE")
if flags.version {
fmt.Println(version.Version)
return
}
if flags.help {
flag.Usage()
return
}
// validate arguments
if url, err := url.Parse(flags.address); err != nil || url.String() == "" {
log.Fatal("A valid HTTP listen address is required")
}
if finfo, err := os.Stat(flags.dataPath); err != nil || !finfo.IsDir() {
log.Fatal("A valid -data-path is required")
}
if flags.assetsPath != "" {
if finfo, err := os.Stat(flags.assetsPath); err != nil || !finfo.IsDir() {
log.Fatalf("Provide a valid -assets-path or '' to disable asset serving: %s", flags.assetsPath)
}
}
if flags.rpcAddress != "" {
if _, err := os.Stat(flags.certFile); err != nil {
log.Fatalf("Provide a valid TLS server certificate with -cert-file: %v", err)
}
if _, err := os.Stat(flags.keyFile); err != nil {
log.Fatalf("Provide a valid TLS server key with -key-file: %v", err)
}
if _, err := os.Stat(flags.caFile); err != nil {
log.Fatalf("Provide a valid TLS certificate authority for authorizing client certificates: %v", err)
}
}
// logging setup
lvl, err := logrus.ParseLevel(flags.logLevel)
if err != nil {
log.Fatalf("invalid log-level: %v", err)
}
log.Level = lvl
// (optional) signing
var signer, armoredSigner sign.Signer
if flags.keyRingPath != "" {
entity, err := sign.LoadGPGEntity(flags.keyRingPath, passphrase)
if err != nil {
log.Fatal(err)
}
signer = sign.NewGPGSigner(entity)
armoredSigner = sign.NewArmoredGPGSigner(entity)
}
// storage
store := storage.NewFileStore(&storage.Config{
Root: flags.dataPath,
})
// core logic
server := server.NewServer(&server.Config{
Store: store,
})
// gRPC Server (feature disabled by default)
if flags.rpcAddress != "" {
log.Infof("Starting bootcfg gRPC server on %s", flags.rpcAddress)
log.Infof("Using TLS server certificate: %s", flags.certFile)
log.Infof("Using TLS server key: %s", flags.keyFile)
log.Infof("Using CA certificate: %s to authenticate client certificates", flags.caFile)
lis, err := net.Listen("tcp", flags.rpcAddress)
if err != nil {
log.Fatalf("failed to start listening: %v", err)
}
tlsinfo := tlsutil.TLSInfo{
CertFile: flags.certFile,
KeyFile: flags.keyFile,
CAFile: flags.caFile,
}
tlscfg, err := tlsinfo.ServerConfig()
if err != nil {
log.Fatalf("Invalid TLS credentials: %v", err)
}
grpcServer := rpc.NewServer(server, tlscfg)
go grpcServer.Serve(lis)
defer grpcServer.Stop()
}
// HTTP Server
config := &web.Config{
Core: server,
Logger: log,
AssetsPath: flags.assetsPath,
Signer: signer,
ArmoredSigner: armoredSigner,
}
httpServer := web.NewServer(config)
log.Infof("Starting bootcfg HTTP server on %s", flags.address)
err = http.ListenAndServe(flags.address, httpServer.HTTPHandler())
if err != nil {
log.Fatalf("failed to start listening: %v", err)
}
}

View File

@@ -1,6 +1,6 @@
package main
import "github.com/coreos/coreos-baremetal/bootcfg/cli"
import "github.com/poseidon/matchbox/matchbox/cli"
func main() {
cli.Execute()

View File

@@ -1,4 +1,4 @@
package flagutil
package main
import (
"flag"

196
cmd/matchbox/main.go Normal file
View File

@@ -0,0 +1,196 @@
package main
import (
"flag"
"fmt"
"net"
"net/http"
"os"
web "github.com/poseidon/matchbox/matchbox/http"
"github.com/poseidon/matchbox/matchbox/rpc"
"github.com/poseidon/matchbox/matchbox/server"
"github.com/poseidon/matchbox/matchbox/sign"
"github.com/poseidon/matchbox/matchbox/storage"
"github.com/poseidon/matchbox/matchbox/tlsutil"
"github.com/poseidon/matchbox/matchbox/version"
"github.com/sirupsen/logrus"
)
var (
// Defaults to info logging
log = logrus.New()
)
func main() {
flags := struct {
address string
rpcAddress string
dataPath string
assetsPath string
logLevel string
grpcCAFile string
grpcCertFile string
grpcKeyFile string
tlsCertFile string
tlsKeyFile string
tlsEnabled bool
keyRingPath string
version bool
help bool
}{}
flag.StringVar(&flags.address, "address", "127.0.0.1:8080", "HTTP listen address")
flag.StringVar(&flags.rpcAddress, "rpc-address", "", "RPC listen address")
flag.StringVar(&flags.dataPath, "data-path", "/var/lib/matchbox", "Path to data directory")
flag.StringVar(&flags.assetsPath, "assets-path", "/var/lib/matchbox/assets", "Path to static assets")
// Log levels https://github.com/sirupsen/logrus/blob/master/logrus.go#L36
flag.StringVar(&flags.logLevel, "log-level", "info", "Set the logging level")
// gRPC Server TLS
flag.StringVar(&flags.grpcCertFile, "cert-file", "/etc/matchbox/server.crt", "Path to the server TLS certificate file")
flag.StringVar(&flags.grpcKeyFile, "key-file", "/etc/matchbox/server.key", "Path to the server TLS key file")
// gRPC TLS Client Authentication
flag.StringVar(&flags.grpcCAFile, "ca-file", "/etc/matchbox/ca.crt", "Path to the CA verify and authenticate client certificates")
// Signing
flag.StringVar(&flags.keyRingPath, "key-ring-path", "", "Path to a private keyring file")
// SSL flags
flag.StringVar(&flags.tlsCertFile, "web-cert-file", "/etc/matchbox/ssl/server.crt", "Path to the server TLS certificate file")
flag.StringVar(&flags.tlsKeyFile, "web-key-file", "/etc/matchbox/ssl/server.key", "Path to the server TLS key file")
flag.BoolVar(&flags.tlsEnabled, "web-ssl", false, "True to enable HTTPS")
// subcommands
flag.BoolVar(&flags.version, "version", false, "print version and exit")
flag.BoolVar(&flags.help, "help", false, "print usage and exit")
// parse command-line and environment variable arguments
flag.Parse()
if err := SetFlagsFromEnv(flag.CommandLine, "MATCHBOX"); err != nil {
log.Fatal(err.Error())
}
// restrict OpenPGP passphrase to pass via environment variable only
passphrase := os.Getenv("MATCHBOX_PASSPHRASE")
if flags.version {
fmt.Println(version.Version)
return
}
if flags.help {
flag.Usage()
return
}
// validate arguments
if finfo, err := os.Stat(flags.dataPath); err != nil || !finfo.IsDir() {
log.Fatal("A valid -data-path is required")
}
if flags.assetsPath != "" {
if finfo, err := os.Stat(flags.assetsPath); err != nil || !finfo.IsDir() {
log.Fatalf("Provide a valid -assets-path or '' to disable asset serving: %s", flags.assetsPath)
}
}
if flags.rpcAddress != "" {
if _, err := os.Stat(flags.grpcCertFile); err != nil {
log.Fatalf("Provide a valid TLS server certificate with -cert-file: %v", err)
}
if _, err := os.Stat(flags.grpcKeyFile); err != nil {
log.Fatalf("Provide a valid TLS server key with -key-file: %v", err)
}
if _, err := os.Stat(flags.grpcCAFile); err != nil {
log.Fatalf("Provide a valid TLS certificate authority for authorizing client certificates: %v", err)
}
}
if flags.tlsEnabled {
if _, err := os.Stat(flags.tlsCertFile); err != nil {
log.Fatalf("Provide a valid SSL server certificate with -web-cert-file: %v", err)
}
if _, err := os.Stat(flags.tlsKeyFile); err != nil {
log.Fatalf("Provide a valid SSL server key with -web-key-file: %v", err)
}
}
// logging setup
lvl, err := logrus.ParseLevel(flags.logLevel)
if err != nil {
log.Fatalf("invalid log-level: %v", err)
}
log.Level = lvl
// (optional) signing
var signer, armoredSigner sign.Signer
if flags.keyRingPath != "" {
entity, err := sign.LoadGPGEntity(flags.keyRingPath, passphrase)
if err != nil {
log.Fatal(err)
}
signer = sign.NewGPGSigner(entity)
armoredSigner = sign.NewArmoredGPGSigner(entity)
}
// storage
store := storage.NewFileStore(&storage.Config{
Root: flags.dataPath,
Logger: log,
})
// core logic
server := server.NewServer(&server.Config{
Store: store,
})
// gRPC Server (feature disabled by default)
if flags.rpcAddress != "" {
log.Infof("Starting matchbox gRPC server on %s", flags.rpcAddress)
log.Infof("Using TLS server certificate: %s", flags.grpcCertFile)
log.Infof("Using TLS server key: %s", flags.grpcKeyFile)
log.Infof("Using CA certificate: %s to authenticate client certificates", flags.grpcCAFile)
lis, err := net.Listen("tcp", flags.rpcAddress)
if err != nil {
log.Fatalf("failed to start listening: %v", err)
}
tlsinfo := tlsutil.TLSInfo{
CertFile: flags.grpcCertFile,
KeyFile: flags.grpcKeyFile,
CAFile: flags.grpcCAFile,
}
tlscfg, err := tlsinfo.ServerConfig()
if err != nil {
log.Fatalf("Invalid TLS credentials: %v", err)
}
grpcServer := rpc.NewServer(server, tlscfg)
go grpcServer.Serve(lis)
defer grpcServer.Stop()
}
config := &web.Config{
Core: server,
Logger: log,
AssetsPath: flags.assetsPath,
Signer: signer,
ArmoredSigner: armoredSigner,
}
httpServer := web.NewServer(config)
if flags.tlsEnabled {
// HTTPS Server
log.Infof("Starting matchbox HTTPS server on %s", flags.address)
log.Infof("Using SSL server certificate: %s", flags.tlsCertFile)
log.Infof("Using SSL server key: %s", flags.tlsKeyFile)
err = http.ListenAndServeTLS(flags.address, flags.tlsCertFile, flags.tlsKeyFile, httpServer.HTTPHandler())
if err != nil {
log.Fatalf("failed to start listening: %v", err)
}
} else {
// HTTP Server
log.Infof("Starting matchbox HTTP server on %s", flags.address)
err = http.ListenAndServe(flags.address, httpServer.HTTPHandler())
if err != nil {
log.Fatalf("failed to start listening: %v", err)
}
}
}

View File

@@ -1,6 +0,0 @@
FROM alpine:latest
MAINTAINER Dalton Hubble <dalton.hubble@coreos.com>
RUN apk -U add dnsmasq curl
COPY tftpboot /var/lib/tftpboot
EXPOSE 53
ENTRYPOINT ["/usr/sbin/dnsmasq"]

View File

@@ -1,62 +1,4 @@
# dnsmasq
[![Docker Repository on Quay](https://quay.io/repository/coreos/dnsmasq/status "Docker Repository on Quay")](https://quay.io/repository/coreos/dnsmasq)
Moved to [dnsmasq](https://github.com/poseidon/dnsmasq).
`dnsmasq` provides an App Container Image (ACI) or Docker image for running DHCP, proxy DHCP, DNS, and/or TFTP with [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html) in a container/pod. Use it to test different network setups with clusters of network bootable machines.
The image bundles `undionly.kpxe` which chainloads PXE clients to iPXE and `grub.efi` (experimental) which chainloads UEFI architectures to GRUB2.
## Usage
Run the `coreos.com/dnsmasq` ACI with rkt.
sudo rkt trust --prefix coreos.com/dnsmasq
# gpg key fingerprint is: 18AD 5014 C99E F7E3 BA5F 6CE9 50BD D3E0 FC8A 365E
sudo rkt run coreos.com/dnsmasq:v0.3.0
Press ^] three times to kill the container.
Alternately, Docker can be used.
docker pull quay.io/coreos/dnsmasq
docker run --cap-add NET_ADMIN quay.io/coreos/dnsmasq
## Configuration Flags
Configuration arguments can be provided at the command line. Check the dnsmasq [man pages](http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) for a complete list, but here are some important flags.
| flag | description | example |
|----------|-------------|---------|
| --dhcp-range | Enable DHCP, lease given range | `172.15,0.50,172.15.0.99`, `192.168.1.1,proxy,255.255.255.0` |
| --dhcp-boot | DHCP next server option | `http://bootcfg.foo:8080/boot.ipxe` |
| --enable-tftp | Enable serving from tftp-root over TFTP | NA |
| --address | IP address for a domain name | /bootcfg.foo/172.15.0.2 |
## ACI
Build a `dnsmasq` ACI with the build script which uses [acbuild](https://github.com/appc/acbuild).
cd contrib/dnsmasq
./get-tftp-files
sudo ./build-aci
Run `dnsmasq.aci` with rkt to run DHCP/proxyDHCP/TFTP/DNS services.
DHCP+TFTP+DNS on the `metal0` bridge:
sudo rkt --insecure-options=image run dnsmasq.aci --net=metal0 -- -d -q --dhcp-range=172.15.0.50,172.15.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:#ipxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --log-queries --log-dhcp --dhcp-option=3,172.15.0.1 --address=/bootcfg.foo/172.15.0.2
## Docker
Build a Docker image locally using the tag `latest`.
cd contrib/dnsmasq
./get-tftp-files
sudo ./build-docker
Run the Docker image to run DHCP/proxyDHCP/TFTP/DNS services.
DHCP+TFTP+DNS on the `docker0` bridge:
sudo docker run --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q --dhcp-range=172.17.0.43,172.17.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:#ipxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe --log-queries --log-dhcp --dhcp-option=3,172.17.0.1 --address=/bootcfg.foo/172.17.0.2

View File

@@ -1,42 +0,0 @@
#!/usr/bin/env bash
set -e
if [ "$EUID" -ne 0 ]; then
echo "Please run as root"
exit 1
fi
# Start with an empty ACI
acbuild --debug begin
# In the event of the script exiting, end the build
trap "{ export EXT=$?; acbuild --debug end && exit $EXT; }" EXIT
# Name the ACI
acbuild --debug set-name coreos.com/dnsmasq
# Add a version label
acbuild --debug label add version v0.3.0
# Add alpine base dependency
acbuild --debug dep add quay.io/coreos/alpine-sh
# Install dnsmasq and curl
acbuild --debug run apk update
acbuild --debug run apk add dnsmasq curl
# Copy the PXE->iPXE chainloader
acbuild --debug copy tftpboot /var/lib/tftpboot
# Add DHCP and DNS ports for dnsmasq
acbuild --debug port add dhcp udp 67
acbuild --debug port add dns udp 53
# Elevate network admin capabilities
echo "{\"set\": [\"CAP_NET_ADMIN\", \"CAP_NET_BIND_SERVICE\", \"CAP_SETGID\", \"CAP_SETUID\", \"CAP_NET_RAW\"]}" | acbuild --debug isolator add os/linux/capabilities-retain-set -
# Set the exec command
acbuild --debug set-exec -- /usr/sbin/dnsmasq -d
# Save and override any older ACI
acbuild --debug write --overwrite dnsmasq.aci

View File

@@ -1,5 +0,0 @@
#!/bin/bash -e
REPO=coreos/dnsmasq
docker build -q --rm=true -t $REPO:latest .

View File

@@ -1,23 +1,40 @@
# dnsmasq.conf
no-daemon
dhcp-range=172.17.0.50,172.17.0.99
dhcp-option=3,172.17.0.1
dhcp-host=52:54:00:a1:9c:ae,172.17.0.21,1h
dhcp-host=52:54:00:b2:2f:86,172.17.0.22,1h
dhcp-host=52:54:00:c3:61:77,172.17.0.23,1h
dhcp-host=52:54:00:d7:99:c7,172.17.0.24,1h
enable-tftp
tftp-root=/var/lib/tftpboot
# Legacy PXE
dhcp-match=set:bios,option:client-arch,0
dhcp-boot=tag:bios,undionly.kpxe
# UEFI
dhcp-match=set:efi32,option:client-arch,6
dhcp-boot=tag:efi32,ipxe.efi
dhcp-match=set:efibc,option:client-arch,7
dhcp-boot=tag:efibc,ipxe.efi
dhcp-match=set:efi64,option:client-arch,9
dhcp-boot=tag:efi64,ipxe.efi
# iPXE
dhcp-userclass=set:ipxe,iPXE
dhcp-boot=tag:#ipxe,undionly.kpxe
dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe
dhcp-boot=tag:ipxe,http://matchbox.example.com:8080/boot.ipxe
log-queries
log-dhcp
address=/bootcfg.foo/172.17.0.2
address=/matchbox.example.com/172.17.0.2
address=/node1.example.com/172.17.0.21
address=/node2.example.com/172.17.0.22
address=/node3.example.com/172.17.0.23
address=/node4.example.com/172.17.0.24
address=/cluster.example.com/172.17.0.21

View File

@@ -1,11 +0,0 @@
#!/bin/bash -e
DEST=tftpboot
if [ ! -d $DEST ]; then
echo "Creating directory $DEST"
mkdir -p $DEST
fi
curl -s -o $DEST/undionly.kpxe http://boot.ipxe.org/undionly.kpxe
cp $DEST/undionly.kpxe $DEST/undionly.kpxe.0

View File

@@ -1,24 +1,27 @@
# dnsmasq.conf
no-daemon
dhcp-range=172.15.0.50,172.15.0.99
dhcp-option=3,172.15.0.1
dhcp-host=52:54:00:a1:9c:ae,172.15.0.21,1h
dhcp-host=52:54:00:b2:2f:86,172.15.0.22,1h
dhcp-host=52:54:00:c3:61:77,172.15.0.23,1h
dhcp-range=172.18.0.50,172.18.0.99
dhcp-option=3,172.18.0.1
dhcp-host=52:54:00:a1:9c:ae,172.18.0.21,1h
dhcp-host=52:54:00:b2:2f:86,172.18.0.22,1h
dhcp-host=52:54:00:c3:61:77,172.18.0.23,1h
dhcp-host=52:54:00:d7:99:c7,172.18.0.24,1h
enable-tftp
tftp-root=/var/lib/tftpboot
dhcp-userclass=set:ipxe,iPXE
dhcp-boot=tag:#ipxe,undionly.kpxe
dhcp-boot=tag:ipxe,http://bootcfg.foo:8080/boot.ipxe
dhcp-boot=tag:ipxe,http://matchbox.example.com:8080/boot.ipxe
log-queries
log-dhcp
address=/bootcfg.foo/172.15.0.2
address=/node1.example.com/172.15.0.21
address=/node2.example.com/172.15.0.22
address=/node3.example.com/172.15.0.23
address=/cluster.example.com/172.15.0.21
address=/matchbox.example.com/172.18.0.2
address=/node1.example.com/172.18.0.21
address=/node2.example.com/172.18.0.22
address=/node3.example.com/172.18.0.23
address=/node4.example.com/172.18.0.24
address=/cluster.example.com/172.18.0.21

View File

@@ -1,59 +0,0 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: bootcfg
namespace: default
spec:
replicas: 1
strategy:
rollingUpdate:
maxUnavailable: 1
template:
metadata:
labels:
name: bootcfg
phase: prod
spec:
containers:
- name: bootcfg
image: quay.io/coreos/bootcfg:v0.4.0
env:
- {name: BOOTCFG_ADDRESS, value: "0.0.0.0:8080"}
- {name: BOOTCFG_LOG_LEVEL, value: "debug"}
ports:
# port exposed on pod IP
- containerPort: 8080
resources:
requests:
cpu: "50m"
memory: "50Mi"
volumeMounts:
- name: groups
mountPath: /var/lib/bootcfg/groups
- name: profiles
mountPath: /var/lib/bootcfg/profiles
- name: ignition
mountPath: /var/lib/bootcfg/ignition
- name: cloud
mountPath: /var/lib/bootcfg/cloud
- name: generic
mountPath: /var/lib/bootcfg/generic
- name: assets
mountPath: /var/lib/bootcfg/assets
dnsPolicy: ClusterFirst
restartPolicy: Always
terminationGracePeriodSeconds: 30
volumes:
- name: groups
emptyDir: {}
- name: profiles
emptyDir: {}
- name: ignition
emptyDir: {}
- name: cloud
emptyDir: {}
- name: generic
emptyDir: {}
- name: assets
emptyDir: {}

View File

@@ -1,16 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: bootcfg
spec:
type: NodePort
selector:
name: bootcfg
phase: prod
ports:
- protocol: TCP
port: 80
# port exposed on each node
nodePort: 31488
# name or port exposed on targeted pod(s)
targetPort: 8080

View File

@@ -0,0 +1,62 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: matchbox
spec:
replicas: 1
strategy:
rollingUpdate:
maxUnavailable: 1
selector:
matchLabels:
name: matchbox
template:
metadata:
labels:
name: matchbox
spec:
securityContext:
seccompProfile:
type: RuntimeDefault
containers:
- name: matchbox
image: quay.io/poseidon/matchbox:v0.10.0
env:
- name: MATCHBOX_ADDRESS
value: "0.0.0.0:8080"
- name: MATCHBOX_RPC_ADDRESS
value: "0.0.0.0:8081"
- name: MATCHBOX_LOG_LEVEL
value: "debug"
ports:
- name: http
containerPort: 8080
- name: https
containerPort: 8081
livenessProbe:
initialDelaySeconds: 5
httpGet:
path: /
port: 8080
resources:
requests:
cpu: 30m
memory: 20Mi
limits:
cpu: 50m
memory: 50Mi
volumeMounts:
- name: config
mountPath: /etc/matchbox
- name: data
mountPath: /var/lib/matchbox
- name: assets
mountPath: /var/lib/matchbox/assets
volumes:
- name: config
secret:
secretName: matchbox-rpc
- name: data
emptyDir: {}
- name: assets
emptyDir: {}

43
contrib/k8s/ingress.yaml Normal file
View File

@@ -0,0 +1,43 @@
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: matchbox
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
ingressClassName: public
# tls ... optional
rules:
- host: matchbox.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: matchbox
port:
number: 8080
---
apiVersion: networking.k8s.io/v1beta1
kind: Ingress
metadata:
name: matchbox-rpc
annotations:
nginx.ingress.kubernetes.io/ssl-passthrough: "true"
spec:
ingressClassName: public
tls:
- hosts:
- matchbox-rpc.example.com
rules:
- host: matchbox-rpc.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: matchbox
port:
number: 8081

17
contrib/k8s/service.yaml Normal file
View File

@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: matchbox
spec:
type: ClusterIP
selector:
name: matchbox
ports:
- name: http
protocol: TCP
port: 8080
targetPort: 8080
- name: https
protocol: TCP
port: 8081
targetPort: 8081

View File

@@ -1,22 +0,0 @@
[Unit]
Description=CoreOS bootcfg Server
Documentation=https://github.com/coreos/coreos-baremetal
[Service]
ExecStartPre=/usr/bin/mkdir -p /var/lib/bootcfg/assets
ExecStart=/usr/bin/rkt run \
--net=host \
--mount volume=data,target=/var/lib/bootcfg \
--mount volume=config,target=/etc/bootcfg \
--volume data,kind=host,source=/var/lib/bootcfg \
--volume config,kind=host,source=/etc/bootcfg \
quay.io/coreos/bootcfg:v0.4.0 -- -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
# systemd.exec
ProtectHome=yes
ProtectSystem=full
ReadOnlyPaths=/etc/bootcfg
ReadWritePaths=/var/lib/bootcfg
[Install]
WantedBy=multi-user.target

View File

@@ -1,17 +0,0 @@
[Unit]
Description=CoreOS bootcfg Server
Documentation=https://github.com/coreos/coreos-baremetal
[Service]
User=bootcfg
Group=bootcfg
ExecStart=/usr/local/bin/bootcfg -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
# systemd.exec
ProtectHome=yes
ProtectSystem=full
ReadOnlyPaths=/etc/bootcfg
ReadWritePaths=/var/lib/bootcfg
[Install]
WantedBy=multi-user.target

View File

@@ -0,0 +1,16 @@
[Unit]
Description=Matchbox Server
Documentation=https://github.com/poseidon/matchbox
[Service]
User=matchbox
Group=matchbox
Environment="MATCHBOX_ADDRESS=0.0.0.0:8080"
ExecStart=/usr/local/bin/matchbox
# systemd.exec
ProtectHome=yes
ProtectSystem=full
[Install]
WantedBy=multi-user.target

1
docs/CNAME Normal file
View File

@@ -0,0 +1 @@
matchbox.psdn.io

16
docs/api-grpc.md Normal file
View File

@@ -0,0 +1,16 @@
# gRPC API
## Protos
* [rpc.proto](https://github.com/poseidon/matchbox/blob/master/matchbox/rpc/rpcpb/rpc.proto)
* [storage.proto](https://github.com/poseidon/matchbox/blob/master/matchbox/storage/storagepb/storage.proto)
## Client Libraries
gRPC client libraries
* [Go](https://godoc.org/github.com/poseidon/matchbox/matchbox/client)
## Client Plugins
* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox)

238
docs/api-http.md Normal file
View File

@@ -0,0 +1,238 @@
# HTTP API
## iPXE script
Serves a static iPXE boot script which gathers client machine attributes and chainloads to the iPXE endpoint. Use DHCP/TFTP to point iPXE clients to this endpoint as the next-server.
```
GET http://matchbox.foo/boot.ipxe
GET http://matchbox.foo/boot.ipxe.0 // for dnsmasq
```
**Response**
```
#!ipxe
chain ipxe?uuid=${uuid}&mac=${mac:hexhyp}&domain=${domain}&hostname=${hostname}&serial=${serial}
```
Client's booted with the `/ipxe.boot` endpoint will introspect and make a request to `/ipxe` with the `uuid`, `mac`, `hostname`, and `serial` value as query arguments.
## iPXE
Finds the profile for the machine and renders the network boot config (kernel, options, initrd) as an iPXE script.
```
GET http://matchbox.foo/ipxe?label=value
```
**Query parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```
#!ipxe
kernel /assets/coreos/1967.3.0/coreos_production_pxe.vmlinuz coreos.config.url=http://matchbox.foo:8080/ignition?uuid=${uuid}&mac=${mac:hexhyp} coreos.first_boot=1 coreos.autologin
initrd /assets/coreos/1967.3.0/coreos_production_pxe_image.cpio.gz
boot
```
## GRUB2
Finds the profile for the machine and renders the network boot config as a GRUB config. Use DHCP/TFTP to point GRUB clients to this endpoint as the next-server.
```
GET http://matchbox.foo/grub?label=value
```
**Query parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```
default=0
timeout=1
menuentry "CoreOS" {
echo "Loading kernel"
linuxefi "(http;matchbox.foo:8080)/assets/coreos/1967.3.0/coreos_production_pxe.vmlinuz" "coreos.autologin" "coreos.config.url=http://matchbox.foo:8080/ignition" "coreos.first_boot"
echo "Loading initrd"
initrdefi "(http;matchbox.foo:8080)/assets/coreos/1967.3.0/coreos_production_pxe_image.cpio.gz"
}
```
## Cloud config
DEPRECATED: Finds the profile matching the machine and renders the corresponding Cloud-Config with group metadata, selectors, and query params.
```
GET http://matchbox.foo/cloud?label=value
```
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```yaml
#cloud-config
coreos:
units:
- name: etcd2.service
command: start
```
## Ignition Config
Finds the profile matching the machine and renders the corresponding Ignition for machine consumption.
```
GET http://matchbox.foo/ignition?label=value
```
**Query parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```json
{
"ignition": { "version": "3.3.0" },
"systemd": {
"units": [{
"name": "example.service",
"enabled": true,
"contents": "[Service]\nType=oneshot\nExecStart=/usr/bin/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
}]
}
}
```
## Generic config
Finds the profile matching the machine and renders the corresponding generic config with group metadata, selectors, and query params.
```
GET http://matchbox.foo/generic?label=value
```
**Query parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```
{
“uuid”: “”,
“mac”: “52:54:00:a1:9c:ae”,
“osInstalled”: true,
“rawQuery”: “mac=52:54:00:a1:9c:ae&os=installed”
}
```
## Metadata
Finds the matching machine group and renders the group metadata, selectors, and query params in an "env file" style response.
```
GET http://matchbox.foo/metadata?mac=52-54-00-a1-9c-ae&foo=bar&count=3&gate=true
```
**Query Parameters**
| Name | Type | Description |
|------|--------|-----------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
| * | string | Arbitrary label |
**Response**
```
META=data
ETCD_NAME=node1
SOME_NESTED_DATA=some-value
MAC=52:54:00:a1:9c:ae
REQUEST_QUERY_MAC=52:54:00:a1:9c:ae
REQUEST_QUERY_FOO=bar
REQUEST_QUERY_COUNT=3
REQUEST_QUERY_GATE=true
REQUEST_RAW_QUERY=mac=52-54-00-a1-9c-ae&foo=bar&count=3&gate=true
```
## OpenPGP signatures
OpenPGP signature endpoints serve detached binary and ASCII armored signatures of rendered configs, if enabled. See [OpenPGP Signing](openpgp.md).
| Endpoint | Signature Endpoint | ASCII Signature Endpoint |
|------------|--------------------|-------------------------|
| iPXE | `http://matchbox.foo/ipxe.sig` | `http://matchbox.foo/ipxe.asc` |
| GRUB2 | `http://bootcf.foo/grub.sig` | `http://matchbox.foo/grub.asc` |
| Ignition | `http://matchbox.foo/ignition.sig` | `http://matchbox.foo/ignition.asc` |
| Cloud-Config | `http://matchbox.foo/cloud.sig` | `http://matchbox.foo/cloud.asc` |
| Generic | `http://matchbox.foo/generic.sig` | `http://matchbox.foo/generic.asc` |
| Metadata | `http://matchbox.foo/metadata.sig` | `http://matchbox.foo/metadata.asc` |
Get a config and its detached ASCII armored signature.
```
GET http://matchbox.foo/ipxe?label=value
GET http://matchbox.foo/ipxe.asc?label=value
```
**Response**
```
-----BEGIN PGP SIGNATURE-----
wsBcBAEBCAAQBQJWoDHyCRCzUpbPLRRcKAAAqQ8IAGD+eC9kzc/U7h9tgwvvWwm9
suTmVSGlzC5RwTRXg6CKuW31m3WAin2b5zWRPa7MxxanYMhhBbOfrqg/4xi1tfdE
w7ipmmgftl3re0np75Jt9K1rwGXUHTCs3yooz/zvqSvNSobG13FL5tp+Jl7a22wE
+W7x9BukTytVgNLt3IDIxsJ/rAEYUm4zySftooDbFVKj/SK5w8xg4zLmE6Jxz6wp
eaMlL1TEXy3NaFR0+hgbqM/tgeV2j6pmho8yaPF63iPnksH+gdmPiwasCfpSaJyr
NO+p24BL3PHZyKw0nsrm275C913OxEVgnNZX7TQltaweW23Cd1YBNjcfb3zv+Zo=
=mqZK
-----END PGP SIGNATURE-----
```
## Assets
If you need to serve static assets (e.g. kernel, initrd), `matchbox` can serve arbitrary assets from the `-assets-path`.
```
matchbox.foo/assets/
└── coreos
└── 1967.3.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
└── 1153.0.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
```

View File

@@ -1,40 +1,42 @@
# Cloud Config
**Note:** We recommend migrating to [Ignition](ignition.md) for hardware provisioning.
!!! warning
Migrate to [Ignition configs](ignition.md). Cloud-Config support will be removed in the future.
CoreOS Cloud-Config is a system for configuring machines with a Cloud-Config file or executable script from user-data. Cloud-Config runs in userspace on each boot and implements a subset of the [cloud-init spec](http://cloudinit.readthedocs.org/en/latest/topics/format.html#cloud-config-data). See the cloud-config [docs](https://coreos.com/os/docs/latest/cloud-config.html) for details.
Cloud-Config template files can be added in `/var/lib/bootcfg/cloud` or in a `cloud` subdirectory of a custom `-data-path`. Template files may contain [Go template](https://golang.org/pkg/text/template/) elements which will be evaluated with group metadata, selectors, and query params.
Cloud-Config template files can be added in `/var/lib/matchbox/cloud` or in a `cloud` subdirectory of a custom `-data-path`. Template files may contain [Go template](https://golang.org/pkg/text/template/) elements which will be evaluated with group metadata, selectors, and query params.
/var/lib/bootcfg
├── cloud
│   ├── cloud.yaml
│   ── script.sh
├── ignition
└── profiles
```
/var/lib/matchbox
├── cloud
│   ── cloud.yaml
│   └── script.sh
├── ignition
└── profiles
```
## Reference
Reference a Cloud-Config in a [Profile](bootcfg.md#profiles) with `cloud_id`. When PXE booting, use the kernel option `cloud-config-url` to point to `bootcfg` [cloud-config endpoint](api.md#cloud-config).
Reference a Cloud-Config in a [Profile](matchbox.md#profiles) with `cloud_id`. When PXE booting, use the kernel option `cloud-config-url` to point to `matchbox` [cloud-config endpoint](api-http.md#cloud-config).
## Examples
Here is an example Cloud-Config which starts some units and writes a file.
#cloud-config
coreos:
units:
- name: etcd2.service
command: start
- name: fleet.service
command: start
write_files:
- path: "/home/core/welcome"
owner: "core"
permissions: "0644"
content: |
{{.greeting}}
```yaml
#cloud-config
coreos:
units:
- name: etcd2.service
command: start
write_files:
- path: "/home/core/welcome"
owner: "core"
permissions: "0644"
content: |
{{.greeting}}
```
The Cloud-Config [Validator](https://coreos.com/validate/) is also useful for checking your Cloud-Config files for errors.

106
docs/config.md Normal file
View File

@@ -0,0 +1,106 @@
# Flags and variables
Configuration arguments can be provided as flags or as environment variables.
| flag | variable | default | example |
|------|----------|---------|---------|
| -address | MATCHBOX_ADDRESS | 127.0.0.1:8080 | 0.0.0.0:8080 |
| -log-level | MATCHBOX_LOG_LEVEL | info | critical, error, warning, notice, info, debug |
| -data-path | MATCHBOX_DATA_PATH | /var/lib/matchbox | ./examples |
| -assets-path | MATCHBOX_ASSETS_PATH | /var/lib/matchbox/assets | ./examples/assets |
| -rpc-address | MATCHBOX_RPC_ADDRESS | (gRPC API disabled) | 0.0.0.0:8081 |
| -cert-file | MATCHBOX_CERT_FILE | /etc/matchbox/server.crt | ./examples/etc/matchbox/server.crt |
| -key-file | MATCHBOX_KEY_FILE | /etc/matchbox/server.key | ./examples/etc/matchbox/server.key
| -ca-file | MATCHBOX_CA_FILE | /etc/matchbox/ca.crt | ./examples/etc/matchbox/ca.crt |
| -key-ring-path | MATCHBOX_KEY_RING_PATH | (no key ring) | ~/.secrets/vault/matchbox/secring.gpg |
| (no flag) | MATCHBOX_PASSPHRASE | (no passphrase) | "secret passphrase" |
## Files and directories
| Data | Default Location |
|:---------|:--------------------------------------------------|
| data | /var/lib/matchbox/{profiles,groups,ignition,cloud,generic} |
| assets | /var/lib/matchbox/assets |
| gRPC API TLS Credentials | Default Location |
|:---------|:--------------------------------------------------|
| CA certificate | /etc/matchbox/ca.crt |
| Server certificate | /etc/matchbox/server.crt |
| Server private key | /etc/matchbox/server.key |
| Client certificate | /etc/matchbox/client.crt |
| Client private key | /etc/matchbox/client.key |
## Version
```sh
$ ./bin/matchbox -version
$ sudo docker run quay.io/poseidon/matchbox:latest -version
```
## Usage
Run the binary.
```sh
$ ./bin/matchbox -address=0.0.0.0:8080 -log-level=debug -data-path=examples -assets-path=examples/assets
```
Run the latest Docker image.
```sh
$ sudo docker run -p 8080:8080 --rm -v $PWD/examples/assets:/var/lib/matchbox/assets:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -log-level=debug
```
### With examples
Mount `examples` to pre-load the example machine groups and profiles. Run the container.
```sh
$ sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/groups/etcd:/var/lib/matchbox/groups:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -log-level=debug
```
### With gRPC API
The gRPC API allows clients with a TLS client certificate and key to make RPC requests to programmatically create or update `matchbox` resources. The API can be enabled with the `-rpc-address` flag and by providing a TLS server certificate and key with `-cert-file` and `-key-file` and a CA certificate for authenticating clients with `-ca-file`.
Run the binary with TLS credentials from `examples/etc/matchbox`.
```sh
$ ./bin/matchbox -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug -data-path=examples -assets-path=examples/assets -cert-file examples/etc/matchbox/server.crt -key-file examples/etc/matchbox/server.key -ca-file examples/etc/matchbox/ca.crt
```
Clients, such as `bootcmd`, verify the server's certificate with a CA bundle passed via `-ca-file` and present a client certificate and key via `-cert-file` and `-key-file` to cal the gRPC API.
```sh
$ ./bin/bootcmd profile list --endpoints 127.0.0.1:8081 --ca-file examples/etc/matchbox/ca.crt --cert-file examples/etc/matchbox/client.crt --key-file examples/etc/matchbox/client.key
```
### With docker
Run the Docker image with TLS credentials from `examples/etc/matchbox`.
```sh
$ sudo docker run -p 8080:8080 -p 8081:8081 --rm -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/etc/matchbox:/etc/matchbox:Z,ro -v $PWD/examples/groups/etcd:/var/lib/matchbox/groups:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
```
A `bootcmd` client can call the gRPC API running at the IP used in the Docker example.
```sh
$ ./bin/bootcmd profile list --endpoints 127.0.0.1:8081 --ca-file examples/etc/matchbox/ca.crt --cert-file examples/etc/matchbox/client.crt --key-file examples/etc/matchbox/client.key
```
### With openPGP [Signing](openpgp.md)
Run with the binary with a test key.
```sh
$ export MATCHBOX_PASSPHRASE=test
$ ./bin/matchbox -address=0.0.0.0:8080 -key-ring-path matchbox/sign/fixtures/secring.gpg -data-path=examples -assets-path=examples/assets
```
Run the container image with a test key.
```sh
$ sudo docker run -p 8080:8080 --rm --env MATCHBOX_PASSPHRASE=test -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/groups/etcd:/var/lib/matchbox/groups:Z -v $PWD/matchbox/sign/fixtures:/secrets:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -log-level=debug -key-ring-path secrets/secring.gpg
```

309
docs/deployment.md Normal file
View File

@@ -0,0 +1,309 @@
# Installation
This guide walks through deploying the `matchbox` service on a Linux host (as a binary or container image) or on a Kubernetes cluster.
## Provisoner
Matchbox is a service for network booting and provisioning machines to create Fedora CoreOS or Flatcar Linux clusters. Matchbox may installed on a host server or Kubernetes cluster that can serve configs to client machines in a lab or datacenter.
Choose one of the supported installation options:
* [Matchbox binary](#matchbox-binary)
* [Container image](#container-image)
* [Kubernetes manifests](#kubernetes)
## Download
Download the latest Matchbox [release](https://github.com/poseidon/matchbox/releases).
```sh
$ wget https://github.com/poseidon/matchbox/releases/download/v0.10.0/matchbox-v0.10.0-linux-amd64.tar.gz
$ wget https://github.com/poseidon/matchbox/releases/download/v0.10.0/matchbox-v0.10.0-linux-amd64.tar.gz.asc
```
Verify the release has been signed by Dalton Hubble's GPG [Key](https://keyserver.ubuntu.com/pks/lookup?search=0x8F515AD1602065C8&op=vindex)'s signing subkey.
```sh
$ gpg --keyserver keyserver.ubuntu.com --recv-key 2E3D92BF07D9DDCCB3BAE4A48F515AD1602065C8
$ gpg --verify matchbox-v0.10.0-linux-amd64.tar.gz.asc matchbox-v0.10.0-linux-amd64.tar.gz
gpg: Good signature from "Dalton Hubble <dghubble@gmail.com>"
```
Untar the release.
```sh
$ tar xzvf matchbox-v0.10.0-linux-amd64.tar.gz
$ cd matchbox-v0.10.0-linux-amd64
```
## Install
Run Matchbox as a binary, a container image, or on Kubernetes.
### Matchbox Binary
Pre-built binaries are available for generic Linux distributions. Copy the `matchbox` static binary to an appropriate location on the host.
```sh
$ sudo cp matchbox /usr/local/bin
```
#### Set up User/Group
The `matchbox` service should be run by a non-root user with access to the `matchbox` data directory (`/var/lib/matchbox`). Create a `matchbox` user and group.
```sh
$ sudo useradd -U matchbox
$ sudo mkdir -p /var/lib/matchbox/assets
$ sudo chown -R matchbox:matchbox /var/lib/matchbox
```
#### Create systemd service
Copy the provided `matchbox` systemd unit file.
```sh
$ sudo cp contrib/systemd/matchbox.service /etc/systemd/system/matchbox.service
```
#### systemd dropins
Customize Matchbox by editing the systemd unit or adding a systemd dropin. Find the complete set of `matchbox` flags and environment variables at [config](config.md).
```sh
$ sudo systemctl edit matchbox
```
By default, the read-only HTTP machine endpoint will be exposed on port **8080**.
```ini
# /etc/systemd/system/matchbox.service.d/override.conf
[Service]
Environment="MATCHBOX_ADDRESS=0.0.0.0:8080"
Environment="MATCHBOX_LOG_LEVEL=debug"
```
A common customization is enabling the gRPC API to allow clients with a TLS client certificate to change machine configs.
```ini
# /etc/systemd/system/matchbox.service.d/override.conf
[Service]
Environment="MATCHBOX_ADDRESS=0.0.0.0:8080"
Environment="MATCHBOX_RPC_ADDRESS=0.0.0.0:8081"
```
Customize `matchbox` to suit your preferences.
#### Start
Start the Matchbox service and enable it if you'd like it to start on every boot.
```
$ sudo systemctl daemon-reload
$ sudo systemctl start matchbox
$ sudo systemctl enable matchbox
```
### Container Image
Run the container image with Podman,
```
mkdir -p /var/lib/matchbox/assets
podman run --net=host --rm -v /var/lib/matchbox:/var/lib/matchbox:Z -v /etc/matchbox:/etc/matchbox:Z,ro quay.io/poseidon/matchbox:v0.10.0 -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
```
Or with Docker,
```
mkdir -p /var/lib/matchbox/assets
sudo docker run --net=host --rm -v /var/lib/matchbox:/var/lib/matchbox:Z -v /etc/matchbox:/etc/matchbox:Z,ro quay.io/poseidon/matchbox:v0.10.0 -address=0.0.0.0:8080 -rpc-address=0.0.0.0:8081 -log-level=debug
```
Create machine profiles, groups, or Ignition configs by adding files to `/var/lib/matchbox`.
### Kubernetes
Install Matchbox on a Kubernetes cluster with the example manifests.
```sh
$ kubectl apply -R -f contrib/k8s
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
matchbox 10.3.0.145 <none> 8080/TCP,8081/TCP 46m
```
Example manifests in [contrib/k8s](../contrib/k8s) enable the gRPC API to allow client apps to update matchbox objects. Generate TLS server certificates for `matchbox-rpc.example.com` [as shown](#generate-tls-certificates) and create a Kubernetes secret. Alternately, edit the example manifests if you don't need the gRPC API enabled.
```sh
$ kubectl create secret generic matchbox-rpc --from-file=ca.crt --from-file=server.crt --from-file=server.key
```
Create an Ingress resource to expose the HTTP read-only and gRPC API endpoints. The Ingress example requires the cluster to have a functioning [Nginx Ingress Controller](https://github.com/kubernetes/ingress).
```sh
$ kubectl create -f contrib/k8s/matchbox-ingress.yaml
$ kubectl get ingress
NAME HOSTS ADDRESS PORTS AGE
matchbox matchbox.example.com 10.128.0.3,10... 80 29m
matchbox-rpc matchbox-rpc.example.com 10.128.0.3,10... 80, 443 29m
```
Add DNS records `matchbox.example.com` and `matchbox-rpc.example.com` to route traffic to the Ingress Controller.
Verify `http://matchbox.example.com` responds with the text "matchbox" and verify gRPC clients can connect to `matchbox-rpc.example.com:443`.
```sh
$ curl http://matchbox.example.com
$ openssl s_client -connect matchbox-rpc.example.com:443 -CAfile ca.crt -cert client.crt -key client.key
```
## Firewall
Allow your port choices on the provisioner's firewall so the clients can access the service. Here are the commands for those using `firewalld`:
```sh
$ sudo firewall-cmd --zone=MYZONE --add-port=8080/tcp --permanent
$ sudo firewall-cmd --zone=MYZONE --add-port=8081/tcp --permanent
```
## Generate TLS Certificates
The Matchbox gRPC API allows clients (terraform-provider-matchbox) to create and update Matchbox resources. TLS credentials are needed for client authentication and to establish a secure communication channel. Client machines (those PXE booting) read from the HTTP endpoints and do not require this setup.
The `cert-gen` helper script generates a self-signed CA, server certificate, and client certificate. **Prefer your organization's PKI, if possible**
Navigate to the `scripts/tls` directory.
```sh
$ cd scripts/tls
```
Export `SAN` to set the Subject Alt Names which should be used in certificates. Provide the fully qualified domain name or IP (discouraged) where Matchbox will be installed.
```sh
# DNS or IP Subject Alt Names where matchbox runs
$ export SAN=DNS.1:matchbox.example.com,IP.1:172.17.0.2
```
Generate a `ca.crt`, `server.crt`, `server.key`, `client.crt`, and `client.key`.
```sh
$ ./cert-gen
```
Move TLS credentials to the matchbox server's default location.
```sh
$ sudo mkdir -p /etc/matchbox
$ sudo cp ca.crt server.crt server.key /etc/matchbox
$ sudo chown -R matchbox:matchbox /etc/matchbox
```
Save `client.crt`, `client.key`, and `ca.crt` for later use (e.g. `~/.matchbox`).
```sh
$ mkdir -p ~/.matchbox
$ cp client.crt client.key ca.crt ~/.matchbox/
```
## Verify
Verify the matchbox service is running and can be reached by client machines (those being provisioned).
```sh
$ systemctl status matchbox # Matchbox binary method
$ dig matchbox.example.com
```
Verify you receive a response from the HTTP and API endpoints.
```sh
$ curl http://matchbox.example.com:8080
matchbox
```
If you enabled the gRPC API,
```sh
$ openssl s_client -connect matchbox.example.com:8081 -CAfile scripts/tls/ca.crt -cert scripts/tls/client.crt -key scripts/tls/client.key
CONNECTED(00000003)
depth=1 CN = fake-ca
verify return:1
depth=0 CN = fake-server
verify return:1
---
Certificate chain
0 s:/CN=fake-server
i:/CN=fake-ca
---
....
```
## Download Images (optional)
Matchbox can serve OS images in development or lab environments to reduce bandwidth usage and increase the speed of PXE boots and installs to disk.
Download a recent Fedora CoreOS or Flatcar Linux release.
```
$ ./scripts/get-fedora-coreos stable 36.20220906.3.2 .
$ ./scripts/get-flatcar stable 3227.2.0 .
```
Move the images to `/var/lib/matchbox/assets`,
```
/var/lib/matchbox/assets/fedora-coreos/
├── fedora-coreos-36.20220906.3.2-live-initramfs.x86_64.img
├── fedora-coreos-36.20220906.3.2-live-kernel-x86_64
├── fedora-coreos-36.20220906.3.2-live-rootfs.x86_64.img
/var/lib/matchbox/assets/flatcar/
└── 3227.2.0
├── Flatcar_Image_Signing_Key.asc
├── flatcar_production_image.bin.bz2
├── flatcar_production_image.bin.bz2.sig
├── flatcar_production_pxe_image.cpio.gz
├── flatcar_production_pxe_image.cpio.gz.sig
├── flatcar_production_pxe.vmlinuz
├── flatcar_production_pxe.vmlinuz.sig
└── version.txt
```
and verify the images are accessible.
```sh
$ curl http://matchbox.example.com:8080/assets/fedora-coreos/
<pre>...
```
For large production environments, use a cache proxy or mirror suitable for your environment to serve images.
## Network
Review [network setup](https://github.com/poseidon/matchbox/blob/master/docs/network-setup.md) with your network administrator to set up DHCP, TFTP, and DNS services on your network. At a high level, your goals are to:
* Chainload PXE firmwares to iPXE
* Point iPXE client machines to the `matchbox` iPXE HTTP endpoint `http://matchbox.example.com:8080/boot.ipxe`
* Ensure `matchbox.example.com` resolves to your `matchbox` deployment
Poseidon provides [dnsmasq](https://github.com/poseidon/matchbox/tree/master/contrib/dnsmasq) as `quay.io/poseidon/dnsmasq`.
# TLS
Matchbox can serve the read-only HTTP API with TLS.
| Name | Type | Description |
|----------------|--------|-------------|
| -web-ssl | bool | true/false |
| -web-cert-file | string | Path to the server TLS certificate file |
| -web-key-file | string | Path to the server TLS key file |
However, it is more common to use an Ingress Controller (Kubernetes) to terminate TLS.
### Operational notes
* Secrets: Matchbox **can** be run as a public facing service. However, you **must** follow best practices and avoid writing secret material into machine user-data. Instead, load secret materials from an internal secret store.
* Storage: Example manifests use Kubernetes `emptyDir` volumes to store `matchbox` data. Swap those out for a Kubernetes persistent volume if available.

70
docs/dev/develop.md Normal file
View File

@@ -0,0 +1,70 @@
# Development
To develop `matchbox` locally, compile the binary and build the container image.
## Static binary
Build the static binary.
```sh
$ make build
```
Test with vendored dependencies.
```sh
$ make test
```
## Container image
Build a container image `coreos/matchbox:latest`.
```sh
$ make docker-image
```
## Version
```sh
$ ./bin/matchbox -version
$ sudo docker run coreos/matchbox:latest -version
```
## Run
Run the binary.
```sh
$ ./bin/matchbox -address=0.0.0.0:8080 -log-level=debug -data-path examples -assets-path examples/assets
```
Run the Docker image on `docker0`.
```sh
$ sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/groups/etcd:/var/lib/matchbox/groups:Z coreos/matchbox:latest -address=0.0.0.0:8080 -log-level=debug
```
## bootcmd
Run `bootcmd` against the gRPC API of the service.
```sh
$ ./bin/bootcmd profile list --endpoints 172.18.0.2:8081 --cacert examples/etc/matchbox/ca.crt
```
## Vendor
Add or update dependencies in `go.mod` and vendor.
```
make update
make vendor
```
## Codegen
Generate code from *proto* definitions using `protoc` and the `protoc-gen-go` plugin.
```sh
$ make codegen
```

66
docs/dev/release.md Normal file
View File

@@ -0,0 +1,66 @@
# Release guide
This guide covers releasing new versions of matchbox.
## Version
Create a release commit which updates old version references.
```sh
$ export VERSION=v0.10.0
```
## Tag
Tag, sign the release version, and push it to Github.
```sh
$ git tag -s vX.Y.Z -m 'vX.Y.Z'
$ git push origin --tags
$ git push origin main
```
## Images
Travis CI will build the Docker image and push it to Quay.io when the tag is pushed to master. Verify the new image and version.
```sh
$ sudo docker run quay.io/poseidon/matchbox:$VERSION -version
```
## Github release
Publish the release on Github with release notes.
## Tarballs
Build the release tarballs.
```sh
$ make release
```
Verify the reported version.
```
./_output/matchbox-v0.10.0-linux-amd64/matchbox -version
```
## Signing
Release tarballs are signed by Dalton Hubble's GPG [Key](/docs/deployment.md#download)
```sh
make release-sign
```
Verify the signatures.
```sh
make release-verify
```
## Publish
Upload the signed tarball(s) with the Github release. Promote the release from a `pre-release` to an official release.

View File

@@ -0,0 +1,135 @@
# Getting started with Docker
In this tutorial, we'll run `matchbox` on a Linux machine with Docker to network boot and provision local QEMU/KVM machines as Fedora CoreOS or Flatcar Linux machines. You'll be able to test network setups and Ignition provisioning.
!!! note
To provision physical machines, see [network setup](network-setup.md) and [deployment](deployment.md).
## Requirements
Install the package dependencies and start the Docker daemon.
```sh
$ # Fedora
$ sudo dnf install docker virt-install virt-manager
$ sudo systemctl start docker
$ # Debian/Ubuntu
$ # check Docker's docs to install Docker 1.8+ on Debian/Ubuntu
$ sudo apt-get install virt-manager virtinst qemu-kvm
```
Clone the [matchbox](https://github.com/poseidon/matchbox) source which contains the examples and scripts.
```sh
$ git clone https://github.com/poseidon/matchbox.git
$ cd matchbox
```
Download Fedora CoreOS or Flatcar Linux image assets to `examples/assets`.
```sh
$ ./scripts/get-fedora-coreos stable 36.20220906.3.2 ./examples/assets
$ ./scripts/get-flatcar stable 3227.2.0 ./examples/assets
```
For development convenience, add `/etc/hosts` entries for nodes so they may be referenced by name.
```sh
# /etc/hosts
...
172.17.0.21 node1.example.com
172.17.0.22 node2.example.com
172.17.0.23 node3.example.com
```
## Containers
Run the `matchbox` and `dnsmasq` services on the `docker0` bridge. `dnsmasq` will run DHCP, DNS and TFTP services to create a suitable network boot environment. `matchbox` will serve configs to machines as they PXE boot.
The `devnet` convenience script can start these services and accepts the name of any example in [examples](https://github.com/poseidon/matchbox/tree/master/examples).
```sh
$ sudo ./scripts/devnet create fedora-coreos
```
Inspect the logs.
```
$ sudo ./scripts/devnet status
```
Inspect the examples and Matchbox endpoints to see how machines (e.g. node1 with MAC `52:54:00:a1:9c:ae`) are mapped to Profiles, and therefore iPXE and Ignition configs.
* iPXE [http://127.0.0.1:8080/ipxe?mac=52:54:00:a1:9c:ae](http://127.0.0.1:8080/ipxe?mac=52:54:00:a1:9c:ae)
* Ignition [http://127.0.0.1:8080/ignition?mac=52:54:00:a1:9c:ae](http://127.0.0.1:8080/ignition?mac=52:54:00:a1:9c:ae)
* Metadata [http://127.0.0.1:8080/metadata?mac=52:54:00:a1:9c:ae](http://127.0.0.1:8080/metadata?mac=52:54:00:a1:9c:ae)
### Manual
If you prefer to start the containers yourself, instead of using `devnet`,
```sh
$ sudo docker run -p 8080:8080 --rm -v $PWD/examples:/var/lib/matchbox:Z -v $PWD/examples/groups/fedora-coreos:/var/lib/matchbox/groups:Z quay.io/poseidon/matchbox:latest -address=0.0.0.0:8080 -log-level=debug
$ sudo docker run --name dnsmasq --cap-add=NET_ADMIN -v $PWD/contrib/dnsmasq/docker0.conf:/etc/dnsmasq.conf:Z quay.io/poseidon/dnsmasq -d
```
## Client VMs
Create QEMU/KVM VMs which have known hardware attributes. The nodes will be attached to the `docker0` bridge, where Docker containers run.
```sh
$ sudo ./scripts/libvirt create
```
If you provisioned nodes with an SSH key, you can SSH after bring-up.
```sh
$ ssh core@node1.example.com
```
If you set a `console=ttyS0` kernel arg, you can connect to the serial console of any node (ctrl+] to exit).
```
$ sudo virsh console node1
```
You can also use `virt-manager` to watch the console.
```sh
$ sudo virt-manager
```
Use the wrapper script to act on all nodes.
```sh
$ sudo ./scripts/libvirt [start|reboot|shutdown|poweroff|destroy]
```
## Verify
The VMs should network boot and provision themselves as declared.
```
cat /etc/os-release
```
## Clean up
Clean up the containers and VM machines.
```sh
$ sudo ./scripts/devnet destroy
$ sudo ./scripts/libvirt destroy
```
## Going Further
Learn more about [matchbox](matchbox.md) or explore the other [examples](https://github.com/poseidon/matchbox/tree/master/examples).
Try different examples and Ignition declarations:
* Declare an SSH authorized public key (see examples README)
* Declare a systemd unit
* Declare file or directory content

214
docs/getting-started.md Normal file
View File

@@ -0,0 +1,214 @@
# Getting started
In this tutorial, we'll use `matchbox` with Terraform to provision Fedora CoreOS or Flatcar Linux machines.
We'll install the `matchbox` service, setup a PXE network boot environment, and use Terraform configs to declare infrastructure and apply resources on `matchbox`.
## matchbox
Install `matchbox` on a host server or Kubernetes cluster. Generate TLS credentials and enable the gRPC API as directed. Save the `ca.crt`, `client.crt`, and `client.key` on your local machine (e.g. `~/.matchbox`).
* Installing on a [Linux distro](deployment.md)
* Installing on [Kubernetes](deployment.md#kubernetes)
* Running with [docker](deployment.md#docker)
Verify the matchbox read-only HTTP endpoints are accessible.
```sh
$ curl http://matchbox.example.com:8080
matchbox
```
Verify your TLS client certificate and key can be used to access the gRPC API.
```sh
$ openssl s_client -connect matchbox.example.com:8081 \
-CAfile ~/.matchbox/ca.crt \
-cert ~/.matchbox/client.crt \
-key ~/.matchbox/client.key
```
## Terraform
Install [Terraform](https://www.terraform.io/downloads.html) v0.13+ on your system.
```sh
$ terraform version
Terraform v1.1.8
```
### Examples
Clone the matchbox source.
```sh
$ git clone https://github.com/poseidon/matchbox.git
$ cd matchbox/examples/terraform
```
Select from the Terraform [examples](https://github.com/poseidon/matchbox/tree/master/examples/terraform). For example,
* `fedora-coreos-install` - PXE boot, install Fedora CoreOS to disk, reboot, and machines come up with your SSH authorized key set
* `flatcar-install` - PXE boot, install Flatcar Linux to disk, reboot, and machines come up with your SSH authorized key set
These aren't exactly full clusters, but they show declarations and network provisioning.
```sh
$ cd fedora-coreos-install # or flatcar-install
```
!!! note
Fedora CoreOS images are only served via HTTPS, so your iPXE firmware must be compiled to support HTTPS downloads.
Let's review the terraform config and learn a bit about Matchbox.
### Provider
Matchbox is configured as a provider platform for bare-metal resources.
```tf
// Configure the matchbox provider
provider "matchbox" {
endpoint = var.matchbox_rpc_endpoint
client_cert = file("~/.matchbox/client.crt")
client_key = file("~/.matchbox/client.key")
ca = file("~/.matchbox/ca.crt")
}
terraform {
required_providers {
ct = {
source = "poseidon/ct"
version = "0.10.0"
}
matchbox = {
source = "poseidon/matchbox"
version = "0.5.0"
}
}
}
```
### Profiles
Machine profiles specify the kernel, initrd, kernel args, Ignition Config, or other configs (e.g. templated Butane Config, generic) used to network boot and provision a bare-metal machine. The profile below would PXE boot machines using a Fedora CoreOS kernel and initrd (see [assets](api-http.md#assets) to learn about caching for speed), perform a disk install, reboot (first boot from disk), and use a [Fedora CoreOS Config](https://github.com/coreos/fcct/blob/master/docs/configuration-v1_1.md) to generate an Ignition config to provision.
```tf
// Fedora CoreOS profile
resource "matchbox_profile" "fedora-coreos-install" {
name = "worker"
kernel = "https://builds.coreos.fedoraproject.org/prod/streams/${var.os_stream}/builds/${var.os_version}/x86_64/fedora-coreos-${var.os_version}-live-kernel-x86_64"
initrd = [
"--name main https://builds.coreos.fedoraproject.org/prod/streams/${var.os_stream}/builds/${var.os_version}/x86_64/fedora-coreos-${var.os_version}-live-initramfs.x86_64.img"
]
args = [
"initrd=main",
"coreos.live.rootfs_url=https://builds.coreos.fedoraproject.org/prod/streams/${var.os_stream}/builds/${var.os_version}/x86_64/fedora-coreos-${var.os_version}-live-rootfs.x86_64.img",
"coreos.inst.install_dev=/dev/sda",
"coreos.inst.ignition_url=${var.matchbox_http_endpoint}/ignition?uuid=$${uuid}&mac=$${mac:hexhyp}"
]
raw_ignition = data.ct_config.worker.rendered
}
data "ct_config" "worker" {
content = templatefile("fcc/fedora-coreos.yaml", {
ssh_authorized_key = var.ssh_authorized_key
})
strict = true
}
```
### Groups
Matcher groups match machines based on labels like MAC, UUID, etc. to different profiles and templates in machine-specific values. The group below does not have a `selector` block, so any machines which network boot from Matchbox will match this group and be provisioned using the `fedora-coreos-install` profile. Machines are matched to the most specific matching group.
```tf
// Default matcher group for machines
resource "matchbox_group" "default" {
name = "default"
profile = matchbox_profile.fedora-coreos-install.name
}
```
### Variables
Some Terraform [variables](https://www.terraform.io/docs/configuration/variables.html) are used in the examples. A quick way to set their value is by creating a `terraform.tfvars` file.
```
cp terraform.tfvars.example terraform.tfvars
```
```tf
matchbox_http_endpoint = "http://matchbox.example.com:8080"
matchbox_rpc_endpoint = "matchbox.example.com:8081"
os_version = "36.20220906.3.2"
ssh_authorized_key = "YOUR_SSH_KEY"
```
### Apply
Initialize the Terraform workspace. Then plan and apply the resources.
```
terraform init
```
```
$ terraform apply
Apply complete! Resources: 4 added, 0 changed, 0 destroyed.
```
Matchbox serves configs to machines and respects query parameters, if you're interested:
* iPXE default - [/ipxe](http://matchbox.example.com:8080/ipxe)
* Ignition default - [/ignition](http://matchbox.example.com:8080/ignition)
* Ignition post-install - [/ignition?os=installed](http://matchbox.example.com:8080/ignition?os=installed)
## Network
Matchbox can integrate with many on-premise network setups. It does not seek to be the DHCP server, TFTP server, or DNS server for the network. Instead, matchbox serves iPXE scripts as the entrypoint for provisioning network booted machines. PXE clients are supported by chainloading iPXE firmware.
In the simplest case, an iPXE-enabled network can chain to Matchbox,
```
# /var/www/html/ipxe/default.ipxe
chain http://matchbox.foo:8080/boot.ipxe
```
Read [network-setup.md](network-setup.md) for the complete range of options. Network admins have a great amount of flexibility:
* May keep using existing DHCP, TFTP, and DNS services
* May configure subnets, architectures, or specific machines to delegate to matchbox
* May place matchbox behind a menu entry (timeout and default to matchbox)
If you've never setup a PXE-enabled network before or you're trying to setup a home lab, checkout the [quay.io/poseidon/dnsmasq](https://quay.io/repository/poseidon/dnsmasq) container image [copy-paste examples](https://github.com/poseidon/matchbox/blob/master/docs/network-setup.md#poseidondnsmasq) and see the section about [proxy-DHCP](https://github.com/poseidon/matchbox/blob/master/docs/network-setup.md#proxy-dhcp).
## Boot
Its time to network boot your machines. Use the BMC's remote management capabilities (may be vendor-specific) to set the boot device (on the next boot only) to PXE and power on each machine.
```sh
$ ipmitool -H node1.example.com -U USER -P PASS power off
$ ipmitool -H node1.example.com -U USER -P PASS chassis bootdev pxe
$ ipmitool -H node1.example.com -U USER -P PASS power on
```
Each machine should chainload iPXE, delegate to Matchbox, receive its iPXE config (or other supported configs) and begin the provisioning process. The examples assume machines are configured to boot from disk first and PXE only when requested, but you can write profiles for different cases.
Once the install completes and the machine reboots, you can SSH.
```ssh
$ ssh core@node1.example.com
```
To re-provision the machine for another purpose, run `terraform apply` and PXE boot machines again.
## Going Further
Matchbox can be used to provision multi-node Fedora CoreOS or Flatcar Linux clusters at one or many on-premise sites if deployed in an HA way. Machines can be matched individually by MAC address, UUID, region, or other labels you choose. Installs can be made much faster by caching images in the built-in HTTP [assets](api-http.md#assets) server.
[Ignition](https://github.com/coreos/ignition) can be used to partition disks, create file systems, write systemd units, write networkd configs or regular files, and create users. Nodes can be network provisioned into a complete cluster system that meets your needs. For example, see [Typhoon](https://typhoon.psdn.io/fedora-coreos/bare-metal/).

33
docs/grub.md Normal file
View File

@@ -0,0 +1,33 @@
# GRUB2 netboot
Use GRUB to network boot UEFI hardware.
## Requirements
For local development, install the dependencies for libvirt with UEFI.
* [UEFI with QEMU](https://fedoraproject.org/wiki/Using_UEFI_with_QEMU)
Ensure that you've gone through the [matchbox with docker](getting-started-docker.md) and [matchbox](matchbox.md) guides and understand the basics.
## Containers
Run `matchbox` according to [matchbox with Docker](getting-started-docker.md), but mount the [grub](../examples/groups/grub) group example. Then start the `poseidon/dnsmasq` Docker image, which bundles a `grub.efi`.
```sh
$ sudo docker run --rm --cap-add=NET_ADMIN quay.io/poseidon/dnsmasq -d -q --dhcp-range=172.17.0.43,172.17.0.99 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-match=set:efi-bc,option:client-arch,7 --dhcp-boot=tag:efi-bc,grub.efi --dhcp-userclass=set:grub,GRUB2 --dhcp-boot=tag:grub,"(http;matchbox.foo:8080)/grub","172.17.0.2" --log-queries --log-dhcp --dhcp-option=3,172.17.0.1 --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:pxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://matchbox.foo:8080/boot.ipxe --address=/matchbox.foo/172.17.0.2
```
## Client VM
Create UEFI VM nodes which have known hardware attributes.
```sh
$ sudo ./scripts/libvirt create-uefi
```
Create a VM to verify the machine network boots.
```sh
$ sudo virt-install --name uefi-test --boot=uefi,network --disk pool=default,size=4 --network=bridge=docker0,model=e1000 --memory=1024 --vcpus=1 --os-type=linux --noautoconsole
```

160
docs/ignition.md Normal file
View File

@@ -0,0 +1,160 @@
# Ignition Configs
[Ignition](https://coreos.github.io/ignition/) configs define how disks should be provisioned (on network boot and first-boot from disk) to partition disks, write files (regular files, systemd units, networkd units, etc.), and configure users. Ignition is used by:
* Fedora CoreOS
* RHEL CoreOS
* Flatcar Linux
See the Ignition Config v3.x [specs](https://coreos.github.io/ignition/specs/) for details.
## Usage
Ignition configs can be added to the `/var/lib/matchbox/ignition` directory or in an `ignition` subdirectory of a custom `-data-path`. Ignition configs must end in `.ign` or `ignition`.
```
/var/lib/matchbox
├── ignition
│   └── k8s-controller.ign
│   └── k8s-worker.ign
└── profiles
```
Matchbox Profiles can set an Ignition config for provisioning machines. Specify the Ignition config in a [Profile](matchbox.md#profiles) with `ignition_id`.
```json
{
"id": "worker",
"name": "My Profile",
"boot": {
...
},
"ignition_id": "my-ignition.ign"
}
```
When PXE booting, set kernel arguments depending on the OS (e.g. `ignition.firstboot` on FCOS, `flatcar.first_boot=yes` on Flatcar).
* [Fedora CoreOS](https://github.com/poseidon/matchbox/blob/main/examples/profiles/fedora-coreos.json)
* [Flatcar Linux](https://github.com/poseidon/matchbox/blob/main/examples/profiles/flatcar.json)
Point the `ignition.config.url` or `flatcar.config.url` to point to the `matchbox` [Ignition endpoint](api-http.md#ignition-config).
Matchbox parses Ignition configs (e.g. `.ign` or `.ignition`) at spec v3.3 or below and renders to the current supported version (v3.3). This relies on Ignition's [forward compatibility](https://github.com/coreos/ignition/blob/main/config/v3_3/config.go#L61).
## Writing Configs
Ignition configs can be prepared externally and loaded via the gRPC API, rather than writing Ignition by hand.
### Terraform
Terraform can be used to prepare Ignition configs, while providing integrations with external systems and rich templating. Using tools like [poseidon/terraform-provider-ct](https://github.com/poseidon/terraform-provider-ct), you can write Butane config (an easier YAML format), validate configs, and load Ignition into Matchbox ([examples](https://github.com/poseidon/matchbox/tree/main/examples/terraform)).
Define a Butane config for Fedora CoreOS or Flatcar Linux:
```yaml
variant: fcos
version: 1.5.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-key foo
```
```yaml
variant: flatcar
version: 1.1.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-key foo
```
Define a `ct_config` data source with strict validation. Optionally use Terraform [templating](https://github.com/poseidon/terraform-provider-ct).
```tf
data "ct_config" "worker" {
content = file("worker.yaml")
strict = true
pretty_print = false
snippets = [
file("units.yaml"),
file("storage.yaml"),
]
}
```
Then render the Butane config to Ignition and use it in a Matchbox Profile.
```tf
resource "matchbox_profile" "fedora-coreos-install" {
name = "worker"
kernel = "/assets/fedora-coreos/fedora-coreos-${var.os_version}-live-kernel-x86_64"
initrd = [
"--name main /assets/fedora-coreos/fedora-coreos-${var.os_version}-live-initramfs.x86_64.img"
]
args = [
"initrd=main",
"coreos.live.rootfs_url=${var.matchbox_http_endpoint}/assets/fedora-coreos/fedora-coreos-${var.os_version}-live-rootfs.x86_64.img",
"coreos.inst.install_dev=/dev/vda",
"coreos.inst.ignition_url=${var.matchbox_http_endpoint}/ignition?uuid=$${uuid}&mac=$${mac:hexhyp}",
]
raw_ignition = data.ct_config.worker.rendered
}
```
See the Terraform [examples](https://github.com/poseidon/matchbox/tree/main/examples#terraform-examples) for details.
### Butane
The [Butane](https://coreos.github.io/butane/) command line tool can be used to convert Butane configs (an easier YAML format) to Ignition. Then you can use the Matchbox gRPC API to upload the rendered Ignition to Matchbox for serving to machines on boot.
See [examples/ignition](../examples/ignition) for Butane config examples.
### Matchbox Rendering
While Matchbox recommends preparing Ignition configs externally (e.g. using Terraform's rich templating), Matchbox does still support limited templating and translation features with a builtin Butane converter.
Specify a Butane config in a [Profile](matchbox.md#profiles) with `ignition_id` (file must not end in `.ign` or `.ignition`).
```json
{
"id": "worker",
"name": "My Profile",
"boot": {
...
},
"ignition_id": "butane.yaml"
}
```
Here is an example Butane config with Matchbox template elements. Template files may contain [Go template](https://golang.org/pkg/text/template/) elements which will be interpreted using group metadata, selectors, and query params.
```yaml
variant: flatcar
version: 1.1.0
storage:
files:
- path: /var/home/core/foo
mode: 0644
contents:
inline: |
{{.example_contents}}
{{ if index . "ssh_authorized_keys" }}
passwd:
users:
- name: core
ssh_authorized_keys:
{{ range $element := .ssh_authorized_keys }}
- {{$element}}
{{end}}
{{end}}
```
Matchbox will use the Butane library to config to the current supported Ignition version. This relies on Ignition's [forward compatibility](https://github.com/coreos/ignition/blob/main/config/v3_3/config.go#L61).

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 KiB

View File

Before

Width:  |  Height:  |  Size: 67 KiB

After

Width:  |  Height:  |  Size: 67 KiB

View File

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View File

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

33
docs/index.md Normal file
View File

@@ -0,0 +1,33 @@
# Matchbox
Matchbox is a service that matches bare-metal machines to profiles that PXE boot and provision clusters. Machines are matched by labels like MAC or UUID during PXE and profiles specify a kernel/initrd, iPXE config, and Ignition config.
## Features
* Chainload via iPXE and match hardware labels
* Provision Fedora CoreOS or Flatcar Linux (powered by [Ignition](https://github.com/coreos/ignition))
* Authenticated gRPC API for clients (e.g. Terraform)
## Installation
Matchbox can be installed from a binary or a container image.
* Install Matchbox as a [binary](deployment.md#matchbox-binary), as a [container image](deployment.md#container-image), or on [Kubernetes](deployment.md#kubernetes)
* Setup a PXE-enabled [network](network-setup.md)
## Tutorials
Start provisioning machines with Fedora CoreOS or Flatcar Linux.
* [Terraform Usage](getting-started.md)
* Fedora CoreOS (live PXE or PXE install to disk)
* Flatcar Linux (live PXE or PXE install to disk)
* [Local QEMU/KVM](getting-started-docker.md)
* Fedora CoreOS (live PXE or PXE install to disk)
* Flatcar Linux (live PXE or PXE install to disk)
## Related
* [dnsmasq](https://github.com/poseidon/matchbox/tree/master/contrib/dnsmasq) - container image to run DHCP, TFTP, and DNS services
* [terraform-provider-matchbox](https://github.com/poseidon/terraform-provider-matchbox) - Terraform provider plugin for Matchbox
* [Typhoon](https://typhoon.psdn.io/) - minimal and free Kubernetes distribution, supporting bare-metal

15
docs/machine-lifecycle.md Normal file
View File

@@ -0,0 +1,15 @@
# Lifecycle of a physical machine
## About boot environment
Physical machines [network boot](network-booting.md) in an network boot environment with DHCP/TFTP/DNS services or with [poseidon/dnsmasq](../contrib/dnsmasq).
`matchbox` serves iPXE or GRUB configs via HTTP to machines based on Group selectors (e.g. UUID, MAC, region, etc.) and machine Profiles. Kernel and initrd images are fetched and booted with Ignition to install CoreOS Container Linux. The "first boot" Ignition config if fetched and Container Linux is installed.
Container Linux boots ("first boot" from disk) and runs Ignition to provision its disk with systemd units, files, keys, and more to become a cluster node. Systemd units may fetch metadata from a remote source if needed.
Coordinated auto-updates are enabled. Systems like [Kubernetes](http://kubernetes.io/docs/) coordinate container services. IPMI, vendor utilities, or first-boot are used to re-provision machines into new roles.
## Machine lifecycle
![Machine Lifecycle](img/machine-lifecycle.png)

Some files were not shown because too many files have changed in this diff Show More