专属域名
文档搜索
提交工单
轩辕助手
Run助手
返回顶部
快速返回页面顶部
收起
收起工具栏

domnikl/schema-registry-gitops Docker 镜像 - 轩辕镜像

schema-registry-gitops
domnikl/schema-registry-gitops
通过基础设施即代码方式,管理Confluent Schema Registry的主题、兼容性级别和模式注册,通过应用期望状态文件实现配置,支持版本控制和CI/CD集成。
0 次下载activedomnikl镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

schema-registry-gitops

![build]([] ![Docker Pulls]([]

通过应用期望状态文件,管理Confluent Schema Registry的主题、兼容性级别和模式注册。

概述

Schema Registry GitOps是一款基础设施即代码工具,通过简单的YAML和Avro/Protobuf/JSON Schema文件配置期望状态,并将其应用到模式注册表。可保留模式的版本控制历史,在CI/CD pipeline中使用常用工具验证、审查、合并和演进模式。

!Yaml (+Avro, Protobuf, JSON) -> CI/CD -> Schema Registry

核心功能与特性

  • 基础设施即代码管理:通过YAML定义模式注册表期望状态,支持版本控制与审计追踪
  • 多模式类型支持:兼容Avro、Protobuf和JSON Schema(Schema Registry ≥5.5支持Protobuf/JSON)
  • 兼容性控制:配置全局和主题级兼容性(如NONE、BACKWARD、FULL_TRANSITIVE等)
  • 模式引用:定义模式间引用关系,需确保被引用模式已存在于注册表
  • CI/CD集成:支持计划(plan)、应用(apply)和状态导出(dump)操作,适配自动化流程
  • 安全配置:通过属性文件或环境变量配置连接,支持SSL等安全设置

使用场景

  • 模式版本控制:通过Git管理模式变更历史,实现可追溯的模式演进
  • 团队协作:结合代码审查流程,确保模式变更经验证后应用
  • 自动化部署:在CI/CD中自动验证兼容性、计划变更并应用到注册表
  • 多环境同步:在开发、测试和生产环境间同步模式配置,保障一致性

使用方法

命令行用法
Usage: schema-registry-gitops [-hvV] [--properties=<propertiesFilePath>]
                              [-r=<baseUrl>] [COMMAND]
通过基础设施即代码管理模式注册表
  -h, --help                 显示帮助信息并退出
      --properties=<propertiesFilePath>
                             客户端配置的Java Properties文件(可选)
  -r, --registry=<baseUrl>   模式注册表端点,覆盖properties中的'schema.registry.url',可指定逗号分隔的多个URL
  -v, --verbose              启用详细日志
  -V, --version              打印版本信息并退出
命令:
  apply  将状态应用到指定的模式注册表
  dump   打印当前状态
  plan   验证并计划模式变更,查看所有待执行变更

查看特定命令帮助:schema-registry-gitops <命令> -h

Docker运行示例

通过Docker Hub获取镜像,示例:

sh
# 计划变更(查看待应用内容)
docker run -v "$(pwd)/examples":/data domnikl/schema-registry-gitops plan --properties /data/client.properties /data/base.yml

# 应用变更
docker run -v "$(pwd)/examples":/data domnikl/schema-registry-gitops apply --registry [***] /data/base.yml

# 导出当前状态
docker run -v "$(pwd)/output":/data domnikl/schema-registry-gitops dump --registry [***] > /data/current_state.yml

建议使用标签版本(如:v1.0.0)确保稳定性。

状态文件格式

通过YAML定义期望状态,支持多文件合并(后定义主题覆盖同名先定义主题)。示例:

yaml
# 全局兼容性级别(可选)
compatibility: FULL_TRANSITIVE
subjects:
  # 引用外部文件的主题
  - name: my-new-subject-referencing-a-schema-file
    compatibility: BACKWARD  # 主题级兼容性(可选,覆盖全局)
    file: my-actual-schema.avsc  # 路径相对于当前YAML
    type: AVRO  # 模式类型(默认AVRO,≥5.5支持PROTOBUF/JSON)
    references:  # 模式引用(可选)
      - name: dev.domnikl.schema-registry-gitops.User  # 引用名称(含命名空间)
        subject: User-value  # 被引用模式的主题名
        version: 1  # 被引用模式版本

  # 内联模式的主题(Protobuf示例)
  - name: my-new-inline-schema-subject
    schema: 'syntax = "proto3";
        package com.acme;
        
        message OtherRecord {
          int32 an_id = 1;
        }'
    type: PROTOBUF
兼容性级别

支持值:NONE、FORWARD、BACKWARD、FULL、FORWARD_TRANSITIVE、BACKWARD_TRANSITIVE、FULL_TRANSITIVE

模式定义方式
  • file:外部模式文件路径(相对当前YAML)
  • schema:内联模式字符串(二选一,推荐使用file)
配置说明
Properties文件配置

通过Java Properties文件配置客户端,示例(含SSL):

properties
schema.registry.url=https://localhost:8081
security.protocol=SSL
schema.registry.ssl.truststore.location=truststore.jks
schema.registry.ssl.truststore.password=<secret>
schema.registry.ssl.keystore.location=keystore.jks
schema.registry.ssl.keystore.password=<secret>
schema.registry.ssl.key.password=<secret>

使用--properties参数指定文件:

sh
docker run -v "$(pwd)/config":/config domnikl/schema-registry-gitops apply --properties /config/client.properties /config/state.yml
环境变量配置

支持前缀SCHEMA_REGISTRY_GITOPS_的环境变量,覆盖Properties配置。示例:

sh
export SCHEMA_REGISTRY_GITOPS_SCHEMA_REGISTRY_URL=https://localhost:8081
export SCHEMA_REGISTRY_GITOPS_SECURITY_PROTOCOL=SSL
export SCHEMA_REGISTRY_GITOPS_SCHEMA_REGISTRY_SSL_TRUSTSTORE_LOCATION=truststore.jks
export SCHEMA_REGISTRY_GITOPS_SCHEMA_REGISTRY_SSL_TRUSTSTORE_PASSWORD=<secret>

Docker传递环境变量:

sh
docker run -e SCHEMA_REGISTRY_GITOPS_SCHEMA_REGISTRY_URL=[***] -v "$(pwd)/examples":/data domnikl/schema-registry-gitops plan /data/base.yml
删除主题 ⚠️

默认不删除状态文件中未列出但注册表存在的主题。如需完全同步(删除未列出主题),在plan/apply中使用-d或--enable-deletes:

sh
docker run -v "$(pwd)/examples":/data domnikl/schema-registry-gitops apply -d --registry http://localhost:8081 /data/base.yml

开发说明

使用Docker构建和测试:

sh
# 构建镜像
docker build -t domnikl/schema-registry-gitops .

# 运行测试
docker run -v ./examples:/data domnikl/schema-registry-gitops plan --registry http://localhost:8081 /data/base.yml /data/with_references.yml

致谢

灵感源自Shawn Seymour的kafka-gitops。感谢Confluent开发Schema Registry及客户端库。

查看更多 schema-registry-gitops 相关镜像 →
bitnamicharts/schema-registry logo
bitnamicharts/schema-registry
by VMware
认证
Bitnami提供的Helm chart,用于在Kubernetes环境中部署和管理Confluent Schema Registry,实现Kafka主题数据模式的注册、验证与版本控制,确保数据格式一致性。
1M+ pulls
上次更新:4 个月前
bitnami/schema-registry logo
bitnami/schema-registry
by VMware
认证
Bitnami提供的安全镜像,用于部署和运行模式注册表(schema-registry),支持数据模式的注册、版本控制与管理,具备预配置、安全加固特性,便于快速集成到数据处理环境。
21M+ pulls
上次更新:4 个月前
schemahero/schemahero logo
schemahero/schemahero
by Replicated
声明式数据库模式迁移
1M+ pulls
上次更新:7 天前
registry logo
registry
by library
官方
一种针对容器化技术的分发实现方案,专注于容器镜像及各类相关制品的存储与分发管理,支持从制品构建、版本控制到跨环境部署的全生命周期流程,保障镜像和制品在开发、测试与生产环节中的高效传输与可靠供应,为容器化应用的持续集成和持续部署提供稳定的基础设施支持。
41721B+ pulls
上次更新:3 个月前
schemahero/schemahero-manager logo
schemahero/schemahero-manager
by Replicated
暂无描述
100K+ pulls
上次更新:7 天前
docker/dtr-registry logo
docker/dtr-registry
by Docker, Inc.
认证
暂无描述
10M+ pulls
上次更新:5 年前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
domnikl/schema-registry-gitops
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429