Skip to content

Commit ce70c43

Browse files
authored
Documentation Migration and Valkey Rebranding (#58)
* Add Starlight doc files Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Remove Antora doc files Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Rebrand docs from Redis to Valkey Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update migration docs for Valkey Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update external navbar links Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update valkey pages Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update repositories pages Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Add GitHub action to publish docs Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update navbar names Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Add doc notes to devloper guide Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update doc links Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update schema location references Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Fix CI lint errors Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Update spring.schemas lookup Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Address feedback Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Fix docs workflow cache Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Fix workflow JavaDocs dir Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Use spring.valkey.io CNAME Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Fix JavaDoc links Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Add notice file for modifications Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> * Fix package names and add features page Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com> --------- Signed-off-by: Jeremy Parr-Pearson <jeremy.parr-pearson@improving.com>
1 parent 65547ff commit ce70c43

File tree

116 files changed

+13021
-3987
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+13021
-3987
lines changed

.github/workflows/docs.yml

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ on:
66
# push:
77
# branches: [main]
88
# paths:
9-
# - 'docs/**'
10-
# - 'spring-data-valkey/src/main/resources/io/valkey/springframework/data/valkey/config/spring-valkey-1.0.xsd'
9+
# - "docs/**"
10+
# - "spring-data-valkey/src/main/resources/io/valkey/springframework/data/valkey/config/spring-valkey-1.0.xsd"
1111

1212
permissions:
1313
contents: read
@@ -31,7 +31,7 @@ jobs:
3131
with:
3232
node-version: "20"
3333
cache: "npm"
34-
cache-dependency-path: docs/package-lock.json
34+
cache-dependency-path: "docs/package-lock.json"
3535

3636
- name: Setup JDK
3737
uses: actions/setup-java@v4
@@ -46,21 +46,24 @@ jobs:
4646
run: npm ci
4747
working-directory: ./docs
4848

49+
- name: Build Astro docs
50+
run: npm run build
51+
working-directory: ./docs
52+
4953
- name: Generate JavaDocs
5054
run: |
5155
./mvnw javadoc:javadoc -pl spring-data-valkey -DskipTests
52-
mkdir -p docs/dist/api/java
53-
cp -r spring-data-valkey/target/site/apidocs/* docs/dist/api/java/
56+
./mvnw javadoc:javadoc -pl spring-boot-starter-data-valkey -DskipTests
57+
mkdir -p docs/dist/spring-data-valkey/api/java
58+
mkdir -p docs/dist/spring-boot-starter-data-valkey/api/java
59+
cp -r spring-data-valkey/target/reports/apidocs/* docs/dist/spring-data-valkey/api/java/
60+
cp -r spring-boot-starter-data-valkey/target/reports/apidocs/* docs/dist/spring-boot-starter-data-valkey/api/java/
5461
5562
- name: Copy Schema
5663
run: |
5764
mkdir -p docs/dist/schema/valkey
5865
cp spring-data-valkey/src/main/resources/io/valkey/springframework/data/valkey/config/spring-valkey-1.0.xsd docs/dist/schema/valkey/
5966
60-
- name: Build docs
61-
run: npm run build
62-
working-directory: ./docs
63-
6467
- name: Upload artifact
6568
uses: actions/upload-pages-artifact@v3
6669
with:

.gitignore

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,5 @@ appendonlydir
2121
build/
2222
node_modules
2323
node
24-
package-lock.json
25-
package.json
2624
.mvn/.develocity
2725
.flattened-pom.xml

DEVELOPER.md

Lines changed: 41 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ Spring Data Valkey is organized as a multi-module Maven project:
99
* **[`spring-data-valkey`](spring-data-valkey/)** - Core Spring Data Valkey library
1010
* **[`spring-boot-starter-data-valkey`](spring-boot-starter-data-valkey/)** - Spring Boot starter for auto-configuration
1111
* **[`examples`](examples/)** - Example applications demonstrating various Spring Data features
12-
* **[`performance`](performance/)** - Performance testing and benchmarking tools
1312

1413
## Prerequisites
1514

@@ -99,19 +98,6 @@ $ ./mvnw -q exec:java -pl examples/spring-boot
9998

10099
For detailed information about all available examples and their specific features, see the [examples](examples/) directory.
101100

102-
## Performance Testing
103-
104-
```bash
105-
# Default performance test with infrastructure management
106-
$ make performance
107-
108-
# Test with different clients against existing Valkey instance
109-
$ ./mvnw -q exec:java -pl performance -Dclient=valkeyglide
110-
$ ./mvnw -q exec:java -pl performance -Dclient=lettuce
111-
```
112-
113-
For detailed information about all available performance tests and benchmarking options, see the [performance](performance/) directory.
114-
115101
## Logging Configuration
116102

117103
### Spring Boot
@@ -156,6 +142,45 @@ For non-Spring Boot applications, configure logging via `logback.xml` in your cl
156142
</configuration>
157143
```
158144

145+
## Redis Source Alignment
146+
147+
This repository is forked from Spring Data Redis and related projects. This section documents the source repositories to help with future upgrades, patches, and alignment.
148+
149+
| Local Module | Redis Source Repository | Branch/Tag | Notes |
150+
|--------------|------------------------|------------|-------|
151+
| `./` | [spring-data-build](https://github.com/spring-projects/spring-data-build) | `3.5.1` | Parent for Spring Data modules |
152+
| `spring-data-valkey/` | [spring-data-redis](https://github.com/spring-projects/spring-data-redis) | `3.5.1` | Core Spring Data Redis functionality |
153+
| `spring-boot-starter-data-valkey/` | [spring-boot](https://github.com/spring-projects/spring-boot) | `3.5.1` | Spring Boot auto-configuration for Redis |
154+
| `docs/` | [spring-data-redis](https://github.com/spring-projects/spring-data-redis) | `3.5.1` | Documentation |
155+
| `examples/` | [spring-data-examples](https://github.com/spring-projects/spring-data-examples) | `main` | Redis examples |
156+
157+
Key changes from Redis source:
158+
- **Package names**:
159+
- Spring Data: `org.springframework.data.redis.*``io.valkey.springframework.data.valkey.*`
160+
- Spring Boot: `org.springframework.boot.*.redis.*``io.valkey.springframework.boot.*.valkey.*`
161+
- **Class names and properties**: `*Redis*``*Valkey*` or `*redis*``*valkey*`
162+
- **Dependencies**:
163+
- Spring Data: `org.springframework.data:spring-data-redis``io.valkey.springframework.data:spring-data-valkey`
164+
- Spring Boot: `org.springframework.boot:spring-boot-starter-data-redis``io.valkey.springframework.boot:spring-boot-starter-data-valkey`
165+
- **Driver support**: Added Valkey GLIDE as the primary driver
166+
- **Documentation**: Migrated from Antora/AsciiDoc to Starlight/Markdown
167+
168+
## Deploying Documentation
169+
170+
The documentation is deployed to GitHub Pages using GitHub Actions. This includes the Astro Starlight documentation under `docs/`, as well as the Spring Data Valkey JavaDocs and schema.
171+
172+
Manually trigger the *Docs* workflow in GitHub Actions for a given branch to deploy the documentation on that branch. The documentation will then be available at `https://valkey-io.github.io/spring-data-valkey/` or `https://spring.valkey.io` (CNAME redirect).
173+
174+
### Local Development
175+
176+
```bash
177+
$ cd docs
178+
$ npm install
179+
$ npm run dev
180+
```
181+
182+
The documentation will be available at `http://localhost:4321/`.
183+
159184
## Release Process
160185

161186
### Version Management
@@ -195,6 +220,6 @@ $ git push origin v1.0.0
195220
## Additional Resources
196221

197222
* [Valkey Documentation](https://valkey.io/docs/)
198-
* [Spring Data Documentation](https://docs.spring.io/spring-data/redis/reference/)
199-
* [Valkey GLIDE Client](https://github.com/valkey-io/valkey-glide)
223+
* [Valkey GLIDE Java Client Reference](https://glide.valkey.io/languages/java/)
224+
* [Spring Data Reference](https://spring.io/projects/spring-data)
200225
* [Spring Boot Reference](https://docs.spring.io/spring-boot/reference/)

MIGRATION.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -444,7 +444,7 @@ $ find path/to/project -type f \( -name "*.java" -o -name "*.properties" -o -nam
444444

445445
## Additional Resources
446446

447-
- [Valkey Documentation](https://valkey.io/docs/)
448-
- [Valkey GLIDE](https://github.com/valkey-io/valkey-glide)
449-
- [Spring Data Redis Documentation](https://docs.spring.io/spring-data/redis/reference/)
450-
- [Spring Data Redis](https://github.com/spring-projects/spring-data-redis)
447+
- [Valkey GLIDE Java Client Reference](https://glide.valkey.io/languages/java/)
448+
- [Spring Data Valkey Reference](https://spring.valkey.io/)
449+
- [Spring Data Redis Reference](https://docs.spring.io/spring-data/redis/reference/)
450+
- [Spring Boot Reference](https://docs.spring.io/spring-boot/reference/)

NOTICE.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Spring Data Valkey
2+
Copyright 2025-2026 Amazon.com, Inc. or its affiliates
3+
4+
This product is a derivative work based on Spring Data Redis.
5+
Original work Copyright 2008-2024 VMware, Inc.
6+
7+
This product includes software developed by VMware, Inc. (https://spring.io/)

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,10 +131,9 @@ If you're migrating from Spring Data Redis, see the [Migration Guide](MIGRATION.
131131

132132
## Documentation
133133

134-
For general usage patterns and API documentation, refer to:
135-
* [Spring Data Redis Reference Documentation](https://docs.spring.io/spring-data/redis/reference/) - Most concepts apply to Valkey
134+
* [Spring Data Valkey Reference](https://spring.valkey.io/) - For general usage patterns and API documentation
136135
* [Valkey Documentation](https://valkey.io/docs/) - For Valkey-specific features and commands
137136

138137
## License
139138

140-
Spring Data Valkey is Open Source software released under the [Apache 2.0 license](https://www.apache.org/licenses/LICENSE-2.0.html).
139+
Spring Data Valkey is Open Source software released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt) and [NOTICE.txt](NOTICE.txt) for details.

docs/.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.astro/
2+
dist/
3+
node_modules/
4+
5+
.env
6+
.env.production

docs/astro.config.mjs

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
// @ts-check
2+
import { defineConfig } from 'astro/config';
3+
import starlight from '@astrojs/starlight';
4+
import rehypeExternalLinks from 'rehype-external-links';
5+
6+
// https://astro.build/config
7+
export default defineConfig({
8+
site: 'https://spring.valkey.io',
9+
markdown: {
10+
rehypePlugins: [
11+
[rehypeExternalLinks, { target: '_blank', rel: ['noopener', 'noreferrer'] }]
12+
]
13+
},
14+
integrations: [
15+
starlight({
16+
title: 'Spring Data Valkey',
17+
logo: {
18+
light: './src/assets/spring-data-valkey-logo-with-name-light.svg',
19+
dark: './src/assets/spring-data-valkey-logo-with-name-dark.svg',
20+
replacesTitle: true,
21+
},
22+
customCss: ['./src/styles/custom.css', './src/styles/code-wrap.css'],
23+
favicon: '/favicon-32x32.png',
24+
social: [
25+
{ icon: 'github', label: 'GitHub', href: 'https://github.com/valkey-io/spring-data-valkey' }
26+
],
27+
sidebar: [
28+
{
29+
label: 'Overview',
30+
items: [
31+
{ label: 'Spring Data Valkey', slug: 'overview' },
32+
{ label: 'Spring Boot', slug: 'commons/spring-boot' },
33+
{ label: 'Features', slug: 'commons/features' },
34+
{ label: 'Migrating Spring Data', slug: 'commons/migration' },
35+
]
36+
},
37+
{
38+
label: 'Valkey',
39+
items: [
40+
{ label: 'Valkey Overview', slug: 'valkey' },
41+
{ label: 'Getting Started', slug: 'valkey/getting-started' },
42+
{ label: 'Drivers', slug: 'valkey/drivers' },
43+
{ label: 'Connection Modes', slug: 'valkey/connection-modes' },
44+
{ label: 'ValkeyTemplate', slug: 'valkey/template' },
45+
{ label: 'Valkey Cache', slug: 'valkey/valkey-cache' },
46+
{ label: 'Cluster', slug: 'valkey/cluster' },
47+
{ label: 'Hash Mapping', slug: 'valkey/hash-mappers' },
48+
{ label: 'Pub/Sub Messaging', slug: 'valkey/pubsub' },
49+
{ label: 'Valkey Streams', slug: 'valkey/valkey-streams' },
50+
{ label: 'Scripting', slug: 'valkey/scripting' },
51+
{ label: 'Valkey Transactions', slug: 'valkey/transactions' },
52+
{ label: 'Pipelining', slug: 'valkey/pipelining' },
53+
{ label: 'Support Classes', slug: 'valkey/support-classes' },
54+
]
55+
},
56+
{
57+
label: 'Valkey Repositories',
58+
items: [
59+
{ label: 'Valkey Repositories Overview', slug: 'repositories' },
60+
{ label: 'Core concepts', slug: 'repositories/core-concepts' },
61+
{ label: 'Defining Repository Interfaces', slug: 'repositories/definition' },
62+
{ label: 'Creating Repository Instances', slug: 'repositories/create-instances' },
63+
{ label: 'Usage', slug: 'valkey/valkey-repositories/usage' },
64+
{ label: 'Object Mapping Fundamentals', slug: 'repositories/object-mapping' },
65+
{ label: 'Object-to-Hash Mapping', slug: 'valkey/valkey-repositories/mapping' },
66+
{ label: 'Keyspaces', slug: 'valkey/valkey-repositories/keyspaces' },
67+
{ label: 'Secondary Indexes', slug: 'valkey/valkey-repositories/indexes' },
68+
{ label: 'Time To Live', slug: 'valkey/valkey-repositories/expirations' },
69+
{ label: 'Valkey-specific Query Methods', slug: 'valkey/valkey-repositories/queries' },
70+
{ label: 'Query by Example', slug: 'valkey/valkey-repositories/query-by-example' },
71+
{ label: 'Valkey Repositories Running on a Cluster', slug: 'valkey/valkey-repositories/cluster' },
72+
{ label: 'Valkey Repositories Anatomy', slug: 'valkey/valkey-repositories/anatomy' },
73+
{ label: 'Projections', slug: 'repositories/projections' },
74+
{ label: 'Custom Repository Implementations', slug: 'repositories/custom-implementations' },
75+
{ label: 'Publishing Events from Aggregate Roots', slug: 'repositories/core-domain-events' },
76+
{ label: 'Null Handling of Repository Methods', slug: 'repositories/null-handling' },
77+
{ label: 'CDI Integration', slug: 'valkey/valkey-repositories/cdi-integration' },
78+
{ label: 'Repository query keywords', slug: 'repositories/query-keywords-reference' },
79+
{ label: 'Repository query return types', slug: 'repositories/query-return-types-reference' },
80+
]
81+
},
82+
{ label: 'Observability', slug: 'observability' },
83+
{ label: 'Appendix', slug: 'appendix' },
84+
{ label: 'Valkey Project ↗', link: 'https://valkey.io/', attrs: { target: '_blank' } },
85+
{ label: 'Javadoc ↗', link: 'https://spring.valkey.io/spring-data-valkey/api/java/index.html', attrs: { target: '_blank' } },
86+
{ label: 'Spring Boot Javadoc ↗', link: 'https://spring.valkey.io/spring-boot-starter-data-valkey/api/java/index.html', attrs: { target: '_blank' } },
87+
],
88+
}),
89+
],
90+
});

0 commit comments

Comments
 (0)