1606 Commits
v0.2.0 ... 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
Dalton Hubble
fb2ab2a5d9 examples: Update all examples to CoreOS Beta 1185.1.0 2016-10-16 16:25:26 -07:00
Dalton Hubble
cef7c97945 examples: Update Kubernetes/rktnetes to v1.4.1 2016-10-16 15:38:11 -07:00
Dalton Hubble
f3cb1db4bc examples: Fix etcd and etcd3 proxy references 2016-10-16 15:38:11 -07:00
Dalton Hubble
279ede31c7 examples: Update self-hosted Kubernetes to v1.4.1 2016-10-16 15:37:43 -07:00
Dalton Hubble
ddd78bd2e0 Merge pull request #361 from coreos/self-hosted-k8s-v.1.4.0
examples: Update self-hosted Kubernetes to v1.4.0
2016-10-12 10:56:50 -07:00
Dalton Hubble
6692148b87 examples: Update self-hosted Kubernetes to v1.4.0
* Render with dghubble/bootkube fork which supports DNS
* Start with bootkube v0.2.0 with rkt
* Update on-host hyperkube to v1.4.0_coreos.0
2016-10-12 02:37:56 -07:00
Dalton Hubble
621d6fce7d Merge pull request #360 from coreos/bump-coreos
examples/rktnetes: Update to CoreOS Beta 1185.1.0
2016-10-10 23:10:02 -07:00
Dalton Hubble
82c2ec62d1 examples/rktnetes: Update to CoreOS Beta 1185.1.0
* rkt v1.14.0 is needed for rktnetes
2016-10-10 17:14:58 -07:00
Dalton Hubble
ee15dae003 Merge pull request #356 from coreos/update-kubernetes
examples/{k8s,rktnetes}: Update Kubernetes to v1.4.0_coreos.2
2016-10-08 20:22:34 -07:00
Dalton Hubble
e739c3adfa Documentation: Update docs for k8s/rktnetes 1.4 2016-10-08 20:11:43 -07:00
Dalton Hubble
2a11b387fb examples/{k8s,rktnetes}: Update addons for 1.4, use YAML 2016-10-08 18:33:38 -07:00
Dalton Hubble
1ed777edb2 examples/{k8s,rktnetes}: Bump to v1.4.0_coreos.2 hyperkube
* Replace --network-plugin-dir with --cni-conf-dir
* Add DefaultStorageClass to admission-control list
2016-10-08 18:33:38 -07:00
Dalton Hubble
4daf997a73 examples/k8s: Use CNI for Kubernetes clusters
* Set the Docker bridge IP and IP masq to empty string
* https://github.com/coreos/coreos-kubernetes/pull/551
2016-10-08 18:33:37 -07:00
Dalton Hubble
640f734e50 Merge pull request #359 from coreos/fix-devnet
scripts/devnet: Fix devnet to start named examples
2016-10-08 18:33:07 -07:00
Dalton Hubble
c53062d491 scripts/devnet: Fix devnet to start named examples 2016-10-08 16:26:30 -07:00
Dalton Hubble
abdb74f3b2 Merge pull request #357 from coreos/update-deployment-docs
Documentation: Update deployment and network docs
2016-10-03 13:47:11 -07:00
Dalton Hubble
9f791af195 Documentation: Update deployment and network docs 2016-10-03 13:29:07 -07:00
Dalton Hubble
eae23dc30c Merge pull request #354 from ebraminio/patch-1
[doc] Fix sample Docker command
2016-09-30 16:34:23 -07:00
Ebrahim Byagowi
197501c04a [doc] Fix sample Docker command 2016-09-26 22:08:29 +00:00
Dalton Hubble
cbbd2a4a8a Merge pull request #352 from ericchiang/fix-devnet-script-no-args
scripts/devnet: print usage if no arguments are provided
2016-09-22 11:12:31 -07:00
Eric Chiang
f0465c0d0b scripts/devnet: print usage if no arguments are provided
Before:

    $ sudo ./scripts/devnet
    ./scripts/devnet: line 20: $1: unbound variable

After:

    $ sudo ./scripts/devnet
    USAGE: devnet <command>
    Commands:
    	create	create bootcfg and PXE services on the bridge
    	destroy	destroy the services on the bridge
2016-09-22 11:04:34 -07:00
Dalton Hubble
7b1640b1c6 examples/etc/bootcfg: Fix typo in cert-gen help 2016-09-21 16:20:06 -07:00
Dalton Hubble
b3dab0aa98 Merge pull request #348 from coreos/devnet
scripts: Add devnet script to setup PXE/bootcfg bridge
2016-09-20 11:31:03 -07:00
Dalton Hubble
32b8a1108d scripts/devnet: Add devnet script to setup PXE/bootcfg 2016-09-19 19:26:55 -07:00
Dalton Hubble
bd131fc60d examples: Remove unneeded k8s-*-install profiles
* Use the same k8s-controller and k8s-worker profiles
whether booting a live cluster or installing to disk
* Exta root=/dev/sda kernel arg during install is fine
2016-09-17 21:07:45 -07:00
Dalton Hubble
14c1a37e71 examples: Replace pxe/pxe-disk with simple/simple-install
* simple example just network boots CoreOS machines
* simple-install example just network boots and installs CoreOS
* Simple examples don't do much provisioning, except adding pubkeys
2016-09-17 15:16:31 -07:00
Dalton Hubble
f6aec67eb8 scripts: Add libvirt create subcommand and --os-variant
* Add `scripts/libvirt create` subcommand for rkt setups
* Add --os-variant=generic to remove nag messages to specify
* Rename places QEMU/KVM VMs were called libvirt VMs
2016-09-17 02:39:04 -07:00
Dalton Hubble
dde306dec2 Merge pull request #345 from coreos/jonboulle-patch-1
docs: fix typo (kuberentes -> kubernetes)
2016-09-16 11:54:25 -07:00
Jonathan Boulle
c4f46f1db2 docs: fix typo (kuberentes -> kubernetes) 2016-09-16 11:38:19 -07:00
Dalton Hubble
27bd21eefa Merge pull request #346 from rothgar/master
Finished renaming Master -> controller
2016-09-16 11:30:53 -07:00
Justin Garrison
37ef166c15 Finished renaming Master -> controller 2016-09-16 11:07:00 -07:00
Dalton Hubble
34c7d01997 Merge pull request #343 from coreos/bump-k8s
Update static dockernetes and rktnetes to v1.3.6
2016-09-09 13:08:34 -07:00
Dalton Hubble
9b364b8efa examples: Update rktnetes clusters to v1.3.6
* Update Kubernetes hyperkube image to v1.3.6_coreos.0
* Update kube-dns to v17.1
* Update Kubernetes-dashboard to 1.1.1
2016-09-09 11:16:56 -07:00
Dalton Hubble
94db98d854 *: Rename k8s-master to k8s-controller 2016-09-09 11:16:56 -07:00
Dalton Hubble
cc675906c7 examples: Update k8s clusters to v1.3.6
* Update Kubernetes hyperkube image to v1.3.6_coreos.0
* Update kube-dns to v17.1
* Update Kubernetes-dashboard to 1.1.1
2016-09-09 11:15:41 -07:00
Dalton Hubble
83d3d90b3e Merge pull request #340 from coreos/etcd-fix
examples/ignition: Fix etcd peer listen urls to use IPs
2016-09-09 00:03:44 -07:00
Dalton Hubble
4b12a21acf examples/ignition: Fix etcd peer listen urls to use IPs
* See github.com/coreos/etcd/pull/6365
2016-09-08 23:43:26 -07:00
Dalton Hubble
e185a1e86c Merge pull request #341 from ericchiang/docs-bootkube-copy-kubeconfig-to-all-nodes
bootkube docs: make scp kubeconfig command copy-pastable
2016-09-07 13:43:53 -07:00
Eric Chiang
85d0d194fe Documentation/bootkube.md: make scp kubeconfig command copy-pastable
In the bootkube documentation make the command to copy kubeconfig
files to all nodes copy-pastable by adding a for loop.
2016-09-07 13:37:21 -07:00
Dalton Hubble
099f3dbf2d vendor: Update fuze, cloudinit, and go-systemd 2016-09-07 11:44:43 -07:00
Dalton Hubble
549727aae9 glide,vendor,Documentation: Update glide min verison to 0.12 2016-09-06 17:02:36 -07:00
Dennis Schridde
d56bf78e58 scripts/get-coreos: Make gpg binary customisable
Distributions like Debian 8 ship a `gpg` (1.4.x) and a `gpg2` (2.1.x) binary,
 which both use the same config files, and thus cannot be used at the same
 time, due to incompatible options. Thus we allow the user to specify which
 gpg binary they want to use.
2016-09-06 14:43:55 -07:00
Dalton Hubble
3b389cc524 README: Update links and examples list 2016-09-06 14:30:21 -07:00
Dalton Hubble
9c241ad384 examples: Add rknetes-install example cluster
* Add reference cluster which installs CoreOS and
provisions Kubernetes with rkt as the container
runtime
2016-08-30 10:55:57 -07:00
Dalton Hubble
bbadbc582e Merge pull request #330 from coreos/bump-coreos
examples: Update example clusters to CoreOS 1153.0.0
2016-08-30 10:54:58 -07:00
Dalton Hubble
dbbbc228b5 examples: Update example clusters to CoreOS 1153.0.0
* CoreOS 1153.0.0 adds rkt 1.13.0 which should resolve a
docker2aci bug in rktnetes observed with rkt 1.11.0
* https://github.com/coreos/rkt/pull/3026
2016-08-30 00:28:33 -07:00
Dalton Hubble
55b3b06c00 Merge branch 'fix-get-coreos' 2016-08-29 18:30:23 -07:00
Dalton Hubble
ee788bf077 scripts/get-coreos: Use grep -E
* egrep is equivalent, but technically deprecated
2016-08-29 18:29:28 -07:00
Dalton Hubble
c23824075c Merge pull request #327 from coreos/torus-etcd3
examples: Run Torus' etcd3 with rkt
2016-08-27 15:17:04 -07:00
Dalton Hubble
5342e28754 examples: Run Torus' etcd3 with rkt
* Bump etcd3 version to 3.0.6
2016-08-27 15:10:52 -07:00
Dalton Hubble
0cd039811a Merge pull request #335 from nak3/fix-torus.md
Doc: fix invalid link to examples
2016-08-27 15:09:18 -07:00
Kenjiro Nakayama
4760763401 Doc: fix invalid link to examples 2016-08-27 17:32:03 +09:00
Dennis Schridde
75ca3bca90 scripts/get-coreos: Relax version/channel check
Previously this matched very specific HTTP status codes only, while now it
 matches any success or redirection status code. It also works for "HTTP/2"
 answers in addition to "HTTP/2.0".

Fixes: #331
2016-08-27 10:01:50 +02:00
Dalton Hubble
cd2f7d4bfb Merge pull request #332 from coreos/rktnetes-fixes
Update rktnetes to 1151.0.0 and fix Docker 1.12 issue
2016-08-26 15:21:37 -07:00
Dalton Hubble
87d41c1a7f examples/rktnetes: Use EnvironmentFile to configure cni
* Docker v1.12 dockerd fails if given the daemon argument
* Applies https://github.com/coreos/coreos-kubernetes/pull/642
2016-08-26 15:04:49 -07:00
Dalton Hubble
90d9ca588a examples/rktnetes: Update to CoreOS 1151.0.0
* Resolves several docker2aci bugs in rkt 1.11.0
https://github.com/coreos/rkt/pull/3026
* Install to disk (rktnetes-install) is not yet working
https://github.com/coreos/bugs/issues/1541
2016-08-26 14:42:48 -07:00
Dalton Hubble
7d2f6b8b04 Merge pull request #324 from coreos/universal-root
examples: Use universal root filesystem
2016-08-25 14:55:16 -07:00
Dalton Hubble
54a16ffda4 examples: Use universal root filesystem
* Use the "root" filesystem from the Ignition universal
base config (path /sysroot)
* No need for custom named filesystem anymore
2016-08-25 14:18:07 -07:00
Dalton Hubble
d6ce07021f Merge pull request #328 from coreos/etcd3-updates
Update and add to etcd3 example clusters
2016-08-25 12:11:30 -07:00
Dalton Hubble
128f5d9b36 examples: Add etcd3-install cluster
* etcd3-install installs CoreOS to disk and sets
up a 3-node etcd3 cluster
* Additional machines are setup as etcd3 proxies
2016-08-25 11:52:28 -07:00
Dalton Hubble
6ff16e0813 examples/ignition/etcd3: Use notify service type 2016-08-25 11:52:28 -07:00
Dalton Hubble
bd420ba25e Merge pull request #293 from coreos/dns-self-hosted
examples/bootkube: Use DNS names for self-hosted Kubernetes
2016-08-25 11:38:38 -07:00
Dalton Hubble
9d35698b9b examples/groups/bootkube-install: Replace IPs with DNS names 2016-08-25 01:07:49 -07:00
Dalton Hubble
e194bf0355 examples/bootkube: Use DNS names for self-hosted Kubernetes
* Self-hosted Kuberntes api-server comes up without a hostname
override and detects the hostname it should use from `uname -n`
* kube-apiserver name must correspond to routable kubelet
hostname-override
* Provision /etc/hostname with the FQDN so `uname -n` can be
used by Kubernetes (until NODE_NAME is avail. in k8s 1.4)
2016-08-25 00:42:08 -07:00
Dalton Hubble
22ae896c85 travis.yml: Add Go 1.7, remove Go 1.5 2016-08-17 19:57:24 -07:00
Dalton Hubble
88fa2341e5 Merge pull request #317 from coreos/bootkube-bump
examples: Update self-hosted Kubernetes to v1.3.4
2016-08-17 17:19:16 -07:00
Dalton Hubble
747245c2f8 examples: Update self-hosted Kubernetes to v1.3.4
* Use bootkube v0.1.4 for self-hosted bootstrapping
2016-08-17 16:51:24 -07:00
Dalton Hubble
cae3135ef6 Merge pull request #315 from coreos/etcd3
Add etcd3 example cluster with rkt
2016-08-16 11:49:50 -07:00
Dalton Hubble
28c95f3255 Add etcd3 example cluster with rkt 2016-08-16 11:41:53 -07:00
Dalton Hubble
f9d9bb2367 contrib/dnsmasq: Add a cluster DNS name to conf 2016-08-16 11:18:38 -07:00
Dalton Hubble
796ae7e82c Merge pull request #313 from coreos/rktnetes
examples: Add Kubernetes with rkt runtime (rktnetes)
2016-08-16 10:23:14 -07:00
Dalton Hubble
e179256194 examples: Add Kubernetes with rkt runtime
* Add an example Kubernetes cluster with rkt as the container
runtime, CoreOS 1122.0.0, and rkt 1.11.0 (i.e. rktnetes)
2016-08-16 10:08:22 -07:00
Dalton Hubble
af3ce324cc Merge pull request #310 from coreos/usability-fixes
Usability improvements to tls scripts and docs
2016-08-12 16:01:12 -07:00
Dalton Hubble
0a486cb991 examples/etc/bootcfg/cert-gen: Improve cert-gen usability
* Print helpful message if SAN is unset
* Don't prompt to sign certs, false illusion of choice. Users
running cert-gen need self-signed certs.
* Remove intermediate cert signing requests
* Decrease the scariness of the self-signed warnings
2016-08-12 14:33:04 -07:00
Dalton Hubble
e46bab96c7 Documentation: Work-around NetworkManager firewall zone issue 2016-08-12 14:31:42 -07:00
Dalton Hubble
f8663ea36f README,CHANGES: Update README and recent changelog
* Add changelog entries since v0.4.0
* Link to Tectonic Installer post
* Don't highlight pixiecore on README. Endpoints support
it, but its not encouraged.
2016-08-12 13:55:39 -07:00
Dalton Hubble
2a61827a6b Merge pull request #309 from coreos/add-arm-binary
Add ARM to release architectures
2016-08-12 12:00:43 -07:00
Dalton Hubble
db2ea9704f scripts: Include contrib files in releases 2016-08-12 11:38:41 -07:00
Dalton Hubble
5325f104d3 Makefile: Add ARM to release architectures 2016-08-12 11:38:41 -07:00
Dalton Hubble
bfc58161d5 Merge pull request #307 from chancez/common_node_attrs
scripts: Move node info into common sourceable scripts
2016-08-12 11:32:20 -07:00
Chance Zibolski
62d269f92f scripts: Move node info into common sourcable scripts 2016-08-12 11:24:26 -07:00
Dalton Hubble
f5441e35a1 Merge pull request #306 from coreos/coreos-install-guide
Documentation: Add guide for installing on CoreOS
2016-08-08 13:08:56 -07:00
Dalton Hubble
6222fcf802 Documentation: Add guide for installing on CoreOS
* Provide a systemd service unit which rkt runs bootcfg
2016-08-08 11:00:38 -07:00
Dalton Hubble
05da923fc3 Makefile, scripts: Add make codegen target
* Get/build protoc and protoc-gen-go binaries under tools
so they do not interfere with any user installations
* Ensure protoc and protoc-gen-go versions are pinned
2016-08-05 12:07:19 -07:00
Dalton Hubble
724615f539 Merge branch 'rothgar-k8s-certgen-dns' 2016-08-05 10:58:47 -07:00
Justin Garrison
db9141ec1e scripts/tls: Update DNS values
* Fixes #299
2016-08-05 10:58:02 -07:00
Dalton Hubble
43e1637c18 Merge pull request #300 from coreos/k8s-bump
examples: Bump k8s version to v1.3.4_coreos.0
2016-08-04 16:35:23 -07:00
Dalton Hubble
183285a03b examples: Bump k8s version to v1.3.4_coreos.0 2016-08-04 15:23:19 -07:00
Chance Zibolski
8705f78aee examples: Update kubelet.service to mount /var/log in rkt 2016-08-04 00:53:14 -07:00
Dalton Hubble
8349b25587 README.md: Fix minor README typos 2016-08-03 15:43:50 -07:00
Dalton Hubble
82b12d227b Merge pull request #295 from coreos/installation-docs
Documentation: Update installation guide for v0.4.0
2016-07-27 18:44:35 -07:00
Dalton Hubble
aa31228f7b Documentation: Update installation guide for v0.4.0 2016-07-27 15:20:32 -07:00
Dalton Hubble
4d46848417 examples/torus: Use DNS names for Torus cluster
* Change `torusblk volume create` to `torusctl block create`
2016-07-26 14:52:58 -07:00
Dalton Hubble
dc5b3e24e5 examples/k8s: Use DNS names in Kubernetes clusters
* Use DNS names to refer to nodes to mirror production
2016-07-26 14:41:03 -07:00
Dalton Hubble
6157217f6b Merge pull request #290 from coreos/etcd
examples/etcd: Use DNS names in etcd clusters, no IPs
2016-07-25 15:43:08 -07:00
Dalton Hubble
ed0f54da27 examples/etcd: Use DNS names in etcd clusters, no IPs
* Use DNS names to refer to nodes in etcd examples to mirror
production
* Add dnsmasq.conf files for metal0 (rkt) and docker0 examples
which include static MAC->IP and Name->IP mappings
* Remove the etcd-docker example cluster, no longer needed
2016-07-25 12:03:26 -07:00
Dalton Hubble
07e8289282 Merge pull request #289 from coreos/update-examples
examples: Update CoreOS version and bootkube
2016-07-22 14:42:22 -07:00
Dalton Hubble
dcfc6dae96 examples/bootkube: Update from bootkube v0.1.1 to v0.1.2
* Update self-hosted Kubernetes cluster example to use bootkube
v0.1.2.
* Bump Kubernetes from v1.3.0-beta.2_coreos.0 to v1.3.0_coreos.1
2016-07-21 16:54:40 -07:00
Dalton Hubble
0e4a809600 examples: Bump CoreOS Alpha from 1053.2.0 to 1109.1.0
* Clusters which install to disk auto-update so this bump just
changes the "starting" version. Deployed alpha clusters should
already be using 1109.1.0.
2016-07-21 14:48:44 -07:00
Dalton Hubble
4681c227f9 Documentation: Add snippet for running v0.4.0 release
* Show how to use the v0.4.0 tagged release rkt or Docker
image in addition to running the latest image
2016-07-20 17:07:50 -07:00
Dalton Hubble
d33945bfad Documentation/dev/release.md: Update release process 2016-07-20 16:59:34 -07:00
Dalton Hubble
4e4450a9ca Merge pull request #283 from coreos/docs
Documentation,CHANGES.md: Update documentation for v0.4.0
2016-07-20 14:45:56 -07:00
Dalton Hubble
d8f3ceafbe Documentation,CHANGES.md: Update docs for v0.4.0 2016-07-20 14:35:54 -07:00
Dalton Hubble
6d3649778c Merge pull request #279 from coreos/metadata
Serve nested group metadata, selectors, and query vars as /metadata "env file"
2016-07-19 16:49:49 -07:00
Dalton Hubble
95b18ba8b9 bootstrap/http: Format nested metadata in env file
* Serve /metadata including group metadata, selectors, and
query variables in KEY=value "env file" format lines
* Recurse into nested maps (e.g. OUTER_INNER=val)
2016-07-19 16:36:04 -07:00
Dalton Hubble
07751a4bba bootcfg/http: Add request query params to template variables
* Add query parameters to template variables, referenced by
 {{.request.query.param}}
* Render Ignition/Fuze, cloud-config, and generic templates and
metadata with collected variables
* Replace template variable {{.query}} with {{.request.raw_query}}
(breaking)
2016-07-19 16:25:01 -07:00
Dalton Hubble
ae376d7098 Merge pull request #281 from coreos/gpg-trust-level
scripts: Don't set GPG trust level of CoreOS public key
2016-07-19 16:00:24 -07:00
Dalton Hubble
7e04e7ce4f scripts: Don't set GPG trust level of CoreOS public key 2016-07-19 15:05:21 -07:00
Dalton Hubble
3ddbeb238e Merge pull request #276 from coreos/cleanup
Update CHANGES.md and cleanup source
2016-07-19 14:01:58 -07:00
Dalton Hubble
c3645d22d3 CHANGES.md,README.md: Update changelog, links, and fix typos 2016-07-19 10:54:36 -07:00
Dalton Hubble
8e3d4b4547 bootcfg/cli: Organize imports 2016-07-19 10:06:14 -07:00
Dalton Hubble
5575590393 bootcfg/http: Cleanup handler chains and source organization
* Simplify common http request handling chains
* Separate github.com/dghubble/ctxh source so we can move
it to a separate CoreOS package or vendor upstream
* Remove unused requireGET
2016-07-19 10:06:14 -07:00
Dalton Hubble
c5c92ed569 Merge pull request #274 from coreos/k8s-v1.3
Upgrade Kubernetes examples to v1.3.0
2016-07-18 19:26:23 -07:00
Dalton Hubble
281e411594 Documentation: Add docs for Kubernetes v1.3.0 dashboard 2016-07-17 00:26:36 -07:00
Dalton Hubble
ecf921928c examples/kubernetes: Avoid systemd dependency failures
* Units which fail due to unmet dependencies are not restarted.
Upstream issue: github.com/systemd/systemd/issues/1312
* Avoid depending on flanneld. Instead, check and fail if unmet
to force a restart (retry)
* Remove unneeded k8s-assets dependency on kubelet. The k8s-assets
script itself just checks for the Kubernetes API to be up anyway
2016-07-17 00:12:42 -07:00
Dalton Hubble
e002ac2881 examples/kubernetes: Upgrade Kubernetes cluster to v1.3.0
* Add Kubernetes dashboard addon controller and service
* Update kube2sky -> kubedns-amd64
* Update skydns -> kube-dnsmasq-amd64
* Update heapster
* Rename exechealthz -> exechealthz-amd64
* Remove kube-system namespace, present already
2016-07-17 00:12:05 -07:00
Dalton Hubble
7217cf2e4c Merge pull request #273 from coreos/timeout
bootcfg/client: Accept a gRPC DialTimeout option
2016-07-15 13:05:35 -07:00
Dalton Hubble
46c8820c69 bootcfg/client: Accept a gRPC DialTimeout option 2016-07-15 10:45:38 -07:00
Dalton Hubble
03790553cf Merge pull request #268 from coreos/structured-logging
bootcfg/http: Add structured info/debug logging
2016-07-13 17:50:35 -07:00
Dalton Hubble
10cfa59970 bootcfg/http: Chain handlers with a simple chain func 2016-07-12 17:59:52 -07:00
Dalton Hubble
8404e34b9a bootcfg/http: Add structured info/debug logging
* Add info logs for errors matching machine groups
or resolving profiles, or supported templates
* Add debug logs with successful match info
2016-07-12 14:00:01 -07:00
Dalton Hubble
10b1441549 Merge pull request #264 from coreos/makefile
Makefile,scripts: Make platform-specific binary tarball targets
2016-07-12 13:00:00 -07:00
Dalton Hubble
02a759a300 Makefile,scripts: Make platform-specific binary tarball targets 2016-07-12 11:26:19 -07:00
Dalton Hubble
7d509bce1b travis: Notify on build status changes 2016-07-11 16:04:25 -07:00
Dalton Hubble
94877692e7 examples/ignition: Add missing -xe to install scripts 2016-07-11 16:03:17 -07:00
Dalton Hubble
5fe0fc639b Merge pull request #254 from coreos/logging-refactor
Refactor logging to pass Logrus logger
2016-07-11 15:55:41 -07:00
Dalton Hubble
1f54a2461a vendor: Remove capnslog, add logrus 2016-07-11 14:43:33 -07:00
Dalton Hubble
63e48160f6 bootcfg/http: Replace capnslog with logrus 2016-07-11 14:43:33 -07:00
Dalton Hubble
29f277f001 bootcfg/http: Replace store field with core Server
* Remove the bootcfg/http/server.Server store field
to enforce handlers use the core Server, not the Store
directly
2016-07-11 14:43:33 -07:00
Dalton Hubble
f2a89a6168 bootcfg/http: Convert logging handlers to methods
* Convert handlers which log to bootcfg/http/server.Server
methods to allow a Server instance scoped logger to be used
to replace the package logger
2016-07-11 14:43:33 -07:00
Dalton Hubble
53755b0e96 Merge pull request #259 from coreos/restart-installs
examples/ignition: Separate installer.service script
2016-07-11 14:38:07 -07:00
Dalton Hubble
cb579834ac examples/ignition: Separate installer script 2016-07-11 14:08:58 -07:00
Dalton Hubble
0ec9e56ffd Merge pull request #263 from coreos/bash-flags
examples/ignition: Add -xe to bash scripts
2016-07-11 11:16:41 -07:00
Dalton Hubble
721e6dc0ff examples/ignition: Add -xe to bash scripts 2016-07-11 10:50:12 -07:00
Dalton Hubble
40078a57e9 Merge pull request #260 from coreos/kubernetes-fixes
Fix Kubernetes v1.2.4 clusters (static manifest variant)
2016-07-09 13:39:40 -07:00
Dalton Hubble
c2d564a1ce Documentation: Minor updates to getting started 2016-07-08 23:27:18 -07:00
Dalton Hubble
134ea88d72 examples/k8s: Run etcd on controller, proxies on workers
* Update the etcd topology in the k8s and k8s-install static
manifest clusters to mirror the self-hosted Kubernetes setup
2016-07-08 22:34:59 -07:00
Dalton Hubble
446d44a220 examples/k8s: Mount /etc/resolv.conf into kubelet
* Kubelet must be able to resolve DNS names which are
known to the host
* Fixes a bug in which only IP's could be used for
k8s_controller_endpoint metadata
2016-07-08 22:21:03 -07:00
Dalton Hubble
76da59c504 examples/k8s: Remove fleet from Kubernetes nodes
* fleet is not a requirement, let's keep it simple
2016-07-08 22:17:42 -07:00
Dalton Hubble
9dc256abd2 Merge pull request #258 from coreos/makefile
Makefile: Add order-only prerequisite
2016-07-07 13:18:51 -07:00
Dalton Hubble
482cecf155 Makefile: Add order-only prerequisite 2016-07-07 12:29:27 -07:00
Dalton Hubble
7a6ffc1e48 Merge pull request #257 from coreos/example-updates
Updates to example clusters and scripts
2016-07-06 17:36:53 -07:00
Dalton Hubble
c057695a3f examples/bootkube: Update host Kubelet to work-around dep failure
* Upstream systemd issue: github.com/systemd/systemd/issues/1312
* Units which fail due to unmet dependencies are not restarted
as they would be upon failure. Kubelet should keep trying until
flanneld is active.
* Apply the recommended work-around by adding an ExecStart
which checks for a Wanted dependency and purposefully fails
when unmet in order to force a restart to keep trying.
2016-07-06 01:52:28 -07:00
Dalton Hubble
b039a7dda9 build-docker,push-docker: Remove deprecated tag -f flag 2016-07-06 01:14:47 -07:00
Dalton Hubble
813255d4fb examples/torus: Bump etcd to v3.0.1 and torus to v0.1.1 2016-07-06 00:09:02 -07:00
Dalton Hubble
068cbf6da4 scripts: Remove unused libvirt UUID assignments 2016-07-05 23:47:39 -07:00
Dalton Hubble
c20ea43f0a scripts: Remove rkt-gc-force script
* Cleanup script no longer required with rkt 1.8+
* Discussion in #208
2016-07-05 23:45:18 -07:00
Dalton Hubble
f22cbf02b6 Merge pull request #246 from coreos/fuze-configs
Upgrade from Ignition v1 to 2.0.0 and Fuze
2016-07-05 16:10:33 -07:00
Dalton Hubble
22a03bde00 *: Update CHANGES.md and documentation for Fuze 2016-07-05 14:15:31 -07:00
Dalton Hubble
519b56e296 Documentation: Show latest bootcfg examples, remove v0.3.0 2016-07-05 10:54:18 -07:00
Dalton Hubble
62e0ec1976 bootcfg/http/ignition: Just warn for raw Ignition errors
* When raw Ignition (.ign/.ignition) content is provided, Parse
the contents with ignition, but return the contents as JSON
regardless of the result to respect user pass-through expectations
* Warn on parse errors which can occur if a newer Ignition format
is used than the version of Ignition that bootcfg was compiled
with
2016-07-05 10:46:32 -07:00
Dalton Hubble
114a229ade vendor: Bump Ignition to 0.7.0, add Fuze 2016-07-05 10:46:32 -07:00
Dalton Hubble
c27f6ad50d examples: Upgrade Ignition YAML to Fuze YAML
* With this change, reference clusters will be provisioned
by Ignition 2.0.0. Ignition v1 is no longer supported.
2016-07-05 10:46:32 -07:00
Dalton Hubble
235ebf6f62 bootcfg/http: Upgrade from Ignition v1 to 2.0.0 and Fuze
* By default, templates for Ignition are rendered and
parsed as github.com/coreos/fuze YAML configs, which
formalize the transform from YAML to Ignition JSON
* Ignition files (.ign/.ignition) should be validated and
served directly, without template rendering
* Remove support for Ignition v1
* This change is breaking! Users need to tweak any YAML
Ignition templates to the very similar Fuze YAML format
2016-07-05 10:46:32 -07:00
Dalton Hubble
481ebfd525 Merge pull request #252 from coreos/make-release
Makefile: Add release tarball target
2016-06-28 16:47:52 -07:00
Dalton Hubble
88eed6bc59 Makefile: Add release tarball target 2016-06-28 12:01:54 -07:00
Dalton Hubble
e94532e201 Merge pull request #251 from coreos/self-hosted-bump
examples/bootkube: Upgrade from bootkube v0.1 to v0.1.1
2016-06-28 12:01:06 -07:00
Dalton Hubble
af8cb37089 examples/bootkube: Upgrade from bootkube v0.1 to v0.1.1
* Upgrade the self-hosted Kubernetes cluster example to
use bootkube v0.1.1 which supports apiserver checkpointing
in order to tolerate apiserver downtime (e.g. controller
reboot)
* Bumps Kubernetes version to v1.3.0-beta.2
* Re-enable CoreOS auto-updates
2016-06-28 11:49:02 -07:00
Dalton Hubble
39f5c526ec scripts: Fix get-coreos for curl via HTTP/2.0 2016-06-27 23:17:55 -07:00
Dalton Hubble
b9104101df Merge pull request #249 from cgag/patch-1
bootcfg: Add a newline to versionHandler output.
2016-06-24 14:16:47 -07:00
Curtis Gagliardi
7ef89e5f60 Add a newline to versionHandler output. 2016-06-24 13:48:08 -07:00
Dalton Hubble
f1a766f039 Merge pull request #244 from coreos/scripts
scripts: Improve scripts for use in releases
2016-06-21 15:59:28 -07:00
Dalton Hubble
871b5a1142 scripts: Improve scripts for use in releases
* Minor documentation tweaks
2016-06-21 15:07:32 -07:00
Dalton Hubble
f5170e07cc Merge pull request #238 from sym3tri/update-rkt-gc-force
scripts: update rkt-gc-force for rkt 1.8.0
2016-06-21 14:55:12 -07:00
Ed Rooth
736931d50c scripts: update rkt-gc-force for rkt 1.8.0 2016-06-21 09:56:10 -07:00
Dalton Hubble
b5e16c5bf3 Merge pull request #243 from coreos/bootkube-container
examples/bootkube: Use bootkube image and disable auto-updates
2016-06-17 13:38:22 -07:00
Dalton Hubble
b2fe4bedd0 examples/bootkube: Disable auto-updates on bootkube cluster 2016-06-16 14:44:02 -07:00
Dalton Hubble
a347f2acee examples/bootkube: Wrap quay.io/coreos/bootkube
* Users no longer need to scp a bootkube binary
2016-06-16 14:09:52 -07:00
Dalton Hubble
25cde00740 Merge pull request #239 from branch 'adamschaub:generic_endpoint' 2016-06-15 11:59:48 -07:00
Adam Schaub
5bac35cc54 *: Add /generic docs and revert NetBoot protobuf id
* Revert NetBoot id in storage.proto for compatibility
* Add URL.RawQuery to data for generic templates
* Add generic directory to scripts/setup-data-dir
* Add documentation for generic templates.
2016-06-15 11:09:45 -07:00
Adam Schaub
95db4cba61 bootcfg/http: Added genericHandler + tests to the http server
genericHandler uses a Profile.GenericId to locate and render a "generic" go template using group metadata and selectors.

Partially addresses #224
2016-06-15 11:06:11 -07:00
Adam Schaub
d49d9f25b4 bootcfg/{storage,server}: Added function GetGeneric to storage interface and implementations. Added GenericID to Profile protobuf.
Profiles now have GenericId which can be used to render a "generic" go template file (neither ignition nor cloud-init) using group metadata and selectors. The storage interface and it's implementations use GetGeneric to retrieve this template.

Partially addresses #224
2016-06-15 11:06:11 -07:00
Dalton Hubble
f6440db0d0 Merge pull request #237 from coreos/bootkube-update
examples/bootkube: Update self-hosted Kubernetes deploy
2016-06-15 10:58:04 -07:00
Dalton Hubble
f70cbe431f examples/bootkube: Mount /etc/resolv.conf into host kubelet
* Containers must be able to resolve network DNS names,
cannot default to 8.8.8.8
2016-06-15 10:46:04 -07:00
Dalton Hubble
285127daef examples/bootkube: Update self-hosted Kubernetes deployment
* scp kubeconfig to hosts rather than insecurely distributing
credentials within Ignition configs. This is also easier than
copy-pasting k8s secrets into machine metadata (slow).
* Self-hosted Kubernetes machine configurations can be versioned
without containing Kubernetes credentials
* Use path-based activiation for the host kubelet
* Update from Kubernetes v1.2.2 to v1.3.0-alpha.5_coreos.0.
* Update host kubelet flags accordingly
2016-06-15 10:46:04 -07:00
Dalton Hubble
4dc6bbe29c Merge pull request #159 from coreos/network-docs-wip
docs: Add network setup guide and flow diagram
2016-06-14 23:50:30 -07:00
Dalton Hubble
4672903c2a docs: Add network setup guide and flow diagram 2016-06-14 23:39:17 -07:00
Dalton Hubble
d5fef3f9a7 Merge pull request #231 from coreos/grpc-tls
Require gRPC TLS transport security, server verification, client authentication
2016-06-10 13:44:10 -07:00
Dalton Hubble
d738880a46 *: Read-only TLS credentials and limit CipherSuites
* Group changelog bullet points for readability
2016-06-09 17:02:11 -07:00
Dalton Hubble
c0d679ac44 bootcfg/examples: Add example gRPC TLS generation
* Add script to create fake TLS credentials for running the
bootcfg gRPC API examples
2016-06-09 17:02:11 -07:00
Dalton Hubble
45622cb346 bootcfg/cmd: Log gRPC TLS filenames or missing flags
* Log which TLS files are being used and why
* Log missing required gRPC TLS flags
2016-06-09 17:02:11 -07:00
Dalton Hubble
baa7f5e025 bootcfg/*: Require TLS client auth for gRPC API
* gRPC API server requires a CA certificate to verify
and authenticate clients (passed via -ca-file)
* gRPC clients must authenticate with a client certificate
and key (passed via -cert-file and -key-file)
2016-06-09 17:02:11 -07:00
Dalton Hubble
af76aa6951 bootcfg:/*: Add gRPC client-to-server TLS and verify
* A CA certificate (e.g. ca.crt) should be used to sign a server
certificate (server.crt for a private key server.key)
* gRPC API server requires a server certificate and key to be enabled
(passed via -cert-file and -key-file)
* gRPC client bootcmd tool must verify the server identity using a
known CA (passed to bootcmd via -ca-file)
* This provides transport security, it does not provide client
authentication
2016-06-09 17:02:10 -07:00
Dalton Hubble
84e0272f10 Documentation: Minor fixes and tweaks 2016-06-09 11:40:12 -07:00
Dalton Hubble
98c6c26e26 Documentation/torus.md: Add Torus cluster tutorial
* Add a tutorial to network boot and provision a Torus
CoreOS cluster for libvirt VMs or physical machines
2016-06-09 10:30:32 -07:00
Dalton Hubble
368ff381fe examples: Add Torus cluster on etcd3 2016-06-09 10:26:05 -07:00
Dalton Hubble
f561b83647 Merge pull request #228 from coreos/baseurl
examples: Use coreos-install baseurl
2016-06-03 10:23:13 -07:00
Dalton Hubble
5d138935e9 examples: Use coreos-install baseurl
* Examples which install CoreOS to disk should reference
a CoreOS install image from bootcfg assets to speed up
installs and improve the offline use-case
* Update scripts/get-coreos to download and verify the
CoreOS install image
2016-06-02 15:47:09 -07:00
Dalton Hubble
b1613c3cb4 Merge pull request #223 from coreos/skip-networkd
examples: Optionally skip networkd configuration
2016-05-31 11:24:25 -07:00
Dalton Hubble
ec2e5d8101 examples: Optionally skip networkd configuration
* Example clusters can use a pre-configured DHCP server
for network setup rather than provisioning hosts with a
networkd config
2016-05-31 10:27:34 -07:00
Dalton Hubble
a6113b5042 *: Use platform agnostic Makefile, stop creating empty env file
* systemd users can use /etc/bootcfg.env if they choose to
use environment files
2016-05-27 14:34:22 -07:00
Dalton Hubble
dd6e69102b Documentation: Reference coreos.com/dnsmasq:v0.3.0 2016-05-27 14:03:16 -07:00
Dalton Hubble
46e8ba8511 Merge pull request #220 from coreos/dnsmasq-capabilities
Update dnsmasq ACI retained capabilities
2016-05-27 13:24:49 -07:00
Dalton Hubble
070362da39 contrib/dnsmasq: Add CAP_NET_RAW, CAP_SETUID, CAP_SETGUID
* Allow dnsmasq to be run as a daemon (without -d flag)
* Bump coreos.com/dnsmasq to v0.3.0
2016-05-27 11:24:15 -07:00
Artem Sidorenko
e10f28e861 contrib/dnsmasq: CAP_NET_BIND_SERVICE is needed
* Allow socket binding to work on rkt v1.6+
* https://github.com/coreos/rkt/issues/2706
2016-05-27 11:20:43 -07:00
Dalton Hubble
9a547e8117 Documentation/img: Fix typo in machine lifecycle diagram 2016-05-26 14:34:52 -07:00
Dalton Hubble
ba78c1291b bootcfg/http/server: Log requests for bootcfg assets 2016-05-26 14:14:47 -07:00
Dalton Hubble
93d04a20c1 Merge pull request #206 from coreos/chancez-patch-1
Documentation: More details about Ignition templating
2016-05-26 14:13:52 -07:00
Chance Zibolski
43c016d905 Documentation: More details about Ignition templating
More explicitly write about the difference between an Ignition template,
and an Ignition config file.
2016-05-26 14:01:11 -07:00
Dalton Hubble
f878364ba1 examples: Update CoreOS version to 1053.2.0
* Update CoreOS version to get rkt 1.2.1->1.6.0 improvements
for running the kubelet wrapper in Kubernetes clusters
* Update CoreOS version for other clusters so users only need
to download one cached version of assets to run examples
2016-05-26 12:08:27 -07:00
Dalton Hubble
4978c984db Merge pull request #213 from SpencerBrown/docs/improve-config
Improve documentation of bootcfg arguments and files
2016-05-26 10:39:56 -07:00
Spencer Brown
1e0c21b1cf Improve documentation of bootcfg arguments and files
also fix typo in Makefile
2016-05-26 10:33:33 -05:00
Dalton Hubble
ba1beec39b examples/k8s: Update apiserver admission-control
* Update to k8s 1.2.0 recommended admission-control settings:
NamespaceLifecycle,LimitRanger,ServiceAccount,ResourceQuota
* Improves conformance test (#71) results
2016-05-25 22:19:46 -07:00
Dalton Hubble
aef9b71967 Merge pull request #210 from coreos/strict-template-errors
bootcfg/http: Log errors for missing template metadata
2016-05-25 18:38:41 -07:00
Dalton Hubble
3d27e7f051 bootcfg/http: Error for missing template metadata
* Rendering an Ignition config or cloud-config template
with machine group metadata will error and log if a metadata
value is missing.
* Previously, the default missing value was "no value"
2016-05-25 10:55:25 -07:00
Dalton Hubble
783126b10b Merge pull request #209 from coreos/match-via-mac
examples: Select by MAC, remove networkd_name metadata
2016-05-24 15:53:27 -07:00
Dalton Hubble
b46d16b75b examples: Select by MAC, remove networkd_name metadata
* Match machines by MAC address in examples
* Re-use the MAC address to assign static networkd configs
where needed.
* UUID is useful to uniquely identify a machine (unlike MAC)
but many users had difficulty finding the network device name
to use in static networkd configs. Selecting by MAC reduces
the potential for user error here.
2016-05-24 15:07:40 -07:00
Dalton Hubble
1a26f0a8d0 Merge pull request #207 from coreos/overview-diagram
docs/bootcfg.md: Add overview diagram
2016-05-24 14:39:42 -07:00
Dalton Hubble
3277869fe2 Documentation/bootcfg: Add bootcfg object overview diagram 2016-05-24 13:56:09 -07:00
Dalton Hubble
76ced1e75b Godeps: Remove old Godeps folder
* We've switched to glide, the Godeps folder should have been
deleted
2016-05-19 17:06:16 -07:00
Dalton Hubble
b779e2d318 Merge pull request #205 from coreos/bootkube
examples/bootkube: Setup bootkube cluster via on-host bootkube
2016-05-19 16:16:26 -07:00
Dalton Hubble
88a43b1170 examples/bootkube: Setup bootkube cluster via on-host bootkube
* bootkube clusters work with bootkube 5c1efe3ac61e270
* Copy bootkube generated assets and executable to any master
* Change hosts to use kubelet client certificate instead of token
* Update bootkube deployment documentation
2016-05-19 15:23:54 -07:00
Dalton Hubble
f6c486da3a Merge pull request #177 from coreos/use-bootcfg-group
contrib/systemd: Run bootcfg with bootcfg user and group
2016-05-18 10:29:43 -07:00
Dalton Hubble
5cd35d8606 contrib/systemd: Run bootcfg with bootcfg user/group
* Setup data dir with the bootcfg group
2016-05-17 12:30:26 -07:00
Dalton Hubble
66f581926e Merge pull request #204 from coreos/update-k8s
examples/k8s: Update k8s to v1.2.4 and openssl conf
2016-05-16 15:31:36 -07:00
Dalton Hubble
ce88b94b9f examples/k8s: Update k8s to v1.2.4_coreos.1
* Add missing kubernetes.default.svc alt names to openssl config
2016-05-16 14:59:10 -07:00
Dalton Hubble
e2c066d750 vendor: Bump protobuf, grpc, and generated code 2016-05-13 11:19:19 -07:00
Dalton Hubble
d4740e5036 Merge pull request #201 from coreos/godep-to-glide
vendor: Switch from godep to glide tool
2016-05-13 11:18:05 -07:00
Dalton Hubble
948c9d9233 vendor: Switch from godep to glide tool
* Use glide for dependency management
* https://github.com/coreos/docs/issues/775
2016-05-13 10:40:11 -07:00
Dalton Hubble
2c7c92b07e examples/etcd: Enable etcd strict reconfig check
* Don't allow etcd clusters to reconfigure themselves
to lose quorum
2016-05-11 16:23:30 -07:00
Dalton Hubble
ef06b87e3a scripts/libvirt: Add MAC addresses for internal purposes 2016-05-11 13:17:23 -07:00
Dalton Hubble
6d73c8d629 docs: Add IRC badge, update misc notes 2016-05-10 17:01:24 -07:00
Dalton Hubble
bded1da916 Merge pull request #198 from dgonyeo/master
docs/getting-started-rkt: the --insecure-options flag was unnecessary
2016-05-10 16:19:53 -07:00
Derek Gonyeo
213a766d4a docs/getting-started-rkt: the --insecure-options flag was unnecessary
The docs had the user skip image verification for an image pulled from
Quay, claiming that since Quay hosts docker images the image is
unsigned. This is true when fetching the docker file with "docker://",
but when an ACI is pulled from Quay (which it converts on the fly), the
ACI will be properly signed.
2016-05-10 19:08:15 -04:00
Dalton Hubble
16bc87c70a bootcfg/storage: Add Copy methods to Profile and Group 2016-05-10 15:37:03 -07:00
Dalton Hubble
53a97f2d17 bootcfg/version: Don't show version at / path
* Stop showing version hash at / path. If bootcfg were deployed
at a public endpoint, the version could be used by attackers to
find out-of-date deployments.
2016-05-10 15:03:15 -07:00
Dalton Hubble
86558b7851 Merge pull request #195 from coreos/fix-pxe-example
example: Revert ssh Ignition config change
2016-05-10 14:46:22 -07:00
Dalton Hubble
6211d2d390 example: Revert ssh Ignition config change
* Users try to use the latest reference example clusters with
a bootcfg v0.3.0 deployment, which did not yet support Ignition
2.0.0. Wait until closer to v0.4.0 to bump Ignition configs.
2016-05-10 14:31:20 -07:00
Dalton Hubble
91215fe197 Merge pull request #193 from coreos/grpc-client
bootcfg/client: Fix New error detection and add Close
2016-05-10 14:27:43 -07:00
Dalton Hubble
1a41114ccc bootcfg/client: Add gRPC client Close 2016-05-10 13:19:41 -07:00
Dalton Hubble
1ef3a57371 bootcfg/client: Return an error if no endpoints provided
* Client package's New should return an error if no endpoints
are provided when creating a gRPC client
2016-05-10 13:07:09 -07:00
Dalton Hubble
311e5fac1c Merge pull request #178 from coreos/ignition-upgrade
ignition: Allow Ignition V1/V2, ignore template file extension
2016-05-05 17:07:48 -07:00
Dalton Hubble
fb560dc79d vendor: Update Ignition dependency 2016-05-05 14:59:17 -07:00
Dalton Hubble
682bb72dde bootcfg/http: Allow Ignition 2.0.0 YAML
* Ignition 2.0.0 became available in CoreOS 1010.1.0
2016-05-05 14:59:15 -07:00
Dalton Hubble
d6e2d14560 bootcfg/http: Allow Ignition 2.0.0 JSON and arbitrary extensions
* Allow Ignition 2.0.0 JSON documents to be served
* Stop requiring Ignition templates to use file extensions to
specify their rendered format for parsing
2016-05-05 14:58:39 -07:00
Dalton Hubble
9fda4a1741 Merge pull request #187 from coreos/update-k8s
examples/profiles/k8s: Update k8s cluster to v1.2.3
2016-05-04 14:01:47 -07:00
Dalton Hubble
f607f61b8a examples/profiles/k8s: Update k8s cluster to v1.2.3 2016-05-04 11:54:27 -07:00
Dalton Hubble
02364998b4 Merge pull request #186 from coreos/add-uefi-libvirt
scripts/libvirt: Add UEFI grub VM setup and notes
2016-05-04 11:53:25 -07:00
Dalton Hubble
1d608fac59 scripts/libvirt: Add UEFI/GRUB VM setup and notes 2016-05-04 11:38:41 -07:00
Dalton Hubble
2860632d2c Merge pull request #185 from coreos/update-coreos
Update CoreOS version from alpha 983.0.0 to 1032.0.0
2016-05-04 10:58:32 -07:00
Dalton Hubble
20effb017d examples: Update CoreOS version to alpha 1032.0.0 2016-05-04 10:45:45 -07:00
Dalton Hubble
e035a01f86 Merge pull request #184 from coreos/remove-google-dns
Remove 8.8.8.8 from networkd example configs
2016-05-04 10:43:53 -07:00
Dalton Hubble
166beb0093 Remove 8.8.8.8 from networkd example configs
* Profiles should use only the user-provided DNS endpoint.
Adding 8.8.8.8 can cause inconsistent resolution and in some
setups, 8.8.8.8 is not routable.
2016-05-04 00:06:43 -07:00
Dalton Hubble
1bc2c51430 Merge pull request #183 from coreos/remove-k8s-version
examples/k8s: Remove k8s_version from machine metadata
2016-05-03 18:07:28 -07:00
Dalton Hubble
c2c29bb7ff examples/k8s: Remove k8s_version from machine metadata
* Setting k8s_version via metadata gives the impression
it can be bumped and the cluster will operate with the
desired version. In reality, the k8s profiles change in
minor but important ways which we validate between k8s
releases. It should be part of the k8s profile Ignition.
2016-05-03 15:54:46 -07:00
Dalton Hubble
dbd3795924 docs: Add missing metadata HTTP API endpoint docs 2016-05-02 15:24:53 -07:00
Dalton Hubble
ee4fff254d Merge pull request #181 from coreos/fix-dns
examples/groups/k8s: Fix DNS resolution in pods
2016-05-02 11:39:44 -07:00
Dalton Hubble
f615240b4f examples/groups/k8s: Fix DNS resolution in pods
* k8s worker nodes were provisioned with a typo'd DNS service
IP address (10.3.0.1 instead of 10.3.0.10) which caused DNS to
be misconfigured in pods
2016-05-01 23:57:00 -07:00
Dalton Hubble
589cd858bf Merge pull request #179 from coreos/add-kubernetes-tutorial
docs: Add Kubernetes tutorial as a spearate document
2016-04-29 14:58:13 -07:00
Dalton Hubble
86af1447bf docs: Add Kubernetes tutorial to separate document 2016-04-29 14:36:55 -07:00
Dalton Hubble
3cddd4bf16 Merge pull request #175 from coreos/update-diagram
docs: Remove cloud-config from machine lifecycle diagram
2016-04-27 11:08:27 -07:00
Dalton Hubble
d1d26c05ed docs: Remove cloud-config from machine lifecycle diagram
* coreos-baremetal no longer uses examples with cloud-config
so the diagram can be simplified to just show Ignition
2016-04-27 10:15:46 -07:00
Dalton Hubble
88c95d272f Merge pull request #174 from coreos/logging-and-version
Improvements to logging and version display
2016-04-26 21:48:45 -04:00
Dalton Hubble
3525abf84f bootcfg/version: Add version package and HTTP version output
* bootcfg/version package provides the linker's GIT SHA based
version to bootcfg components
* Display the bootcfg version via the HTTP server / path for
convenience and for validating a deployed version easily
* Log requests to the / rooted subtree paths to surface machines
which are making requests containing typos and mistakes that do
not match HTTP API endpoints
2016-04-26 18:21:59 -07:00
Dalton Hubble
f654879195 bootcfg/http: Fix http package log messages
* Package bootcfg/http logs show "api" which was the old
package name
2016-04-26 18:21:59 -07:00
Dalton Hubble
0d04785d39 contrib/k8s: Add bootcfg k8s deployment and service manifests
* Show Kubernetes deployment example with emptyDir volumes
2016-04-26 16:18:58 -07:00
Dalton Hubble
e31bcb4470 docs: Add rkt and Docker bootcfg deployment notes 2016-04-26 16:18:58 -07:00
Dalton Hubble
dc77940c48 examples: Add Self-hosted Kubernetes cluster example
* Use CoreOS bootkube tool to start control plane pods
2016-04-26 14:15:53 -07:00
Dalton Hubble
ddf2eb8c27 travis: Bump Go version from 1.6.1 to 1.6.2 2016-04-26 11:38:43 -07:00
Dalton Hubble
0730f8453e Merge pull request #172 from coreos/fix-serverpb-name
bootcfg/server/serverpb: Fix package name to be serverpb
2016-04-26 14:35:35 -04:00
Dalton Hubble
3c222f11f3 bootcfg/server/serverpb: Fix package name to be serverpb
* Use the same Go package name and import directory name
'serverpb'. The messagepb package inside serverpb folder
caused confusion.
2016-04-26 11:07:30 -07:00
Dalton Hubble
0bf18d7799 Merge pull request #160 from coreos/add-ignition-put-grpc
bootcfg/rpc: Add IgnitionPut endpoint to gRPC API
2016-04-20 13:38:05 -07:00
Dalton Hubble
8a846d2765 bootcfg/rpc: Add IgnitionPut endpoint to gRPC API
* Add `bootcmd ignition create -f file` CLI command
2016-04-20 13:27:33 -07:00
Joe Bowers
8ca0e50a40 Merge pull request #161 from coreos/crash-on-describe-nothing
bootcmd: fix index-out-of-range on nonsensical describe command
2016-04-20 13:24:57 -07:00
Joe Bowers
997064215d bootcmd: Fix index-out-of-range on describe subcommands 2016-04-20 13:18:57 -07:00
Dalton Hubble
cc4e6e1008 examples: Upgrade k8s from v1.2.0 to v1.2.2
* Change Heapster from a rc to a deployment
* Use the heapster-nanny resizer
2016-04-18 17:01:02 -07:00
Dalton Hubble
c30862dbad examples/ignition: Fix k8s-certs@.service file check
* In the k8s-install example, the k8s-certs@.service checks for
the wrong file and always attempts to curl TLS assets from bootcfg.
After restarts or auto-updates, if bootcfg is not running, the certs
are present on disk so the kubelet and k8s cluster operate normally,
while k8s-certs services fail (mostly harmless).
* Fixes k8s-certs@service failures after restarts when bootcfg is
unavailable. Provisioned nodes should not have a hard dependency on
bootcfg service.
2016-04-18 14:53:08 -07:00
Dalton Hubble
06d64cf998 Documentation,examples: Update GRUB netboot docs
* Bump pxe, pxe-disk, and grub examples from CoreOS
Alpha 962.0.0 to 983.0.0
2016-04-14 12:54:42 -07:00
Dalton Hubble
22a8aa416e Documentation/dev/release: Minor updates to release process 2016-04-14 11:36:30 -07:00
Dalton Hubble
d4afc6ae97 Documentation: Refresh documentation for v0.3.0 2016-04-14 10:18:16 -07:00
Justin Garrison
fcf68ce69c examples/groups: Remove unused k8s_service_ip metadata 2016-04-13 16:12:36 -07:00
Dalton Hubble
717c24854b build,travis: Build bootcfg with Go 1.6.1
* Upgrade from Go 1.5.3 to Go 1.6.1
2016-04-13 11:40:18 -07:00
Dalton Hubble
94ead0a1af bootcfg/http: Add selectors to template data
* Ignition and Cloud config templates can reference selector
key/value pairs by lowercase key name
* Metadata endpoint will provide metadata and selector key/val
pairs for the matching machine group
2016-04-12 16:51:44 -07:00
Dalton Hubble
0ffa17c12d Rename Group field requirements to selector
* Use label/selector terms for machine attribute labels and group
selectors requirements since it is familiar to many users
2016-04-12 13:32:46 -07:00
Dalton Hubble
9e5955e600 cmd/bootcfg: Allow bootcfg asset serving to be disabled
* Pass -assets-path="" to disable asset serving. Defaults to
/var/lib/bootcfg/assets.
2016-04-12 13:28:57 -07:00
Dalton Hubble
3e5115a6e0 bootcfg/: Rename and document packages with their purpose (#145) 2016-04-12 11:25:17 -07:00
Dalton Hubble
d54eb0447f examples: Start Heapster service by default in k8s 2016-04-11 18:19:28 -07:00
Dalton Hubble
1a8370a218 examples: Upgrade k8s from v1.1.8 to v1.2.0 2016-04-11 17:55:29 -07:00
Dalton Hubble
611b5853c7 vagrant: Purge docs which are no longer current 2016-04-08 13:54:37 -07:00
Dalton Hubble
b4f17a5669 examples: Add AWS EC2 etcd cluster example
* Set up the etcd nodes using the discovery endpoint
2016-04-08 13:49:12 -07:00
Dalton Hubble
69eb361b7c vet: Don't go get vet tool 2016-04-08 10:44:51 -07:00
Dalton Hubble
b02f91b550 Makefile: Update Makefile targets for systemd usage 2016-04-07 17:29:40 -07:00
Dalton Hubble
79fd3bf51a bootcfg/storage/storagepb: Add Group Normalize method
* All Groups retrieved from FileStore's GroupGet (via ParseGroup)
should have normalized selectors since end-users may write Group
definitions with MAC addresses which don't match Go's format
2016-04-07 15:07:57 -07:00
Dalton Hubble
eaaf3ac599 bootcfg/storage: Improve Group validation and tests 2016-04-07 14:13:13 -07:00
Dalton Hubble
9d5692c823 bootcfg/rpc: Add GroupPut to gRPC API and group create cmd
* Use hardcoded Group Id's for example groups so repeated
group creation overrides
2016-04-07 11:01:33 -07:00
Dalton Hubble
beab04dea4 docs: Update Groups docs and instructions for running examples
* Group definitions are now data. To run a particular example, mount a
provided examples/groups/some-example to /var/lib/bootcfg/groups
2016-04-06 11:09:03 -07:00
Dalton Hubble
4cdcbb1b8b *: Change default FileStore data location to /var/lib/bootcfg
* Change assets download location to examples/assets
* FileStore should default to /var/lib/bootcfg/{profiles,groups,
ignition,cloud}
* Assets location should default to /var/lib/bootcfg/assets
* Fix -rpcAddress flag to be -rpc-address
2016-04-05 18:09:18 -07:00
Dalton Hubble
300291780e tests: Fix marshal/unmarhal errors for Groups without metadata
* Expand the use of testfakes to decrease test fixture duplication
* Add test coverage for numbers and booleans in Group metadata
2016-04-05 17:14:38 -07:00
Dalton Hubble
373d27760a bootcfg/storage: Read groups from groups directory
* Split config.yaml files into JSON groups files
* Update examples to use folders of mountable groups files
* Stop reading groups from a -config config.yaml file
* Add RichGroup JSON <-> Protobuf Serialize Group
2016-04-05 14:10:44 -07:00
Dalton Hubble
b3110f9548 tests: Improve storage test coverage 2016-04-04 14:39:46 -07:00
Dalton Hubble
e5acb77c49 bootcfg/rpc: Convert errors to gRPC canonical errors in rpc pkg 2016-04-01 11:24:34 -07:00
Dalton Hubble
2647f4cb7c bootcfg/rpc: Move protobuf rpc services to rpcpb package
* Defining protobuf messages with protobuf rpc services resulted
in generated code which depended upon the gRPC package. This meant
the core server lib depended on gPRC and thus, so did the HTTP
server.
* Move rpc service protobuf definitions under bootcfg/rpc, so the
bootcfg/server package no longer depends on grpc.
2016-04-01 03:33:39 -07:00
Dalton Hubble
70fce2739b bootcft/server: Simplify responses from server lib
* Simplify server lib responses so HTTP server components don't
have to unwrap protobuf Response types intended for gRPC uses
* Wrap server lib responses in protobuf Response types in the
rpc package
2016-04-01 03:10:05 -07:00
Dalton Hubble
618ab7b969 bootcfg/api: Update HTTP server to use bootcfg shared server
* HTTP and gRPC servers share a core server lib, HTTP server should
not access the store directly
2016-03-31 17:01:05 -07:00
Dalton Hubble
ca91e37504 Merge pull request #126 from coreos/k8s-certgen
scripts: Simplify TLS scripts into k8s-certgen and generate kubeconfig
2016-03-31 13:03:37 -07:00
Dalton Hubble
e4f147b1f2 scripts: Simplify TLS scripts into k8s-certgen and generate kubeconfig
* Remove kubecfg-rkt and kubecfg-docker which used relative paths
2016-03-31 12:54:08 -07:00
Dalton Hubble
ac0e90585c Merge pull request #125 from coreos/diagram
docs: Add machine lifecycle diagram
2016-03-30 13:43:12 -07:00
Dalton Hubble
c8100d94fd docs: Add machine lifecycle diagram 2016-03-29 20:20:02 -07:00
Dalton Hubble
e88e249129 tests: Add storage/testfakes to de-duplicate fakes
* Multiple packages have a need to test with fake storage
components such as FixedStore and EmptyStore
2016-03-29 15:40:31 -07:00
Dalton Hubble
0a68eb7201 examples: Remove metadata service from etcd examples
* The etcd clusters use static address assignment so dynamic metadata
isn't needed for this case. Custom metadata is useful for fetching
custom data on each boot, to configure units.
2016-03-29 13:15:14 -07:00
Dalton Hubble
e0bfb3947b bootcfg/api,server: Refactor Group and Profile selection into server
* Add gRPC SelectGroup and SelectProfile service endpoints
* HTTP and gRPC servers should both allow labels to be resolved to the
matching Group or Profile. Move logic to bootcfg core server.
* Add gRPC wrapper selectServer to avoid cluttering core server with
response types which are currently only useful for gRPC
2016-03-28 17:10:59 -07:00
Dalton Hubble
beb1985b22 cli,server,storage: Allow creating profiles via gRPC and CLI 2016-03-25 16:29:20 -07:00
Dalton Hubble
4e563bbce3 filestore: Parse Profiles found in /etc/bootcfg/profiles
* FileStore should manage resources found in type named directories
since this is similar to a traditional table-DB layout and to how
an EtcdStore would work
2016-03-25 15:46:02 -07:00
Dalton Hubble
d72c136590 examples/profiles,bootcfg: Add basic profile validation and add profile names 2016-03-25 15:43:45 -07:00
Dalton Hubble
7d1fc770f4 tests: Improve bootcfg/storage test coverage 2016-03-25 15:43:44 -07:00
Dalton Hubble
3d07218a3f bootcfg/storage: Switch fileStore from http.Dir to custom Dir
* http.Dir securely restricts accesses to a filesystem directory to
support http FileServe, which is why this type was used previously
* Dir copies the sanatization behavior of http.Dir verbatim, but
provides ioutil-like write and directory access within the directory
* Why: Safe FileStore writes need to be possible and also, storage
should not have a dependency on net/http just for its http.Dir
2016-03-25 15:40:23 -07:00
Dalton Hubble
29ca0c69a4 Merge pull request #115 from coreos/port-to-ignition
Rewrite k8s-master and k8s-worker Profiles from cloud-config to Ignition
2016-03-23 14:15:30 -07:00
Dalton Hubble
50f6741eff examples: Use target and template units in k8s-{master,worker}
* Remove the Path Unit which curl'd 3 files, use a template unit
* Add a k8s-assets.target to simplify depending on fetched assets
2016-03-23 11:53:53 -07:00
Dalton Hubble
c0cf9c5c99 examples: Change /opt script file mode to 0544 2016-03-23 11:52:28 -07:00
Dalton Hubble
b3bac02a12 examples: Fix Kubelet path and service ordering
* Run k8stls.service to fetch TLS assets if path is missing
* Make Kubelet depend upon a kubelet.path path unit
* Fixes to file mode (octal allowed in YAML)
2016-03-22 22:54:52 -07:00
Dalton Hubble
093c738e8f examples: Remove old Kubernetes cloud-configs 2016-03-22 22:54:44 -07:00
Dalton Hubble
62d2b43fe1 examples: Update k8s-install config to use Ignition only
* Ignition is preferred over Cloud-Config
2016-03-22 22:54:44 -07:00
Dalton Hubble
ce806cb92a examples: Remove metadata agent from k8s-master and k8s-worker
* Clusters nodes are statically declared, no need to load dynamic
node metadata
2016-03-22 22:54:44 -07:00
Dalton Hubble
e1fd5dc699 examples: Rewrite k8s-master from cloud-config to Ignition 2016-03-22 22:54:44 -07:00
Dalton Hubble
a93885fdcc examples: Rewrite k8s-worker from cloud-config to Ignition 2016-03-22 22:54:44 -07:00
Dalton Hubble
ad5f6e0a72 scripts: Fold libvirt delete-disks into node destroy 2016-03-22 10:08:55 -07:00
Dalton Hubble
7732fa4d04 cmd/bootcmd: Add initial bootcmd CLI tool 2016-03-21 12:52:48 -07:00
Dalton Hubble
7a0d96344f vendor: Add github.com/spf13/cobra 2016-03-21 12:52:48 -07:00
Dalton Hubble
290be307ea examples: Add k8s install to disk example
* Install a Kubernetes cluster with 1 master, 2 workers
* Setup a 3 node etcd cluster and enable update-engine
* Include fleet on the cluster as well
2016-03-21 11:50:50 -07:00
Dalton Hubble
e43a018db3 Merge pull request #113 from coreos/multi-worker-k8s
Create k8s clusters with 3-node etcd, 2 workers, and fleet
2016-03-19 17:34:43 -07:00
Dalton Hubble
1004777a71 examples: Update etcd examples from beta 899.6.0 to alpha 983.0.0 2016-03-19 17:29:23 -07:00
Dalton Hubble
409e2d4fbb scripts/tls: Add example bare metal TLS generation script 2016-03-19 17:19:02 -07:00
Dalton Hubble
33dbd567ee examples: Inform k8s of all etcd nodes 2016-03-19 17:17:51 -07:00
Dalton Hubble
c5ea8362d3 examples: Update k8s to have 1 master, 2 workers
* Setup 3-node etcd cluster instead of dedicated etcd node
* Update certificate generation for workers on rkt/docker nets
* Add Tectonic Starter call to action
2016-03-19 16:56:51 -07:00
Dalton Hubble
a2e8f6756d scripts/get-coreos: Download CoreOS Alpha 962.0.0 2016-03-19 01:58:32 -07:00
Dalton Hubble
80a6f7448e Merge pull request #112 from coreos/k8s-v1.1.8
examples: Upgrade k8s to v1.1.8
2016-03-18 18:52:09 -07:00
Dalton Hubble
39c1c414d2 examples: Upgrade k8s to v1.1.8
* Upgrade CoreOS Version to Alpha 962.0.0
* rkt run kubelet with the kubelet-wrapper
* Switch to quay.io/coreos/hyperkube
* Provision an ext4 root partition
2016-03-18 17:36:44 -07:00
Dalton Hubble
bfc9b6806d Merge pull request #107 from coreos/rkt-dnsmasq
contrib/dnsmasq: Make coreos.com/dnsmasq:v0.2.0 rkt fetch-able
2016-03-18 13:25:40 -07:00
Dalton Hubble
044d277393 contrib/dnsmasq: Make coreos.com/dnsmasq rkt fetch-able
* Make ACI coreos.com/dnsmasq is available as v0.2.0
* Signed by the CoreOS Application Signing Key
2016-03-18 13:12:42 -07:00
Dalton Hubble
afe6da77b6 Merge pull request #110 from coreos/start-http-and-grpc
cmd/bootcfg: Start HTTP and gRPC(optional) via bootcfg binary
2016-03-17 16:42:58 -07:00
Dalton Hubble
3f7161fe33 cmd/bootcfg: Start HTTP and gRPC (optional) via bootcfg binary 2016-03-17 16:02:26 -07:00
Dalton Hubble
96c8c67975 Merge pull request #109 from coreos/fix-two-stage-install
examples: Fix 2-stage install CoreOS and etcd_proxy setup
2016-03-17 11:25:06 -07:00
Dalton Hubble
89ae6bb35d examples: Fix 2-stage CoreOS install example
* 4GB disk is too small and routinely fails in libvirt
* Depending on build env, dnsmasq ACI can have an old /etc/resolv.conf
DNS entry embedded. Can rebuild to fix, but use --dns=8.8.8.8 too
* Fix issue where etcd_proxy profile failed to pull metadata
so etcd_proxy wasn't configured after CoreOS install
2016-03-17 01:48:33 -07:00
Dalton Hubble
9461fc3ffa examples: Enable Fleet in etcd/etcd_proxy profiles 2016-03-16 23:42:51 -07:00
Dalton Hubble
b40bfa3193 contrib/dnsmasq: Bundle grub.efi in quay.io/coreos/dnsmasq
* Bundle grub.efi in coreos/dnsmasq so Docker users can test
GRUB netboot with UEFI clients
2016-03-15 18:22:23 -07:00
Dalton Hubble
0a84cbc7d3 docs: Update commands, add SSH keys notes, systemd notes 2016-03-15 17:58:27 -07:00
Dalton Hubble
e5641d9535 contrib/systemd: Add systemd build and deploy example
* docs: Compile bootcfg from source, start a systemd unit
* Install bootcfg static binary to /usr/local/bin
* Add default configs /etc/bootcfg.conf and /etc/bootcfg
2016-03-15 17:06:37 -07:00
Dalton Hubble
b4c33bac91 Merge pull request #104 from coreos/spec-rename
bootcfg/api,config: Rename Spec to Profile
2016-03-15 16:43:33 -07:00
Dalton Hubble
d2099f5a18 docs: Update docs to rename Spec to Profile 2016-03-15 16:09:34 -07:00
Dalton Hubble
5623fa1521 bootcfg/api,config: Rename Spec to Profile 2016-03-15 15:06:22 -07:00
Dalton Hubble
040665930d cmd, docs: Change default config, data, and assets locations
* Change default -config path to /etc/bootcfg.conf
* Change default -data-path to /etc/bootcfg
* Change default -assets-path to /var/bootcfg
2016-03-15 15:02:37 -07:00
Dalton Hubble
75de03bf8f vendor: Update google.golang.org/grpc dependency
* Codegen with latest gRPC adds a new compile-time assertion
2016-03-15 02:44:50 -07:00
Dalton Hubble
cdcf374341 changes.md: Update changelog notes 2016-03-11 13:07:23 -08:00
Dalton Hubble
76a703c7a4 Merge pull request #95 from coreos/grpc-migration
Support gRPC client and server with a backing storage.Store
2016-03-11 10:40:34 -08:00
Dalton Hubble
0d148581b9 bootcfg/api: Switch from api types to storagepb types
* Remove api.Store and use storagepb.Store instead
* Remove api.Spec and use storagepb.Profile instead
* Switch from api.Group to storagepb.Group
* Move api.Group to config for YAML config decoding only
2016-03-10 18:32:57 -08:00
Dalton Hubble
c98a0b74de bootcfg/api: Remove Labels and LabelSet 2016-03-10 11:55:18 -08:00
Dalton Hubble
7af69d46b0 bootcfg/storage: Make protobuf Groups deterministically sortable 2016-03-10 11:05:22 -08:00
Dalton Hubble
717a240b1d config: Add bytes JSON to storagepb.Group, parse YAML config
* Allow bootcfg groups metadata to be defined via YAML
* Convert YAML metadata to JSON bytes field in a protobuf message
* Strip metadata except strings, string slices, and string-keyed maps
with nesting
2016-03-09 16:28:16 -08:00
Dalton Hubble
81f7855099 api: Add initial GRUB config endpoint 2016-03-08 17:08:31 -08:00
Dalton Hubble
16f9bf9a8a config: Normalize MAC addresses from group requirements YAML 2016-03-08 08:53:07 -08:00
Dalton Hubble
701cc25ed3 examples: Correct wipeTable to wipe_table in YAML 2016-03-04 17:48:27 -08:00
Dalton Hubble
0dea713908 Merge pull request #81 from coreos/grpc-wip
Add initial bootcfg/client package for gRPC
2016-03-04 16:10:20 -08:00
Dalton Hubble
537ec181bf travis: Allow failures on Go tip 2016-03-04 14:44:50 -08:00
Dalton Hubble
e990320dae api,config,sign: Organize bootcfg packages together 2016-03-04 14:00:46 -08:00
Dalton Hubble
9a0de72de8 bootcfg: Add gRPC Profile service and types 2016-03-04 11:31:33 -08:00
Dalton Hubble
7433a9f25e vendor: Update deps and vendor grpc and protobuf 2016-03-04 11:31:33 -08:00
Dalton Hubble
798be8bdb8 bootcfg: Add bootcfg gRPC client and server packages
* Add standalone gRPC binary example
2016-03-04 11:31:33 -08:00
Dalton Hubble
091fba9354 docs: Show rkt trust, fetch, and run of signed ACI 2016-03-02 17:40:16 -08:00
Dalton Hubble
4a75013ef9 Merge pull request #75 from coreos/fix
travis: Add Go 1.6 to test matrix, change invalid MAC test
2016-03-01 12:45:38 -08:00
Dalton Hubble
95862cf26b travis,test: Add Go 1.6 to matrix, update invalid MAC test 2016-03-01 11:16:12 -08:00
Dalton Hubble
a0cb75041e scripts: Improve message for incorrect CoreOS channel/version 2016-02-25 11:44:44 -08:00
Dalton Hubble
6b330824c5 examples: Partition disk, root fs, and PXE with root fs 2016-02-24 17:04:21 -08:00
Dalton Hubble
41fe456d68 examples: Add CoreOS alpha single node PXE example 2016-02-24 14:01:05 -08:00
Dalton Hubble
48f507ba0d docs: Add Debian/Ubuntu docs in rkt and Docker starter tutorials 2016-02-24 10:05:26 -08:00
Dalton Hubble
fce6cacfef examples: Show CoreOS install using Ignition support
* Use the coreos-install -i option added in CoreOS alpha 949.0.0
* Download second stage Ignition config while in PXE first stage
* Resolves #46
2016-02-23 17:38:23 -08:00
Dalton Hubble
39ee9a067b Merge pull request #65 from coreos/fix-cni-bridge
examples: Fix CNI metal0's destination routes
2016-02-23 17:18:25 -08:00
Dalton Hubble
d614e7d80b examples: Fix CNI metal0's destination routes
* Supplied metal0 CNI definition restricted traffic destinations
to the metal0 bridge. Update to allow outbount traffic.
* Fixes the coreos-install example for use with rkt
2016-02-23 16:56:54 -08:00
Dalton Hubble
4ac6d07509 docs: Tweak a command in getting started with rkt 2016-02-22 15:44:14 -08:00
Dalton Hubble
f696eb6e73 docs: Fix shell variable in release process 2016-02-19 16:45:49 -08:00
Dalton Hubble
2a094261ce vendor: Update vendored dependencies 2016-02-16 16:15:40 -08:00
Dalton Hubble
3f369b59f9 docs: Add development and release docs
* Remove docs for Ignition fuze script which is
no longer used
2016-02-16 14:49:55 -08:00
Dalton Hubble
3174d2512c tests: Use Go 1.5 vendor experiment directory 2016-02-16 13:08:21 -08:00
Dalton Hubble
4d5128c89a dnsmasq: Pull tftp NBPs separately from image builds 2016-02-12 18:16:09 -08:00
Dalton Hubble
1ae5d113eb api: Add OpenPGP signature endpoints (.sig)
* Compliment the ASCII armored signature endpoints (.asc)
2016-02-11 10:23:30 -08:00
462 changed files with 11843 additions and 48851 deletions

View File

@@ -1,4 +1,3 @@
data/
Godeps/
assets/
vagrant/
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"

8
.gitignore vendored
View File

@@ -26,6 +26,10 @@ _testmain.go
*.test
*.prof
bin/
*.aci
assets/
*.aci
bin/
_output/
tools/
contrib/registry/data
contrib/rpm/*.tar.gz

View File

@@ -1,26 +0,0 @@
language: go
sudo: required
services:
- docker
go:
- 1.5.3
- tip
install:
- go get golang.org/x/tools/cmd/vet
- go get github.com/golang/lint/golint
- go get -v -t ./...
script:
- go test ./...
- go vet ./...
- golint ./...
- test -z "$(go fmt ./...)"
deploy:
provider: script
script: scripts/travis-docker-push
skip_cleanup: true
on:
branch: master
go: '1.5.3'
condition: "$TRAVIS_PULL_REQUEST = false"
notifications:
email: false

View File

@@ -1,14 +1,330 @@
# coreos-baremetal bootcfg
# Matchbox
Notable changes between releases.
## Latest
## 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)
#### Examples
* Add Kubernetes example with rkt container runtime (i.e. rktnetes)
* Upgrade Kubernetes v1.4.1 (static manifest) example clusters
* Upgrade Kubernetes v1.4.1 (rktnetes) example clusters
* Upgrade Kubernetes v1.4.1 (self-hosted) example cluster
* Add etcd3 example cluster (PXE in-RAM or install to disk)
* Use DNS names (instead of IPs) in example clusters (except bootkube)
## v0.4.0 (2016-07-21)
#### Features
* Add/improve rkt, Docker, Kubernetes, and binary/systemd deployment docs
* TLS Client Authentication:
* Add gRPC API TLS and TLS client-to-server authentication (#140)
* Enable gRPC API by providing a TLS server `-cert-file` and `-key-file`, and a `-ca-file` to authenticate client certificates
* Provide the `bootcmd` tool a TLS client `-cert-file` and `-key-file`, and a `-ca-file` to verify the server identity.
* Improvements to Ignition Support:
* Allow Fuze YAML template files for Ignition 2.0.0 (#141)
* Stop requiring Ignition templates to use file extensions (#176)
* Logging Improvements:
* 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)
* Templating:
* Allow query parameters to be used as template variables as `{{.request.query.foo}}` (#182)
* Support nested maps in responses from the "env file" metadata endpoint (#84)
* Error when a template is rendered with variables which are missing a referenced key. Previously, missing lookups defaulted to "no value" (#210)
* gRPC API
* Add DialTimeout to gRPC client config (#273)
* Add IgnitionPut and Close to the client (#160,#193)
#### Changes
* gRPC API requires TLS client authentication
* Replace Ignition YAML templates with Fuze templates
- Fuze formalizes the transform from Fuze configs (YAML) to Ignition 2.0.0 (JSON)
- [Migrate templates from v0.3.0](Documentation/ignition.md#migration-from-v030)
- Require CoreOS 1010.1.0 or newer
- Drop support for Ignition v1 format
* Replace template variable `{{.query}}` with `{{.request.raw_query}}`
#### Examples
* Kubernetes
* Upgrade Kubernetes v1.3.0 (static manifest) example clusters
* Add Kubernetes v1.3.0-beta.2 (self-hosted) example cluster
* Mount /etc/resolv.conf into host kubelet for skydns and pod DNS lookups (#237,#260)
* Fix a bug in the k8s example k8s-certs@.service file check (#156)
* Avoid systemd dependency failures by restarting components (#257,#274)
* Verify Kubernetes v1.2.4 and v1.3.0 clusters pass conformance tests (#71,#265)
* Add Torus distributed storage cluster example (PXE boot)
* Add `create-uefi` subcommand to `scripts/libvirt` for UEFI/GRUB testing
* Install CoreOS to disk from a cached copy via bootcfg baseurl (#228)
* Remove 8.8.8.8 from networkd example Ignition configs (#184)
* Match machines by MAC address in examples to simplify networkd device matching (#209)
* With rkt 1.8+, you can use `rkt gc --grace-period=0` to cleanup rkt IP assignments in examples. The `rkt-gc-force` script has been removed.
## v0.3.0 (2016-04-14)
#### Features
* Add server library package for implementing servers
* Add initial gRPC client/server and a CLI tool
- Allow listing, viewing, and creating Groups and Profiles
* Add initial Grub net boot support examples
* Add detached OpenPGP signature endpoints (`.sig`)
* Document deployment as a binary with systemd
* Upgrade from Go 1.5.3 to Go 1.6.1 (#139)
#### Changes
* Profiles
- Move Profiles to JSON files under `/var/lib/bootcfg/profiles`
- Rename `Spec` to `Profile` (#104)
* Groups
- Move Groups to JSON files under `/var/lib/bootcfg/groups`
- Require Group metadata to be valid JSON
- Rename Group field `spec` to `profile`
- Rename Group field `require` to `selector` (#147)
* Allow asset serving to be disabled with `-assets-path=""` (#118)
* Allow `selector` key/value pairs to be used in Ignition and Cloud config templates (#64)
* Change default `-data-path` to `/var/lib/bootcfg` (#132)
* Change default `-assets-path` to `/var/lib/bootcfg/assets` (#132)
* Change the default assets download location to `examples/assets`
* Stop parsing Groups from the `-config` YAML file. Remove the flag.
* Remove HTTP `/spec/id` JSON endpoint
#### Examples
* Convert all Cloud-Configs to Ignition
* Kubernetes
* Upgraded Kubernetes examples to v1.2.0 (#122)
* Run Heapster service by default (#142)
* Example multi-node Kubernetes cluster installed to disk
* Example multi-node etcd cluster installed to disk
* Example which PXE boots with or without a root partition
* Setup fleet in multi-node example clusters
## v0.2.0 (2016-02-09)
#### Features
* Render Ignition config and cloud-configs as Go templates
* Allow writing Ignition configs as YAML configs. Render as JSON for machines.
* Add detached OpenPGP signature endpoints (`.asc`) for all configs.
* Add ASCII armored detached OpenPGP signature endpoints (`.asc`)
- Enable signing by providing a `-key-ring-path` with a signing key and setting `BOOTCFG_PASSPHRASE` if needed
* Add `metadata` endpoint which matches machines to custom metadata
* Add `metadata` to group definitions in `config.yaml`

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,200 +0,0 @@
# API
## iPXE Script
Serves a static iPXE boot script which gathers client machine attributes and chainloads to the iPXE endpoint. Configure your DHCP server or iPXE server to boot from this script (e.g. set `dhcp-boot:dhcp-boot=tag:ipxe,http://bootcfg.domain.com/ipxe/boot.ipxe` if using `dnsmasq`).
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}
## iPXE
Finds the spec matching the attribute query parameters and renders the spec boot settings (kernel, options, initrd) as an iPXE script.
GET http://bootcfg.foo/ipxe
**Query Parameters**
| Name | Type | Description |
|------|--------|---------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
**Response**
#!ipxe
kernel /assets/coreos/899.6.0/coreos_production_pxe.vmlinuz cloud-config-url=http://bootcfg.foo:8080/cloud?uuid=${uuid}&mac=${net0/mac:hexhyp} coreos.autologin
initrd /assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz
boot
## Pixiecore
Finds the spec matching the attribute query parameters and renders the boot settings as JSON to implement the Pixiecore API [spec](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/899.6.0/coreos_production_pxe.vmlinuz",
"initrd":["/assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz"],
"cmdline":{
"cloud-config-url":"http://bootcfg.foo/cloud?mac=ADDRESS",
"coreos.autologin":""
}
}
## Cloud Config
Finds the spec matching the attribute query parameters and renders the corresponding cloud-config file.
GET http://bootcfg.foo/cloud
**Query Parameters**
| Name | Type | Description |
|------|--------|---------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
**Response**
#cloud-config
coreos:
units:
- name: etcd2.service
command: start
- name: fleet.service
command: start
## Ignition Config
Finds the spec matching the attribute query parameters and renders the corresponding Ignition config as JSON.
GET http://bootcfg.foo/ignition
**Query Parameters**
| Name | Type | Description |
|------|--------|---------------|
| uuid | string | Hardware UUID |
| mac | string | MAC address |
**Response**
{
"ignitionVersion": 1,
"storage": {},
"systemd": {
"units": [
{
"name": "hello.service",
"enable": true,
"contents": "[Service]\nType=oneshot\nExecStart=\/usr\/bin\/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
}
]
},
"networkd": {},
"passwd": {}
}
## OpenPGP Signatures
OpenPGPG signature endpoints serve ASCII armored detached signatures of rendered configs when signing is enabled. See [OpenPGP Signing](openpgp.md).
| Endpoint | ASCII Signature Endpoint |
|------------|-----------------|
| Ignition | `http://bootcfg.foo/ignition.asc` |
| Cloud-init | `http://bootcfg.foo/cloud.asc` |
| iPXE | `http://bootcfg.foo/boot.ipxe.asc` |
| iPXE | `http://bootcfg.foo/ipxe.asc` |
| Pixiecore | `http://bootcfg.foo/pixiecore/v1/boot.asc/:MAC` |
Get an Ignition config and its detached signature.
GET http://bootcfg.foo/ipxe?attribute=value
**Response**
#!ipxe
kernel /assets/coreos/899.6.0/coreos_production_pxe.vmlinuz cloud-config-url=http://bootcfg.foo:8080/cloud?uuid=${uuid}&mac=${net0/mac:hexhyp} coreos.autologin
initrd /assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz
boot
GET http://bootcfg.foo/ipxe.asc?attribute=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-----
```
## API Resources
### Specs
Get a `Spec` definition by id (UUID, MAC).
http://bootcfg.foo/spec/:id
**URL Parameters**
| Name | Type | Description |
|------|--------|-------------|
| id | string | spec identifier |
**Response**
```json
{
"id": "etcd",
"boot": {
"kernel": "/assets/coreos/899.6.0/coreos_production_pxe.vmlinuz",
"initrd": [
"/assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz"
],
"cmdline": {
"coreos.autologin": "",
"coreos.config.url": "http://bootcfg.foo:8080/ignition?uuid=${uuid}&mac=${net0/mac:hexhyp}",
"coreos.first_boot": ""
}
},
"cloud_id": "",
"ignition_id": "etcd.yaml"
}
```
## Assets
If you need to serve static assets (e.g. kernel, initrd), `bootcfg` can serve arbitrary assets from `-assets-path` at `/assets/`.
assets/
└── coreos
└── 835.9.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
└── 899.6.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz

View File

@@ -1,162 +0,0 @@
# bootcfg
`bootcfg` is an HTTP 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 clusters of CoreOS machines. The service maintains a list of **Specs** which are named sets of configuration data (e.g. Ignition config, cloud-config, kernel, initrd). When started, `bootcfg` loads a list of **Group** definitions, which match machines to Specs and metadata based on attributes (e.g. UUID, MAC address, stage) passed as query arguments.
The aim is to use CoreOS Linux's early-boot capabilities to boot machines into functional cluster members with end to end [Distributed Trusted Computing](https://coreos.com/blog/coreos-trusted-computing.html). PXE, iPXE, and [Pixiecore](https://github.com/danderson/pixiecore/blob/master/README.api.md) endpoints provide support for network booting. The `bootcfg` service can be run as an [application container](https://github.com/appc/spec) with rkt, as a Docker container, or as a binary.
## Usage
Fetch the application container image (ACI) from [Quay](https://quay.io/repository/coreos/bootcfg?tab=tags).
sudo rkt --insecure-options=image fetch docker://quay.io/coreos/bootcfg
Alternately, pull the Docker image.
sudo docker pull quay.io/coreos/bootcfg
The `latest` image corresponds to the most recent commit on master, so choose a tagged [release](https://github.com/coreos/coreos-baremetal/releases) if you require more stability.
Get started running `bootcfg` with rkt or Docker to network boot libvirt VMs on your laptop into CoreOS clusters.
* [Getting Started with rkt](getting-started-rkt.md)
* [Getting Started with Docker](getting-started-docker.md)
Once you've tried those examples, you're ready to write your own configs.
## Data
A `Store` stores Ignition configs, cloud-configs, and named Specs. By default, `bootcfg` uses a `FileStore` to search a data directory (`-data-path`) for these resources.
Prepare a data directory similar to the [examples](../examples) directory, with `ignition`, `cloud`, and `specs` subdirectories. You might keep this directory under version control since it will define the early boot behavior of your machines.
data
├── config.yaml
├── cloud
│   ├── cloud.yaml
│   └── worker.sh
├── ignition
│   └── hello.json
│   └── etcd.yaml
│   └── simple_networking.yaml
└── specs
└── etcd
└── spec.json
└── worker
└── spec.json
Ignition files can be JSON files or Ignition YAML. Cloud-Configs can be YAML or scripts. Both may contain may contain [Go template](https://golang.org/pkg/text/template/) elements which will be evaluated with [metadata](#groups-and-metadata). For details and examples:
* [Ignition Config](ignition.md)
* [Cloud-Config](cloud-config.md)
#### Spec
Specs specify the Ignition config, cloud-config, and PXE boot settings (kernel, options, initrd) of a matched machine.
{
"id": "etcd_profile",
"cloud_id": "",
"ignition_id": "etcd.yaml",
"boot": {
"kernel": "/assets/coreos/899.6.0/coreos_production_pxe.vmlinuz",
"initrd": ["/assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz"],
"cmdline": {
"cloud-config-url": "http://bootcfg.foo/cloud?uuid=${uuid}&mac=${net0/mac:hexhyp}",
"coreos.autologin": "",
"coreos.config.url": "http://bootcfg.foo/ignition?uuid=${uuid}&mac=${net0/mac:hexhyp}",
"coreos.first_boot": "1"
}
}
}
The `"boot"` settings will be used to render configs to the network boot programs used in PXE, iPXE, or Pixiecore setups. You may reference remote kernel and initrd assets or [local assets](#assets).
To use cloud-config, set the `cloud-config-url` kernel option to the `bootcfg` [Cloud-Config endpoint](api.md#cloud-config) `/cloud?param=val`, which will render the `cloud_id` file.
To use Ignition, set the `coreos.config.url` kernel option to the `bootcfg` [Ignition endpoint](api.md#ignition-config) `/ignition?param=val`, which will render the `ignition_id` file. Be sure to add the `coreos.first_boot` option as well.
## Groups and Metadata
Groups define a set of required tags which match zero or more machines. Machines matching a group will boot and provision themselves according to the group's `spec` and metadata. Currently, `bootcfg` loads group definitions from a YAML config file specified by the `-config` flag. When running `bootcfg` as a container, it is easiest to keep the config file in the [data](#data) directory so it is mounted and versioned.
Define a list of named groups, name the `Spec` that should be applied, add the tags required to match the group, and add your own `metadata` needed to render your Ignition or Cloud configs.
Here is an example `bootcfg` config.yaml:
---
api_version: v1alpha1
groups:
- name: default
spec: discovery
- name: Worker Node
spec: worker
require:
region: us-central1-a
zone: a
- name: etcd Node 1
spec: etcd
require:
uuid: 16e7d8a7-bfa9-428b-9117-363341bb330b
metadata:
networkd_name: ens3
networkd_gateway: 172.15.0.1
networkd_dns: 172.15.0.3
networkd_address: 172.15.0.21/16
ipv4_address: 172.15.0.21
etcd_name: node1
etcd_initial_cluster: "node1=http://172.15.0.21:2380"
ssh_authorized_keys:
- "ssh-rsa pub-key-goes-here"
- name: etcd Proxy
spec: etcd_proxy
require:
mac: 52:54:00:89:d8:10
metadata:
etcd_initial_cluster: "node1=http://172.15.0.21:2380"
Requirements are AND'd together and evaluated from most constraints to least, in a deterministic order. For most endpoints, "tags" correspond to query arguments in machine requests. Machines are free to query `bootcfg` with additional information (query arguments) about themselves, but they must supply the required set of tags to match a group.
For example, a request to `/cloud?mac=52:54:00:89:d8:10` would render the cloud-config named in "etcd_proxy" `Spec` with the etcd proxy metadata. A request to `/cloud` would match the default group (which has no requirements) and serve the cloud-config from the "discovery" `Spec`. Avoid defining multiple default groups as resolution will not be deterministic.
### Reserved Attributes
The following attributes/tags have reserved semantic purpose. Do not use these tags for other purposes as they may be normalized or parsed specially.
* `uuid` - machine UUID
* `mac` - network interface physical address (MAC address)
* `hostname`
* `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. Pixiecore which can only detect MAC addresss and cannot substitute it into later config requests ([issue](https://github.com/coreos/coreos-baremetal/issues/36)).
## Assets
`bootcfg` can serve static assets from the `-assets-path` at `/assets`. This is helpful for reducing bandwidth usage when serving the kernel and initrd to network booted machines.
Run the `get-coreos` script to quickly download kernel and initrd image assets.
./scripts/get-coreos # beta, 899.6.0
./scripts/get-coreos alpha 942.0.0
This will create:
assets/
└── coreos
└── 899.6.0
├── coreos_production_pxe.vmlinuz
└── coreos_production_pxe_image.cpio.gz
To reference local assets, change `kernel` and `initrd` in a `Spec` from `http://stable.release.core-os.net/amd64-usr/current/coreos_production_pxe.vmlinuz` to `/assets/coreos/899.6.0/coreos_production_pxe.vmlinuz`, for example.
## Endpoints
The [API](api.md) documents the available endpoints.
## Network
`bootcfg` does not implement a DHCP/TFTP server or monitor running instances. If you need a quick DHCP, proxyDHCP, TFTP, or DNS setup, the [coreos/dnsmasq](../contrib/dnsmasq) image can create a suitable network boot environment on a virtual or physical network. Use `--net` to specify a network bridge and `--dhcp-boot` to point clients to `bootcfg`.
## Virtual and Physical Machine Guides
Next, setup a network of virtual machines with libvirt or boot a cluster of physical hardware. Follow the [libvirt guide](virtual-hardware.md) or [physical hardware guide](physical-hardware.md).

View File

@@ -1,67 +0,0 @@
# Cloud Config
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 files and scripts can be added in a `cloud` subdirectory of the `bootcfg` data directory. The files may contain [Go template](https://golang.org/pkg/text/template/) elements which will be rendered with `metadata` when served.
data/
├── cloud
│   ├── cloud.yaml
│   ├── kubernetes-master.sh
│   └── kubernetes-worker.sh
├── ignition
└── specs
Add a cloud-config to a `Spec` by adding the `cloud_id` field. When PXE booting, use the kernel option `cloud-config-url` to point to `bootcfg` cloud config endpoint.
spec.json:
{
"id": "worker_profile",
"cloud_id": "worker.yaml",
"ignition_id": "",
"boot": {
"kernel": "/assets/coreos/899.6.0/coreos_production_pxe.vmlinuz",
"initrd": ["/assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz"],
"cmdline": {
"cloud-config-url": "http://bootcfg.foo/cloud?uuid=${uuid}&mac=${net0/mac:hexhyp}"
}
}
}
## Configs
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}}
### Examples
See [examples/cloud](../examples/cloud) for example cloud-config files.
### Validator
The cloud-config [validator](https://coreos.com/validate/) is useful for checking your cloud-config files for errors.
## Endpoint
The `bootcfg` [cloud-config endpoint](api.md#cloud-config) `/cloud?param=val` endpoint matches parameters to a machine `Spec` and renders the corresponding cloud-config with `metadata`.
## Comparison with Ignition
Cloud-Config starts after userspace has started and runs on every boot. Ignition starts earlier and only runs on the first boot to provision disk state. Often, tasks do not need to be repeated on each boot (e.g. writing systemd unit files) and can be performed more easily before systemd starts (e.g. configuring networking). Ignition is recommended unless a task requires re-execution on each boot.
If a service needs to be started with dynamic data, a good approach is to use Ignition to write static files which leverage systemd's environment file expansion and start a metadata service to fetch runtime data for services which require it.

View File

@@ -1,31 +0,0 @@
# Flags and Variables
Configuration arguments can be provided as flags or as environment variables.
| flag | variable | example |
|------|----------|---------|
| -address | BOOTCFG_ADDRESS | 0.0.0.0:8080 |
| -config | BOOTCFG_CONFIG | ./data/config.yaml |
| -data-path | BOOTCFG_DATA_PATH | ./data |
| -assets-path | BOOTCFG_ASSETS_PATH | ./assets |
| -key-ring-path | BOOTCFG_KEY_RING_PATH | ~/.secrets/vault/bootcfg/secring.gpg |
| Disallowed | BOOTCFG_PASSPHRASE | secret passphrase |
| -log-level | BOOTCFG_LOG_LEVEL | critical, error, warning, notice, info, debug |
## Examples
Build the static binary.
./build
Run
./bin/bootcfg -address=0.0.0.0:8080 -log-level=debug -data-path examples/ -config examples/etcd-rkt.yaml
Run with a fake signing key.
export BOOTCFG_PASSPHRASE=test
./bin/bootcfg -address=0.0.0.0:8080 -key-ring-path sign/fixtures/secring.gpg -data-path examples/ -config examples/etcd-rkt.yaml

View File

@@ -1,72 +0,0 @@
# Getting Started with Docker
Get started with `bootcfg` on your Linux machine with Docker. If you're ready to try [rkt](https://coreos.com/rkt/docs/latest/), see [Getting Started with rkt](getting-started-rkt.md).
In this tutorial, we'll run `bootcfg` to boot and provision a cluster of four VM machines on the `docker0` bridge. You'll be able to boot etcd clusters, Kubernetes clusters, and more, while testing different network setups.
## Requirements
Install the dependencies.
sudo dnf install virt-install docker virt-manager
sudo systemctl start docker
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
Create four VM nodes which have known hardware attributes. The nodes will be attached to the `docker0` bridge where your containers run.
sudo ./scripts/libvirt create-docker
Download the CoreOS PXE image assets to `assets/coreos`. The examples instruct machines to load these from the Config server, though you could change this.
./scripts/get-coreos
## Containers
Run `bootcfg` on the default bridge `docker0`. The bridge should assign it the IP 172.17.0.2 (`sudo docker network inspect bridge`).
sudo docker run -p 8080:8080 --rm -v $PWD/examples:/data:Z -v $PWD/assets:/assets:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug -config /data/etcd-docker.yaml
Take a look at [etcd-docker.yaml](../examples/etcd-docker.yaml) to get an idea of how machines are matched to specifications. Explore some endpoints port mapped to localhost:8080.
* [node1's ipxe](http://127.0.0.1:8080/ipxe?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
* [node1's Ignition](http://127.0.0.1:8080/ignition?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
* [node1's Metadata](http://127.0.0.1:8080/metadata?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
Since the virtual network has no network boot services, use the `dnsmasq` container to set up an example iPXE environment which runs DHCP, DNS, and TFTP. The `dnsmasq` container can help test different network setups.
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
In this case, it 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`.
## Verify
Reboot the VM machines and use `virt-manager` to watch the console.
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt start
At this point, the VMs will PXE boot and use Ignition (preferred over cloud config) to set up a three node etcd cluster, with other nodes behaving as etcd proxies.
On VMs with autologin, check etcd2 works between different nodes.
systemctl status etcd2
etcdctl set /message hello
etcdctl get /message
Clean up the VM machines.
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt destroy
sudo ./scripts/libvirt delete-disks
## Going Further
Explore the [examples](../examples). Try the `k8s-docker.yaml` [example](../examples/README.md#kubernetes) to produce a TLS-authenticated Kubernetes cluster you can access locally with `kubectl`.
Learn more about [bootcfg](bootcfg.md), enable [OpenPGP signing](openpgp.md), or adapt an example for your own [physical hardware](physical-hardware.md) and network.

View File

@@ -1,112 +0,0 @@
# Getting Started with rkt
Get started with `bootcfg` on your Linux machine with rkt, CNI, and appc.
In this tutorial, we'll run `bootcfg` to boot and provision a cluster of four VM machines on a CNI bridge (`metal0`). You'll be able to boot etcd clusters, Kubernetes clusters, and more, while testing different network setups.
## Requirements
**Note**: Currently, rkt and the Fedora/RHEL/CentOS SELinux policies aren't supported. See the [issue](https://github.com/coreos/rkt/issues/1727) tracking the work and policy changes. To test these examples on your laptop, set SELinux enforcement to permissive if you are comfortable (`sudo setenforce 0`). Enable it again when you are finished.
Install [rkt](https://github.com/coreos/rkt/releases), [acbuild](https://github.com/appc/acbuild), and package dependencies.
sudo dnf install virt-install virt-manager
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 the CoreOS PXE image assets to `assets/coreos`. The examples instruct machines to load these from the Config server, though you could change this.
./scripts/get-coreos
Define the `metal0` virtual bridge with [CNI](https://github.com/appc/cni).
```bash
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" : "172.15.0.0/16" } ]
}
}
EOF'
```
## Application Container
Run `bootcfg` on the `metal0` network, with a known IP we'll use in later steps with DNS.
sudo rkt trust --prefix quay.io/coreos
sudo rkt --insecure-options=image fetch docker://quay.io/coreos/bootcfg
Currently, the insecure flag is needed since Docker images do not support signature verification. We'll ship an ACI soon to address this.
sudo rkt run --net=metal0:IP=172.15.0.2 --mount volume=assets,target=/assets --volume assets,kind=host,source=$PWD/assets --mount volume=data,target=/data --volume data,kind=host,source=$PWD/examples quay.io/coreos/bootcfg -- -address=0.0.0.0:8080 -log-level=debug -config /data/etcd-rkt.yaml
If you get an error about the IP assignment, garbage collect old pods.
sudo rkt gc --grace-period=0
Take a look at [etcd-rkt.yaml](../examples/etcd-rkt.yaml) to get an idea of how machines are matched to specifications. Explore some endpoints exposed by the service.
* [node1's ipxe](http://172.15.0.2:8080/ipxe?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
* [node1's Ignition](http://172.15.0.2:8080/ignition?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
* [node1's Metadata](http://172.15.0.2:8080/metadata?uuid=16e7d8a7-bfa9-428b-9117-363341bb330b)
## Client VMs
Create four VM nodes which have known hardware attributes. The nodes will be attached to the `metal0` bridge where your pods run.
sudo ./scripts/libvirt create-rkt
## Network
In your **Firewall Configuration**, add the `metal0` interface to the trusted zone.
Since the virtual network has no network boot services, use the `dnsmasq` ACI to set up an example iPXE environment which runs DHCP, DNS, and TFTP. The `dnsmasq` container can help test different network setups.
Build the `dnsmasq.aci` ACI.
cd contrib/dnsmasq
sudo ./build-aci
Run `dnsmasq.aci` to create a DHCP and TFTP server pointing to config server.
sudo rkt --insecure-options=image run dnsmasq.aci --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-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
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`.
## Verify
Reboot the VM machines and use `virt-manager` to watch the console.
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt start
At this point, the VMs will PXE boot and use Ignition (preferred over cloud config) to set up a three node etcd cluster, with other nodes behaving as etcd proxies.
On VMs with autologin, check etcd2 works between different nodes.
systemctl status etcd2
etcdctl set /message hello
etcdctl get /message
Press ^] three times to stop a rkt pod. Clean up the VM machines.
sudo ./scripts/libvirt poweroff
sudo ./scripts/libvirt destroy
sudo ./scripts/libvirt delete-disks
## Going Further
Explore the [examples](../examples). Try the `k8s-rkt.yaml` [example](../examples/README.md#kubernetes) to produce a TLS-authenticated Kubernetes cluster you can access locally with `kubectl`.
Learn more about [bootcfg](bootcfg.md), enable [OpenPGP signing](openpgp.md), or adapt an example for your own [physical hardware](physical-hardware.md) and network.

View File

@@ -1,106 +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 formatting partitions, writing files (systemd units, networkd units, dropins, regular files), and configuring users. See the Ignition [docs](https://coreos.com/ignition/docs/latest/) for details.
Ignition template files can be added in an `ignition` subdirectory of the `bootcfg` data directory. The files may contain [Go template](https://golang.org/pkg/text/template/) elements which should evaluate, with `metadata`, to Ignition JSON or to Ignition YAML (which will be rendered as JSON).
data
├── cloud
├── ignition
│   └── simple.json
│   └── etcd.yaml
│   └── etcd_proxy.yaml
│   └── networking.yaml
└── specs
Add an Ignition config to a `Spec` by adding the `ignition_id` field. When PXE booting, use the kernel option `coreos.first_boot=1` and `coreos.config.url` to point to the `bootcfg`ignition endpoint.
spec.json:
{
"id": "etcd_profile",
"boot": {
"kernel": "/assets/coreos/899.6.0/coreos_production_pxe.vmlinuz",
"initrd": ["/assets/coreos/899.6.0/coreos_production_pxe_image.cpio.gz"],
"cmdline": {
"coreos.config.url": "http://bootcfg.foo/ignition?uuid=${uuid}&mac=${net0/mac:hexhyp}",
"coreos.first_boot": "1"
}
},
"cloud_id": "",
"ignition_id": "etcd.yaml"
}
## Configs
Here is an example Ignition config for static networking, which will be evaluated with metadata into YAML and tranformed into machine-friendly JSON.
ignition/network.yaml:
---
ignition_version: 1
networkd:
units:
- name: 00-{{.networkd_name}}.network
contents: |
[Match]
Name={{.networkd_name}}
[Network]
Gateway={{.networkd_gateway}}
DNS={{.networkd_dns}}
DNS=8.8.8.8
Address={{.networkd_address}}
{{ if .ssh_authorized_keys }}
passwd:
users:
- name: core
ssh_authorized_keys:
{{ range $element := .ssh_authorized_keys }}
- {{$element}}
{{end}}
{{end}}
Response from `/ignition?mac=address` for a particular machine.
{
"ignitionVersion": 1,
"storage": {},
"systemd": {},
"networkd": {
"units": [
{
"name": "00-ens3.network",
"contents": "[Match]\nName=ens3\n[Network]\nGateway=172.15.0.1\nDNS=172.15.0.3\nDNS=8.8.8.8\nAddress=172.15.0.21/16\n"
}
]
},
"passwd": {}
}
Note that Ignition does **not** allow variables - the response has been fully rendered with `metadata` for the requesting machine.
Ignition configs can be provided directly as JSON as well. This is useful for simple cases or if you prefer to use your own templating solution to generate Ignition configs.
ignition/run-hello.json:
{
"ignitionVersion": 1,
"systemd": {
"units": [
{
"name": "hello.service",
"enable": true,
"contents": "[Service]\nType=oneshot\nExecStart=/usr/bin/echo Hello World\n\n[Install]\nWantedBy=multi-user.target"
}
]
}
}
### Examples
See [examples/ignition](../examples/ignition) for example Ignition configs which setup networking, install CoreOS to disk, or start etcd.
## Endpoint
The `bootcfg` [Ignition endpoint](api.md#ignition-config) `/ignition?param=val` endpoint matches parameters to a machine `Spec` and renders the corresponding Ignition config with `metadata`, transforming YAML to JSON if needed.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,97 +0,0 @@
# Network Boot Environments
These guides walk through booting and configuring CoreOS on real or virtual hardware on your network. This introductory document reviews network booting protocols and the requirments of your network environment.
Once you've reviewed the protocols, you'll be ready to [get started](getting-started-rkt.md) serving configs to machines during boot with [bootcfg](bootcfg.md).
## PXE
The Preboot eXecution Environment (PXE) defines requirements for consistent, hardware-independent network-based machine booting and configuration. Formally, PXE specifies pre-boot protocol services that client NIC firmware must provide (DHCP, TFTP, UDP/IP), specifies boot firmware requirements, and defines a client-server protocol for obtaining a network boot program (NBP) which automates OS installation and configuration.
<img src='img/pxelinux.png' class="img-center" alt="Basic PXE client server protocol flow"/>
At power-on, if a client machine's BIOS or UEFI boot firmware is set to perform network booting, the network interface card's PXE firmware broadcasts a DHCPDISCOVER packet identifying itself as a PXEClient to the network environment.
The network environment can be set up in a number of ways, which we'll discuss. In the simplest, a PXE-enabled DHCP Server responds with a DHCPOFFER with Options, which include a TFTP server IP ("next server") and the name of an NBP ("boot filename") to download (e.g. pxelinux.0). PXE firmware then downloads the NBP over TFTP and starts it. Finally, the NBP loads configs, scripts, and/or images it requires to run an OS.
### Network Boot Programs
Machines can be booted and configured with CoreOS using several network boot programs and approaches. Let's review them. If you're new to network booting or unsure which to choose, iPXE is a reasonable and flexible choice.
#### PXELINUX
[PXELINUX](http://www.syslinux.org/wiki/index.php/PXELINUX) is a common network boot program which loads a config file from `mybootdir/pxelinux.cfg/` over TFTP. The file is chosen based on the client's UUID, MAC address, IP address, or a default.
mybootdir/pxelinux.cfg/b8945908-d6a6-41a9-611d-74a6ab80b83d
mybootdir/pxelinux.cfg/default
Here is an example PXE config file which boots a CoreOS image hosted on the TFTP server.
```
default coreos
prompt 1
timeout 15
display boot.msg
label coreos
menu default
kernel coreos_production_pxe.vmlinuz
append initrd=coreos_production_pxe_image.cpio.gz cloud-config-url=http://example.com/pxe-cloud-config.yml
```
PXELINUX then downloads the specified kernel and init RAM filesystem images with TFTP.
This approach has a number of drawbacks. TFTP can be slow, managing config files can be tedious, and using different ignition or cloud configs on different machines requires separate pxelinux configs. These limitations spurred the development of various enhancements to PXE, discussed next.
In these guides, PXE is used to load the iPXE boot file so iPXE can chainload config scripts and HTTP images over HTTP. Continue to the [libvirt guide](virtual-hardware.md) or the [baremetal guide](physical-hardware.md) to boot PXE clients by chainloading iPXE. Consult [CoreOS with PXE](https://coreos.com/os/docs/latest/booting-with-pxe.html) for details about CoreOS support for PXE.
#### iPXE
[iPXE](http://ipxe.org/) is an enhanced implementation of the PXE client firmware and a network boot program which uses iPXE scripts rather than config files and can download scripts and images with HTTP.
<img src='img/ipxe.png' class="img-center" alt="iPXE client server protocol flow"/>
A DHCPOFFER to iPXE client firmware specifies an HTTP boot script such as `http://bootcfg.foo/boot.ipxe`.
Here is an example iPXE script for booting the remote CoreOS stable image.
```
#!ipxe
set base-url http://stable.release.core-os.net/amd64-usr/current
kernel ${base-url}/coreos_production_pxe.vmlinuz cloud-config-url=http://provisioner.example.net/cloud-config.yml
initrd ${base-url}/coreos_production_pxe_image.cpio.gz
boot
```
A TFTP server is used only to provide the `undionly.kpxe` boot program to older PXE firmware in order to bootstrap into iPXE.
CoreOS `bootcfg` can render signed iPXE scripts to machines based on their hardware attributes. Setup involves configuring your DHCP server to point iPXE clients to the `bootcfg` [iPXE endpoint](api.md#ipxe).
Continue to the [libvirt guide](virtual-hardware.md) or the [baremetal guide](physical-hardware.md) to use iPXE to boot PXE/iPXE client machines. Consult [CoreOS with iPXE](https://coreos.com/os/docs/latest/booting-with-ipxe.html) for details about CoreOS support for iPXE.
#### Pixiecore
[Pixiecore](https://github.com/danderson/pixiecore) is a newer service which implements a proxyDHCP server, TFTP server, and HTTP server all-in-one and calls through to an HTTP API. CoreOS `bootcfg` can serve Pixiecore JSON (optionally signed) based on the supplied MAC address, to implement the Pixiecore HTTP API.
Continue to the [libvirt guide](virtual-hardware.md) to use Pixiecore to network boot PXE client machines.
## Network Environments
### DHCP
Many networks have DHCP services which are impractical to modify or disable. Corporate DHCP servers are governed by network admin policies and home/office networks often have routers running a DHCP service which cannot supply PXE options to PXE clients.
To address this, PXE client firmware listens for DHCPOFFERs from a non-PXE DHCP server *and* a PXE-enabled **proxyDHCP server** configured to respond with the next server and boot filename only. Client firmware combines the two responses as if they had come from a single PXE-enabled DHCP server.
<img src='img/proxydhcp.png' class="img-center" alt="DHCP and proxyDHCP responses are merged to get PXE Options"/>
The [libvirt guide](virtual-hardware.md) shows how to setup a network environment with a standalone PXE-enabled DHCP server or with a separate DHCP server and proxyDHCP server.
The [baremetal guide](physical-hardware.md) shows how to check your network environment and run either a standalone PXE-enabled DHCP server, a proxyDHCP server to compliment your existing network DHCP service, or configure existing services.
## Configuration Service
Now that you understand network booting protocols [get started](getting-started-rkt.md) serving configs to machines during boot with [bootcfg](bootcfg.md).

View File

@@ -1,65 +0,0 @@
# OpenPGP Signing
The `bootcfg` OpenPGP signature endpoints serve ASCII armored detached signatures of rendered configs, if enabled. Each config endpoint has a corresponding signature endpoint, usually suffixed by `.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 | ASCII Signature Endpoint |
|------------|-----------------|
| Ignition | `http://bootcfg.foo/ignition.asc` |
| Cloud-init | `http://bootcfg.foo/cloud.asc` |
| iPXE | `http://bootcfg.foo/boot.ipxe.asc` |
| iPXE | `http://bootcfg.foo/ipxe.asc` |
| Pixiecore | `http://bootcfg.foo/pixiecore/v1/boot.asc/:MAC` |
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 used only for config signing, which can be revoked by a master if needed.
To try it locally, you may use the test fixture keyring. **Warning: The test fixture keyring is for examples only.**
**Binary**
export BOOTCFG_PASSPHRASE=test
./bin/bootcfg -address=0.0.0.0:8080 -key-ring-path sign/fixtures/secring.gpg -config examples/etcd-rkt.yaml -data-path examples/
**rkt**
sudo rkt run --set-env=BOOTCFG_PASSPHRASE=test --mount volume=secrets,target=/secrets --volume secrets,kind=host,source=$PWD/sign/fixtures --mount volume=assets,target=/assets --volume assets,kind=host,source=$PWD/assets --mount volume=data,target=/data --volume data,kind=host,source=$PWD/examples quay.io/coreos/bootcfg -- -address=0.0.0.0:8080 -config /data/etcd-rkt.yaml -key-ring-path secrets/secring.gpg
**docker**
sudo docker run -p 8080:8080 --rm --env BOOTCFG_PASSPHRASE=test -v $PWD/examples:/data:Z -v $PWD/assets:/assets:Z -v $PWD/sign/fixtures:/secrets:Z quay.io/coreos/bootcfg:latest -address=0.0.0.0:8080 -config=/data/etcd-docker.yaml -key-ring-path secrets/secring.gpg
## 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,103 +0,0 @@
# CoreOS on Baremetal/Physical Hardware
Physical or baremetal hardware can be booted and configured with CoreOS by PXE, iPXE, and Pixiecore network environments. This guide will show how to setup and test network boot environments with physical clients.
DHCP, TFTP, and HTTP services can run on separate network hosts or on the same host in PXE network environments. We'll focus on configuring a single *provisioner* Linux host to run these services as containers.
## Requirements
Client hardware boot firmware must support PXE or iPXE and the client must have at least one PXE-capable network interface. Most boot firmware and network cards support PXE so you're probably ok.
## Inspect
Identify whether the network runs a DHCP service which can be configured or whether you'll need to run a proxyDHCP service. Check a host's routing table to find the gateway where DHCP is likely to be running.
route -n # e.g. Gateway 192.168.1.1
## bootcfg
Set up `bootcfg` according to the [docs](bootcfg.md). Pull the `coreos/bootcfg` image, prepare a data volume with `Machine` definitions, `Spec` definitions and ignition/cloud configs. Optionally, include a volume of downloaded image assets.
Run the `bootcfg` container to serve configs for any of the network environments we'll discuss next.
docker run -p 8080:8080 --net=host --name=bootcfg --rm -v $PWD/examples:/data:Z -v $PWD/assets:/assets:Z coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug -config /data/etcd-docker.yaml
Note, the kernel options in the `Spec` [examples](../examples) reference 172.17.0.2 (the libvirt case). Your kernel cmdline options should reference the IP or DNS name where `bootcfg` runs.
## Network Setups
Your network may already have a configurable PXE or iPXE server, configurable DHCP, a DHCP server you cannot modify, or no DHCP server at all. We'll show how to setup each network environment to talk to `bootcfg`, depending on your circumstances.
Otherwise create a PXE, iPXE, or Pixiecore network boot environment using the CoreOS [dnsmasq](../contrib/dnsmasq) container image which can run DHCP, proxyDHCP, TFTP, and/or DNS with `dnsmasq`. Use `--net=host` to run the services on the host and use `--dhcp-boot` to point clients to `bootcfg`.
### Configurable iPXE
If your network environment already supports iPXE, edit your iPXE boot script to chainload from `bootcfg`
# boot.ipxe
chain http://192.168.1.100:8080/boot.ipxe
Substitute the name or IP and port where `bootcfg` runs.
### Configurable DHCP
If the DHCP server on your network is PXE-enabled and configurable, send the `bootcfg` iPXE endpoint as the boot filename option (e.g. `http://192.168.1.100:8080/boot.ipxe`). Substitute the name or IP and port where `bootcfg` runs.
Optionally, respond to older PXE client firmware with the location of the `undionly.kpxe` boot program on your TFTP server.
With `dnsmasq`, here is an example `dnsmasq.conf`
# dnsmasq.conf
dhcp-range=192.168.1.1,192.168.1.254,30m
enable-tftp
tftp-root=/var/lib/tftpboot
# set tag "ipxe" if request comes from iPXE ("iPXE" user class)
dhcp-userclass=set:ipxe,iPXE
# if PXE request came from regular firmware, serve iPXE firmware (via TFTP)
dhcp-boot=tag:!ipxe,undionly.kpxe
# if PXE request came from iPXE, serve an iPXE boot script (via HTTP)
dhcp-boot=tag:ipxe,http://192.168.1.100:8080/boot.ipxe
### proxyDHCP
If the network already runs a DHCP service, setup a PXE/iPXE network environment alongside it with proxyDHCP and TFTP.
Run DHCP in proxy mode to respond to DHCP requests on the subnet. Optionally, serve the `undionly.pxe` boot file to older, non-iPXE clients (the '#' means not). Detect iPXE clients by the user class sent in their DHCPDISCOVER (or by Option 175) and point them to the `bootcfg` iPXE boot script.
```
sudo docker run --net=host --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q -i enp0s25 --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://192.168.1.100:8080/boot.ipxe
```
Change the `dhcp-range`, `-i interface`, and boot.ipxe endpoint to match your environment.
In this example, an existing router at 192.168.1.1 runs DHCP to allocate IP addresses between 192.168.1.2 and 192.168.1.254. The proxyDHCP is configured to respond to disocver requests on the 192.168.1.0/24 subnet. `bootcfg` runs on host (192.168.1.100) to serve iPXE boot scripts.
### DHCP
If the network does not already run a DHCP service, you can run one yourself and provide PXE options to baremetal clients. This is the case if your baremetal machines are connected to an isolated switch.
Identify a host machine which should run the DHCP service. If this machine has two NICs, it can serve as a router, using one for the uplink connection and the other to connect to the subnet with baremetal clients.
Run DHCP to allocate IP address leases and TFTP to serve the `undionly.pxe` boot file to older, non-iPXE clients (the '#' means not). Point iPXE clients to the `bootcfg` iPXE boot script.
```
sudo docker run --net=host --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q -i enp0s20u1 --dhcp-range=192.168.1.101,192.168.1.150 --enable-tftp --tftp-root=/var/lib/tftpboot --dhcp-userclass=set:ipxe,iPXE --dhcp-boot=tag:#ipxe,undionly.kpxe --dhcp-boot=tag:ipxe,http://192.168.1.100:8080/boot.ipxe
```
Change the `dhcp-range`, `-i interface`, and boot.ipxe endpoint to match your environment.
In this example, a DHCP server is configured to allocate IP addresses between 192.168.1.101 and 192.168.1.150. `bootcfg` runs on host (192.168.1.100) to serve iPXE boot scripts.
You may have to explicitly assign the interface (-i) a network address and mark the interface as up.
ip addr add 192.168.1.100/24 dev enp0s20u1
ip link set dev enp0s20u1 up
## Troubleshooting
See [troubleshooting](troubleshooting.md).
### Alternatives
If you prefer, [Debian](http://www.debian-administration.org/article/478/Setting_up_a_server_for_PXE_network_booting), [Fedora](https://docs.fedoraproject.org/en-US/Fedora/7/html/Installation_Guide/ap-pxe-server.html), and [Ubuntu](https://help.ubuntu.com/community/DisklessUbuntuHowto) provide guides on PXE server setups. CoreOS-baremetal also includes [Vagrantfiles](vagrant) to quickly setup example Fedora PXE, iPXE, and Pixiecore servers on libvirt.

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.

View File

@@ -1,122 +0,0 @@
# CoreOS on Libvirt Virtual Hardware
CoreOS can be booted and configured on virtual hardware within a libvirt environment (under Linux) with different network services running as Docker containers on the `docker0` virtual bridge. Client VMs or even baremetal hardware attached to the bridge can be booted and configured from the network.
Docker containers run on the `docker0` virtual bridge, typically on a subnet 172.17.0.0/16. Docker assigns IPs to containers started through the docker cli, but the bridge does not run a DHCP service. List network bridges on your host and inspect the bridge Docker 1.9+ created (Docker cli refers to `docker0` as `bridge`).
brctl show
docker network inspect bridge
## bootcfg
Set up `bootcfg` according to the [docs](bootcfg.md). Pull the `coreos/bootcfg` image, prepare a data volume with `Spec` definitions and ignition/cloud configs. Optionally, include a volume of downloaded image assets.
Run the `bootcfg` container to serve configs for any of the network environments we'll discuss next.
docker run -p 8080:8080 --name=bootcfg --rm -v $PWD/examples:/data:Z -v $PWD/assets:/assets:Z coreos/bootcfg:latest -address=0.0.0.0:8080 -log-level=debug -config /data/etcd-docker.yaml
Note, the kernel options in the `Spec` [examples](../examples) reference 172.17.0.2, the first container IP Docker is likely to assign to `bootcfg`. Ensure your kernel options point to where `bootcfg` runs.
docker inspect bootcfg # look for Networks, bridge, IPAddress
## Network Setups
Create a PXE, iPXE, or Pixiecore network boot environment using the CoreOS [dnsmasq](../contrib/dnsmasq) container image which can run DHCP, proxyDHCP, TFTP, and/or DNS with `dnsmasq`. Use `--net` to specify a virtual bridge and `--dhcp-boot` to point clients to `bootcfg`.
### PXE
To boot PXE clients, configure a PXE network environment to [chainload iPXE](http://ipxe.org/howto/chainloading). The iPXE setup below configures DHCP to send `undionly.kpxe` over TFTP to older PXE clients for this purpose.
With `dnsmasq`, the relevant `dnsmasq.conf` settings would be:
enable-tftp
tftp-root=/var/lib/tftpboot
# if PXE request came from regular firmware, serve iPXE firmware (via TFTP)
dhcp-boot=tag:!ipxe,undionly.kpxe
### iPXE
Create a PXE/iPXE network environment by running a PXE-enabled DHCP server and TFTP server on the `docker0` bridge, alongside `bootcfg`.
```
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://172.17.0.2:8080/boot.ipxe --log-dhcp --dhcp-option=3,172.17.0.1 --address=/bootcfg.foo/172.17.0.2
```
The `coreos/dnsmasq` image runs DHCP and TFTP as a container. It allocates IPs in the `docker0` subnet to VMs and sends options to chainload older PXE clients to iPXE. iPXE clients are pointed to the `bootcfg` service iPXE endpoint (assumed to be running on 172.17.0.2:8080).
To run dnsmasq as a service, rather than from the commandline, the `dnsmasq.conf` might be:
```
# dnsmasq.conf
dhcp-range=172.17.0.43,172.17.0.99,30m
enable-tftp
tftp-root=/var/lib/tftpboot
# set tag "ipxe" if request comes from iPXE ("iPXE" user class)
dhcp-userclass=set:ipxe,iPXE
# if PXE request came from regular firmware, serve iPXE firmware (via TFTP)
dhcp-boot=tag:!ipxe,undionly.kpxe
# if PXE request came from iPXE, serve an iPXE boot script (via HTTP)
dhcp-boot=tag:ipxe,http://172.17.0.2:8080/boot.ipxe
```
<img src='img/libvirt-ipxe.png' class="img-center" alt="Libvirt iPXE network environment"/>
Continue to [clients](#clients) to create a client VM or attach a baremetal machine to boot.
### Pixiecore
Create a Pixiecore network environment by running a DHCP server and `danderson/pixiecore` on the `docker0` bridge, alongside `bootcfg`. Pixiecore is a combined proxyDHCP/TFTP/HTTP server.
Run a DHCP server (not PXE-enabled)
```
sudo docker run --rm --cap-add=NET_ADMIN quay.io/coreos/dnsmasq -d -q --dhcp-range=172.17.0.43,172.17.0.99
```
Run Pixiecore, using a script which detects the `bootcfg` container IP:port on docker0.
./scripts/pixiecore
Continue to [clients](#clients) to create a client VM or attach a baremetal machine to boot.
## Clients
Create or attach PXE client machines to the network boot environment on the `docker0` bridge.
### libvirt VM
Create libvirt VM nodes configured to boot from the network. The `scripts/libvirt` script will create four VM nodes with known hardware attributes, on the `docker0` bridge network.
sudo ./scripts/libvirt
USAGE: libvirt <command>
Commands:
create-docker create 4 libvirt nodes on the docker0 bridge
create-rkt create 4 libvirt nodes on a rkt CNI metal0 bridge
start start the 4 libvirt nodes
reboot reboot the 4 libvirt nodes
shutdown shutdown the 4 libvirt nodes
poweroff poweroff the 4 libvirt nodes
destroy destroy the 4 libvirt nodes
remove-disks delete the allocated disks
You may use `virt-manager` to create your own VMs and view the console/state/attributes of existing VM nodes.
When creating your own VMs, select "Network Boot with PXE" and for network selection use "Specify Shared Device" with the bridge name `docker0`.
Learn more by checking [examples](../examples) for clusters you can provision on clients.
### Bare Metal
Connect a baremetal client machine to your host's `docker0` bridge and ensure the boot firmware (probably BIOS) is configured to prefer PXE booting.
Find the network interface and attach it to the virtual bridge.
ip link show # find new link e.g. enp0s20u2
brctl addif docker0 enp0s20u2
Restart the client machine and it should PXE boot using settings from `bootcfg`.
## Next
If you'd like to boot and configure a baremetal machine network, follow the [baremetal guide](physical-hardware.md).

67
Godeps/Godeps.json generated
View File

@@ -1,67 +0,0 @@
{
"ImportPath": "github.com/coreos/coreos-baremetal",
"GoVersion": "go1.5.3",
"Packages": [
"./..."
],
"Deps": [
{
"ImportPath": "github.com/coreos/coreos-cloudinit/config",
"Comment": "v1.8.1-2-g6e1a0f7",
"Rev": "6e1a0f7ca8d16ceac0f79d6c6693b2da4624512e"
},
{
"ImportPath": "github.com/coreos/go-systemd/journal",
"Comment": "v4-8-gf164f43",
"Rev": "f164f437010a16e0443d2d1e68e8e001cdbf1226"
},
{
"ImportPath": "github.com/coreos/ignition/src/config",
"Comment": "v0.2.4-5-g9d5b476",
"Rev": "9d5b4766ae22e66b25702ffbdc94545f2e0d082c"
},
{
"ImportPath": "github.com/coreos/ignition/third_party/github.com/alecthomas/units",
"Comment": "v0.2.4-5-g9d5b476",
"Rev": "9d5b4766ae22e66b25702ffbdc94545f2e0d082c"
},
{
"ImportPath": "github.com/coreos/ignition/third_party/github.com/camlistore/camlistore/pkg/errorutil",
"Comment": "v0.2.4-5-g9d5b476",
"Rev": "9d5b4766ae22e66b25702ffbdc94545f2e0d082c"
},
{
"ImportPath": "github.com/coreos/pkg/capnslog",
"Rev": "2c77715c4df99b5420ffcae14ead08f52104065d"
},
{
"ImportPath": "github.com/coreos/pkg/flagutil",
"Rev": "2c77715c4df99b5420ffcae14ead08f52104065d"
},
{
"ImportPath": "github.com/coreos/yaml",
"Rev": "6b16a5714269b2f70720a45406b1babd947a17ef"
},
{
"ImportPath": "github.com/stretchr/testify/assert",
"Comment": "v1.0-71-g0d5a14c",
"Rev": "0d5a14c5a477957864f3b747d95255ad4e34bcc0"
},
{
"ImportPath": "golang.org/x/crypto/cast5",
"Rev": "3760e016850398b85094c4c99e955b8c3dea5711"
},
{
"ImportPath": "golang.org/x/crypto/openpgp",
"Rev": "3760e016850398b85094c4c99e955b8c3dea5711"
},
{
"ImportPath": "golang.org/x/net/context",
"Rev": "d75b1902409c457a51e4bd1895031872c370983a"
},
{
"ImportPath": "gopkg.in/yaml.v2",
"Rev": "49c95bdc21843256fb6c4e0d370a05f24a0bf213"
}
]
}

5
Godeps/Readme generated
View File

@@ -1,5 +0,0 @@
This directory tree is generated automatically by godep.
Please do not edit.
See https://github.com/tools/godep for more information.

2
Godeps/_workspace/.gitignore generated vendored
View File

@@ -1,2 +0,0 @@
/pkg
/bin

View File

@@ -1,154 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"fmt"
"reflect"
"regexp"
"strings"
"unicode"
"github.com/coreos/yaml"
)
// CloudConfig encapsulates the entire cloud-config configuration file and maps
// directly to YAML. Fields that cannot be set in the cloud-config (fields
// used for internal use) have the YAML tag '-' so that they aren't marshalled.
type CloudConfig struct {
SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys"`
CoreOS CoreOS `yaml:"coreos"`
WriteFiles []File `yaml:"write_files"`
Hostname string `yaml:"hostname"`
Users []User `yaml:"users"`
ManageEtcHosts EtcHosts `yaml:"manage_etc_hosts"`
}
type CoreOS struct {
Etcd Etcd `yaml:"etcd"`
Etcd2 Etcd2 `yaml:"etcd2"`
Flannel Flannel `yaml:"flannel"`
Fleet Fleet `yaml:"fleet"`
Locksmith Locksmith `yaml:"locksmith"`
OEM OEM `yaml:"oem"`
Update Update `yaml:"update"`
Units []Unit `yaml:"units"`
}
func IsCloudConfig(userdata string) bool {
header := strings.SplitN(userdata, "\n", 2)[0]
// Trim trailing whitespaces
header = strings.TrimRightFunc(header, unicode.IsSpace)
return (header == "#cloud-config")
}
// NewCloudConfig instantiates a new CloudConfig from the given contents (a
// string of YAML), returning any error encountered. It will ignore unknown
// fields but log encountering them.
func NewCloudConfig(contents string) (*CloudConfig, error) {
yaml.UnmarshalMappingKeyTransform = func(nameIn string) (nameOut string) {
return strings.Replace(nameIn, "-", "_", -1)
}
var cfg CloudConfig
err := yaml.Unmarshal([]byte(contents), &cfg)
return &cfg, err
}
func (cc CloudConfig) String() string {
bytes, err := yaml.Marshal(cc)
if err != nil {
return ""
}
stringified := string(bytes)
stringified = fmt.Sprintf("#cloud-config\n%s", stringified)
return stringified
}
// IsZero returns whether or not the parameter is the zero value for its type.
// If the parameter is a struct, only the exported fields are considered.
func IsZero(c interface{}) bool {
return isZero(reflect.ValueOf(c))
}
type ErrorValid struct {
Value string
Valid string
Field string
}
func (e ErrorValid) Error() string {
return fmt.Sprintf("invalid value %q for option %q (valid options: %q)", e.Value, e.Field, e.Valid)
}
// AssertStructValid checks the fields in the structure and makes sure that
// they contain valid values as specified by the 'valid' flag. Empty fields are
// implicitly valid.
func AssertStructValid(c interface{}) error {
ct := reflect.TypeOf(c)
cv := reflect.ValueOf(c)
for i := 0; i < ct.NumField(); i++ {
ft := ct.Field(i)
if !isFieldExported(ft) {
continue
}
if err := AssertValid(cv.Field(i), ft.Tag.Get("valid")); err != nil {
err.Field = ft.Name
return err
}
}
return nil
}
// AssertValid checks to make sure that the given value is in the list of
// valid values. Zero values are implicitly valid.
func AssertValid(value reflect.Value, valid string) *ErrorValid {
if valid == "" || isZero(value) {
return nil
}
vs := fmt.Sprintf("%v", value.Interface())
if m, _ := regexp.MatchString(valid, vs); m {
return nil
}
return &ErrorValid{
Value: vs,
Valid: valid,
}
}
func isZero(v reflect.Value) bool {
switch v.Kind() {
case reflect.Struct:
vt := v.Type()
for i := 0; i < v.NumField(); i++ {
if isFieldExported(vt.Field(i)) && !isZero(v.Field(i)) {
return false
}
}
return true
default:
return v.Interface() == reflect.Zero(v.Type()).Interface()
}
}
func isFieldExported(f reflect.StructField) bool {
return f.PkgPath == ""
}

View File

@@ -1,502 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"reflect"
"regexp"
"strings"
"testing"
)
func TestNewCloudConfig(t *testing.T) {
tests := []struct {
contents string
config CloudConfig
}{
{},
{
contents: "#cloud-config\nwrite_files:\n - path: underscore",
config: CloudConfig{WriteFiles: []File{File{Path: "underscore"}}},
},
{
contents: "#cloud-config\nwrite-files:\n - path: hyphen",
config: CloudConfig{WriteFiles: []File{File{Path: "hyphen"}}},
},
{
contents: "#cloud-config\ncoreos:\n update:\n reboot-strategy: off",
config: CloudConfig{CoreOS: CoreOS{Update: Update{RebootStrategy: "off"}}},
},
{
contents: "#cloud-config\ncoreos:\n update:\n reboot-strategy: false",
config: CloudConfig{CoreOS: CoreOS{Update: Update{RebootStrategy: "false"}}},
},
{
contents: "#cloud-config\nwrite_files:\n - permissions: 0744",
config: CloudConfig{WriteFiles: []File{File{RawFilePermissions: "0744"}}},
},
{
contents: "#cloud-config\nwrite_files:\n - permissions: 744",
config: CloudConfig{WriteFiles: []File{File{RawFilePermissions: "744"}}},
},
{
contents: "#cloud-config\nwrite_files:\n - permissions: '0744'",
config: CloudConfig{WriteFiles: []File{File{RawFilePermissions: "0744"}}},
},
{
contents: "#cloud-config\nwrite_files:\n - permissions: '744'",
config: CloudConfig{WriteFiles: []File{File{RawFilePermissions: "744"}}},
},
}
for i, tt := range tests {
config, err := NewCloudConfig(tt.contents)
if err != nil {
t.Errorf("bad error (test case #%d): want %v, got %s", i, nil, err)
}
if !reflect.DeepEqual(&tt.config, config) {
t.Errorf("bad config (test case #%d): want %#v, got %#v", i, tt.config, config)
}
}
}
func TestIsZero(t *testing.T) {
tests := []struct {
c interface{}
empty bool
}{
{struct{}{}, true},
{struct{ a, b string }{}, true},
{struct{ A, b string }{}, true},
{struct{ A, B string }{}, true},
{struct{ A string }{A: "hello"}, false},
{struct{ A int }{}, true},
{struct{ A int }{A: 1}, false},
}
for _, tt := range tests {
if empty := IsZero(tt.c); tt.empty != empty {
t.Errorf("bad result (%q): want %t, got %t", tt.c, tt.empty, empty)
}
}
}
func TestAssertStructValid(t *testing.T) {
tests := []struct {
c interface{}
err error
}{
{struct{}{}, nil},
{struct {
A, b string `valid:"^1|2$"`
}{}, nil},
{struct {
A, b string `valid:"^1|2$"`
}{A: "1", b: "2"}, nil},
{struct {
A, b string `valid:"^1|2$"`
}{A: "1", b: "hello"}, nil},
{struct {
A, b string `valid:"^1|2$"`
}{A: "hello", b: "2"}, &ErrorValid{Value: "hello", Field: "A", Valid: "^1|2$"}},
{struct {
A, b int `valid:"^1|2$"`
}{}, nil},
{struct {
A, b int `valid:"^1|2$"`
}{A: 1, b: 2}, nil},
{struct {
A, b int `valid:"^1|2$"`
}{A: 1, b: 9}, nil},
{struct {
A, b int `valid:"^1|2$"`
}{A: 9, b: 2}, &ErrorValid{Value: "9", Field: "A", Valid: "^1|2$"}},
}
for _, tt := range tests {
if err := AssertStructValid(tt.c); !reflect.DeepEqual(tt.err, err) {
t.Errorf("bad result (%q): want %q, got %q", tt.c, tt.err, err)
}
}
}
func TestConfigCompile(t *testing.T) {
tests := []interface{}{
Etcd{},
File{},
Flannel{},
Fleet{},
Locksmith{},
OEM{},
Unit{},
Update{},
}
for _, tt := range tests {
ttt := reflect.TypeOf(tt)
for i := 0; i < ttt.NumField(); i++ {
ft := ttt.Field(i)
if !isFieldExported(ft) {
continue
}
if _, err := regexp.Compile(ft.Tag.Get("valid")); err != nil {
t.Errorf("bad regexp(%s.%s): want %v, got %s", ttt.Name(), ft.Name, nil, err)
}
}
}
}
func TestCloudConfigUnknownKeys(t *testing.T) {
contents := `
coreos:
etcd:
discovery: "https://discovery.etcd.io/827c73219eeb2fa5530027c37bf18877"
coreos_unknown:
foo: "bar"
section_unknown:
dunno:
something
bare_unknown:
bar
write_files:
- content: fun
path: /var/party
file_unknown: nofun
users:
- name: fry
passwd: somehash
user_unknown: philip
hostname:
foo
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("error instantiating CloudConfig with unknown keys: %v", err)
}
if cfg.Hostname != "foo" {
t.Fatalf("hostname not correctly set when invalid keys are present")
}
if cfg.CoreOS.Etcd.Discovery != "https://discovery.etcd.io/827c73219eeb2fa5530027c37bf18877" {
t.Fatalf("etcd section not correctly set when invalid keys are present")
}
if len(cfg.WriteFiles) < 1 || cfg.WriteFiles[0].Content != "fun" || cfg.WriteFiles[0].Path != "/var/party" {
t.Fatalf("write_files section not correctly set when invalid keys are present")
}
if len(cfg.Users) < 1 || cfg.Users[0].Name != "fry" || cfg.Users[0].PasswordHash != "somehash" {
t.Fatalf("users section not correctly set when invalid keys are present")
}
}
// Assert that the parsing of a cloud config file "generally works"
func TestCloudConfigEmpty(t *testing.T) {
cfg, err := NewCloudConfig("")
if err != nil {
t.Fatalf("Encountered unexpected error :%v", err)
}
keys := cfg.SSHAuthorizedKeys
if len(keys) != 0 {
t.Error("Parsed incorrect number of SSH keys")
}
if len(cfg.WriteFiles) != 0 {
t.Error("Expected zero WriteFiles")
}
if cfg.Hostname != "" {
t.Errorf("Expected hostname to be empty, got '%s'", cfg.Hostname)
}
}
// Assert that the parsing of a cloud config file "generally works"
func TestCloudConfig(t *testing.T) {
contents := `
coreos:
etcd:
discovery: "https://discovery.etcd.io/827c73219eeb2fa5530027c37bf18877"
update:
reboot_strategy: reboot
units:
- name: 50-eth0.network
runtime: yes
content: '[Match]
Name=eth47
[Network]
Address=10.209.171.177/19
'
oem:
id: rackspace
name: Rackspace Cloud Servers
version_id: 168.0.0
home_url: https://www.rackspace.com/cloud/servers/
bug_report_url: https://github.com/coreos/coreos-overlay
ssh_authorized_keys:
- foobar
- foobaz
write_files:
- content: |
penny
elroy
path: /etc/dogepack.conf
permissions: '0644'
owner: root:dogepack
hostname: trontastic
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("Encountered unexpected error :%v", err)
}
keys := cfg.SSHAuthorizedKeys
if len(keys) != 2 {
t.Error("Parsed incorrect number of SSH keys")
} else if keys[0] != "foobar" {
t.Error("Expected first SSH key to be 'foobar'")
} else if keys[1] != "foobaz" {
t.Error("Expected first SSH key to be 'foobaz'")
}
if len(cfg.WriteFiles) != 1 {
t.Error("Failed to parse correct number of write_files")
} else {
wf := cfg.WriteFiles[0]
if wf.Content != "penny\nelroy\n" {
t.Errorf("WriteFile has incorrect contents '%s'", wf.Content)
}
if wf.Encoding != "" {
t.Errorf("WriteFile has incorrect encoding %s", wf.Encoding)
}
if wf.RawFilePermissions != "0644" {
t.Errorf("WriteFile has incorrect permissions %s", wf.RawFilePermissions)
}
if wf.Path != "/etc/dogepack.conf" {
t.Errorf("WriteFile has incorrect path %s", wf.Path)
}
if wf.Owner != "root:dogepack" {
t.Errorf("WriteFile has incorrect owner %s", wf.Owner)
}
}
if len(cfg.CoreOS.Units) != 1 {
t.Error("Failed to parse correct number of units")
} else {
u := cfg.CoreOS.Units[0]
expect := `[Match]
Name=eth47
[Network]
Address=10.209.171.177/19
`
if u.Content != expect {
t.Errorf("Unit has incorrect contents '%s'.\nExpected '%s'.", u.Content, expect)
}
if u.Runtime != true {
t.Errorf("Unit has incorrect runtime value")
}
if u.Name != "50-eth0.network" {
t.Errorf("Unit has incorrect name %s", u.Name)
}
}
if cfg.CoreOS.OEM.ID != "rackspace" {
t.Errorf("Failed parsing coreos.oem. Expected ID 'rackspace', got %q.", cfg.CoreOS.OEM.ID)
}
if cfg.Hostname != "trontastic" {
t.Errorf("Failed to parse hostname")
}
if cfg.CoreOS.Update.RebootStrategy != "reboot" {
t.Errorf("Failed to parse locksmith strategy")
}
}
// Assert that our interface conversion doesn't panic
func TestCloudConfigKeysNotList(t *testing.T) {
contents := `
ssh_authorized_keys:
- foo: bar
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("Encountered unexpected error: %v", err)
}
keys := cfg.SSHAuthorizedKeys
if len(keys) != 0 {
t.Error("Parsed incorrect number of SSH keys")
}
}
func TestCloudConfigSerializationHeader(t *testing.T) {
cfg, _ := NewCloudConfig("")
contents := cfg.String()
header := strings.SplitN(contents, "\n", 2)[0]
if header != "#cloud-config" {
t.Fatalf("Serialized config did not have expected header")
}
}
func TestCloudConfigUsers(t *testing.T) {
contents := `
users:
- name: elroy
passwd: somehash
ssh_authorized_keys:
- somekey
gecos: arbitrary comment
homedir: /home/place
no_create_home: yes
primary_group: things
groups:
- ping
- pong
no_user_group: true
system: y
no_log_init: True
shell: /bin/sh
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("Encountered unexpected error: %v", err)
}
if len(cfg.Users) != 1 {
t.Fatalf("Parsed %d users, expected 1", len(cfg.Users))
}
user := cfg.Users[0]
if user.Name != "elroy" {
t.Errorf("User name is %q, expected 'elroy'", user.Name)
}
if user.PasswordHash != "somehash" {
t.Errorf("User passwd is %q, expected 'somehash'", user.PasswordHash)
}
if keys := user.SSHAuthorizedKeys; len(keys) != 1 {
t.Errorf("Parsed %d ssh keys, expected 1", len(keys))
} else {
key := user.SSHAuthorizedKeys[0]
if key != "somekey" {
t.Errorf("User SSH key is %q, expected 'somekey'", key)
}
}
if user.GECOS != "arbitrary comment" {
t.Errorf("Failed to parse gecos field, got %q", user.GECOS)
}
if user.Homedir != "/home/place" {
t.Errorf("Failed to parse homedir field, got %q", user.Homedir)
}
if !user.NoCreateHome {
t.Errorf("Failed to parse no_create_home field")
}
if user.PrimaryGroup != "things" {
t.Errorf("Failed to parse primary_group field, got %q", user.PrimaryGroup)
}
if len(user.Groups) != 2 {
t.Errorf("Failed to parse 2 goups, got %d", len(user.Groups))
} else {
if user.Groups[0] != "ping" {
t.Errorf("First group was %q, not expected value 'ping'", user.Groups[0])
}
if user.Groups[1] != "pong" {
t.Errorf("First group was %q, not expected value 'pong'", user.Groups[1])
}
}
if !user.NoUserGroup {
t.Errorf("Failed to parse no_user_group field")
}
if !user.System {
t.Errorf("Failed to parse system field")
}
if !user.NoLogInit {
t.Errorf("Failed to parse no_log_init field")
}
if user.Shell != "/bin/sh" {
t.Errorf("Failed to parse shell field, got %q", user.Shell)
}
}
func TestCloudConfigUsersGithubUser(t *testing.T) {
contents := `
users:
- name: elroy
coreos_ssh_import_github: bcwaldon
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("Encountered unexpected error: %v", err)
}
if len(cfg.Users) != 1 {
t.Fatalf("Parsed %d users, expected 1", len(cfg.Users))
}
user := cfg.Users[0]
if user.Name != "elroy" {
t.Errorf("User name is %q, expected 'elroy'", user.Name)
}
if user.SSHImportGithubUser != "bcwaldon" {
t.Errorf("github user is %q, expected 'bcwaldon'", user.SSHImportGithubUser)
}
}
func TestCloudConfigUsersSSHImportURL(t *testing.T) {
contents := `
users:
- name: elroy
coreos_ssh_import_url: https://token:x-auth-token@github.enterprise.com/api/v3/polvi/keys
`
cfg, err := NewCloudConfig(contents)
if err != nil {
t.Fatalf("Encountered unexpected error: %v", err)
}
if len(cfg.Users) != 1 {
t.Fatalf("Parsed %d users, expected 1", len(cfg.Users))
}
user := cfg.Users[0]
if user.Name != "elroy" {
t.Errorf("User name is %q, expected 'elroy'", user.Name)
}
if user.SSHImportURL != "https://token:x-auth-token@github.enterprise.com/api/v3/polvi/keys" {
t.Errorf("ssh import url is %q, expected 'https://token:x-auth-token@github.enterprise.com/api/v3/polvi/keys'", user.SSHImportURL)
}
}

View File

@@ -1,56 +0,0 @@
package config
import (
"bytes"
"compress/gzip"
"encoding/base64"
"fmt"
)
func DecodeBase64Content(content string) ([]byte, error) {
output, err := base64.StdEncoding.DecodeString(content)
if err != nil {
return nil, fmt.Errorf("Unable to decode base64: %q", err)
}
return output, nil
}
func DecodeGzipContent(content string) ([]byte, error) {
gzr, err := gzip.NewReader(bytes.NewReader([]byte(content)))
if err != nil {
return nil, fmt.Errorf("Unable to decode gzip: %q", err)
}
defer gzr.Close()
buf := new(bytes.Buffer)
buf.ReadFrom(gzr)
return buf.Bytes(), nil
}
func DecodeContent(content string, encoding string) ([]byte, error) {
switch encoding {
case "":
return []byte(content), nil
case "b64", "base64":
return DecodeBase64Content(content)
case "gz", "gzip":
return DecodeGzipContent(content)
case "gz+base64", "gzip+base64", "gz+b64", "gzip+b64":
gz, err := DecodeBase64Content(content)
if err != nil {
return nil, err
}
return DecodeGzipContent(string(gz))
}
return nil, fmt.Errorf("Unsupported encoding %q", encoding)
}

View File

@@ -1,17 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type EtcHosts string

View File

@@ -1,67 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Etcd struct {
Addr string `yaml:"addr" env:"ETCD_ADDR"`
AdvertiseClientURLs string `yaml:"advertise_client_urls" env:"ETCD_ADVERTISE_CLIENT_URLS" deprecated:"etcd2 options no longer work for etcd"`
BindAddr string `yaml:"bind_addr" env:"ETCD_BIND_ADDR"`
CAFile string `yaml:"ca_file" env:"ETCD_CA_FILE"`
CertFile string `yaml:"cert_file" env:"ETCD_CERT_FILE"`
ClusterActiveSize int `yaml:"cluster_active_size" env:"ETCD_CLUSTER_ACTIVE_SIZE"`
ClusterRemoveDelay float64 `yaml:"cluster_remove_delay" env:"ETCD_CLUSTER_REMOVE_DELAY"`
ClusterSyncInterval float64 `yaml:"cluster_sync_interval" env:"ETCD_CLUSTER_SYNC_INTERVAL"`
CorsOrigins string `yaml:"cors" env:"ETCD_CORS"`
DataDir string `yaml:"data_dir" env:"ETCD_DATA_DIR"`
Discovery string `yaml:"discovery" env:"ETCD_DISCOVERY"`
DiscoveryFallback string `yaml:"discovery_fallback" env:"ETCD_DISCOVERY_FALLBACK" deprecated:"etcd2 options no longer work for etcd"`
DiscoverySRV string `yaml:"discovery_srv" env:"ETCD_DISCOVERY_SRV" deprecated:"etcd2 options no longer work for etcd"`
DiscoveryProxy string `yaml:"discovery_proxy" env:"ETCD_DISCOVERY_PROXY" deprecated:"etcd2 options no longer work for etcd"`
ElectionTimeout int `yaml:"election_timeout" env:"ETCD_ELECTION_TIMEOUT" deprecated:"etcd2 options no longer work for etcd"`
ForceNewCluster bool `yaml:"force_new_cluster" env:"ETCD_FORCE_NEW_CLUSTER" deprecated:"etcd2 options no longer work for etcd"`
GraphiteHost string `yaml:"graphite_host" env:"ETCD_GRAPHITE_HOST"`
HeartbeatInterval int `yaml:"heartbeat_interval" env:"ETCD_HEARTBEAT_INTERVAL" deprecated:"etcd2 options no longer work for etcd"`
HTTPReadTimeout float64 `yaml:"http_read_timeout" env:"ETCD_HTTP_READ_TIMEOUT"`
HTTPWriteTimeout float64 `yaml:"http_write_timeout" env:"ETCD_HTTP_WRITE_TIMEOUT"`
InitialAdvertisePeerURLs string `yaml:"initial_advertise_peer_urls" env:"ETCD_INITIAL_ADVERTISE_PEER_URLS" deprecated:"etcd2 options no longer work for etcd"`
InitialCluster string `yaml:"initial_cluster" env:"ETCD_INITIAL_CLUSTER" deprecated:"etcd2 options no longer work for etcd"`
InitialClusterState string `yaml:"initial_cluster_state" env:"ETCD_INITIAL_CLUSTER_STATE" deprecated:"etcd2 options no longer work for etcd"`
InitialClusterToken string `yaml:"initial_cluster_token" env:"ETCD_INITIAL_CLUSTER_TOKEN" deprecated:"etcd2 options no longer work for etcd"`
KeyFile string `yaml:"key_file" env:"ETCD_KEY_FILE"`
ListenClientURLs string `yaml:"listen_client_urls" env:"ETCD_LISTEN_CLIENT_URLS" deprecated:"etcd2 options no longer work for etcd"`
ListenPeerURLs string `yaml:"listen_peer_urls" env:"ETCD_LISTEN_PEER_URLS" deprecated:"etcd2 options no longer work for etcd"`
MaxResultBuffer int `yaml:"max_result_buffer" env:"ETCD_MAX_RESULT_BUFFER"`
MaxRetryAttempts int `yaml:"max_retry_attempts" env:"ETCD_MAX_RETRY_ATTEMPTS"`
MaxSnapshots int `yaml:"max_snapshots" env:"ETCD_MAX_SNAPSHOTS" deprecated:"etcd2 options no longer work for etcd"`
MaxWALs int `yaml:"max_wals" env:"ETCD_MAX_WALS" deprecated:"etcd2 options no longer work for etcd"`
Name string `yaml:"name" env:"ETCD_NAME"`
PeerAddr string `yaml:"peer_addr" env:"ETCD_PEER_ADDR"`
PeerBindAddr string `yaml:"peer_bind_addr" env:"ETCD_PEER_BIND_ADDR"`
PeerCAFile string `yaml:"peer_ca_file" env:"ETCD_PEER_CA_FILE"`
PeerCertFile string `yaml:"peer_cert_file" env:"ETCD_PEER_CERT_FILE"`
PeerElectionTimeout int `yaml:"peer_election_timeout" env:"ETCD_PEER_ELECTION_TIMEOUT"`
PeerHeartbeatInterval int `yaml:"peer_heartbeat_interval" env:"ETCD_PEER_HEARTBEAT_INTERVAL"`
PeerKeyFile string `yaml:"peer_key_file" env:"ETCD_PEER_KEY_FILE"`
Peers string `yaml:"peers" env:"ETCD_PEERS"`
PeersFile string `yaml:"peers_file" env:"ETCD_PEERS_FILE"`
Proxy string `yaml:"proxy" env:"ETCD_PROXY" deprecated:"etcd2 options no longer work for etcd"`
RetryInterval float64 `yaml:"retry_interval" env:"ETCD_RETRY_INTERVAL"`
Snapshot bool `yaml:"snapshot" env:"ETCD_SNAPSHOT"`
SnapshotCount int `yaml:"snapshot_count" env:"ETCD_SNAPSHOTCOUNT"`
StrTrace string `yaml:"trace" env:"ETCD_TRACE"`
Verbose bool `yaml:"verbose" env:"ETCD_VERBOSE"`
VeryVerbose bool `yaml:"very_verbose" env:"ETCD_VERY_VERBOSE"`
VeryVeryVerbose bool `yaml:"very_very_verbose" env:"ETCD_VERY_VERY_VERBOSE"`
}

View File

@@ -1,57 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Etcd2 struct {
AdvertiseClientURLs string `yaml:"advertise_client_urls" env:"ETCD_ADVERTISE_CLIENT_URLS"`
CAFile string `yaml:"ca_file" env:"ETCD_CA_FILE" deprecated:"ca_file obsoleted by trusted_ca_file and client_cert_auth"`
CertFile string `yaml:"cert_file" env:"ETCD_CERT_FILE"`
ClientCertAuth bool `yaml:"client_cert_auth" env:"ETCD_CLIENT_CERT_AUTH"`
CorsOrigins string `yaml:"cors" env:"ETCD_CORS"`
DataDir string `yaml:"data_dir" env:"ETCD_DATA_DIR"`
Debug bool `yaml:"debug" env:"ETCD_DEBUG"`
Discovery string `yaml:"discovery" env:"ETCD_DISCOVERY"`
DiscoveryFallback string `yaml:"discovery_fallback" env:"ETCD_DISCOVERY_FALLBACK"`
DiscoverySRV string `yaml:"discovery_srv" env:"ETCD_DISCOVERY_SRV"`
DiscoveryProxy string `yaml:"discovery_proxy" env:"ETCD_DISCOVERY_PROXY"`
ElectionTimeout int `yaml:"election_timeout" env:"ETCD_ELECTION_TIMEOUT"`
ForceNewCluster bool `yaml:"force_new_cluster" env:"ETCD_FORCE_NEW_CLUSTER"`
HeartbeatInterval int `yaml:"heartbeat_interval" env:"ETCD_HEARTBEAT_INTERVAL"`
InitialAdvertisePeerURLs string `yaml:"initial_advertise_peer_urls" env:"ETCD_INITIAL_ADVERTISE_PEER_URLS"`
InitialCluster string `yaml:"initial_cluster" env:"ETCD_INITIAL_CLUSTER"`
InitialClusterState string `yaml:"initial_cluster_state" env:"ETCD_INITIAL_CLUSTER_STATE"`
InitialClusterToken string `yaml:"initial_cluster_token" env:"ETCD_INITIAL_CLUSTER_TOKEN"`
KeyFile string `yaml:"key_file" env:"ETCD_KEY_FILE"`
ListenClientURLs string `yaml:"listen_client_urls" env:"ETCD_LISTEN_CLIENT_URLS"`
ListenPeerURLs string `yaml:"listen_peer_urls" env:"ETCD_LISTEN_PEER_URLS"`
LogPackageLevels string `yaml:"log_package_levels" env:"ETCD_LOG_PACKAGE_LEVELS"`
MaxSnapshots int `yaml:"max_snapshots" env:"ETCD_MAX_SNAPSHOTS"`
MaxWALs int `yaml:"max_wals" env:"ETCD_MAX_WALS"`
Name string `yaml:"name" env:"ETCD_NAME"`
PeerCAFile string `yaml:"peer_ca_file" env:"ETCD_PEER_CA_FILE" deprecated:"peer_ca_file obsoleted peer_trusted_ca_file and peer_client_cert_auth"`
PeerCertFile string `yaml:"peer_cert_file" env:"ETCD_PEER_CERT_FILE"`
PeerKeyFile string `yaml:"peer_key_file" env:"ETCD_PEER_KEY_FILE"`
PeerClientCertAuth bool `yaml:"peer_client_cert_auth" env:"ETCD_PEER_CLIENT_CERT_AUTH"`
PeerTrustedCAFile string `yaml:"peer_trusted_ca_file" env:"ETCD_PEER_TRUSTED_CA_FILE"`
Proxy string `yaml:"proxy" env:"ETCD_PROXY" valid:"^(on|off|readonly)$"`
ProxyDialTimeout int `yaml:"proxy_dial_timeout" env:"ETCD_PROXY_DIAL_TIMEOUT"`
ProxyFailureWait int `yaml:"proxy_failure_wait" env:"ETCD_PROXY_FAILURE_WAIT"`
ProxyReadTimeout int `yaml:"proxy_read_timeout" env:"ETCD_PROXY_READ_TIMEOUT"`
ProxyRefreshInterval int `yaml:"proxy_refresh_interval" env:"ETCD_PROXY_REFRESH_INTERVAL"`
ProxyWriteTimeout int `yaml:"proxy_write_timeout" env:"ETCD_PROXY_WRITE_TIMEOUT"`
SnapshotCount int `yaml:"snapshot_count" env:"ETCD_SNAPSHOT_COUNT"`
TrustedCAFile string `yaml:"trusted_ca_file" env:"ETCD_TRUSTED_CA_FILE"`
WalDir string `yaml:"wal_dir" env:"ETCD_WAL_DIR"`
}

View File

@@ -1,23 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type File struct {
Encoding string `yaml:"encoding" valid:"^(base64|b64|gz|gzip|gz\\+base64|gzip\\+base64|gz\\+b64|gzip\\+b64)$"`
Content string `yaml:"content"`
Owner string `yaml:"owner"`
Path string `yaml:"path"`
RawFilePermissions string `yaml:"permissions" valid:"^0?[0-7]{3,4}$"`
}

View File

@@ -1,69 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"testing"
)
func TestEncodingValid(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "base64", isValid: true},
{value: "b64", isValid: true},
{value: "gz", isValid: true},
{value: "gzip", isValid: true},
{value: "gz+base64", isValid: true},
{value: "gzip+base64", isValid: true},
{value: "gz+b64", isValid: true},
{value: "gzip+b64", isValid: true},
{value: "gzzzzbase64", isValid: false},
{value: "gzipppbase64", isValid: false},
{value: "unknown", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(File{Encoding: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}
func TestRawFilePermissionsValid(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "744", isValid: true},
{value: "0744", isValid: true},
{value: "1744", isValid: true},
{value: "01744", isValid: true},
{value: "11744", isValid: false},
{value: "rwxr--r--", isValid: false},
{value: "800", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(File{RawFilePermissions: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}

View File

@@ -1,27 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Flannel struct {
EtcdEndpoints string `yaml:"etcd_endpoints" env:"FLANNELD_ETCD_ENDPOINTS"`
EtcdCAFile string `yaml:"etcd_cafile" env:"FLANNELD_ETCD_CAFILE"`
EtcdCertFile string `yaml:"etcd_certfile" env:"FLANNELD_ETCD_CERTFILE"`
EtcdKeyFile string `yaml:"etcd_keyfile" env:"FLANNELD_ETCD_KEYFILE"`
EtcdPrefix string `yaml:"etcd_prefix" env:"FLANNELD_ETCD_PREFIX"`
IPMasq string `yaml:"ip_masq" env:"FLANNELD_IP_MASQ"`
SubnetFile string `yaml:"subnet_file" env:"FLANNELD_SUBNET_FILE"`
Iface string `yaml:"interface" env:"FLANNELD_IFACE"`
PublicIP string `yaml:"public_ip" env:"FLANNELD_PUBLIC_IP"`
}

View File

@@ -1,33 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Fleet struct {
AgentTTL string `yaml:"agent_ttl" env:"FLEET_AGENT_TTL"`
AuthorizedKeysFile string `yaml:"authorized_keys_file" env:"FLEET_AUTHORIZED_KEYS_FILE"`
DisableEngine bool `yaml:"disable_engine" env:"FLEET_DISABLE_ENGINE"`
EngineReconcileInterval float64 `yaml:"engine_reconcile_interval" env:"FLEET_ENGINE_RECONCILE_INTERVAL"`
EtcdCAFile string `yaml:"etcd_cafile" env:"FLEET_ETCD_CAFILE"`
EtcdCertFile string `yaml:"etcd_certfile" env:"FLEET_ETCD_CERTFILE"`
EtcdKeyFile string `yaml:"etcd_keyfile" env:"FLEET_ETCD_KEYFILE"`
EtcdKeyPrefix string `yaml:"etcd_key_prefix" env:"FLEET_ETCD_KEY_PREFIX"`
EtcdRequestTimeout float64 `yaml:"etcd_request_timeout" env:"FLEET_ETCD_REQUEST_TIMEOUT"`
EtcdServers string `yaml:"etcd_servers" env:"FLEET_ETCD_SERVERS"`
Metadata string `yaml:"metadata" env:"FLEET_METADATA"`
PublicIP string `yaml:"public_ip" env:"FLEET_PUBLIC_IP"`
TokenLimit int `yaml:"token_limit" env:"FLEET_TOKEN_LIMIT"`
Verbosity int `yaml:"verbosity" env:"FLEET_VERBOSITY"`
VerifyUnits bool `yaml:"verify_units" env:"FLEET_VERIFY_UNITS"`
}

View File

@@ -1,26 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
)
func IsIgnitionConfig(userdata string) bool {
var cfg struct {
Version *int `json:"ignitionVersion" yaml:"ignition_version"`
}
return (json.Unmarshal([]byte(userdata), &cfg) == nil && cfg.Version != nil)
}

View File

@@ -1,25 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Locksmith struct {
Endpoint string `yaml:"endpoint" env:"LOCKSMITHD_ENDPOINT"`
EtcdCAFile string `yaml:"etcd_cafile" env:"LOCKSMITHD_ETCD_CAFILE"`
EtcdCertFile string `yaml:"etcd_certfile" env:"LOCKSMITHD_ETCD_CERTFILE"`
EtcdKeyFile string `yaml:"etcd_keyfile" env:"LOCKSMITHD_ETCD_KEYFILE"`
Group string `yaml:"group" env:"LOCKSMITHD_GROUP"`
RebootWindowStart string `yaml:"window_start" env:"REBOOT_WINDOW_START" valid:"^((?i:sun|mon|tue|wed|thu|fri|sat|sun) )?0*([0-9]|1[0-9]|2[0-3]):0*([0-9]|[1-5][0-9])$"`
RebootWindowLength string `yaml:"window_length" env:"REBOOT_WINDOW_LENGTH" valid:"^[-+]?([0-9]*(\\.[0-9]*)?[a-z]+)+$"`
}

View File

@@ -1,76 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"testing"
)
func TestRebootWindowStart(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "Sun 0:0", isValid: true},
{value: "Sun 00:00", isValid: true},
{value: "sUn 23:59", isValid: true},
{value: "mon 0:0", isValid: true},
{value: "tue 0:0", isValid: true},
{value: "tues 0:0", isValid: false},
{value: "wed 0:0", isValid: true},
{value: "thu 0:0", isValid: true},
{value: "thur 0:0", isValid: false},
{value: "fri 0:0", isValid: true},
{value: "sat 0:0", isValid: true},
{value: "sat00:00", isValid: false},
{value: "00:00", isValid: true},
{value: "10:10", isValid: true},
{value: "20:20", isValid: true},
{value: "20:30", isValid: true},
{value: "20:40", isValid: true},
{value: "20:50", isValid: true},
{value: "20:60", isValid: false},
{value: "24:00", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(Locksmith{RebootWindowStart: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}
func TestRebootWindowLength(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "1h", isValid: true},
{value: "1d", isValid: true},
{value: "0d", isValid: true},
{value: "0.5h", isValid: true},
{value: "0.5.0h", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(Locksmith{RebootWindowLength: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}

View File

@@ -1,23 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type OEM struct {
ID string `yaml:"id"`
Name string `yaml:"name"`
VersionID string `yaml:"version_id"`
HomeURL string `yaml:"home_url"`
BugReportURL string `yaml:"bug_report_url"`
}

View File

@@ -1,31 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"strings"
)
type Script []byte
func IsScript(userdata string) bool {
header := strings.SplitN(userdata, "\n", 2)[0]
return strings.HasPrefix(header, "#!")
}
func NewScript(userdata string) (*Script, error) {
s := Script(userdata)
return &s, nil
}

View File

@@ -1,30 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Unit struct {
Name string `yaml:"name"`
Mask bool `yaml:"mask"`
Enable bool `yaml:"enable"`
Runtime bool `yaml:"runtime"`
Content string `yaml:"content"`
Command string `yaml:"command" valid:"^(start|stop|restart|reload|try-restart|reload-or-restart|reload-or-try-restart)$"`
DropIns []UnitDropIn `yaml:"drop_ins"`
}
type UnitDropIn struct {
Name string `yaml:"name"`
Content string `yaml:"content"`
}

View File

@@ -1,46 +0,0 @@
/*
Copyright 2014 CoreOS, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package config
import (
"testing"
)
func TestCommandValid(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "start", isValid: true},
{value: "stop", isValid: true},
{value: "restart", isValid: true},
{value: "reload", isValid: true},
{value: "try-restart", isValid: true},
{value: "reload-or-restart", isValid: true},
{value: "reload-or-try-restart", isValid: true},
{value: "tryrestart", isValid: false},
{value: "unknown", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(Unit{Command: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}

View File

@@ -1,21 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Update struct {
RebootStrategy string `yaml:"reboot_strategy" env:"REBOOT_STRATEGY" valid:"^(best-effort|etcd-lock|reboot|off)$"`
Group string `yaml:"group" env:"GROUP"`
Server string `yaml:"server" env:"SERVER"`
}

View File

@@ -1,43 +0,0 @@
/*
Copyright 2014 CoreOS, Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package config
import (
"testing"
)
func TestRebootStrategyValid(t *testing.T) {
tests := []struct {
value string
isValid bool
}{
{value: "best-effort", isValid: true},
{value: "etcd-lock", isValid: true},
{value: "reboot", isValid: true},
{value: "off", isValid: true},
{value: "besteffort", isValid: false},
{value: "unknown", isValid: false},
}
for _, tt := range tests {
isValid := (nil == AssertStructValid(Update{RebootStrategy: tt.value}))
if tt.isValid != isValid {
t.Errorf("bad assert (%s): want %t, got %t", tt.value, tt.isValid, isValid)
}
}
}

View File

@@ -1,33 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type User struct {
Name string `yaml:"name"`
PasswordHash string `yaml:"passwd"`
SSHAuthorizedKeys []string `yaml:"ssh_authorized_keys"`
SSHImportGithubUser string `yaml:"coreos_ssh_import_github" deprecated:"trying to fetch from a remote endpoint introduces too many intermittent errors"`
SSHImportGithubUsers []string `yaml:"coreos_ssh_import_github_users" deprecated:"trying to fetch from a remote endpoint introduces too many intermittent errors"`
SSHImportURL string `yaml:"coreos_ssh_import_url" deprecated:"trying to fetch from a remote endpoint introduces too many intermittent errors"`
GECOS string `yaml:"gecos"`
Homedir string `yaml:"homedir"`
NoCreateHome bool `yaml:"no_create_home"`
PrimaryGroup string `yaml:"primary_group"`
Groups []string `yaml:"groups"`
NoUserGroup bool `yaml:"no_user_group"`
System bool `yaml:"system"`
NoLogInit bool `yaml:"no_log_init"`
Shell string `yaml:"shell"`
}

View File

@@ -1,52 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"strings"
)
// context represents the current position within a newline-delimited string.
// Each line is loaded, one by one, into currentLine (newline omitted) and
// lineNumber keeps track of its position within the original string.
type context struct {
currentLine string
remainingLines string
lineNumber int
}
// Increment moves the context to the next line (if available).
func (c *context) Increment() {
if c.currentLine == "" && c.remainingLines == "" {
return
}
lines := strings.SplitN(c.remainingLines, "\n", 2)
c.currentLine = lines[0]
if len(lines) == 2 {
c.remainingLines = lines[1]
} else {
c.remainingLines = ""
}
c.lineNumber++
}
// NewContext creates a context from the provided data. It strips out all
// carriage returns and moves to the first line (if available).
func NewContext(content []byte) context {
c := context{remainingLines: strings.Replace(string(content), "\r", "", -1)}
c.Increment()
return c
}

View File

@@ -1,131 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"reflect"
"testing"
)
func TestNewContext(t *testing.T) {
tests := []struct {
in string
out context
}{
{
out: context{
currentLine: "",
remainingLines: "",
lineNumber: 0,
},
},
{
in: "this\r\nis\r\na\r\ntest",
out: context{
currentLine: "this",
remainingLines: "is\na\ntest",
lineNumber: 1,
},
},
}
for _, tt := range tests {
if out := NewContext([]byte(tt.in)); !reflect.DeepEqual(tt.out, out) {
t.Errorf("bad context (%q): want %#v, got %#v", tt.in, tt.out, out)
}
}
}
func TestIncrement(t *testing.T) {
tests := []struct {
init context
op func(c *context)
res context
}{
{
init: context{
currentLine: "",
remainingLines: "",
lineNumber: 0,
},
res: context{
currentLine: "",
remainingLines: "",
lineNumber: 0,
},
op: func(c *context) {
c.Increment()
},
},
{
init: context{
currentLine: "test",
remainingLines: "",
lineNumber: 1,
},
res: context{
currentLine: "",
remainingLines: "",
lineNumber: 2,
},
op: func(c *context) {
c.Increment()
c.Increment()
c.Increment()
},
},
{
init: context{
currentLine: "this",
remainingLines: "is\na\ntest",
lineNumber: 1,
},
res: context{
currentLine: "is",
remainingLines: "a\ntest",
lineNumber: 2,
},
op: func(c *context) {
c.Increment()
},
},
{
init: context{
currentLine: "this",
remainingLines: "is\na\ntest",
lineNumber: 1,
},
res: context{
currentLine: "test",
remainingLines: "",
lineNumber: 4,
},
op: func(c *context) {
c.Increment()
c.Increment()
c.Increment()
},
},
}
for i, tt := range tests {
res := tt.init
if tt.op(&res); !reflect.DeepEqual(tt.res, res) {
t.Errorf("bad context (%d, %#v): want %#v, got %#v", i, tt.init, tt.res, res)
}
}
}

View File

@@ -1,157 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"fmt"
"reflect"
"regexp"
)
var (
yamlKey = regexp.MustCompile(`^ *-? ?(?P<key>.*?):`)
yamlElem = regexp.MustCompile(`^ *-`)
)
type node struct {
name string
line int
children []node
field reflect.StructField
reflect.Value
}
// Child attempts to find the child with the given name in the node's list of
// children. If no such child is found, an invalid node is returned.
func (n node) Child(name string) node {
for _, c := range n.children {
if c.name == name {
return c
}
}
return node{}
}
// HumanType returns the human-consumable string representation of the type of
// the node.
func (n node) HumanType() string {
switch k := n.Kind(); k {
case reflect.Slice:
c := n.Type().Elem()
return "[]" + node{Value: reflect.New(c).Elem()}.HumanType()
default:
return k.String()
}
}
// NewNode returns the node representation of the given value. The context
// will be used in an attempt to determine line numbers for the given value.
func NewNode(value interface{}, context context) node {
var n node
toNode(value, context, &n)
return n
}
// toNode converts the given value into a node and then recursively processes
// each of the nodes components (e.g. fields, array elements, keys).
func toNode(v interface{}, c context, n *node) {
vv := reflect.ValueOf(v)
if !vv.IsValid() {
return
}
n.Value = vv
switch vv.Kind() {
case reflect.Struct:
// Walk over each field in the structure, skipping unexported fields,
// and create a node for it.
for i := 0; i < vv.Type().NumField(); i++ {
ft := vv.Type().Field(i)
k := ft.Tag.Get("yaml")
if k == "-" || k == "" {
continue
}
cn := node{name: k, field: ft}
c, ok := findKey(cn.name, c)
if ok {
cn.line = c.lineNumber
}
toNode(vv.Field(i).Interface(), c, &cn)
n.children = append(n.children, cn)
}
case reflect.Map:
// Walk over each key in the map and create a node for it.
v := v.(map[interface{}]interface{})
for k, cv := range v {
cn := node{name: fmt.Sprintf("%s", k)}
c, ok := findKey(cn.name, c)
if ok {
cn.line = c.lineNumber
}
toNode(cv, c, &cn)
n.children = append(n.children, cn)
}
case reflect.Slice:
// Walk over each element in the slice and create a node for it.
// While iterating over the slice, preserve the context after it
// is modified. This allows the line numbers to reflect the current
// element instead of the first.
for i := 0; i < vv.Len(); i++ {
cn := node{
name: fmt.Sprintf("%s[%d]", n.name, i),
field: n.field,
}
var ok bool
c, ok = findElem(c)
if ok {
cn.line = c.lineNumber
}
toNode(vv.Index(i).Interface(), c, &cn)
n.children = append(n.children, cn)
c.Increment()
}
case reflect.String, reflect.Int, reflect.Bool, reflect.Float64:
default:
panic(fmt.Sprintf("toNode(): unhandled kind %s", vv.Kind()))
}
}
// findKey attempts to find the requested key within the provided context.
// A modified copy of the context is returned with every line up to the key
// incremented past. A boolean, true if the key was found, is also returned.
func findKey(key string, context context) (context, bool) {
return find(yamlKey, key, context)
}
// findElem attempts to find an array element within the provided context.
// A modified copy of the context is returned with every line up to the array
// element incremented past. A boolean, true if the key was found, is also
// returned.
func findElem(context context) (context, bool) {
return find(yamlElem, "", context)
}
func find(exp *regexp.Regexp, key string, context context) (context, bool) {
for len(context.currentLine) > 0 || len(context.remainingLines) > 0 {
matches := exp.FindStringSubmatch(context.currentLine)
if len(matches) > 0 && (key == "" || matches[1] == key) {
return context, true
}
context.Increment()
}
return context, false
}

View File

@@ -1,284 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"reflect"
"testing"
)
func TestChild(t *testing.T) {
tests := []struct {
parent node
name string
child node
}{
{},
{
name: "c1",
},
{
parent: node{
children: []node{
node{name: "c1"},
node{name: "c2"},
node{name: "c3"},
},
},
},
{
parent: node{
children: []node{
node{name: "c1"},
node{name: "c2"},
node{name: "c3"},
},
},
name: "c2",
child: node{name: "c2"},
},
}
for _, tt := range tests {
if child := tt.parent.Child(tt.name); !reflect.DeepEqual(tt.child, child) {
t.Errorf("bad child (%q): want %#v, got %#v", tt.name, tt.child, child)
}
}
}
func TestHumanType(t *testing.T) {
tests := []struct {
node node
humanType string
}{
{
humanType: "invalid",
},
{
node: node{Value: reflect.ValueOf("hello")},
humanType: "string",
},
{
node: node{
Value: reflect.ValueOf([]int{1, 2}),
children: []node{
node{Value: reflect.ValueOf(1)},
node{Value: reflect.ValueOf(2)},
}},
humanType: "[]int",
},
}
for _, tt := range tests {
if humanType := tt.node.HumanType(); tt.humanType != humanType {
t.Errorf("bad type (%q): want %q, got %q", tt.node, tt.humanType, humanType)
}
}
}
func TestToNode(t *testing.T) {
tests := []struct {
value interface{}
context context
node node
}{
{},
{
value: struct{}{},
node: node{Value: reflect.ValueOf(struct{}{})},
},
{
value: struct {
A int `yaml:"a"`
}{},
node: node{
children: []node{
node{
name: "a",
field: reflect.TypeOf(struct {
A int `yaml:"a"`
}{}).Field(0),
},
},
},
},
{
value: struct {
A []int `yaml:"a"`
}{},
node: node{
children: []node{
node{
name: "a",
field: reflect.TypeOf(struct {
A []int `yaml:"a"`
}{}).Field(0),
},
},
},
},
{
value: map[interface{}]interface{}{
"a": map[interface{}]interface{}{
"b": 2,
},
},
context: NewContext([]byte("a:\n b: 2")),
node: node{
children: []node{
node{
line: 1,
name: "a",
children: []node{
node{name: "b", line: 2},
},
},
},
},
},
{
value: struct {
A struct {
Jon bool `yaml:"b"`
} `yaml:"a"`
}{},
node: node{
children: []node{
node{
name: "a",
children: []node{
node{
name: "b",
field: reflect.TypeOf(struct {
Jon bool `yaml:"b"`
}{}).Field(0),
Value: reflect.ValueOf(false),
},
},
field: reflect.TypeOf(struct {
A struct {
Jon bool `yaml:"b"`
} `yaml:"a"`
}{}).Field(0),
Value: reflect.ValueOf(struct {
Jon bool `yaml:"b"`
}{}),
},
},
Value: reflect.ValueOf(struct {
A struct {
Jon bool `yaml:"b"`
} `yaml:"a"`
}{}),
},
},
}
for _, tt := range tests {
var node node
toNode(tt.value, tt.context, &node)
if !nodesEqual(tt.node, node) {
t.Errorf("bad node (%#v): want %#v, got %#v", tt.value, tt.node, node)
}
}
}
func TestFindKey(t *testing.T) {
tests := []struct {
key string
context context
found bool
}{
{},
{
key: "key1",
context: NewContext([]byte("key1: hi")),
found: true,
},
{
key: "key2",
context: NewContext([]byte("key1: hi")),
found: false,
},
{
key: "key3",
context: NewContext([]byte("key1:\n key2:\n key3: hi")),
found: true,
},
{
key: "key4",
context: NewContext([]byte("key1:\n - key4: hi")),
found: true,
},
{
key: "key5",
context: NewContext([]byte("#key5")),
found: false,
},
}
for _, tt := range tests {
if _, found := findKey(tt.key, tt.context); tt.found != found {
t.Errorf("bad find (%q): want %t, got %t", tt.key, tt.found, found)
}
}
}
func TestFindElem(t *testing.T) {
tests := []struct {
context context
found bool
}{
{},
{
context: NewContext([]byte("test: hi")),
found: false,
},
{
context: NewContext([]byte("test:\n - a\n -b")),
found: true,
},
{
context: NewContext([]byte("test:\n -\n a")),
found: true,
},
}
for _, tt := range tests {
if _, found := findElem(tt.context); tt.found != found {
t.Errorf("bad find (%q): want %t, got %t", tt.context, tt.found, found)
}
}
}
func nodesEqual(a, b node) bool {
if a.name != b.name ||
a.line != b.line ||
!reflect.DeepEqual(a.field, b.field) ||
len(a.children) != len(b.children) {
return false
}
for i := 0; i < len(a.children); i++ {
if !nodesEqual(a.children[i], b.children[i]) {
return false
}
}
return true
}

View File

@@ -1,88 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"encoding/json"
"fmt"
)
// Report represents the list of entries resulting from validation.
type Report struct {
entries []Entry
}
// Error adds an error entry to the report.
func (r *Report) Error(line int, message string) {
r.entries = append(r.entries, Entry{entryError, message, line})
}
// Warning adds a warning entry to the report.
func (r *Report) Warning(line int, message string) {
r.entries = append(r.entries, Entry{entryWarning, message, line})
}
// Info adds an info entry to the report.
func (r *Report) Info(line int, message string) {
r.entries = append(r.entries, Entry{entryInfo, message, line})
}
// Entries returns the list of entries in the report.
func (r *Report) Entries() []Entry {
return r.entries
}
// Entry represents a single generic item in the report.
type Entry struct {
kind entryKind
message string
line int
}
// String returns a human-readable representation of the entry.
func (e Entry) String() string {
return fmt.Sprintf("line %d: %s: %s", e.line, e.kind, e.message)
}
// MarshalJSON satisfies the json.Marshaler interface, returning the entry
// encoded as a JSON object.
func (e Entry) MarshalJSON() ([]byte, error) {
return json.Marshal(map[string]interface{}{
"kind": e.kind.String(),
"message": e.message,
"line": e.line,
})
}
type entryKind int
const (
entryError entryKind = iota
entryWarning
entryInfo
)
func (k entryKind) String() string {
switch k {
case entryError:
return "error"
case entryWarning:
return "warning"
case entryInfo:
return "info"
default:
panic(fmt.Sprintf("invalid kind %d", k))
}
}

View File

@@ -1,96 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"bytes"
"reflect"
"testing"
)
func TestEntry(t *testing.T) {
tests := []struct {
entry Entry
str string
json []byte
}{
{
Entry{entryInfo, "test info", 1},
"line 1: info: test info",
[]byte(`{"kind":"info","line":1,"message":"test info"}`),
},
{
Entry{entryWarning, "test warning", 1},
"line 1: warning: test warning",
[]byte(`{"kind":"warning","line":1,"message":"test warning"}`),
},
{
Entry{entryError, "test error", 2},
"line 2: error: test error",
[]byte(`{"kind":"error","line":2,"message":"test error"}`),
},
}
for _, tt := range tests {
if str := tt.entry.String(); tt.str != str {
t.Errorf("bad string (%q): want %q, got %q", tt.entry, tt.str, str)
}
json, err := tt.entry.MarshalJSON()
if err != nil {
t.Errorf("bad error (%q): want %v, got %q", tt.entry, nil, err)
}
if !bytes.Equal(tt.json, json) {
t.Errorf("bad JSON (%q): want %q, got %q", tt.entry, tt.json, json)
}
}
}
func TestReport(t *testing.T) {
type reportFunc struct {
fn func(*Report, int, string)
line int
message string
}
tests := []struct {
fs []reportFunc
es []Entry
}{
{
[]reportFunc{
{(*Report).Warning, 1, "test warning 1"},
{(*Report).Error, 2, "test error 2"},
{(*Report).Info, 10, "test info 10"},
},
[]Entry{
Entry{entryWarning, "test warning 1", 1},
Entry{entryError, "test error 2", 2},
Entry{entryInfo, "test info 10", 10},
},
},
}
for _, tt := range tests {
r := Report{}
for _, f := range tt.fs {
f.fn(&r, f.line, f.message)
}
if es := r.Entries(); !reflect.DeepEqual(tt.es, es) {
t.Errorf("bad entries (%v): want %#v, got %#v", tt.fs, tt.es, es)
}
}
}

View File

@@ -1,180 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"fmt"
"net/url"
"path"
"reflect"
"strings"
"github.com/coreos/coreos-cloudinit/config"
)
type rule func(config node, report *Report)
// Rules contains all of the validation rules.
var Rules []rule = []rule{
checkDiscoveryUrl,
checkEncoding,
checkStructure,
checkValidity,
checkWriteFiles,
checkWriteFilesUnderCoreos,
}
// checkDiscoveryUrl verifies that the string is a valid url.
func checkDiscoveryUrl(cfg node, report *Report) {
c := cfg.Child("coreos").Child("etcd").Child("discovery")
if !c.IsValid() {
return
}
if _, err := url.ParseRequestURI(c.String()); err != nil {
report.Warning(c.line, "discovery URL is not valid")
}
}
// checkEncoding validates that, for each file under 'write_files', the
// content can be decoded given the specified encoding.
func checkEncoding(cfg node, report *Report) {
for _, f := range cfg.Child("write_files").children {
e := f.Child("encoding")
if !e.IsValid() {
continue
}
c := f.Child("content")
if _, err := config.DecodeContent(c.String(), e.String()); err != nil {
report.Error(c.line, fmt.Sprintf("content cannot be decoded as %q", e.String()))
}
}
}
// checkStructure compares the provided config to the empty config.CloudConfig
// structure. Each node is checked to make sure that it exists in the known
// structure and that its type is compatible.
func checkStructure(cfg node, report *Report) {
g := NewNode(config.CloudConfig{}, NewContext([]byte{}))
checkNodeStructure(cfg, g, report)
}
func checkNodeStructure(n, g node, r *Report) {
if !isCompatible(n.Kind(), g.Kind()) {
r.Warning(n.line, fmt.Sprintf("incorrect type for %q (want %s)", n.name, g.HumanType()))
return
}
switch g.Kind() {
case reflect.Struct:
for _, cn := range n.children {
if cg := g.Child(cn.name); cg.IsValid() {
if msg := cg.field.Tag.Get("deprecated"); msg != "" {
r.Warning(cn.line, fmt.Sprintf("deprecated key %q (%s)", cn.name, msg))
}
checkNodeStructure(cn, cg, r)
} else {
r.Warning(cn.line, fmt.Sprintf("unrecognized key %q", cn.name))
}
}
case reflect.Slice:
for _, cn := range n.children {
var cg node
c := g.Type().Elem()
toNode(reflect.New(c).Elem().Interface(), context{}, &cg)
checkNodeStructure(cn, cg, r)
}
case reflect.String, reflect.Int, reflect.Float64, reflect.Bool:
default:
panic(fmt.Sprintf("checkNodeStructure(): unhandled kind %s", g.Kind()))
}
}
// isCompatible determines if the type of kind n can be converted to the type
// of kind g in the context of YAML. This is not an exhaustive list, but its
// enough for the purposes of cloud-config validation.
func isCompatible(n, g reflect.Kind) bool {
switch g {
case reflect.String:
return n == reflect.String || n == reflect.Int || n == reflect.Float64 || n == reflect.Bool
case reflect.Struct:
return n == reflect.Struct || n == reflect.Map
case reflect.Float64:
return n == reflect.Float64 || n == reflect.Int
case reflect.Bool, reflect.Slice, reflect.Int:
return n == g
default:
panic(fmt.Sprintf("isCompatible(): unhandled kind %s", g))
}
}
// checkValidity checks the value of every node in the provided config by
// running config.AssertValid() on it.
func checkValidity(cfg node, report *Report) {
g := NewNode(config.CloudConfig{}, NewContext([]byte{}))
checkNodeValidity(cfg, g, report)
}
func checkNodeValidity(n, g node, r *Report) {
if err := config.AssertValid(n.Value, g.field.Tag.Get("valid")); err != nil {
r.Error(n.line, fmt.Sprintf("invalid value %v", n.Value.Interface()))
}
switch g.Kind() {
case reflect.Struct:
for _, cn := range n.children {
if cg := g.Child(cn.name); cg.IsValid() {
checkNodeValidity(cn, cg, r)
}
}
case reflect.Slice:
for _, cn := range n.children {
var cg node
c := g.Type().Elem()
toNode(reflect.New(c).Elem().Interface(), context{}, &cg)
checkNodeValidity(cn, cg, r)
}
case reflect.String, reflect.Int, reflect.Float64, reflect.Bool:
default:
panic(fmt.Sprintf("checkNodeValidity(): unhandled kind %s", g.Kind()))
}
}
// checkWriteFiles checks to make sure that the target file can actually be
// written. Note that this check is approximate (it only checks to see if the file
// is under /usr).
func checkWriteFiles(cfg node, report *Report) {
for _, f := range cfg.Child("write_files").children {
c := f.Child("path")
if !c.IsValid() {
continue
}
d := path.Dir(c.String())
switch {
case strings.HasPrefix(d, "/usr"):
report.Error(c.line, "file cannot be written to a read-only filesystem")
}
}
}
// checkWriteFilesUnderCoreos checks to see if the 'write_files' node is a
// child of 'coreos' (it shouldn't be).
func checkWriteFilesUnderCoreos(cfg node, report *Report) {
c := cfg.Child("coreos").Child("write_files")
if c.IsValid() {
report.Info(c.line, "write_files doesn't belong under coreos")
}
}

View File

@@ -1,408 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"reflect"
"testing"
)
func TestCheckDiscoveryUrl(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
{
config: "coreos:\n etcd:\n discovery: https://discovery.etcd.io/00000000000000000000000000000000",
},
{
config: "coreos:\n etcd:\n discovery: http://custom.domain/mytoken",
},
{
config: "coreos:\n etcd:\n discovery: disco",
entries: []Entry{{entryWarning, "discovery URL is not valid", 3}},
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkDiscoveryUrl(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}
func TestCheckEncoding(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
{
config: "write_files:\n - encoding: base64\n content: aGVsbG8K",
},
{
config: "write_files:\n - content: !!binary aGVsbG8K",
},
{
config: "write_files:\n - encoding: base64\n content: !!binary aGVsbG8K",
entries: []Entry{{entryError, `content cannot be decoded as "base64"`, 3}},
},
{
config: "write_files:\n - encoding: base64\n content: !!binary YUdWc2JHOEsK",
},
{
config: "write_files:\n - encoding: gzip\n content: !!binary H4sIAOC3tVQAA8tIzcnJ5wIAIDA6NgYAAAA=",
},
{
config: "write_files:\n - encoding: gzip+base64\n content: H4sIAOC3tVQAA8tIzcnJ5wIAIDA6NgYAAAA=",
},
{
config: "write_files:\n - encoding: custom\n content: hello",
entries: []Entry{{entryError, `content cannot be decoded as "custom"`, 3}},
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkEncoding(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}
func TestCheckStructure(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
// Test for unrecognized keys
{
config: "test:",
entries: []Entry{{entryWarning, "unrecognized key \"test\"", 1}},
},
{
config: "coreos:\n etcd:\n bad:",
entries: []Entry{{entryWarning, "unrecognized key \"bad\"", 3}},
},
{
config: "coreos:\n etcd:\n discovery: good",
},
// Test for deprecated keys
{
config: "coreos:\n etcd:\n addr: hi",
},
{
config: "coreos:\n etcd:\n proxy: hi",
entries: []Entry{{entryWarning, "deprecated key \"proxy\" (etcd2 options no longer work for etcd)", 3}},
},
// Test for error on list of nodes
{
config: "coreos:\n units:\n - hello\n - goodbye",
entries: []Entry{
{entryWarning, "incorrect type for \"units[0]\" (want struct)", 3},
{entryWarning, "incorrect type for \"units[1]\" (want struct)", 4},
},
},
// Test for incorrect types
// Want boolean
{
config: "coreos:\n units:\n - enable: true",
},
{
config: "coreos:\n units:\n - enable: 4",
entries: []Entry{{entryWarning, "incorrect type for \"enable\" (want bool)", 3}},
},
{
config: "coreos:\n units:\n - enable: bad",
entries: []Entry{{entryWarning, "incorrect type for \"enable\" (want bool)", 3}},
},
{
config: "coreos:\n units:\n - enable:\n bad:",
entries: []Entry{{entryWarning, "incorrect type for \"enable\" (want bool)", 3}},
},
{
config: "coreos:\n units:\n - enable:\n - bad",
entries: []Entry{{entryWarning, "incorrect type for \"enable\" (want bool)", 3}},
},
// Want string
{
config: "hostname: true",
},
{
config: "hostname: 4",
},
{
config: "hostname: host",
},
{
config: "hostname:\n name:",
entries: []Entry{{entryWarning, "incorrect type for \"hostname\" (want string)", 1}},
},
{
config: "hostname:\n - name",
entries: []Entry{{entryWarning, "incorrect type for \"hostname\" (want string)", 1}},
},
// Want struct
{
config: "coreos: true",
entries: []Entry{{entryWarning, "incorrect type for \"coreos\" (want struct)", 1}},
},
{
config: "coreos: 4",
entries: []Entry{{entryWarning, "incorrect type for \"coreos\" (want struct)", 1}},
},
{
config: "coreos: hello",
entries: []Entry{{entryWarning, "incorrect type for \"coreos\" (want struct)", 1}},
},
{
config: "coreos:\n etcd:\n discovery: fire in the disco",
},
{
config: "coreos:\n - hello",
entries: []Entry{{entryWarning, "incorrect type for \"coreos\" (want struct)", 1}},
},
// Want []string
{
config: "ssh_authorized_keys: true",
entries: []Entry{{entryWarning, "incorrect type for \"ssh_authorized_keys\" (want []string)", 1}},
},
{
config: "ssh_authorized_keys: 4",
entries: []Entry{{entryWarning, "incorrect type for \"ssh_authorized_keys\" (want []string)", 1}},
},
{
config: "ssh_authorized_keys: key",
entries: []Entry{{entryWarning, "incorrect type for \"ssh_authorized_keys\" (want []string)", 1}},
},
{
config: "ssh_authorized_keys:\n key: value",
entries: []Entry{{entryWarning, "incorrect type for \"ssh_authorized_keys\" (want []string)", 1}},
},
{
config: "ssh_authorized_keys:\n - key",
},
{
config: "ssh_authorized_keys:\n - key: value",
entries: []Entry{{entryWarning, "incorrect type for \"ssh_authorized_keys[0]\" (want string)", 2}},
},
// Want []struct
{
config: "users:\n true",
entries: []Entry{{entryWarning, "incorrect type for \"users\" (want []struct)", 1}},
},
{
config: "users:\n 4",
entries: []Entry{{entryWarning, "incorrect type for \"users\" (want []struct)", 1}},
},
{
config: "users:\n bad",
entries: []Entry{{entryWarning, "incorrect type for \"users\" (want []struct)", 1}},
},
{
config: "users:\n bad:",
entries: []Entry{{entryWarning, "incorrect type for \"users\" (want []struct)", 1}},
},
{
config: "users:\n - name: good",
},
// Want struct within array
{
config: "users:\n - true",
entries: []Entry{{entryWarning, "incorrect type for \"users[0]\" (want struct)", 2}},
},
{
config: "users:\n - name: hi\n - true",
entries: []Entry{{entryWarning, "incorrect type for \"users[1]\" (want struct)", 3}},
},
{
config: "users:\n - 4",
entries: []Entry{{entryWarning, "incorrect type for \"users[0]\" (want struct)", 2}},
},
{
config: "users:\n - bad",
entries: []Entry{{entryWarning, "incorrect type for \"users[0]\" (want struct)", 2}},
},
{
config: "users:\n - - bad",
entries: []Entry{{entryWarning, "incorrect type for \"users[0]\" (want struct)", 2}},
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkStructure(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}
func TestCheckValidity(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
// string
{
config: "hostname: test",
},
// int
{
config: "coreos:\n fleet:\n verbosity: 2",
},
// bool
{
config: "coreos:\n units:\n - enable: true",
},
// slice
{
config: "coreos:\n units:\n - command: start\n - name: stop",
},
{
config: "coreos:\n units:\n - command: lol",
entries: []Entry{{entryError, "invalid value lol", 3}},
},
// struct
{
config: "coreos:\n update:\n reboot_strategy: off",
},
{
config: "coreos:\n update:\n reboot_strategy: always",
entries: []Entry{{entryError, "invalid value always", 3}},
},
// unknown
{
config: "unknown: hi",
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkValidity(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}
func TestCheckWriteFiles(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
{
config: "write_files:\n - path: /valid",
},
{
config: "write_files:\n - path: /tmp/usr/valid",
},
{
config: "write_files:\n - path: /usr/invalid",
entries: []Entry{{entryError, "file cannot be written to a read-only filesystem", 2}},
},
{
config: "write-files:\n - path: /tmp/../usr/invalid",
entries: []Entry{{entryError, "file cannot be written to a read-only filesystem", 2}},
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkWriteFiles(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}
func TestCheckWriteFilesUnderCoreos(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
{
config: "write_files:\n - path: /hi",
},
{
config: "coreos:\n write_files:\n - path: /hi",
entries: []Entry{{entryInfo, "write_files doesn't belong under coreos", 2}},
},
{
config: "coreos:\n write-files:\n - path: /hyphen",
entries: []Entry{{entryInfo, "write_files doesn't belong under coreos", 2}},
},
}
for i, tt := range tests {
r := Report{}
n, err := parseCloudConfig([]byte(tt.config), &r)
if err != nil {
panic(err)
}
checkWriteFilesUnderCoreos(n, &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%d, %q): want %#v, got %#v", i, tt.config, tt.entries, e)
}
}
}

View File

@@ -1,164 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"errors"
"fmt"
"regexp"
"strconv"
"strings"
"github.com/coreos/coreos-cloudinit/config"
"github.com/coreos/yaml"
)
var (
yamlLineError = regexp.MustCompile(`^YAML error: line (?P<line>[[:digit:]]+): (?P<msg>.*)$`)
yamlError = regexp.MustCompile(`^YAML error: (?P<msg>.*)$`)
)
// Validate runs a series of validation tests against the given userdata and
// returns a report detailing all of the issues. Presently, only cloud-configs
// can be validated.
func Validate(userdataBytes []byte) (Report, error) {
switch {
case len(userdataBytes) == 0:
return Report{}, nil
case config.IsScript(string(userdataBytes)):
return Report{}, nil
case config.IsIgnitionConfig(string(userdataBytes)):
return Report{}, nil
case config.IsCloudConfig(string(userdataBytes)):
return validateCloudConfig(userdataBytes, Rules)
default:
return Report{entries: []Entry{
Entry{kind: entryError, message: `must be "#cloud-config" or begin with "#!"`, line: 1},
}}, nil
}
}
// validateCloudConfig runs all of the validation rules in Rules and returns
// the resulting report and any errors encountered.
func validateCloudConfig(config []byte, rules []rule) (report Report, err error) {
defer func() {
if r := recover(); r != nil {
err = fmt.Errorf("%v", r)
}
}()
c, err := parseCloudConfig(config, &report)
if err != nil {
return report, err
}
for _, r := range rules {
r(c, &report)
}
return report, nil
}
// parseCloudConfig parses the provided config into a node structure and logs
// any parsing issues into the provided report. Unrecoverable errors are
// returned as an error.
func parseCloudConfig(cfg []byte, report *Report) (node, error) {
yaml.UnmarshalMappingKeyTransform = func(nameIn string) (nameOut string) {
return nameIn
}
// unmarshal the config into an implicitly-typed form. The yaml library
// will implicitly convert types into their normalized form
// (e.g. 0744 -> 484, off -> false).
var weak map[interface{}]interface{}
if err := yaml.Unmarshal(cfg, &weak); err != nil {
matches := yamlLineError.FindStringSubmatch(err.Error())
if len(matches) == 3 {
line, err := strconv.Atoi(matches[1])
if err != nil {
return node{}, err
}
msg := matches[2]
report.Error(line, msg)
return node{}, nil
}
matches = yamlError.FindStringSubmatch(err.Error())
if len(matches) == 2 {
report.Error(1, matches[1])
return node{}, nil
}
return node{}, errors.New("couldn't parse yaml error")
}
w := NewNode(weak, NewContext(cfg))
w = normalizeNodeNames(w, report)
// unmarshal the config into the explicitly-typed form.
yaml.UnmarshalMappingKeyTransform = func(nameIn string) (nameOut string) {
return strings.Replace(nameIn, "-", "_", -1)
}
var strong config.CloudConfig
if err := yaml.Unmarshal([]byte(cfg), &strong); err != nil {
return node{}, err
}
s := NewNode(strong, NewContext(cfg))
// coerceNodes weak nodes and strong nodes. strong nodes replace weak nodes
// if they are compatible types (this happens when the yaml library
// converts the input).
// (e.g. weak 484 is replaced by strong 0744, weak 4 is not replaced by
// strong false)
return coerceNodes(w, s), nil
}
// coerceNodes recursively evaluates two nodes, returning a new node containing
// either the weak or strong node's value and its recursively processed
// children. The strong node's value is used if the two nodes are leafs, are
// both valid, and are compatible types (defined by isCompatible()). The weak
// node is returned in all other cases. coerceNodes is used to counteract the
// effects of yaml's automatic type conversion. The weak node is the one
// resulting from unmarshalling into an empty interface{} (the type is
// inferred). The strong node is the one resulting from unmarshalling into a
// struct. If the two nodes are of compatible types, the yaml library correctly
// parsed the value into the strongly typed unmarshalling. In this case, we
// prefer the strong node because its actually the type we are expecting.
func coerceNodes(w, s node) node {
n := w
n.children = nil
if len(w.children) == 0 && len(s.children) == 0 &&
w.IsValid() && s.IsValid() &&
isCompatible(w.Kind(), s.Kind()) {
n.Value = s.Value
}
for _, cw := range w.children {
n.children = append(n.children, coerceNodes(cw, s.Child(cw.name)))
}
return n
}
// normalizeNodeNames replaces all occurences of '-' with '_' within key names
// and makes a note of each replacement in the report.
func normalizeNodeNames(node node, report *Report) node {
if strings.Contains(node.name, "-") {
// TODO(crawford): Enable this message once the new validator hits stable.
//report.Info(node.line, fmt.Sprintf("%q uses '-' instead of '_'", node.name))
node.name = strings.Replace(node.name, "-", "_", -1)
}
for i := range node.children {
node.children[i] = normalizeNodeNames(node.children[i], report)
}
return node
}

View File

@@ -1,177 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"errors"
"reflect"
"testing"
)
func TestParseCloudConfig(t *testing.T) {
tests := []struct {
config string
entries []Entry
}{
{},
{
config: " ",
entries: []Entry{{entryError, "found character that cannot start any token", 1}},
},
{
config: "a:\na",
entries: []Entry{{entryError, "could not find expected ':'", 2}},
},
{
config: "#hello\na:\na",
entries: []Entry{{entryError, "could not find expected ':'", 3}},
},
}
for _, tt := range tests {
r := Report{}
parseCloudConfig([]byte(tt.config), &r)
if e := r.Entries(); !reflect.DeepEqual(tt.entries, e) {
t.Errorf("bad report (%s): want %#v, got %#v", tt.config, tt.entries, e)
}
}
}
func TestValidateCloudConfig(t *testing.T) {
tests := []struct {
config string
rules []rule
report Report
err error
}{
{
rules: []rule{func(_ node, _ *Report) { panic("something happened") }},
err: errors.New("something happened"),
},
{
config: "write_files:\n - permissions: 0744",
rules: Rules,
},
{
config: "write_files:\n - permissions: '0744'",
rules: Rules,
},
{
config: "write_files:\n - permissions: 744",
rules: Rules,
},
{
config: "write_files:\n - permissions: '744'",
rules: Rules,
},
{
config: "coreos:\n update:\n reboot-strategy: off",
rules: Rules,
},
{
config: "coreos:\n update:\n reboot-strategy: false",
rules: Rules,
report: Report{entries: []Entry{{entryError, "invalid value false", 3}}},
},
}
for _, tt := range tests {
r, err := validateCloudConfig([]byte(tt.config), tt.rules)
if !reflect.DeepEqual(tt.err, err) {
t.Errorf("bad error (%s): want %v, got %v", tt.config, tt.err, err)
}
if !reflect.DeepEqual(tt.report, r) {
t.Errorf("bad report (%s): want %+v, got %+v", tt.config, tt.report, r)
}
}
}
func TestValidate(t *testing.T) {
tests := []struct {
config string
report Report
}{
{},
{
config: "#!/bin/bash\necho hey",
},
{
config: "{}",
report: Report{entries: []Entry{{entryError, `must be "#cloud-config" or begin with "#!"`, 1}}},
},
{
config: `{"ignitionVersion":0}`,
},
{
config: `{"ignitionVersion":1}`,
},
}
for i, tt := range tests {
r, err := Validate([]byte(tt.config))
if err != nil {
t.Errorf("bad error (case #%d): want %v, got %v", i, nil, err)
}
if !reflect.DeepEqual(tt.report, r) {
t.Errorf("bad report (case #%d): want %+v, got %+v", i, tt.report, r)
}
}
}
func BenchmarkValidate(b *testing.B) {
config := `#cloud-config
hostname: test
coreos:
etcd:
name: node001
discovery: https://discovery.etcd.io/disco
addr: $public_ipv4:4001
peer-addr: $private_ipv4:7001
fleet:
verbosity: 2
metadata: "hi"
update:
reboot-strategy: off
units:
- name: hi.service
command: start
enable: true
- name: bye.service
command: stop
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0g+ZTxC7weoIJLUafOgrm+h...
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0g+ZTxC7weoIJLUafOgrm+h...
users:
- name: me
write_files:
- path: /etc/yes
content: "Hi"
manage_etc_hosts: localhost`
for i := 0; i < b.N; i++ {
if _, err := Validate([]byte(config)); err != nil {
panic(err)
}
}
}

View File

@@ -1,178 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// Package journal provides write bindings to the local systemd journal.
// It is implemented in pure Go and connects to the journal directly over its
// unix socket.
//
// To read from the journal, see the "sdjournal" package, which wraps the
// sd-journal a C API.
//
// http://www.freedesktop.org/software/systemd/man/systemd-journald.service.html
package journal
import (
"bytes"
"encoding/binary"
"errors"
"fmt"
"io"
"io/ioutil"
"net"
"os"
"strconv"
"strings"
"syscall"
)
// Priority of a journal message
type Priority int
const (
PriEmerg Priority = iota
PriAlert
PriCrit
PriErr
PriWarning
PriNotice
PriInfo
PriDebug
)
var conn net.Conn
func init() {
var err error
conn, err = net.Dial("unixgram", "/run/systemd/journal/socket")
if err != nil {
conn = nil
}
}
// Enabled returns true if the local systemd journal is available for logging
func Enabled() bool {
return conn != nil
}
// Send a message to the local systemd journal. vars is a map of journald
// fields to values. Fields must be composed of uppercase letters, numbers,
// and underscores, but must not start with an underscore. Within these
// restrictions, any arbitrary field name may be used. Some names have special
// significance: see the journalctl documentation
// (http://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html)
// for more details. vars may be nil.
func Send(message string, priority Priority, vars map[string]string) error {
if conn == nil {
return journalError("could not connect to journald socket")
}
data := new(bytes.Buffer)
appendVariable(data, "PRIORITY", strconv.Itoa(int(priority)))
appendVariable(data, "MESSAGE", message)
for k, v := range vars {
appendVariable(data, k, v)
}
_, err := io.Copy(conn, data)
if err != nil && isSocketSpaceError(err) {
file, err := tempFd()
if err != nil {
return journalError(err.Error())
}
_, err = io.Copy(file, data)
if err != nil {
return journalError(err.Error())
}
rights := syscall.UnixRights(int(file.Fd()))
/* this connection should always be a UnixConn, but better safe than sorry */
unixConn, ok := conn.(*net.UnixConn)
if !ok {
return journalError("can't send file through non-Unix connection")
}
unixConn.WriteMsgUnix([]byte{}, rights, nil)
} else if err != nil {
return journalError(err.Error())
}
return nil
}
// Print prints a message to the local systemd journal using Send().
func Print(priority Priority, format string, a ...interface{}) error {
return Send(fmt.Sprintf(format, a...), priority, nil)
}
func appendVariable(w io.Writer, name, value string) {
if !validVarName(name) {
journalError("variable name contains invalid character, ignoring")
}
if strings.ContainsRune(value, '\n') {
/* When the value contains a newline, we write:
* - the variable name, followed by a newline
* - the size (in 64bit little endian format)
* - the data, followed by a newline
*/
fmt.Fprintln(w, name)
binary.Write(w, binary.LittleEndian, uint64(len(value)))
fmt.Fprintln(w, value)
} else {
/* just write the variable and value all on one line */
fmt.Fprintf(w, "%s=%s\n", name, value)
}
}
func validVarName(name string) bool {
/* The variable name must be in uppercase and consist only of characters,
* numbers and underscores, and may not begin with an underscore. (from the docs)
*/
valid := name[0] != '_'
for _, c := range name {
valid = valid && ('A' <= c && c <= 'Z') || ('0' <= c && c <= '9') || c == '_'
}
return valid
}
func isSocketSpaceError(err error) bool {
opErr, ok := err.(*net.OpError)
if !ok {
return false
}
sysErr, ok := opErr.Err.(syscall.Errno)
if !ok {
return false
}
return sysErr == syscall.EMSGSIZE || sysErr == syscall.ENOBUFS
}
func tempFd() (*os.File, error) {
file, err := ioutil.TempFile("/dev/shm/", "journal.XXXXX")
if err != nil {
return nil, err
}
syscall.Unlink(file.Name())
if err != nil {
return nil, err
}
return file, nil
}
func journalError(s string) error {
s = "journal error: " + s
fmt.Fprintln(os.Stderr, s)
return errors.New(s)
}

View File

@@ -1,36 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// These functions are copied from github.com/coreos/coreos-cloudinit/config.
package config
import (
"strings"
"unicode"
)
func isCloudConfig(userdata []byte) bool {
header := strings.SplitN(string(userdata), "\n", 2)[0]
// Trim trailing whitespaces
header = strings.TrimRightFunc(header, unicode.IsSpace)
return (header == "#cloud-config")
}
func isScript(userdata []byte) bool {
header := strings.SplitN(string(userdata), "\n", 2)[0]
return strings.HasPrefix(header, "#!")
}

View File

@@ -1,83 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"bytes"
"compress/gzip"
"encoding/json"
"errors"
"fmt"
"io/ioutil"
"github.com/coreos/ignition/third_party/github.com/camlistore/camlistore/pkg/errorutil"
)
type Config struct {
Version int `json:"ignitionVersion" yaml:"ignition_version"`
Storage Storage `json:"storage,omitempty" yaml:"storage"`
Systemd Systemd `json:"systemd,omitempty" yaml:"systemd"`
Networkd Networkd `json:"networkd,omitempty" yaml:"networkd"`
Passwd Passwd `json:"passwd,omitempty" yaml:"passwd"`
}
const (
Version = 1
)
var (
ErrVersion = errors.New("incorrect config version")
ErrCloudConfig = errors.New("not a config (found coreos-cloudconfig)")
ErrScript = errors.New("not a config (found coreos-cloudinit script)")
ErrEmpty = errors.New("not a config (empty)")
)
func Parse(config []byte) (cfg Config, err error) {
if err = json.Unmarshal(config, &cfg); err == nil {
if cfg.Version != Version {
err = ErrVersion
}
} else if isCloudConfig(decompressIfGzipped(config)) {
err = ErrCloudConfig
} else if isScript(decompressIfGzipped(config)) {
err = ErrScript
} else if isEmpty(config) {
err = ErrEmpty
}
if serr, ok := err.(*json.SyntaxError); ok {
line, col, highlight := errorutil.HighlightBytePosition(bytes.NewReader(config), serr.Offset)
err = fmt.Errorf("error at line %d, column %d\n%s%v", line, col, highlight, err)
}
return
}
func isEmpty(userdata []byte) bool {
return len(userdata) == 0
}
func decompressIfGzipped(data []byte) []byte {
if reader, err := gzip.NewReader(bytes.NewReader(data)); err == nil {
uncompressedData, err := ioutil.ReadAll(reader)
reader.Close()
if err == nil {
return uncompressedData
} else {
return data
}
} else {
return data
}
}

View File

@@ -1,87 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"reflect"
"testing"
)
func TestParse(t *testing.T) {
type in struct {
config []byte
}
type out struct {
config Config
err error
}
tests := []struct {
in in
out out
}{
{
in: in{config: []byte(`{"ignitionVersion": 1}`)},
out: out{config: Config{Version: 1}},
},
{
in: in{config: []byte(`{}`)},
out: out{err: ErrVersion},
},
{
in: in{config: []byte{}},
out: out{err: ErrEmpty},
},
{
in: in{config: []byte("#cloud-config")},
out: out{err: ErrCloudConfig},
},
{
in: in{config: []byte("#cloud-config ")},
out: out{err: ErrCloudConfig},
},
{
in: in{config: []byte("#cloud-config\n\r")},
out: out{err: ErrCloudConfig},
},
{
in: in{config: []byte{0x1f, 0x8b, 0x08, 0x00, 0x03, 0xd6, 0x79, 0x56,
0x00, 0x03, 0x53, 0x4e, 0xce, 0xc9, 0x2f, 0x4d, 0xd1, 0x4d, 0xce,
0xcf, 0x4b, 0xcb, 0x4c, 0xe7, 0x02, 0x00, 0x05, 0x56, 0xb3, 0xb8,
0x0e, 0x00, 0x00, 0x00}},
out: out{err: ErrCloudConfig},
},
{
in: in{config: []byte("#!/bin/sh")},
out: out{err: ErrScript},
},
{
in: in{config: []byte{0x1f, 0x8b, 0x08, 0x00, 0x48, 0xda, 0x79, 0x56,
0x00, 0x03, 0x53, 0x56, 0xd4, 0x4f, 0xca, 0xcc, 0xd3, 0x2f, 0xce,
0xe0, 0x02, 0x00, 0x1d, 0x9d, 0xfb, 0x04, 0x0a, 0x00, 0x00, 0x00}},
out: out{err: ErrScript},
},
}
for i, test := range tests {
config, err := Parse(test.in.config)
if !reflect.DeepEqual(test.out.config, config) {
t.Errorf("#%d: bad config: want %+v, got %+v", i, test.out.config, config)
}
if test.out.err != err {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
}
}

View File

@@ -1,50 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"path/filepath"
)
type DevicePath string
func (d *DevicePath) UnmarshalYAML(unmarshal func(interface{}) error) error {
return d.unmarshal(unmarshal)
}
func (d *DevicePath) UnmarshalJSON(data []byte) error {
return d.unmarshal(func(td interface{}) error {
return json.Unmarshal(data, td)
})
}
type devicePath DevicePath
func (d *DevicePath) unmarshal(unmarshal func(interface{}) error) error {
td := devicePath(*d)
if err := unmarshal(&td); err != nil {
return err
}
*d = DevicePath(td)
return d.assertValid()
}
func (d DevicePath) assertValid() error {
if !filepath.IsAbs(string(d)) {
return ErrFilesystemRelativePath
}
return nil
}

View File

@@ -1,167 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"fmt"
)
type Disk struct {
Device DevicePath `json:"device,omitempty" yaml:"device"`
WipeTable bool `json:"wipeTable,omitempty" yaml:"wipe_table"`
Partitions []Partition `json:"partitions,omitempty" yaml:"partitions"`
}
func (n *Disk) UnmarshalYAML(unmarshal func(interface{}) error) error {
if err := n.unmarshal(unmarshal); err != nil {
return err
}
if err := n.preparePartitions(); err != nil {
return err
}
return n.assertValid()
}
func (n *Disk) UnmarshalJSON(data []byte) error {
err := n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
if err != nil {
return err
}
return n.assertValid()
}
type disk Disk
func (n *Disk) unmarshal(unmarshal func(interface{}) error) error {
tn := disk(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = Disk(tn)
return nil
}
func (n Disk) assertValid() error {
// This applies to YAML (post-prepare) and JSON unmarshals equally:
if len(n.Device) == 0 {
return fmt.Errorf("disk device is required")
}
if n.partitionNumbersCollide() {
return fmt.Errorf("disk %q: partition numbers collide", n.Device)
}
if n.partitionsOverlap() {
return fmt.Errorf("disk %q: partitions overlap", n.Device)
}
if n.partitionsMisaligned() {
return fmt.Errorf("disk %q: partitions misaligned", n.Device)
}
// Disks which get to this point will likely succeed in sgdisk
return nil
}
// partitionNumbersCollide returns true if partition numbers in n.Partitions are not unique.
func (n Disk) partitionNumbersCollide() bool {
m := map[int][]Partition{}
for _, p := range n.Partitions {
m[p.Number] = append(m[p.Number], p)
}
for _, n := range m {
if len(n) > 1 {
// TODO(vc): return information describing the collision for logging
return true
}
}
return false
}
// end returns the last sector of a partition.
func (p Partition) end() PartitionDimension {
if p.Size == 0 {
// a size of 0 means "fill available", just return the start as the end for those.
return p.Start
}
return p.Start + p.Size - 1
}
// partitionsOverlap returns true if any explicitly dimensioned partitions overlap
func (n Disk) partitionsOverlap() bool {
for _, p := range n.Partitions {
// Starts of 0 are placed by sgdisk into the "largest available block" at that time.
// We aren't going to check those for overlap since we don't have the disk geometry.
if p.Start == 0 {
continue
}
for _, o := range n.Partitions {
if p == o || o.Start == 0 {
continue
}
// is p.Start within o?
if p.Start >= o.Start && p.Start <= o.end() {
return true
}
// is p.end() within o?
if p.end() >= o.Start && p.end() <= o.end() {
return true
}
// do p.Start and p.end() straddle o?
if p.Start < o.Start && p.end() > o.end() {
return true
}
}
}
return false
}
// partitionsMisaligned returns true if any of the partitions don't start on a 2048-sector (1MiB) boundary.
func (n Disk) partitionsMisaligned() bool {
for _, p := range n.Partitions {
if (p.Start & (2048 - 1)) != 0 {
return true
}
}
return false
}
// preparePartitions performs some checks and potentially adjusts the partitions for alignment.
// This is only invoked when unmarshalling YAML, since there we parse human-friendly units.
func (n *Disk) preparePartitions() error {
// On the YAML side we accept human-friendly units which may require massaging.
// align partition starts
for i := range n.Partitions {
// skip automatically placed partitions
if n.Partitions[i].Start == 0 {
continue
}
// keep partitions out of the first 2048 sectors
if n.Partitions[i].Start < 2048 {
n.Partitions[i].Start = 2048
}
// toss the bottom 11 bits
n.Partitions[i].Start &= ^PartitionDimension(2048 - 1)
}
// TODO(vc): may be interesting to do something about potentially overlapping partitions
return nil
}

View File

@@ -1,63 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"errors"
"os"
)
var (
ErrFileIllegalMode = errors.New("illegal file mode")
)
type FileMode os.FileMode
type File struct {
Path string `json:"path,omitempty" yaml:"path"`
Contents string `json:"contents,omitempty" yaml:"contents"`
Mode FileMode `json:"mode,omitempty" yaml:"mode"`
Uid int `json:"uid,omitempty" yaml:"uid"`
Gid int `json:"gid,omitempty" yaml:"gid"`
}
func (m *FileMode) UnmarshalYAML(unmarshal func(interface{}) error) error {
return m.unmarshal(unmarshal)
}
func (m *FileMode) UnmarshalJSON(data []byte) error {
return m.unmarshal(func(tm interface{}) error {
return json.Unmarshal(data, tm)
})
}
type fileMode FileMode
func (m *FileMode) unmarshal(unmarshal func(interface{}) error) error {
tm := fileMode(*m)
if err := unmarshal(&tm); err != nil {
return err
}
*m = FileMode(tm)
return m.assertValid()
}
func (m FileMode) assertValid() error {
if (m &^ 07777) != 0 {
return ErrFileIllegalMode
}
return nil
}

View File

@@ -1,139 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"reflect"
"testing"
"github.com/coreos/ignition/third_party/github.com/go-yaml/yaml"
)
func TestFileModeUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
mode FileMode
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `420`},
out: out{mode: FileMode(420)},
},
{
in: in{data: `9999`},
out: out{mode: FileMode(9999), err: ErrFileIllegalMode},
},
}
for i, test := range tests {
var mode FileMode
err := json.Unmarshal([]byte(test.in.data), &mode)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.mode, mode) {
t.Errorf("#%d: bad mode: want %#o, got %#o", i, test.out.mode, mode)
}
}
}
func TestFileModeUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
mode FileMode
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `0644`},
out: out{mode: FileMode(0644)},
},
{
in: in{data: `0420`},
out: out{mode: FileMode(0420)},
},
{
in: in{data: `017777`},
out: out{mode: FileMode(017777), err: ErrFileIllegalMode},
},
}
for i, test := range tests {
var mode FileMode
err := yaml.Unmarshal([]byte(test.in.data), &mode)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.mode, mode) {
t.Errorf("#%d: bad mode: want %#o, got %#o", i, test.out.mode, mode)
}
}
}
func TestFileAssertValid(t *testing.T) {
type in struct {
mode FileMode
}
type out struct {
err error
}
tests := []struct {
in in
out out
}{
{
in: in{mode: FileMode(0)},
out: out{},
},
{
in: in{mode: FileMode(0644)},
out: out{},
},
{
in: in{mode: FileMode(01755)},
out: out{},
},
{
in: in{mode: FileMode(07777)},
out: out{},
},
{
in: in{mode: FileMode(010000)},
out: out{err: ErrFileIllegalMode},
},
}
for i, test := range tests {
err := test.in.mode.assertValid()
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
}
}

View File

@@ -1,96 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"errors"
)
var (
ErrFilesystemRelativePath = errors.New("device path not absolute")
ErrFilesystemInvalidFormat = errors.New("invalid filesystem format")
)
type Filesystem struct {
Device DevicePath `json:"device,omitempty" yaml:"device"`
Format FilesystemFormat `json:"format,omitempty" yaml:"format"`
Create *FilesystemCreate `json:"create,omitempty" yaml:"create"`
Files []File `json:"files,omitempty" yaml:"files"`
}
type FilesystemCreate struct {
Force bool `json:"force,omitempty" yaml:"force"`
Options MkfsOptions `json:"options,omitempty" yaml:"options"`
}
type FilesystemFormat string
func (f *FilesystemFormat) UnmarshalYAML(unmarshal func(interface{}) error) error {
return f.unmarshal(unmarshal)
}
func (f *FilesystemFormat) UnmarshalJSON(data []byte) error {
return f.unmarshal(func(tf interface{}) error {
return json.Unmarshal(data, tf)
})
}
type filesystemFormat FilesystemFormat
func (f *FilesystemFormat) unmarshal(unmarshal func(interface{}) error) error {
tf := filesystemFormat(*f)
if err := unmarshal(&tf); err != nil {
return err
}
*f = FilesystemFormat(tf)
return f.assertValid()
}
func (f FilesystemFormat) assertValid() error {
switch f {
case "ext4", "btrfs", "xfs":
return nil
default:
return ErrFilesystemInvalidFormat
}
}
type MkfsOptions []string
func (o *MkfsOptions) UnmarshalYAML(unmarshal func(interface{}) error) error {
return o.unmarshal(unmarshal)
}
func (o *MkfsOptions) UnmarshalJSON(data []byte) error {
return o.unmarshal(func(to interface{}) error {
return json.Unmarshal(data, to)
})
}
type mkfsOptions MkfsOptions
func (o *MkfsOptions) unmarshal(unmarshal func(interface{}) error) error {
to := mkfsOptions(*o)
if err := unmarshal(&to); err != nil {
return err
}
*o = MkfsOptions(to)
return o.assertValid()
}
func (o MkfsOptions) assertValid() error {
return nil
}

View File

@@ -1,302 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"errors"
"reflect"
"testing"
"github.com/coreos/ignition/third_party/github.com/go-yaml/yaml"
)
func TestDevicePathUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
device DevicePath
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"/path"`},
out: out{device: DevicePath("/path")},
},
{
in: in{data: `"bad"`},
out: out{device: DevicePath("bad"), err: errors.New("device path not absolute")},
},
}
for i, test := range tests {
var device DevicePath
err := json.Unmarshal([]byte(test.in.data), &device)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.device, device) {
t.Errorf("#%d: bad device: want %#v, got %#v", i, test.out.device, device)
}
}
}
func TestDevicePathUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
device DevicePath
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"/path"`},
out: out{device: DevicePath("/path")},
},
{
in: in{data: `"bad"`},
out: out{device: DevicePath("bad"), err: errors.New("device path not absolute")},
},
}
for i, test := range tests {
var device DevicePath
err := yaml.Unmarshal([]byte(test.in.data), &device)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.device, device) {
t.Errorf("#%d: bad device: want %#v, got %#v", i, test.out.device, device)
}
}
}
func TestDevicePathAssertValid(t *testing.T) {
type in struct {
device DevicePath
}
type out struct {
err error
}
tests := []struct {
in in
out out
}{
{
in: in{device: DevicePath("/good/path")},
out: out{},
},
{
in: in{device: DevicePath("/name")},
out: out{},
},
{
in: in{device: DevicePath("/this/is/a/fairly/long/path/to/a/device.")},
out: out{},
},
{
in: in{device: DevicePath("/this one has spaces")},
out: out{},
},
{
in: in{device: DevicePath("relative/path")},
out: out{err: errors.New("device path not absolute")},
},
}
for i, test := range tests {
err := test.in.device.assertValid()
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
}
}
func TestFilesystemFormatUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
format FilesystemFormat
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"ext4"`},
out: out{format: FilesystemFormat("ext4")},
},
{
in: in{data: `"bad"`},
out: out{format: FilesystemFormat("bad"), err: errors.New("invalid filesystem format")},
},
}
for i, test := range tests {
var format FilesystemFormat
err := json.Unmarshal([]byte(test.in.data), &format)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.format, format) {
t.Errorf("#%d: bad format: want %#v, got %#v", i, test.out.format, format)
}
}
}
func TestFilesystemFormatUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
format FilesystemFormat
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"ext4"`},
out: out{format: FilesystemFormat("ext4")},
},
{
in: in{data: `"bad"`},
out: out{format: FilesystemFormat("bad"), err: errors.New("invalid filesystem format")},
},
}
for i, test := range tests {
var format FilesystemFormat
err := yaml.Unmarshal([]byte(test.in.data), &format)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.format, format) {
t.Errorf("#%d: bad device: want %#v, got %#v", i, test.out.format, format)
}
}
}
func TestFilesystemFormatAssertValid(t *testing.T) {
type in struct {
format FilesystemFormat
}
type out struct {
err error
}
tests := []struct {
in in
out out
}{
{
in: in{format: FilesystemFormat("ext4")},
out: out{},
},
{
in: in{format: FilesystemFormat("btrfs")},
out: out{},
},
{
in: in{format: FilesystemFormat("")},
out: out{err: errors.New("invalid filesystem format")},
},
}
for i, test := range tests {
err := test.in.format.assertValid()
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
}
}
func TestMkfsOptionsUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
options MkfsOptions
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `["--label=ROOT"]`},
out: out{options: MkfsOptions([]string{"--label=ROOT"})},
},
}
for i, test := range tests {
var options MkfsOptions
err := json.Unmarshal([]byte(test.in.data), &options)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.options, options) {
t.Errorf("#%d: bad format: want %#v, got %#v", i, test.out.options, options)
}
}
}
func TestMkfsOptionsUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
options MkfsOptions
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `["--label=ROOT"]`},
out: out{options: MkfsOptions([]string{"--label=ROOT"})},
},
}
for i, test := range tests {
var options MkfsOptions
err := yaml.Unmarshal([]byte(test.in.data), &options)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if !reflect.DeepEqual(test.out.options, options) {
t.Errorf("#%d: bad device: want %#v, got %#v", i, test.out.options, options)
}
}
}

View File

@@ -1,22 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Group struct {
Name string `json:"name,omitempty" yaml:"name"`
Gid *uint `json:"gid,omitempty" yaml:"gid"`
PasswordHash string `json:"passwordHash,omitempty" yaml:"password_hash"`
System bool `json:"system,omitempty" yaml:"system"`
}

View File

@@ -1,19 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Networkd struct {
Units []NetworkdUnit `json:"units,omitempty" yaml:"units"`
}

View File

@@ -1,137 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"fmt"
"regexp"
"github.com/coreos/ignition/third_party/github.com/alecthomas/units"
)
type Partition struct {
Label PartitionLabel `json:"label,omitempty" yaml:"label"`
Number int `json:"number" yaml:"number"`
Size PartitionDimension `json:"size" yaml:"size"`
Start PartitionDimension `json:"start" yaml:"start"`
TypeGUID PartitionTypeGUID `json:"typeGuid,omitempty" yaml:"type_guid"`
}
type PartitionLabel string
func (n *PartitionLabel) UnmarshalYAML(unmarshal func(interface{}) error) error {
return n.unmarshal(unmarshal)
}
func (n *PartitionLabel) UnmarshalJSON(data []byte) error {
return n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
}
type partitionLabel PartitionLabel
func (n *PartitionLabel) unmarshal(unmarshal func(interface{}) error) error {
tn := partitionLabel(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = PartitionLabel(tn)
return n.assertValid()
}
func (n PartitionLabel) assertValid() error {
// http://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_entries:
// 56 (0x38) 72 bytes Partition name (36 UTF-16LE code units)
// XXX(vc): note GPT calls it a name, we're using label for consistency
// with udev naming /dev/disk/by-partlabel/*.
if len(string(n)) > 36 {
return fmt.Errorf("partition labels may not exceed 36 characters")
}
return nil
}
type PartitionDimension uint64
func (n *PartitionDimension) UnmarshalYAML(unmarshal func(interface{}) error) error {
// In YAML we allow human-readable dimensions like GiB/TiB etc.
var str string
if err := unmarshal(&str); err != nil {
return err
}
b2b, err := units.ParseBase2Bytes(str) // TODO(vc): replace the units package
if err != nil {
return err
}
if b2b < 0 {
return fmt.Errorf("negative value inappropriate: %q", str)
}
// Translate bytes into sectors
sectors := (b2b / 512)
if b2b%512 != 0 {
sectors++
}
*n = PartitionDimension(uint64(sectors))
return nil
}
func (n *PartitionDimension) UnmarshalJSON(data []byte) error {
// In JSON we expect plain integral sectors.
// The YAML->JSON conversion is responsible for normalizing human units to sectors.
var pd uint64
if err := json.Unmarshal(data, &pd); err != nil {
return err
}
*n = PartitionDimension(pd)
return nil
}
type PartitionTypeGUID string
func (d *PartitionTypeGUID) UnmarshalYAML(unmarshal func(interface{}) error) error {
return d.unmarshal(unmarshal)
}
func (d *PartitionTypeGUID) UnmarshalJSON(data []byte) error {
return d.unmarshal(func(td interface{}) error {
return json.Unmarshal(data, td)
})
}
type partitionTypeGUID PartitionTypeGUID
func (d *PartitionTypeGUID) unmarshal(unmarshal func(interface{}) error) error {
td := partitionTypeGUID(*d)
if err := unmarshal(&td); err != nil {
return err
}
*d = PartitionTypeGUID(td)
return d.assertValid()
}
func (d PartitionTypeGUID) assertValid() error {
ok, err := regexp.MatchString("[[:xdigit:]]{8}-[[:xdigit:]]{4}-[[:xdigit:]]{4}-[[:xdigit:]]{4}-[[:xdigit:]]{12}", string(d))
if err != nil {
return fmt.Errorf("error matching type-guid regexp: %v", err)
}
if !ok {
return fmt.Errorf(`partition type-guid must have the form "01234567-89AB-CDEF-EDCB-A98765432101", got: %q`, string(d))
}
return nil
}

View File

@@ -1,20 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Passwd struct {
Users []User `json:"users,omitempty" yaml:"users"`
Groups []Group `json:"groups,omitempty" yaml:"groups"`
}

View File

@@ -1,65 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"fmt"
)
type Raid struct {
Name string `json:"name" yaml:"name"`
Level string `json:"level" yaml:"level"`
Devices []DevicePath `json:"devices,omitempty" yaml:"devices"`
Spares int `json:"spares,omitempty" yaml:"spares"`
}
func (n *Raid) UnmarshalYAML(unmarshal func(interface{}) error) error {
return n.unmarshal(unmarshal)
}
func (n *Raid) UnmarshalJSON(data []byte) error {
return n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
}
type raid Raid
func (n *Raid) unmarshal(unmarshal func(interface{}) error) error {
tn := raid(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = Raid(tn)
return n.assertValid()
}
func (n Raid) assertValid() error {
switch n.Level {
case "linear", "raid0", "0", "stripe":
if n.Spares != 0 {
return fmt.Errorf("spares unsupported for %q arrays", n.Level)
}
case "raid1", "1", "mirror":
case "raid4", "4":
case "raid5", "5":
case "raid6", "6":
case "raid10", "10":
default:
return fmt.Errorf("unrecognized raid level: %q", n.Level)
}
return nil
}

View File

@@ -1,21 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Storage struct {
Disks []Disk `json:"disks,omitempty" yaml:"disks"`
Arrays []Raid `json:"raid,omitempty" yaml:"raid"`
Filesystems []Filesystem `json:"filesystems,omitempty" yaml:"filesystems"`
}

View File

@@ -1,19 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type Systemd struct {
Units []SystemdUnit `json:"units,omitempty" yaml:"units"`
}

View File

@@ -1,135 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"errors"
"path/filepath"
)
type SystemdUnit struct {
Name SystemdUnitName `json:"name,omitempty" yaml:"name"`
Enable bool `json:"enable,omitempty" yaml:"enable"`
Mask bool `json:"mask,omitempty" yaml:"mask"`
Contents string `json:"contents,omitempty" yaml:"contents"`
DropIns []SystemdUnitDropIn `json:"dropins,omitempty" yaml:"dropins"`
}
type SystemdUnitDropIn struct {
Name SystemdUnitDropInName `json:"name,omitempty" yaml:"name"`
Contents string `json:"contents,omitempty" yaml:"contents"`
}
type SystemdUnitName string
func (n *SystemdUnitName) UnmarshalYAML(unmarshal func(interface{}) error) error {
return n.unmarshal(unmarshal)
}
func (n *SystemdUnitName) UnmarshalJSON(data []byte) error {
return n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
}
type systemdUnitName SystemdUnitName
func (n *SystemdUnitName) unmarshal(unmarshal func(interface{}) error) error {
tn := systemdUnitName(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = SystemdUnitName(tn)
return n.assertValid()
}
func (n SystemdUnitName) assertValid() error {
switch filepath.Ext(string(n)) {
case ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice", ".scope":
return nil
default:
return errors.New("invalid systemd unit extension")
}
}
type SystemdUnitDropInName string
func (n *SystemdUnitDropInName) UnmarshalYAML(unmarshal func(interface{}) error) error {
return n.unmarshal(unmarshal)
}
func (n *SystemdUnitDropInName) UnmarshalJSON(data []byte) error {
return n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
}
type systemdUnitDropInName SystemdUnitDropInName
func (n *SystemdUnitDropInName) unmarshal(unmarshal func(interface{}) error) error {
tn := systemdUnitDropInName(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = SystemdUnitDropInName(tn)
return n.assertValid()
}
func (n SystemdUnitDropInName) assertValid() error {
switch filepath.Ext(string(n)) {
case ".conf":
return nil
default:
return errors.New("invalid systemd unit drop-in extension")
}
}
type NetworkdUnit struct {
Name NetworkdUnitName `json:"name,omitempty" yaml:"name"`
Contents string `json:"contents,omitempty" yaml:"contents"`
}
type NetworkdUnitName string
func (n *NetworkdUnitName) UnmarshalYAML(unmarshal func(interface{}) error) error {
return n.unmarshal(unmarshal)
}
func (n *NetworkdUnitName) UnmarshalJSON(data []byte) error {
return n.unmarshal(func(tn interface{}) error {
return json.Unmarshal(data, tn)
})
}
type networkdUnitName NetworkdUnitName
func (n *NetworkdUnitName) unmarshal(unmarshal func(interface{}) error) error {
tn := networkdUnitName(*n)
if err := unmarshal(&tn); err != nil {
return err
}
*n = NetworkdUnitName(tn)
return n.assertValid()
}
func (n NetworkdUnitName) assertValid() error {
switch filepath.Ext(string(n)) {
case ".link", ".netdev", ".network":
return nil
default:
return errors.New("invalid networkd unit extension")
}
}

View File

@@ -1,204 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
import (
"encoding/json"
"errors"
"reflect"
"testing"
"github.com/coreos/ignition/third_party/github.com/go-yaml/yaml"
)
func TestSystemdUnitNameUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
unit SystemdUnitName
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"test.service"`},
out: out{unit: SystemdUnitName("test.service")},
},
{
in: in{data: `"test.socket"`},
out: out{unit: SystemdUnitName("test.socket")},
},
{
in: in{data: `"test.blah"`},
out: out{err: errors.New("invalid systemd unit extension")},
},
}
for i, test := range tests {
var unit SystemdUnitName
err := json.Unmarshal([]byte(test.in.data), &unit)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if err != nil {
continue
}
if !reflect.DeepEqual(test.out.unit, unit) {
t.Errorf("#%d: bad unit: want %#v, got %#v", i, test.out.unit, unit)
}
}
}
func TestSystemdUnitNameUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
unit SystemdUnitName
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"test.service"`},
out: out{unit: SystemdUnitName("test.service")},
},
{
in: in{data: `"test.socket"`},
out: out{unit: SystemdUnitName("test.socket")},
},
{
in: in{data: `"test.blah"`},
out: out{err: errors.New("invalid systemd unit extension")},
},
}
for i, test := range tests {
var unit SystemdUnitName
err := yaml.Unmarshal([]byte(test.in.data), &unit)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if err != nil {
continue
}
if !reflect.DeepEqual(test.out.unit, unit) {
t.Errorf("#%d: bad unit: want %#v, got %#v", i, test.out.unit, unit)
}
}
}
func TestNetworkdUnitNameUnmarshalJSON(t *testing.T) {
type in struct {
data string
}
type out struct {
unit NetworkdUnitName
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"test.network"`},
out: out{unit: NetworkdUnitName("test.network")},
},
{
in: in{data: `"test.link"`},
out: out{unit: NetworkdUnitName("test.link")},
},
{
in: in{data: `"test.netdev"`},
out: out{unit: NetworkdUnitName("test.netdev")},
},
{
in: in{data: `"test.blah"`},
out: out{err: errors.New("invalid networkd unit extension")},
},
}
for i, test := range tests {
var unit NetworkdUnitName
err := json.Unmarshal([]byte(test.in.data), &unit)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if err != nil {
continue
}
if !reflect.DeepEqual(test.out.unit, unit) {
t.Errorf("#%d: bad unit: want %#v, got %#v", i, test.out.unit, unit)
}
}
}
func TestNetworkdUnitNameUnmarshalYAML(t *testing.T) {
type in struct {
data string
}
type out struct {
unit NetworkdUnitName
err error
}
tests := []struct {
in in
out out
}{
{
in: in{data: `"test.network"`},
out: out{unit: NetworkdUnitName("test.network")},
},
{
in: in{data: `"test.link"`},
out: out{unit: NetworkdUnitName("test.link")},
},
{
in: in{data: `"test.netdev"`},
out: out{unit: NetworkdUnitName("test.netdev")},
},
{
in: in{data: `"test.blah"`},
out: out{err: errors.New("invalid networkd unit extension")},
},
}
for i, test := range tests {
var unit NetworkdUnitName
err := yaml.Unmarshal([]byte(test.in.data), &unit)
if !reflect.DeepEqual(test.out.err, err) {
t.Errorf("#%d: bad error: want %v, got %v", i, test.out.err, err)
}
if err != nil {
continue
}
if !reflect.DeepEqual(test.out.unit, unit) {
t.Errorf("#%d: bad unit: want %#v, got %#v", i, test.out.unit, unit)
}
}
}

View File

@@ -1,35 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package config
type User struct {
Name string `json:"name,omitempty" yaml:"name"`
PasswordHash string `json:"passwordHash,omitempty" yaml:"password_hash"`
SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty" yaml:"ssh_authorized_keys"`
Create *UserCreate `json:"create,omitempty" yaml:"create"`
}
type UserCreate struct {
Uid *uint `json:"uid,omitempty" yaml:"uid"`
GECOS string `json:"gecos,omitempty" yaml:"gecos"`
Homedir string `json:"homeDir,omitempty" yaml:"home_dir"`
NoCreateHome bool `json:"noCreateHome,omitempty" yaml:"no_create_home"`
PrimaryGroup string `json:"primaryGroup,omitempty" yaml:"primary_group"`
Groups []string `json:"groups,omitempty" yaml:"groups"`
NoUserGroup bool `json:"noUserGroup,omitempty" yaml:"no_user_group"`
System bool `json:"system,omitempty" yaml:"system"`
NoLogInit bool `json:"noLogInit,omitempty" yaml:"no_log_init"`
Shell string `json:"shell,omitempty" yaml:"shell"`
}

View File

@@ -1,19 +0,0 @@
Copyright (C) 2014 Alec Thomas
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -1,11 +0,0 @@
# Units - Helpful unit multipliers and functions for Go
The goal of this package is to have functionality similar to the [time](http://golang.org/pkg/time/) package.
It allows for code like this:
```go
n, err := ParseBase2Bytes("1KB")
// n == 1024
n = units.Mebibyte * 512
```

View File

@@ -1,83 +0,0 @@
package units
// Base2Bytes is the old non-SI power-of-2 byte scale (1024 bytes in a kilobyte,
// etc.).
type Base2Bytes int64
// Base-2 byte units.
const (
Kibibyte Base2Bytes = 1024
KiB = Kibibyte
Mebibyte = Kibibyte * 1024
MiB = Mebibyte
Gibibyte = Mebibyte * 1024
GiB = Gibibyte
Tebibyte = Gibibyte * 1024
TiB = Tebibyte
Pebibyte = Tebibyte * 1024
PiB = Pebibyte
Exbibyte = Pebibyte * 1024
EiB = Exbibyte
)
var (
bytesUnitMap = MakeUnitMap("iB", "B", 1024)
oldBytesUnitMap = MakeUnitMap("B", "B", 1024)
)
// ParseBase2Bytes supports both iB and B in base-2 multipliers. That is, KB
// and KiB are both 1024.
func ParseBase2Bytes(s string) (Base2Bytes, error) {
n, err := ParseUnit(s, bytesUnitMap)
if err != nil {
n, err = ParseUnit(s, oldBytesUnitMap)
}
return Base2Bytes(n), err
}
func (b Base2Bytes) String() string {
return ToString(int64(b), 1024, "iB", "B")
}
var (
metricBytesUnitMap = MakeUnitMap("B", "B", 1000)
)
// MetricBytes are SI byte units (1000 bytes in a kilobyte).
type MetricBytes SI
// SI base-10 byte units.
const (
Kilobyte MetricBytes = 1000
KB = Kilobyte
Megabyte = Kilobyte * 1000
MB = Megabyte
Gigabyte = Megabyte * 1000
GB = Gigabyte
Terabyte = Gigabyte * 1000
TB = Terabyte
Petabyte = Terabyte * 1000
PB = Petabyte
Exabyte = Petabyte * 1000
EB = Exabyte
)
// ParseMetricBytes parses base-10 metric byte units. That is, KB is 1000 bytes.
func ParseMetricBytes(s string) (MetricBytes, error) {
n, err := ParseUnit(s, metricBytesUnitMap)
return MetricBytes(n), err
}
func (m MetricBytes) String() string {
return ToString(int64(m), 1000, "B", "B")
}
// ParseStrictBytes supports both iB and B suffixes for base 2 and metric,
// respectively. That is, KiB represents 1024 and KB represents 1000.
func ParseStrictBytes(s string) (int64, error) {
n, err := ParseUnit(s, bytesUnitMap)
if err != nil {
n, err = ParseUnit(s, metricBytesUnitMap)
}
return int64(n), err
}

View File

@@ -1,49 +0,0 @@
package units
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestBase2BytesString(t *testing.T) {
assert.Equal(t, Base2Bytes(0).String(), "0B")
assert.Equal(t, Base2Bytes(1025).String(), "1KiB1B")
assert.Equal(t, Base2Bytes(1048577).String(), "1MiB1B")
}
func TestParseBase2Bytes(t *testing.T) {
n, err := ParseBase2Bytes("0B")
assert.NoError(t, err)
assert.Equal(t, 0, n)
n, err = ParseBase2Bytes("1KB")
assert.NoError(t, err)
assert.Equal(t, 1024, n)
n, err = ParseBase2Bytes("1MB1KB25B")
assert.NoError(t, err)
assert.Equal(t, 1049625, n)
n, err = ParseBase2Bytes("1.5MB")
assert.NoError(t, err)
assert.Equal(t, 1572864, n)
}
func TestMetricBytesString(t *testing.T) {
assert.Equal(t, MetricBytes(0).String(), "0B")
assert.Equal(t, MetricBytes(1001).String(), "1KB1B")
assert.Equal(t, MetricBytes(1001025).String(), "1MB1KB25B")
}
func TestParseMetricBytes(t *testing.T) {
n, err := ParseMetricBytes("0B")
assert.NoError(t, err)
assert.Equal(t, 0, n)
n, err = ParseMetricBytes("1KB1B")
assert.NoError(t, err)
assert.Equal(t, 1001, n)
n, err = ParseMetricBytes("1MB1KB25B")
assert.NoError(t, err)
assert.Equal(t, 1001025, n)
n, err = ParseMetricBytes("1.5MB")
assert.NoError(t, err)
assert.Equal(t, 1500000, n)
}

View File

@@ -1,13 +0,0 @@
// Package units provides helpful unit multipliers and functions for Go.
//
// The goal of this package is to have functionality similar to the time [1] package.
//
//
// [1] http://golang.org/pkg/time/
//
// It allows for code like this:
//
// n, err := ParseBase2Bytes("1KB")
// // n == 1024
// n = units.Mebibyte * 512
package units

View File

@@ -1,26 +0,0 @@
package units
// SI units.
type SI int64
// SI unit multiples.
const (
Kilo SI = 1000
Mega = Kilo * 1000
Giga = Mega * 1000
Tera = Giga * 1000
Peta = Tera * 1000
Exa = Peta * 1000
)
func MakeUnitMap(suffix, shortSuffix string, scale int64) map[string]float64 {
return map[string]float64{
shortSuffix: 1,
"K" + suffix: float64(scale),
"M" + suffix: float64(scale * scale),
"G" + suffix: float64(scale * scale * scale),
"T" + suffix: float64(scale * scale * scale * scale),
"P" + suffix: float64(scale * scale * scale * scale * scale),
"E" + suffix: float64(scale * scale * scale * scale * scale * scale),
}
}

View File

@@ -1,138 +0,0 @@
package units
import (
"errors"
"fmt"
"strings"
)
var (
siUnits = []string{"", "K", "M", "G", "T", "P", "E"}
)
func ToString(n int64, scale int64, suffix, baseSuffix string) string {
mn := len(siUnits)
out := make([]string, mn)
for i, m := range siUnits {
if n%scale != 0 || i == 0 && n == 0 {
s := suffix
if i == 0 {
s = baseSuffix
}
out[mn-1-i] = fmt.Sprintf("%d%s%s", n%scale, m, s)
}
n /= scale
if n == 0 {
break
}
}
return strings.Join(out, "")
}
// Below code ripped straight from http://golang.org/src/pkg/time/format.go?s=33392:33438#L1123
var errLeadingInt = errors.New("units: bad [0-9]*") // never printed
// leadingInt consumes the leading [0-9]* from s.
func leadingInt(s string) (x int64, rem string, err error) {
i := 0
for ; i < len(s); i++ {
c := s[i]
if c < '0' || c > '9' {
break
}
if x >= (1<<63-10)/10 {
// overflow
return 0, "", errLeadingInt
}
x = x*10 + int64(c) - '0'
}
return x, s[i:], nil
}
func ParseUnit(s string, unitMap map[string]float64) (int64, error) {
// [-+]?([0-9]*(\.[0-9]*)?[a-z]+)+
orig := s
f := float64(0)
neg := false
// Consume [-+]?
if s != "" {
c := s[0]
if c == '-' || c == '+' {
neg = c == '-'
s = s[1:]
}
}
// Special case: if all that is left is "0", this is zero.
if s == "0" {
return 0, nil
}
if s == "" {
return 0, errors.New("units: invalid " + orig)
}
for s != "" {
g := float64(0) // this element of the sequence
var x int64
var err error
// The next character must be [0-9.]
if !(s[0] == '.' || ('0' <= s[0] && s[0] <= '9')) {
return 0, errors.New("units: invalid " + orig)
}
// Consume [0-9]*
pl := len(s)
x, s, err = leadingInt(s)
if err != nil {
return 0, errors.New("units: invalid " + orig)
}
g = float64(x)
pre := pl != len(s) // whether we consumed anything before a period
// Consume (\.[0-9]*)?
post := false
if s != "" && s[0] == '.' {
s = s[1:]
pl := len(s)
x, s, err = leadingInt(s)
if err != nil {
return 0, errors.New("units: invalid " + orig)
}
scale := 1.0
for n := pl - len(s); n > 0; n-- {
scale *= 10
}
g += float64(x) / scale
post = pl != len(s)
}
if !pre && !post {
// no digits (e.g. ".s" or "-.s")
return 0, errors.New("units: invalid " + orig)
}
// Consume unit.
i := 0
for ; i < len(s); i++ {
c := s[i]
if c == '.' || ('0' <= c && c <= '9') {
break
}
}
u := s[:i]
s = s[i:]
unit, ok := unitMap[u]
if !ok {
return 0, errors.New("units: unknown unit " + u + " in " + orig)
}
f += g * unit
}
if neg {
f = -f
}
if f < float64(-1<<63) || f > float64(1<<63-1) {
return 0, errors.New("units: overflow parsing unit")
}
return int64(f), nil
}

View File

@@ -1,58 +0,0 @@
/*
Copyright 2011 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
// Package errorutil helps make better error messages.
package errorutil
import (
"bufio"
"bytes"
"fmt"
"io"
"strings"
)
// HighlightBytePosition takes a reader and the location in bytes of a parse
// error (for instance, from json.SyntaxError.Offset) and returns the line, column,
// and pretty-printed context around the error with an arrow indicating the exact
// position of the syntax error.
func HighlightBytePosition(f io.Reader, pos int64) (line, col int, highlight string) {
line = 1
br := bufio.NewReader(f)
lastLine := ""
thisLine := new(bytes.Buffer)
for n := int64(0); n < pos; n++ {
b, err := br.ReadByte()
if err != nil {
break
}
if b == '\n' {
lastLine = thisLine.String()
thisLine.Reset()
line++
col = 1
} else {
col++
thisLine.WriteByte(b)
}
}
if line > 1 {
highlight += fmt.Sprintf("%5d: %s\n", line-1, lastLine)
}
highlight += fmt.Sprintf("%5d: %s\n", line, thisLine.String())
highlight += fmt.Sprintf("%s^\n", strings.Repeat(" ", col+5))
return
}

View File

@@ -1,39 +0,0 @@
# capnslog, the CoreOS logging package
There are far too many logging packages out there, with varying degrees of licenses, far too many features (colorization, all sorts of log frameworks) or are just a pain to use (lack of `Fatalln()`?).
capnslog provides a simple but consistent logging interface suitable for all kinds of projects.
### Design Principles
##### `package main` is the place where logging gets turned on and routed
A library should not touch log options, only generate log entries. Libraries are silent until main lets them speak.
##### All log options are runtime-configurable.
Still the job of `main` to expose these configurations. `main` may delegate this to, say, a configuration webhook, but does so explicitly.
##### There is one log object per package. It is registered under its repository and package name.
`main` activates logging for its repository and any dependency repositories it would also like to have output in its logstream. `main` also dictates at which level each subpackage logs.
##### There is *one* output stream, and it is an `io.Writer` composed with a formatter.
Splitting streams is probably not the job of your program, but rather, your log aggregation framework. If you must split output streams, again, `main` configures this and you can write a very simple two-output struct that satisfies io.Writer.
Fancy colorful formatting and JSON output are beyond the scope of a basic logging framework -- they're application/log-collector dependant. These are, at best, provided as options, but more likely, provided by your application.
##### Log objects are an interface
An object knows best how to print itself. Log objects can collect more interesting metadata if they wish, however, because text isn't going away anytime soon, they must all be marshalable to text. The simplest log object is a string, which returns itself. If you wish to do more fancy tricks for printing your log objects, see also JSON output -- introspect and write a formatter which can handle your advanced log interface. Making strings is the only thing guaranteed.
##### Log levels have specific meanings:
* Critical: Unrecoverable. Must fail.
* Error: Data has been lost, a request has failed for a bad reason, or a required resource has been lost
* Warning: (Hopefully) Temporary conditions that may cause errors, but may work fine. A replica disappearing (that may reconnect) is a warning.
* Notice: Normal, but important (uncommon) log information.
* Info: Normal, working log information, everything is fine, but helpful notices for auditing or common operations.
* Debug: Everything is still fine, but even common operations may be logged, and less helpful but more quantity of notices.
* Trace: Anything goes, from logging every function call as part of a common operation, to tracing execution of a query.

View File

@@ -1,57 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"flag"
oldlog "log"
"github.com/coreos/pkg/capnslog"
)
var logLevel = capnslog.INFO
var log = capnslog.NewPackageLogger("github.com/coreos/pkg/capnslog/cmd", "main")
var dlog = capnslog.NewPackageLogger("github.com/coreos/pkg/capnslog/cmd", "dolly")
func init() {
flag.Var(&logLevel, "log-level", "Global log level.")
}
func main() {
rl := capnslog.MustRepoLogger("github.com/coreos/pkg/capnslog/cmd")
// We can parse the log level configs from the command line
flag.Parse()
if flag.NArg() > 1 {
cfg, err := rl.ParseLogLevelConfig(flag.Arg(1))
if err != nil {
log.Fatal(err)
}
rl.SetLogLevel(cfg)
log.Infof("Setting output to %s", flag.Arg(1))
}
// Send some messages at different levels to the different packages
dlog.Infof("Hello Dolly")
dlog.Warningf("Well hello, Dolly")
log.Errorf("It's so nice to have you back where you belong")
dlog.Debugf("You're looking swell, Dolly")
dlog.Tracef("I can tell, Dolly")
// We also have control over the built-in "log" package.
capnslog.SetGlobalLogLevel(logLevel)
oldlog.Println("You're still glowin', you're still crowin', you're still lookin' strong")
log.Fatalf("Dolly'll never go away again")
}

View File

@@ -1,106 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import (
"bufio"
"fmt"
"io"
"runtime"
"strings"
"time"
)
type Formatter interface {
Format(pkg string, level LogLevel, depth int, entries ...interface{})
Flush()
}
func NewStringFormatter(w io.Writer) *StringFormatter {
return &StringFormatter{
w: bufio.NewWriter(w),
}
}
type StringFormatter struct {
w *bufio.Writer
}
func (s *StringFormatter) Format(pkg string, l LogLevel, i int, entries ...interface{}) {
now := time.Now().UTC()
s.w.WriteString(now.Format(time.RFC3339))
s.w.WriteByte(' ')
writeEntries(s.w, pkg, l, i, entries...)
s.Flush()
}
func writeEntries(w *bufio.Writer, pkg string, _ LogLevel, _ int, entries ...interface{}) {
if pkg != "" {
w.WriteString(pkg + ": ")
}
str := fmt.Sprint(entries...)
endsInNL := strings.HasSuffix(str, "\n")
w.WriteString(str)
if !endsInNL {
w.WriteString("\n")
}
}
func (s *StringFormatter) Flush() {
s.w.Flush()
}
func NewPrettyFormatter(w io.Writer, debug bool) Formatter {
return &PrettyFormatter{
w: bufio.NewWriter(w),
debug: debug,
}
}
type PrettyFormatter struct {
w *bufio.Writer
debug bool
}
func (c *PrettyFormatter) Format(pkg string, l LogLevel, depth int, entries ...interface{}) {
now := time.Now()
ts := now.Format("2006-01-02 15:04:05")
c.w.WriteString(ts)
ms := now.Nanosecond() / 1000
c.w.WriteString(fmt.Sprintf(".%06d", ms))
if c.debug {
_, file, line, ok := runtime.Caller(depth) // It's always the same number of frames to the user's call.
if !ok {
file = "???"
line = 1
} else {
slash := strings.LastIndex(file, "/")
if slash >= 0 {
file = file[slash+1:]
}
}
if line < 0 {
line = 0 // not a real line number
}
c.w.WriteString(fmt.Sprintf(" [%s:%d]", file, line))
}
c.w.WriteString(fmt.Sprint(" ", l.Char(), " | "))
writeEntries(c.w, pkg, l, depth, entries...)
c.Flush()
}
func (c *PrettyFormatter) Flush() {
c.w.Flush()
}

View File

@@ -1,96 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import (
"bufio"
"bytes"
"io"
"os"
"runtime"
"strconv"
"strings"
"time"
)
var pid = os.Getpid()
type GlogFormatter struct {
StringFormatter
}
func NewGlogFormatter(w io.Writer) *GlogFormatter {
g := &GlogFormatter{}
g.w = bufio.NewWriter(w)
return g
}
func (g GlogFormatter) Format(pkg string, level LogLevel, depth int, entries ...interface{}) {
g.w.Write(GlogHeader(level, depth+1))
g.StringFormatter.Format(pkg, level, depth+1, entries...)
}
func GlogHeader(level LogLevel, depth int) []byte {
// Lmmdd hh:mm:ss.uuuuuu threadid file:line]
now := time.Now().UTC()
_, file, line, ok := runtime.Caller(depth) // It's always the same number of frames to the user's call.
if !ok {
file = "???"
line = 1
} else {
slash := strings.LastIndex(file, "/")
if slash >= 0 {
file = file[slash+1:]
}
}
if line < 0 {
line = 0 // not a real line number
}
buf := &bytes.Buffer{}
buf.Grow(30)
_, month, day := now.Date()
hour, minute, second := now.Clock()
buf.WriteString(level.Char())
twoDigits(buf, int(month))
twoDigits(buf, day)
buf.WriteByte(' ')
twoDigits(buf, hour)
buf.WriteByte(':')
twoDigits(buf, minute)
buf.WriteByte(':')
twoDigits(buf, second)
buf.WriteByte('.')
buf.WriteString(strconv.Itoa(now.Nanosecond() / 1000))
buf.WriteByte('Z')
buf.WriteByte(' ')
buf.WriteString(strconv.Itoa(pid))
buf.WriteByte(' ')
buf.WriteString(file)
buf.WriteByte(':')
buf.WriteString(strconv.Itoa(line))
buf.WriteByte(']')
buf.WriteByte(' ')
return buf.Bytes()
}
const digits = "0123456789"
func twoDigits(b *bytes.Buffer, d int) {
c2 := digits[d%10]
d /= 10
c1 := digits[d%10]
b.WriteByte(c1)
b.WriteByte(c2)
}

View File

@@ -1,49 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// +build !windows
package capnslog
import (
"io"
"os"
"syscall"
)
// Here's where the opinionation comes in. We need some sensible defaults,
// especially after taking over the log package. Your project (whatever it may
// be) may see things differently. That's okay; there should be no defaults in
// the main package that cannot be controlled or overridden programatically,
// otherwise it's a bug. Doing so is creating your own init_log.go file much
// like this one.
func init() {
initHijack()
// Go `log` pacakge uses os.Stderr.
SetFormatter(NewDefaultFormatter(os.Stderr))
SetGlobalLogLevel(INFO)
}
func NewDefaultFormatter(out io.Writer) Formatter {
if syscall.Getppid() == 1 {
// We're running under init, which may be systemd.
f, err := NewJournaldFormatter()
if err == nil {
return f
}
}
return NewPrettyFormatter(out, false)
}

View File

@@ -1,25 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import "os"
func init() {
initHijack()
// Go `log` package uses os.Stderr.
SetFormatter(NewPrettyFormatter(os.Stderr, false))
SetGlobalLogLevel(INFO)
}

View File

@@ -1,68 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// +build !windows
package capnslog
import (
"errors"
"fmt"
"os"
"path/filepath"
"github.com/coreos/go-systemd/journal"
)
func NewJournaldFormatter() (Formatter, error) {
if !journal.Enabled() {
return nil, errors.New("No systemd detected")
}
return &journaldFormatter{}, nil
}
type journaldFormatter struct{}
func (j *journaldFormatter) Format(pkg string, l LogLevel, _ int, entries ...interface{}) {
var pri journal.Priority
switch l {
case CRITICAL:
pri = journal.PriCrit
case ERROR:
pri = journal.PriErr
case WARNING:
pri = journal.PriWarning
case NOTICE:
pri = journal.PriNotice
case INFO:
pri = journal.PriInfo
case DEBUG:
pri = journal.PriDebug
case TRACE:
pri = journal.PriDebug
default:
panic("Unhandled loglevel")
}
msg := fmt.Sprint(entries...)
tags := map[string]string{
"PACKAGE": pkg,
"SYSLOG_IDENTIFIER": filepath.Base(os.Args[0]),
}
err := journal.Send(msg, pri, tags)
if err != nil {
fmt.Fprintln(os.Stderr, err)
}
}
func (j *journaldFormatter) Flush() {}

View File

@@ -1,39 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import (
"log"
)
func initHijack() {
pkg := NewPackageLogger("log", "")
w := packageWriter{pkg}
log.SetFlags(0)
log.SetPrefix("")
log.SetOutput(w)
}
type packageWriter struct {
pl *PackageLogger
}
func (p packageWriter) Write(b []byte) (int, error) {
if p.pl.level < INFO {
return 0, nil
}
p.pl.internalLog(calldepth+2, INFO, string(b))
return len(b), nil
}

View File

@@ -1,240 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import (
"errors"
"strings"
"sync"
)
// LogLevel is the set of all log levels.
type LogLevel int8
const (
// CRITICAL is the lowest log level; only errors which will end the program will be propagated.
CRITICAL LogLevel = iota - 1
// ERROR is for errors that are not fatal but lead to troubling behavior.
ERROR
// WARNING is for errors which are not fatal and not errors, but are unusual. Often sourced from misconfigurations.
WARNING
// NOTICE is for normal but significant conditions.
NOTICE
// INFO is a log level for common, everyday log updates.
INFO
// DEBUG is the default hidden level for more verbose updates about internal processes.
DEBUG
// TRACE is for (potentially) call by call tracing of programs.
TRACE
)
// Char returns a single-character representation of the log level.
func (l LogLevel) Char() string {
switch l {
case CRITICAL:
return "C"
case ERROR:
return "E"
case WARNING:
return "W"
case NOTICE:
return "N"
case INFO:
return "I"
case DEBUG:
return "D"
case TRACE:
return "T"
default:
panic("Unhandled loglevel")
}
}
// String returns a multi-character representation of the log level.
func (l LogLevel) String() string {
switch l {
case CRITICAL:
return "CRITICAL"
case ERROR:
return "ERROR"
case WARNING:
return "WARNING"
case NOTICE:
return "NOTICE"
case INFO:
return "INFO"
case DEBUG:
return "DEBUG"
case TRACE:
return "TRACE"
default:
panic("Unhandled loglevel")
}
}
// Update using the given string value. Fulfills the flag.Value interface.
func (l *LogLevel) Set(s string) error {
value, err := ParseLevel(s)
if err != nil {
return err
}
*l = value
return nil
}
// ParseLevel translates some potential loglevel strings into their corresponding levels.
func ParseLevel(s string) (LogLevel, error) {
switch s {
case "CRITICAL", "C":
return CRITICAL, nil
case "ERROR", "0", "E":
return ERROR, nil
case "WARNING", "1", "W":
return WARNING, nil
case "NOTICE", "2", "N":
return NOTICE, nil
case "INFO", "3", "I":
return INFO, nil
case "DEBUG", "4", "D":
return DEBUG, nil
case "TRACE", "5", "T":
return TRACE, nil
}
return CRITICAL, errors.New("couldn't parse log level " + s)
}
type RepoLogger map[string]*PackageLogger
type loggerStruct struct {
sync.Mutex
repoMap map[string]RepoLogger
formatter Formatter
}
// logger is the global logger
var logger = new(loggerStruct)
// SetGlobalLogLevel sets the log level for all packages in all repositories
// registered with capnslog.
func SetGlobalLogLevel(l LogLevel) {
logger.Lock()
defer logger.Unlock()
for _, r := range logger.repoMap {
r.setRepoLogLevelInternal(l)
}
}
// GetRepoLogger may return the handle to the repository's set of packages' loggers.
func GetRepoLogger(repo string) (RepoLogger, error) {
logger.Lock()
defer logger.Unlock()
r, ok := logger.repoMap[repo]
if !ok {
return nil, errors.New("no packages registered for repo " + repo)
}
return r, nil
}
// MustRepoLogger returns the handle to the repository's packages' loggers.
func MustRepoLogger(repo string) RepoLogger {
r, err := GetRepoLogger(repo)
if err != nil {
panic(err)
}
return r
}
// SetRepoLogLevel sets the log level for all packages in the repository.
func (r RepoLogger) SetRepoLogLevel(l LogLevel) {
logger.Lock()
defer logger.Unlock()
r.setRepoLogLevelInternal(l)
}
func (r RepoLogger) setRepoLogLevelInternal(l LogLevel) {
for _, v := range r {
v.level = l
}
}
// ParseLogLevelConfig parses a comma-separated string of "package=loglevel", in
// order, and returns a map of the results, for use in SetLogLevel.
func (r RepoLogger) ParseLogLevelConfig(conf string) (map[string]LogLevel, error) {
setlist := strings.Split(conf, ",")
out := make(map[string]LogLevel)
for _, setstring := range setlist {
setting := strings.Split(setstring, "=")
if len(setting) != 2 {
return nil, errors.New("oddly structured `pkg=level` option: " + setstring)
}
l, err := ParseLevel(setting[1])
if err != nil {
return nil, err
}
out[setting[0]] = l
}
return out, nil
}
// SetLogLevel takes a map of package names within a repository to their desired
// loglevel, and sets the levels appropriately. Unknown packages are ignored.
// "*" is a special package name that corresponds to all packages, and will be
// processed first.
func (r RepoLogger) SetLogLevel(m map[string]LogLevel) {
logger.Lock()
defer logger.Unlock()
if l, ok := m["*"]; ok {
r.setRepoLogLevelInternal(l)
}
for k, v := range m {
l, ok := r[k]
if !ok {
continue
}
l.level = v
}
}
// SetFormatter sets the formatting function for all logs.
func SetFormatter(f Formatter) {
logger.Lock()
defer logger.Unlock()
logger.formatter = f
}
// NewPackageLogger creates a package logger object.
// This should be defined as a global var in your package, referencing your repo.
func NewPackageLogger(repo string, pkg string) (p *PackageLogger) {
logger.Lock()
defer logger.Unlock()
if logger.repoMap == nil {
logger.repoMap = make(map[string]RepoLogger)
}
r, rok := logger.repoMap[repo]
if !rok {
logger.repoMap[repo] = make(RepoLogger)
r = logger.repoMap[repo]
}
p, pok := r[pkg]
if !pok {
r[pkg] = &PackageLogger{
pkg: pkg,
level: INFO,
}
p = r[pkg]
}
return
}

View File

@@ -1,158 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package capnslog
import (
"fmt"
"os"
)
type PackageLogger struct {
pkg string
level LogLevel
}
const calldepth = 2
func (p *PackageLogger) internalLog(depth int, inLevel LogLevel, entries ...interface{}) {
if inLevel != CRITICAL && p.level < inLevel {
return
}
logger.Lock()
defer logger.Unlock()
if logger.formatter != nil {
logger.formatter.Format(p.pkg, inLevel, depth+1, entries...)
}
}
func (p *PackageLogger) LevelAt(l LogLevel) bool {
return p.level >= l
}
// Log a formatted string at any level between ERROR and TRACE
func (p *PackageLogger) Logf(l LogLevel, format string, args ...interface{}) {
p.internalLog(calldepth, l, fmt.Sprintf(format, args...))
}
// Log a message at any level between ERROR and TRACE
func (p *PackageLogger) Log(l LogLevel, args ...interface{}) {
p.internalLog(calldepth, l, fmt.Sprint(args...))
}
// log stdlib compatibility
func (p *PackageLogger) Println(args ...interface{}) {
p.internalLog(calldepth, INFO, fmt.Sprintln(args...))
}
func (p *PackageLogger) Printf(format string, args ...interface{}) {
p.internalLog(calldepth, INFO, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Print(args ...interface{}) {
p.internalLog(calldepth, INFO, fmt.Sprint(args...))
}
// Panic and fatal
func (p *PackageLogger) Panicf(format string, args ...interface{}) {
s := fmt.Sprintf(format, args...)
p.internalLog(calldepth, CRITICAL, s)
panic(s)
}
func (p *PackageLogger) Panic(args ...interface{}) {
s := fmt.Sprint(args...)
p.internalLog(calldepth, CRITICAL, s)
panic(s)
}
func (p *PackageLogger) Fatalf(format string, args ...interface{}) {
s := fmt.Sprintf(format, args...)
p.internalLog(calldepth, CRITICAL, s)
os.Exit(1)
}
func (p *PackageLogger) Fatal(args ...interface{}) {
s := fmt.Sprint(args...)
p.internalLog(calldepth, CRITICAL, s)
os.Exit(1)
}
// Error Functions
func (p *PackageLogger) Errorf(format string, args ...interface{}) {
p.internalLog(calldepth, ERROR, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Error(entries ...interface{}) {
p.internalLog(calldepth, ERROR, entries...)
}
// Warning Functions
func (p *PackageLogger) Warningf(format string, args ...interface{}) {
p.internalLog(calldepth, WARNING, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Warning(entries ...interface{}) {
p.internalLog(calldepth, WARNING, entries...)
}
// Notice Functions
func (p *PackageLogger) Noticef(format string, args ...interface{}) {
p.internalLog(calldepth, NOTICE, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Notice(entries ...interface{}) {
p.internalLog(calldepth, NOTICE, entries...)
}
// Info Functions
func (p *PackageLogger) Infof(format string, args ...interface{}) {
p.internalLog(calldepth, INFO, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Info(entries ...interface{}) {
p.internalLog(calldepth, INFO, entries...)
}
// Debug Functions
func (p *PackageLogger) Debugf(format string, args ...interface{}) {
p.internalLog(calldepth, DEBUG, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Debug(entries ...interface{}) {
p.internalLog(calldepth, DEBUG, entries...)
}
// Trace Functions
func (p *PackageLogger) Tracef(format string, args ...interface{}) {
p.internalLog(calldepth, TRACE, fmt.Sprintf(format, args...))
}
func (p *PackageLogger) Trace(entries ...interface{}) {
p.internalLog(calldepth, TRACE, entries...)
}
func (p *PackageLogger) Flush() {
logger.Lock()
defer logger.Unlock()
logger.formatter.Flush()
}

View File

@@ -1,65 +0,0 @@
// Copyright 2015 CoreOS, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// +build !windows
package capnslog
import (
"fmt"
"log/syslog"
)
func NewSyslogFormatter(w *syslog.Writer) Formatter {
return &syslogFormatter{w}
}
func NewDefaultSyslogFormatter(tag string) (Formatter, error) {
w, err := syslog.New(syslog.LOG_DEBUG, tag)
if err != nil {
return nil, err
}
return NewSyslogFormatter(w), nil
}
type syslogFormatter struct {
w *syslog.Writer
}
func (s *syslogFormatter) Format(pkg string, l LogLevel, _ int, entries ...interface{}) {
for _, entry := range entries {
str := fmt.Sprint(entry)
switch l {
case CRITICAL:
s.w.Crit(str)
case ERROR:
s.w.Err(str)
case WARNING:
s.w.Warning(str)
case NOTICE:
s.w.Notice(str)
case INFO:
s.w.Info(str)
case DEBUG:
s.w.Debug(str)
case TRACE:
s.w.Debug(str)
default:
panic("Unhandled loglevel")
}
}
}
func (s *syslogFormatter) Flush() {
}

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