Skip to content

A cross-platform GUI tool for generating Kubernetes Image-Pull-Secrets

License

Notifications You must be signed in to change notification settings

javaLux/registrymate

Repository files navigation

RegistryMate Icon

RegistryMate


Build Status Go License Fyne Platform

A cross-platform GUI tool built with Go and Fyne to easily and correctly create Kubernetes ImagePullSecrets, ensuring accuracy and reducing common errors.
The app focuses on usability, transparency, and reliability when working with private container registries and Kubernetes YAML manifests.


Table of Contents

Features

  • Create Kubernetes ImagePullSecrets as valid YAML
  • Copy the generated secret to clipboard or save it to a file
  • Built-in history for registries and secret metadata
    • Stores up to 100 entries
    • Oldest entries are automatically removed when the limit is reached
  • Base64 Encode / Decode utility for Docker-Config JSON string

Screenshots

RegistryMate Light-Theme


RegistryMate Dark-Theme

Installation

The easiest way to install RegistryMate, is to use the precompiled binaries for your platform.

You can download the latest release here:

ToDo

  • Setup CD-Pipeline
  • Release v1.0.0
    • Linux build
    • Windows build
    • macOS build

Linux (Debian/Ubuntu)

  • Download the latest release for linux, and follow these steps:
mkdir registrymate
tar -xvf RegistryMate-<Version>-linux-x86_64.tar.xz -C registrymate
cd registrymate

# Install only for the current user -> ~./local
make user-install

# Install System wide
sudo make install

Windows

  • Download the latest release for windows, and follow these steps:

  • If you use Windows 10 build 17063 or later

mkdir registrymate
tar -xf RegistryMate-<Version\>-windows-amd64.zip -C registrymate
cd registrymate
  • Otherwise you can use the following Powershell command, or you Unzip the archive manually
Expand-Archive -Force C:\path\to\RegistryMate-<Version\>-windows-amd64.zip C:\where\to\extract\to

macOS

  • work in progress

Running from Source

Prerequisites

Run from Source

git clone https://github.com/javaLux/registrymate.git
cd registrymate
go mod tidy
go run .

The GUI window will open, allowing you to create easily Kubernetes ImagePullSecrets

Building from Source

Simple Build

Linux

GOOS=linux GOARCH=amd64 go build

macOS

GOOS=darwin GOARCH=amd64 go build

Windows

GOOS=windows GOARCH=amd64 go build

Production Build with Packaging

For production-ready packages with icons, metadata, and installer formats:

Install Build Tools

# Install Fyne CLI
go install fyne.io/tools/cmd/fyne@latest

# For Linux packages, also install:
sudo apt-get install dpkg-dev imagemagick wget fuse libfuse2

Automated Build Script (Linux)

Use the provided build script that creates both .deb and .AppImage packages:

# Make the script executable
chmod +x build.sh

# Run the build
./build.sh

This will create:

  • dist/registrymate_<Version>_amd64.deb - Debian package
  • dist/registrymate_<Version>-x86_64.AppImage - Universal Linux package
  • dist/SHA256SUMS - Checksums for verification
  • dist/MD5SUMS - MD5 checksums

Manual Packaging with Fyne

Linux
fyne package --os linux --release
macOS
fyne package --os darwin --release
Windows
fyne package --os windows --release

Installing Locally (Development)

To install your development build system-wide:

fyne install --icon Icon.png

Usage

  1. Start the application

  2. Enter required information:

    • Registry:
      • URL
      • Username
      • Password or token
  3. Optional - Secret-Metadata

    • These values must comply with Kubernetes-Naming-Rules.
      • Name -> If not set or invalid, a random name will be generated
      • Namespace -> If invalid, it is omitted.
  4. Generate the ImagePullSecret by pressing the ► Button or hit ENTER

  5. Choose one of the following actions:

    • Copy the YAML to clipboard
    • Save the YAML to a file
  6. Use the Base64 Encode / Decode section if you need to inspect or verify the Docker-Config JSON string

Previously used registries and metadata are stored in the history and can be reused quickly.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/YourNewFeature)
  3. Commit your changes (git commit -m 'Add some YourNewFeature')
  4. Push to the branch (git push origin feature/YourNewFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License.

See the LICENSE file for details.

About

A cross-platform GUI tool for generating Kubernetes Image-Pull-Secrets

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published