Skip to content

Commit 6b72e9f

Browse files
committed
SPIKE v0.4.3 (prerelease).
Signed-off-by: Volkan Özçelik <[email protected]>
1 parent 153f984 commit 6b72e9f

File tree

7 files changed

+124
-47
lines changed

7 files changed

+124
-47
lines changed

docs-src/content/tracking/changelog.md

Lines changed: 51 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,56 @@ sort_by = "weight"
1212

1313
## Recent
1414

15-
* SPIKE Nexus, SPIKE Pilot, and SPIKE Keeper can now be built as Windows
16-
binaries too.
17-
* SPIKE and SPIKE Go SDK code has been refactored to better align with common
18-
Go idioms and conventions.
19-
* Added stricter linting.
20-
* Added vulnerability checks to SPIKE and SPIKE Go SDK.
21-
* enabled `GOFIPS140=v1.0.0`, the modern way of enabling FIPS. We
22-
are not using `boringcrypto` anymore.
23-
* Separated bootstrap logic into its own app to enable a more deterministic
24-
initialization flow. This change will also unlock the ability to run SPIKE
25-
Nexus in HA mode.
26-
* **BREAKING**: SPIKE now requires a separate initializer to begin its lifecycle.
27-
* FIPS 140.3 is enabled and enforced everywhere.
15+
TBD
16+
17+
## [0.4.3] - 2025-08-16 (*prerelease*)
18+
19+
This is a "*prerelease*" version to enable upstream SPIFFE Helm Charts
20+
integration initiatives. The most significant change is the introduction of a
21+
[**SPIKE Bootstrap** app][bootstrap] that is responsible for initializing
22+
**SPIKE Nexus**. This new approach separates the bootstrapping workflow that
23+
had been inside **SPIKE Nexus**' initialization workflow before. And that
24+
enables us an opportunity to run **SPIKE Nexus** in HA mode without designing
25+
elaborate, and potentially error-prone, consensus algorithms.
26+
27+
[bootstrap]: https://github.com/spiffe/spike/blob/main/app/bootstrap/README.md "SPIKE Bootstrap"
28+
29+
### Added
30+
31+
* **FIPS 140.3 Compliance**: FIPS is now enabled at **build time**, and it's
32+
enforced everywhere. We are using `GOFIPS140=v1.0.0`, the modern way of
33+
enabling FIPS, retiring our older `boringcrypto` implementation.
34+
* `spike policy list` command can now filter by SPIFFE ID pattern and path
35+
pattern.
36+
* `spike policy` command cano now accept a YAML file as input, instead of
37+
requiring command-line parameters.
38+
* SPIKE Go SDK now has a generator that creates pattern-based, secure,
39+
randomized secrets.
40+
* Implemented a (currently experimental) "SPIKE Lite" mode where SPIKE Nexus
41+
would not need a backing store, or policies, and can leverage the storage
42+
and policy mechanism of S3-compatible object stores (such as Minio). Once
43+
we fully implement and polish SPIKE Lite, we will also update documentation
44+
and use cases to allow users to understand the benefits and liabilities of
45+
SPIKE Lite and why they might want to use one over the other.
46+
47+
## Changed
48+
49+
* Better alignment with idiomatic Go practices. SPIKE and SPIKE Go SDK code
50+
has been refactored to better align with common Go idioms and conventions.
51+
We also created a `make audit` target to run style checks and linters that
52+
enforce a consistent code style and some of these guidelines. `make audit`
53+
is also a part of the CI pipeline to ensure that the code is always compliant
54+
at every commit. In addition `make audit` also does vulnerability checks.
55+
* **BREAKING**: SPIKE Nexus now requires a separate initializer (SPIKE Bootstrap)
56+
to begin its lifecycle. The user guides and relevant documentation have been
57+
updated to reflect this change.
58+
* Updated Go to the latest version (`1.24.6`).
59+
60+
### Fixed
61+
62+
* Fixed a bug related to Windows builds. SPIKE Nexus, SPIKE Pilot, and SPIKE
63+
Keeper can now be built as Windows binaries too.
64+
* Various refactorings, improvements, code cleanup, and bug fixes.
2865

2966
## [0.4.2] - 2025-07-19
3067

@@ -35,7 +72,7 @@ sort_by = "weight"
3572
available on the system.
3673
* SPIKE can now be deployed from SPIFFE helm charts. Tested and verified!
3774
* Documentation updates.
38-
* SPIKE can be now be installed from [SPIFFE Helm
75+
* SPIKE can now be installed from [SPIFFE Helm
3976
Charts](https://github.com/spiffe/helm-charts-hardened) and can
4077
[federate secrets across clusters](https://vimeo.com/v0lkan/spike-federation)
4178

docs-src/content/tracking/snapshots.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ The **GitHub** repository contains the latest documentation of **SPIKE** already
1717
Here are the links to point-in-time documentation snapshots at each release:
1818

1919
* [current](https://github.com/spiffe/spike/tree/main/docs)
20+
* [v0.4.3](https://github.com/spiffe/spike/tree/v0.4.3/docs)
2021
* [v0.4.2](https://github.com/spiffe/spike/tree/v0.4.2/docs)
2122
* [v0.4.1](https://github.com/spiffe/spike/tree/v0.4.1/docs)
2223
* [v0.4.0](https://github.com/spiffe/spike/tree/v0.4.0/docs)

docs/operations/release/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -779,6 +779,7 @@ <h2 id="before-every-release">Before Every Release</h2>
779779
<li>Run <code>./hack/cover.sh</code> to update and send the coverage report to the public
780780
docs.</li>
781781
<li>Make sure you update <code>./app/VERSION.txt</code> with the new version.</li>
782+
<li>Make sure you run <code>make audit</code> and the process cleanly exits with no errors.</li>
782783
</ol>
783784
<p>Release process:</p>
784785
<ul>

docs/search_index.en.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/tracking/changelog/index.html

Lines changed: 68 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,12 @@
220220
<li>
221221
<a href="https://spike.ist/tracking/changelog/#recent">Recent</a>
222222
</li>
223+
<li>
224+
<a href="https://spike.ist/tracking/changelog/#0-4-3-2025-08-16-prerelease">[0.4.3] - 2025-08-16 (prerelease)</a>
225+
</li>
226+
<li>
227+
<a href="https://spike.ist/tracking/changelog/#changed">Changed</a>
228+
</li>
223229
<li>
224230
<a href="https://spike.ist/tracking/changelog/#0-4-2-2025-07-19">[0.4.2] - 2025-07-19</a>
225231
</li>
@@ -774,34 +780,65 @@
774780

775781
<h1 id="spike-changelog">SPIKE Changelog</h1>
776782
<h2 id="recent">Recent</h2>
783+
<p>TBD</p>
784+
<h2 id="0-4-3-2025-08-16-prerelease">[0.4.3] - 2025-08-16 (<em>prerelease</em>)</h2>
785+
<p>This is a “<em>prerelease</em>” version to enable upstream SPIFFE Helm Charts
786+
integration initiatives. The most significant change is the introduction of a
787+
<a href="https://github.com/spiffe/spike/blob/main/app/bootstrap/README.md" title="SPIKE Bootstrap"><strong>SPIKE Bootstrap</strong> app</a> that is responsible for initializing
788+
<strong>SPIKE Nexus</strong>. This new approach separates the bootstrapping workflow that
789+
had been inside <strong>SPIKE Nexus</strong>’ initialization workflow before. And that
790+
enables us an opportunity to run <strong>SPIKE Nexus</strong> in HA mode without designing
791+
elaborate, and potentially error-prone, consensus algorithms.</p>
792+
<h3 id="added">Added</h3>
793+
<ul>
794+
<li><strong>FIPS 140.3 Compliance</strong>: FIPS is now enabled at <strong>build time</strong>, and it’s
795+
enforced everywhere. We are using <code>GOFIPS140=v1.0.0</code>, the modern way of
796+
enabling FIPS, retiring our older <code>boringcrypto</code> implementation.</li>
797+
<li><code>spike policy list</code> command can now filter by SPIFFE ID pattern and path
798+
pattern.</li>
799+
<li><code>spike policy</code> command cano now accept a YAML file as input, instead of
800+
requiring command-line parameters.</li>
801+
<li>SPIKE Go SDK now has a generator that creates pattern-based, secure,
802+
randomized secrets.</li>
803+
<li>Implemented a (currently experimental) “SPIKE Lite” mode where SPIKE Nexus
804+
would not need a backing store, or policies, and can leverage the storage
805+
and policy mechanism of S3-compatible object stores (such as Minio). Once
806+
we fully implement and polish SPIKE Lite, we will also update documentation
807+
and use cases to allow users to understand the benefits and liabilities of
808+
SPIKE Lite and why they might want to use one over the other.</li>
809+
</ul>
810+
<h2 id="changed">Changed</h2>
811+
<ul>
812+
<li>Better alignment with idiomatic Go practices. SPIKE and SPIKE Go SDK code
813+
has been refactored to better align with common Go idioms and conventions.
814+
We also created a <code>make audit</code> target to run style checks and linters that
815+
enforce a consistent code style and some of these guidelines. <code>make audit</code>
816+
is also a part of the CI pipeline to ensure that the code is always compliant
817+
at every commit. In addition <code>make audit</code> also does vulnerability checks.</li>
818+
<li><strong>BREAKING</strong>: SPIKE Nexus now requires a separate initializer (SPIKE Bootstrap)
819+
to begin its lifecycle. The user guides and relevant documentation have been
820+
updated to reflect this change.</li>
821+
<li>Updated Go to the latest version (<code>1.24.6</code>).</li>
822+
</ul>
823+
<h3 id="fixed">Fixed</h3>
777824
<ul>
778-
<li>SPIKE Nexus, SPIKE Pilot, and SPIKE Keeper can now be built as Windows
779-
binaries too.</li>
780-
<li>SPIKE and SPIKE Go SDK code has been refactored to better align with common
781-
Go idioms and conventions.</li>
782-
<li>Added stricter linting.</li>
783-
<li>Added vulnerability checks to SPIKE and SPIKE Go SDK.</li>
784-
<li>enabled <code>GOFIPS140=v1.0.0</code>, the modern way of enabling FIPS. We
785-
are not using <code>boringcrypto</code> anymore.</li>
786-
<li>Separated bootstrap logic into its own app to enable a more deterministic
787-
initialization flow. This change will also unlock the ability to run SPIKE
788-
Nexus in HA mode.</li>
789-
<li><strong>BREAKING</strong>: SPIKE now requires a separate initializer to begin its lifecycle.</li>
790-
<li>FIPS 140.3 is enabled and enforced everywhere.</li>
825+
<li>Fixed a bug related to Windows builds. SPIKE Nexus, SPIKE Pilot, and SPIKE
826+
Keeper can now be built as Windows binaries too.</li>
827+
<li>Various refactorings, improvements, code cleanup, and bug fixes.</li>
791828
</ul>
792829
<h2 id="0-4-2-2025-07-19">[0.4.2] - 2025-07-19</h2>
793-
<h3 id="added">Added</h3>
830+
<h3 id="added-1">Added</h3>
794831
<ul>
795832
<li>Ability to configure to not how SPIKE banner on startup.</li>
796833
<li>Ability to configure to show a warning if memory locking is not
797834
available on the system.</li>
798835
<li>SPIKE can now be deployed from SPIFFE helm charts. Tested and verified!</li>
799836
<li>Documentation updates.</li>
800-
<li>SPIKE can be now be installed from <a href="https://github.com/spiffe/helm-charts-hardened">SPIFFE Helm
837+
<li>SPIKE can now be installed from <a href="https://github.com/spiffe/helm-charts-hardened">SPIFFE Helm
801838
Charts</a> and can
802839
<a href="https://vimeo.com/v0lkan/spike-federation">federate secrets across clusters</a></li>
803840
</ul>
804-
<h3 id="changed">Changed</h3>
841+
<h3 id="changed-1">Changed</h3>
805842
<ul>
806843
<li>Moved logging to SPIKE SDK. VSecM v2 will share the same logging setup.</li>
807844
<li><code>spike policy</code> command now accepts file input; you can design your policies
@@ -814,7 +851,7 @@ <h3 id="security">Security</h3>
814851
Data</a></li>
815852
</ul>
816853
<h2 id="0-4-1-2025-06-01-prerelease">[0.4.1] - 2025-06-01 (<em>prerelease</em>)</h2>
817-
<h3 id="added-1">Added</h3>
854+
<h3 id="added-2">Added</h3>
818855
<ul>
819856
<li>Initial support for Kubernetes deployments.</li>
820857
<li>Better shard sanitization during recovery procedures.</li>
@@ -823,7 +860,7 @@ <h3 id="added-1">Added</h3>
823860
<li>Added the ability to optionally skip database schema creation during SPIKE
824861
initialization.</li>
825862
</ul>
826-
<h3 id="changed-1">Changed</h3>
863+
<h3 id="changed-2">Changed</h3>
827864
<ul>
828865
<li><strong>BREAKING</strong>: SDK validation methods now take trust root as an argument.</li>
829866
<li><strong>BREAKING</strong>: <code>SPIKE_NEXUS_KEEPER_URL</code> is now a comma-delimited list of URLs
@@ -834,21 +871,21 @@ <h3 id="changed-1">Changed</h3>
834871
<li>SPIKE now uses GitHub Container Registry to store its container image
835872
(instead of Docker Hub).</li>
836873
</ul>
837-
<h3 id="fixed">Fixed</h3>
874+
<h3 id="fixed-1">Fixed</h3>
838875
<ul>
839876
<li>Fixed a bug where the doomsday recovery procedure was not immediately
840877
restoring the data.</li>
841878
</ul>
842879
<h2 id="0-4-0-2025-04-16">[0.4.0] - 2025-04-16</h2>
843-
<h3 id="added-2">Added</h3>
880+
<h3 id="added-3">Added</h3>
844881
<ul>
845882
<li>Added more configuration options to SPIKE Nexus.</li>
846883
<li>Updated documentation around security and production hardening.</li>
847884
<li>Updated release instructions, added a series of tests to follow and cutting
848885
a release only after all tests pass. These tests are manual for now but
849886
can be automated later down the line.</li>
850887
</ul>
851-
<h3 id="fixed-1">Fixed</h3>
888+
<h3 id="fixed-2">Fixed</h3>
852889
<ul>
853890
<li>Fixed a bug related to policies not recovering after a SPIKE Nexus crash.
854891
Now, both secrets and policies recover without an issue.</li>
@@ -860,7 +897,7 @@ <h3 id="fixed-1">Fixed</h3>
860897
up when no longer needed (but not before).</li>
861898
<li>Various bug fixes and improvements.</li>
862899
</ul>
863-
<h3 id="changed-2">Changed</h3>
900+
<h3 id="changed-3">Changed</h3>
864901
<ul>
865902
<li>Moved some common reusable code to <code>spike-sdk-go</code>.</li>
866903
<li>Various changes and improvements in SPIKE Go SDK.</li>
@@ -881,7 +918,7 @@ <h3 id="security-1">Security</h3>
881918
<li><a href="https://github.com/spiffe/spike/security/dependabot/4">Fixed <code>CVE-2025-22870</code>: HTTP Proxy bypass using IPv6 Zone IDs in golang.org/x/net</a></li>
882919
</ul>
883920
<h2 id="0-3-1-2025-03-04">[0.3.1] - 2025-03-04</h2>
884-
<h3 id="added-3">Added</h3>
921+
<h3 id="added-4">Added</h3>
885922
<ul>
886923
<li>SPIKE Nexus now accepts a dynamic number of SPIKE Keepers and Shamir share
887924
threshold (defaults to 3 keepers, and minimum 2 shares (out of 3) to
@@ -891,7 +928,7 @@ <h3 id="added-3">Added</h3>
891928
<li>Various documentation updates.</li>
892929
<li>Minor bug fixes in initialization scripts.</li>
893930
</ul>
894-
<h3 id="changed-3">Changed</h3>
931+
<h3 id="changed-4">Changed</h3>
895932
<ul>
896933
<li>Secrets now rehydrate from the backing store immediately after SPIKE
897934
Nexus crashes. Former implementation was using an optimistic algorithm
@@ -911,7 +948,7 @@ <h3 id="security-2">Security</h3>
911948
<h2 id="0-3-0-2025-02-20">[0.3.0] - 2025-02-20</h2>
912949
<p>This release was focused around bugfixes, stability, documentation, and
913950
disaster recovery.</p>
914-
<h3 id="added-4">Added</h3>
951+
<h3 id="added-5">Added</h3>
915952
<ul>
916953
<li>Documentation: SPIKE Production Hardening Guide is complete and ready for
917954
consumption (<em>it was in draft mode before</em>).</li>
@@ -926,7 +963,7 @@ <h3 id="added-4">Added</h3>
926963
and design decisions transparently.</li>
927964
<li>Started working on containerization (<em>though it’s still a work in progress</em>).</li>
928965
</ul>
929-
<h3 id="changed-4">Changed</h3>
966+
<h3 id="changed-5">Changed</h3>
930967
<ul>
931968
<li>SPIKE Website has undergone a major overhaul.</li>
932969
<li>Documentation updates, especially around security and disaster recovery.</li>
@@ -937,7 +974,7 @@ <h3 id="changed-4">Changed</h3>
937974
<li>Significant updates in <a href="https://github.com/spiffe/spike-sdk-go">SPIKE go SDK</a>.</li>
938975
</ul>
939976
<h2 id="0-2-1-2025-01-23">[0.2.1] - 2025-01-23</h2>
940-
<h3 id="added-5">Added</h3>
977+
<h3 id="added-6">Added</h3>
941978
<ul>
942979
<li>Enabled policy-based access control.</li>
943980
<li>The root key that SPIKE Nexus generates is now split into several Shamir
@@ -955,7 +992,7 @@ <h3 id="added-5">Added</h3>
955992
<li>Implemented a Secret Metadata API.</li>
956993
<li>Implemented exponential retries across several API-consuming methods.</li>
957994
</ul>
958-
<h3 id="changed-5">Changed</h3>
995+
<h3 id="changed-6">Changed</h3>
959996
<ul>
960997
<li><strong>BREAKING</strong>: changed the CLI usage. Instead of <code>spike get</code>, for example, we
961998
now use <code>spike secret get</code>. The reason for this change is that we introduced
@@ -969,7 +1006,7 @@ <h3 id="security-3">Security</h3>
9691006
<code>golang.org/x/net/htm</code></a></li>
9701007
</ul>
9711008
<h2 id="0-2-0-2024-11-22">[0.2.0] - 2024-11-22</h2>
972-
<h3 id="added-6">Added</h3>
1009+
<h3 id="added-7">Added</h3>
9731010
<ul>
9741011
<li>Added configuration options for SPIKE Nexus and SPIKE Keeper.</li>
9751012
<li>Documentation updates.</li>
@@ -981,15 +1018,15 @@ <h3 id="added-6">Added</h3>
9811018
<li>Created initial smoke/integration tests.</li>
9821019
<li>Stability improvements.</li>
9831020
</ul>
984-
<h3 id="changed-6">Changed</h3>
1021+
<h3 id="changed-7">Changed</h3>
9851022
<ul>
9861023
<li>Removed password authentication for admin users. Admin users’ SVIDs
9871024
are good enough to authenticate them.</li>
9881025
<li>Implemented passwordless admin login flow
9891026
(<em>the neat thing about passwords is: you don’t need them</em>).</li>
9901027
</ul>
9911028
<h2 id="0-1-0-2024-11-06">[0.1.0] - 2024-11-06</h2>
992-
<h3 id="added-7">Added</h3>
1029+
<h3 id="added-8">Added</h3>
9931030
<ul>
9941031
<li>Implemented <code>put</code>, <code>read</code>, <code>delete</code>, <code>undelete</code>, and <code>list</code> functionalities.</li>
9951032
<li>Created initial documentation, README, and related files.</li>

docs/tracking/snapshots/index.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -744,6 +744,7 @@ <h2 id="snapshots">Snapshots</h2>
744744
<p>Here are the links to point-in-time documentation snapshots at each release:</p>
745745
<ul>
746746
<li><a href="https://github.com/spiffe/spike/tree/main/docs">current</a></li>
747+
<li><a href="https://github.com/spiffe/spike/tree/v0.4.3/docs">v0.4.3</a></li>
747748
<li><a href="https://github.com/spiffe/spike/tree/v0.4.2/docs">v0.4.2</a></li>
748749
<li><a href="https://github.com/spiffe/spike/tree/v0.4.1/docs">v0.4.1</a></li>
749750
<li><a href="https://github.com/spiffe/spike/tree/v0.4.0/docs">v0.4.0</a></li>

hack/scm/tag.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,4 @@
44
# \\\\\ Copyright 2024-present SPIKE contributors.
55
# \\\\\\\ SPDX-License-Identifier: Apache-2.0
66

7-
git tag -s v0.4.2
7+
git tag -s v0.4.3

0 commit comments

Comments
 (0)