Skip to content

Commit af21d2c

Browse files
committed
chore: switch to GHCR for Docker images
- Remove Docker Hub login and push from workflow - Remove Docker Hub README sync step - Update all documentation to use ghcr.io/redis-developer/redisctl - Update docker-compose.yml image references - Simplifies CI by removing DOCKERHUB_USERNAME/TOKEN secrets requirement
1 parent 964b0f3 commit af21d2c

File tree

10 files changed

+45
-62
lines changed

10 files changed

+45
-62
lines changed

.github/workflows/docker.yml

Lines changed: 3 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
workflow_dispatch:
99

1010
env:
11-
REGISTRY: docker.io
11+
REGISTRY: ghcr.io
1212
IMAGE_NAME: redis-developer/redisctl
1313

1414
jobs:
@@ -67,12 +67,6 @@ jobs:
6767
- name: Set up Docker Buildx
6868
uses: docker/setup-buildx-action@v3
6969

70-
- name: Log in to Docker Hub
71-
uses: docker/login-action@v3
72-
with:
73-
username: ${{ secrets.DOCKERHUB_USERNAME }}
74-
password: ${{ secrets.DOCKERHUB_TOKEN }}
75-
7670
- name: Log in to GHCR
7771
uses: docker/login-action@v3
7872
with:
@@ -88,20 +82,9 @@ jobs:
8882
platforms: linux/amd64,linux/arm64
8983
push: true
9084
tags: |
91-
${{ env.IMAGE_NAME }}:latest
92-
${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }}
93-
${{ env.IMAGE_NAME }}:${{ steps.version.outputs.minor }}
94-
${{ env.IMAGE_NAME }}:${{ steps.version.outputs.major }}
9585
ghcr.io/${{ env.IMAGE_NAME }}:latest
9686
ghcr.io/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.version }}
87+
ghcr.io/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.minor }}
88+
ghcr.io/${{ env.IMAGE_NAME }}:${{ steps.version.outputs.major }}
9789
cache-from: type=gha
9890
cache-to: type=gha,mode=max
99-
100-
- name: Update Docker Hub README
101-
uses: peter-evans/dockerhub-description@v4
102-
with:
103-
username: ${{ secrets.DOCKERHUB_USERNAME }}
104-
password: ${{ secrets.DOCKERHUB_TOKEN }}
105-
repository: redis-developer/redisctl
106-
readme-filepath: ./README.md
107-
short-description: "Unified CLI for Redis Cloud and Redis Enterprise management"

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
55
[![Crates.io](https://img.shields.io/crates/v/redisctl.svg)](https://crates.io/crates/redisctl)
66
[![Documentation](https://docs.rs/redisctl/badge.svg)](https://docs.rs/redisctl)
7-
[![CI](https://github.com/redis-developer/redisctl/actions/workflows/ci.yml/badge.svg)](https://github.com/redis-developer/redisctl/actions/workflows/ci.yml)
8-
[![License](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](https://github.com/redis-developer/redisctl#license)
7+
[![CI](https://github.com/ghcr.io/redis-developer/redisctl/actions/workflows/ci.yml/badge.svg)](https://github.com/ghcr.io/redis-developer/redisctl/actions/workflows/ci.yml)
8+
[![License](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue.svg)](https://github.com/ghcr.io/redis-developer/redisctl#license)
99

1010
```bash
1111
# Create a Redis Cloud subscription with one command
@@ -47,7 +47,7 @@ brew install joshrotenberg/brew/redisctl
4747
cargo install redisctl
4848

4949
# Or download from releases
50-
# https://github.com/redis-developer/redisctl/releases
50+
# https://github.com/ghcr.io/redis-developer/redisctl/releases
5151
```
5252

5353
### 2. Configure
@@ -277,7 +277,7 @@ cargo install redisctl --features secure-storage
277277
```
278278

279279
### Binary Releases
280-
Download the latest release for your platform from [GitHub Releases](https://github.com/redis-developer/redisctl/releases).
280+
Download the latest release for your platform from [GitHub Releases](https://github.com/ghcr.io/redis-developer/redisctl/releases).
281281

282282
Binaries are available for:
283283
- macOS (Intel and Apple Silicon)
@@ -290,13 +290,13 @@ Binaries are available for:
290290
docker run --rm \
291291
-e REDIS_CLOUD_API_KEY \
292292
-e REDIS_CLOUD_SECRET_KEY \
293-
redis-developer/redisctl:latest \
293+
ghcr.io/redis-developer/redisctl:latest \
294294
cloud subscription list
295295

296296
# Mount config for persistent profiles
297297
docker run --rm \
298298
-v ~/.config/redisctl:/root/.config/redisctl:ro \
299-
redis-developer/redisctl:latest \
299+
ghcr.io/redis-developer/redisctl:latest \
300300
cloud database list
301301

302302
# Development environment
@@ -437,7 +437,7 @@ Contributions welcome! See our [Contributing Guide](https://joshrotenberg.github
437437

438438
```bash
439439
# Clone and build
440-
git clone https://github.com/redis-developer/redisctl.git
440+
git clone https://github.com/ghcr.io/redis-developer/redisctl.git
441441
cd redisctl
442442
cargo build --release
443443

@@ -464,5 +464,5 @@ at your option.
464464
## Support
465465

466466
- [Documentation](https://joshrotenberg.github.io/redisctl/)
467-
- [Issue Tracker](https://github.com/redis-developer/redisctl/issues)
468-
- [Discussions](https://github.com/redis-developer/redisctl/discussions)
467+
- [Issue Tracker](https://github.com/ghcr.io/redis-developer/redisctl/issues)
468+
- [Discussions](https://github.com/ghcr.io/redis-developer/redisctl/discussions)

RELEASE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ After workflows complete, verify:
7373

7474
- [ ] GitHub Release: https://github.com/redis-developer/redisctl/releases
7575
- Should have binaries for all platforms
76-
- [ ] Docker Hub: https://hub.docker.com/r/redis-developer/redisctl/tags
76+
- [ ] Docker Hub: https://ghcr.io/redis-developer/redisctl/tags
7777
- Should have new version tag
7878
- [ ] crates.io: https://crates.io/crates/redisctl
7979
- Should show new version

docker-compose.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ services:
7878
# This is a high-level workflow that replaces multiple manual API calls.
7979
# ==============================================================================
8080
redis-enterprise-init:
81-
image: redis-developer/redisctl:latest
81+
image: ghcr.io/redis-developer/redisctl:latest
8282
container_name: redis-enterprise-init
8383
depends_on:
8484
redis-enterprise:
@@ -116,7 +116,7 @@ services:
116116
# Create first test database - basic ephemeral cache
117117
# Configuration: 100MB, no persistence, LRU eviction policy
118118
redis-enterprise-create-db1:
119-
image: redis-developer/redisctl:latest
119+
image: ghcr.io/redis-developer/redisctl:latest
120120
container_name: redis-enterprise-create-db1
121121
depends_on:
122122
redis-enterprise-init:
@@ -137,7 +137,7 @@ services:
137137
# Create second test database - persistent with AOF
138138
# Configuration: 200MB, AOF persistence, appendfsync-every-sec
139139
redis-enterprise-create-db2:
140-
image: redis-developer/redisctl:latest
140+
image: ghcr.io/redis-developer/redisctl:latest
141141
container_name: redis-enterprise-create-db2
142142
depends_on:
143143
redis-enterprise-init:
@@ -167,7 +167,7 @@ services:
167167
# List all databases to verify creation
168168
# 👤 HUMAN-FRIENDLY COMMAND
169169
redis-enterprise-list-dbs:
170-
image: redis-developer/redisctl:latest
170+
image: ghcr.io/redis-developer/redisctl:latest
171171
container_name: redis-enterprise-list-dbs
172172
depends_on:
173173
redis-enterprise-create-db1:
@@ -188,7 +188,7 @@ services:
188188
# Get cache database details with JMESPath filtering
189189
# 👤 HUMAN-FRIENDLY COMMAND (with filtering)
190190
redis-enterprise-get-cache-db:
191-
image: redis-developer/redisctl:latest
191+
image: ghcr.io/redis-developer/redisctl:latest
192192
container_name: redis-enterprise-get-cache-db
193193
depends_on:
194194
redis-enterprise-create-db1:
@@ -211,7 +211,7 @@ services:
211211
# Get persistent database details
212212
# 👤 HUMAN-FRIENDLY COMMAND (with filtering)
213213
redis-enterprise-get-persistent-db:
214-
image: redis-developer/redisctl:latest
214+
image: ghcr.io/redis-developer/redisctl:latest
215215
container_name: redis-enterprise-get-persistent-db
216216
depends_on:
217217
redis-enterprise-create-db2:
@@ -243,7 +243,7 @@ services:
243243
# Output: Basic cluster details (filtered for key fields)
244244
# 👤 HUMAN-FRIENDLY COMMAND
245245
redis-enterprise-cluster-info:
246-
image: redis-developer/redisctl:latest
246+
image: ghcr.io/redis-developer/redisctl:latest
247247
container_name: redis-enterprise-cluster-info
248248
depends_on:
249249
redis-enterprise-list-dbs:
@@ -262,7 +262,7 @@ services:
262262
# List nodes in the cluster
263263
# 👤 HUMAN-FRIENDLY COMMAND
264264
redis-enterprise-list-nodes:
265-
image: redis-developer/redisctl:latest
265+
image: ghcr.io/redis-developer/redisctl:latest
266266
container_name: redis-enterprise-list-nodes
267267
depends_on:
268268
redis-enterprise-cluster-info:
@@ -281,7 +281,7 @@ services:
281281
# Check cluster stats
282282
# 👤 HUMAN-FRIENDLY COMMAND
283283
redis-enterprise-stats:
284-
image: redis-developer/redisctl:latest
284+
image: ghcr.io/redis-developer/redisctl:latest
285285
container_name: redis-enterprise-stats
286286
depends_on:
287287
redis-enterprise-list-nodes:
@@ -308,7 +308,7 @@ services:
308308
# Get license information
309309
# 👤 HUMAN-FRIENDLY COMMAND
310310
redis-enterprise-license:
311-
image: redis-developer/redisctl:latest
311+
image: ghcr.io/redis-developer/redisctl:latest
312312
container_name: redis-enterprise-license
313313
depends_on:
314314
redis-enterprise-stats:
@@ -330,7 +330,7 @@ services:
330330
# Get detailed node information
331331
# 👤 HUMAN-FRIENDLY COMMAND
332332
redis-enterprise-node-details:
333-
image: redis-developer/redisctl:latest
333+
image: ghcr.io/redis-developer/redisctl:latest
334334
container_name: redis-enterprise-node-details
335335
depends_on:
336336
redis-enterprise-license:
@@ -349,7 +349,7 @@ services:
349349
# List all users
350350
# 👤 HUMAN-FRIENDLY COMMAND
351351
redis-enterprise-users:
352-
image: redis-developer/redisctl:latest
352+
image: ghcr.io/redis-developer/redisctl:latest
353353
container_name: redis-enterprise-users
354354
depends_on:
355355
redis-enterprise-node-details:
@@ -368,7 +368,7 @@ services:
368368
# Get cluster policy
369369
# 🔧 RAW API COMMAND
370370
redis-enterprise-policy:
371-
image: redis-developer/redisctl:latest
371+
image: ghcr.io/redis-developer/redisctl:latest
372372
container_name: redis-enterprise-policy
373373
depends_on:
374374
redis-enterprise-users:
@@ -387,7 +387,7 @@ services:
387387
# Check for any cluster alerts
388388
# 🔧 RAW API COMMAND
389389
redis-enterprise-alerts:
390-
image: redis-developer/redisctl:latest
390+
image: ghcr.io/redis-developer/redisctl:latest
391391
container_name: redis-enterprise-alerts
392392
depends_on:
393393
redis-enterprise-policy:
@@ -406,7 +406,7 @@ services:
406406
# Get comprehensive cluster information
407407
# 👤 HUMAN-FRIENDLY COMMAND
408408
redis-enterprise-cluster-full:
409-
image: redis-developer/redisctl:latest
409+
image: ghcr.io/redis-developer/redisctl:latest
410410
container_name: redis-enterprise-cluster-full
411411
depends_on:
412412
redis-enterprise-alerts:

docs/src/getting-started/docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ docker run --rm -it \
9292
-e REDIS_ENTERPRISE_INSECURE="true" \
9393
-e REDIS_ENTERPRISE_USER="[email protected]" \
9494
-e REDIS_ENTERPRISE_PASSWORD="Redis123!" \
95-
redis-developer/redisctl:latest \
95+
ghcr.io/redis-developer/redisctl:latest \
9696
/bin/sh
9797

9898
# Inside the container, run commands

docs/src/getting-started/installation.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ The quickest way to try redisctl with no installation:
66

77
```bash
88
# Run commands directly
9-
docker run --rm redis-developer/redisctl --help
9+
docker run --rm ghcr.io/redis-developer/redisctl --help
1010

1111
# With environment variables
1212
docker run --rm \
1313
-e REDIS_CLOUD_API_KEY="your-key" \
1414
-e REDIS_CLOUD_SECRET_KEY="your-secret" \
15-
redis-developer/redisctl cloud database list
15+
ghcr.io/redis-developer/redisctl cloud database list
1616
```
1717

1818
## Homebrew (macOS/Linux)
@@ -40,12 +40,12 @@ brew upgrade redisctl
4040

4141
## Binary Releases
4242

43-
Download the latest release for your platform from the [GitHub releases page](https://github.com/redis-developer/redisctl/releases).
43+
Download the latest release for your platform from the [GitHub releases page](https://github.com/ghcr.io/redis-developer/redisctl/releases).
4444

4545
### Linux/macOS
4646
```bash
4747
# Download the binary (replace VERSION and PLATFORM)
48-
curl -L https://github.com/redis-developer/redisctl/releases/download/vVERSION/redisctl-PLATFORM.tar.gz | tar xz
48+
curl -L https://github.com/ghcr.io/redis-developer/redisctl/releases/download/vVERSION/redisctl-PLATFORM.tar.gz | tar xz
4949

5050
# Move to PATH
5151
sudo mv redisctl /usr/local/bin/
@@ -80,7 +80,7 @@ cargo install redisctl --features secure-storage
8080
## From Source
8181

8282
```bash
83-
git clone https://github.com/redis-developer/redisctl.git
83+
git clone https://github.com/ghcr.io/redis-developer/redisctl.git
8484
cd redisctl
8585

8686
# Basic installation

docs/src/getting-started/quickstart.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ export REDIS_CLOUD_SECRET_KEY="your-secret-key"
1515
docker run --rm \
1616
-e REDIS_CLOUD_API_KEY \
1717
-e REDIS_CLOUD_SECRET_KEY \
18-
redis-developer/redisctl cloud subscription list
18+
ghcr.io/redis-developer/redisctl cloud subscription list
1919
```
2020

2121
### Redis Enterprise
@@ -33,7 +33,7 @@ docker run --rm \
3333
-e REDIS_ENTERPRISE_USER \
3434
-e REDIS_ENTERPRISE_PASSWORD \
3535
-e REDIS_ENTERPRISE_INSECURE \
36-
redis-developer/redisctl enterprise cluster get
36+
ghcr.io/redis-developer/redisctl enterprise cluster get
3737
```
3838

3939
That's it! You just ran your first redisctl command.

docs/src/presentation/slides.html

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ <h1>
101101
</h1>
102102
<h3>The CLI for Redis Cloud and Enterprise</h3>
103103
<p class="small" style="margin-top: 2em">
104-
github.com/redis-developer/redisctl
104+
github.com/ghcr.io/redis-developer/redisctl
105105
</p>
106106
</section>
107107

@@ -500,19 +500,19 @@ <h2>
500500
<h2>Using with Docker</h2>
501501
<p>No installation required</p>
502502
<pre><code class="language-bash"># Run any command
503-
docker run --rm redis-developer/redisctl \
503+
docker run --rm ghcr.io/redis-developer/redisctl \
504504
cloud subscription list
505505

506506
# With environment variables
507507
docker run --rm \
508508
-e REDIS_CLOUD_API_KEY=$KEY \
509509
-e REDIS_CLOUD_SECRET_KEY=$SECRET \
510-
redis-developer/redisctl cloud database list
510+
ghcr.io/redis-developer/redisctl cloud database list
511511

512512
# Or mount your config
513513
docker run --rm \
514514
-v ~/.config/redisctl:/root/.config/redisctl \
515-
redis-developer/redisctl --profile prod cloud database list</code></pre>
515+
ghcr.io/redis-developer/redisctl --profile prod cloud database list</code></pre>
516516
</section>
517517

518518
<!-- CI/CD -->
@@ -629,10 +629,10 @@ <h2>Installation</h2>
629629
cargo install redisctl --features secure-storage
630630

631631
# Docker
632-
docker run -it redis-developer/redisctl --help
632+
docker run -it ghcr.io/redis-developer/redisctl --help
633633

634634
# From releases (Linux x86_64)
635-
curl -L https://github.com/redis-developer/redisctl/releases/latest/download/redisctl-x86_64-unknown-linux-gnu.tar.gz | tar xz
635+
curl -L https://github.com/ghcr.io/redis-developer/redisctl/releases/latest/download/redisctl-x86_64-unknown-linux-gnu.tar.gz | tar xz
636636
./redisctl --help</code></pre>
637637
</section>
638638

@@ -649,7 +649,7 @@ <h2>Get Started</h2>
649649
redisctl cloud subscription list
650650
redisctl cloud database list --subscription-id 123456</code></pre>
651651
<p style="margin-top: 1.5em"><br /></p>
652-
<h3>github.com/redis-developer/redisctl</h3>
652+
<h3>github.com/ghcr.io/redis-developer/redisctl</h3>
653653
<p class="small">Docs: joshrotenberg.github.io/redisctl</p>
654654
</section>
655655
</div>

docs/src/walkthrough/cloud-examples.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export REDIS_CLOUD_SECRET_KEY="your-secret-key"
1313
alias redisctl='docker run --rm \
1414
-e REDIS_CLOUD_API_KEY \
1515
-e REDIS_CLOUD_SECRET_KEY \
16-
redis-developer/redisctl'
16+
ghcr.io/redis-developer/redisctl'
1717
```
1818

1919
## API Layer Examples

docs/src/walkthrough/enterprise-examples.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ alias redisctl='docker run --rm \
1717
-e REDIS_ENTERPRISE_USER \
1818
-e REDIS_ENTERPRISE_PASSWORD \
1919
-e REDIS_ENTERPRISE_INSECURE \
20-
redis-developer/redisctl'
20+
ghcr.io/redis-developer/redisctl'
2121
```
2222

2323
## API Layer Examples

0 commit comments

Comments
 (0)