commit 1adcb340cf861e21c23319a6c68076ab6c7f5ff8 Author: Zhongwei Li Date: Sun Nov 30 08:19:08 2025 +0800 Initial commit diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json new file mode 100644 index 0000000..5624fd8 --- /dev/null +++ b/.claude-plugin/plugin.json @@ -0,0 +1,15 @@ +{ + "name": "container-registry-manager", + "description": "Manage container registries (ECR, GCR, Harbor)", + "version": "1.0.0", + "author": { + "name": "Claude Code Plugins", + "email": "[email protected]" + }, + "skills": [ + "./skills" + ], + "commands": [ + "./commands" + ] +} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..240bac4 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# container-registry-manager + +Manage container registries (ECR, GCR, Harbor) diff --git a/commands/registry-manage.md b/commands/registry-manage.md new file mode 100644 index 0000000..31f5ee9 --- /dev/null +++ b/commands/registry-manage.md @@ -0,0 +1,25 @@ +--- +description: $(echo "$description" | cut -d' ' -f1-5) +--- + +# $(echo "$name" | sed 's/-/ /g' | sed 's/\b\(.\)/\u\1/g') + +$(echo "$description") + +## Key Features + +- Production-ready configurations +- Best practices implementation +- Security-first approach +- Scalable architecture +- Comprehensive documentation +- Multi-platform support + +## Example Usage + +This plugin generates complete configurations for your DevOps needs. +Specify your requirements and get production-ready code instantly. + +## When Invoked + +Generate configurations and setup code based on your specific requirements and infrastructure needs. diff --git a/plugin.lock.json b/plugin.lock.json new file mode 100644 index 0000000..dc755fa --- /dev/null +++ b/plugin.lock.json @@ -0,0 +1,61 @@ +{ + "$schema": "internal://schemas/plugin.lock.v1.json", + "pluginId": "gh:jeremylongshore/claude-code-plugins-plus:plugins/devops/container-registry-manager", + "normalized": { + "repo": null, + "ref": "refs/tags/v20251128.0", + "commit": "87a7f6f5088af4b77ea5d9fc68bbf4256270383d", + "treeHash": "0b148fe4b2247c0d7d64284aeec6cf969d316c39bd1211a7502f5d959cd6f33d", + "generatedAt": "2025-11-28T10:18:14.079605Z", + "toolVersion": "publish_plugins.py@0.2.0" + }, + "origin": { + "remote": "git@github.com:zhongweili/42plugin-data.git", + "branch": "master", + "commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390", + "repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data" + }, + "manifest": { + "name": "container-registry-manager", + "description": "Manage container registries (ECR, GCR, Harbor)", + "version": "1.0.0" + }, + "content": { + "files": [ + { + "path": "README.md", + "sha256": "66b95b12d3a4d982ff69984f5f1cb2384537170be82cc3d73424966c64891a92" + }, + { + "path": ".claude-plugin/plugin.json", + "sha256": "ef007899d17c125cab1a4e0efd9692b7a73753f9fe35e294ec753f433cd4fae7" + }, + { + "path": "commands/registry-manage.md", + "sha256": "353f80054a90cda1e6716da3628115ce829307fbbb83a15b64f1d37c96224a99" + }, + { + "path": "skills/container-registry-manager/SKILL.md", + "sha256": "624a728b518e10b906533bf10783ce63a5442a33db391f75a127d9ed0966db37" + }, + { + "path": "skills/container-registry-manager/references/README.md", + "sha256": "501ad78573b0ecefa097e4cc86aafbb7236e84eea9227f8f443535e6232f5780" + }, + { + "path": "skills/container-registry-manager/scripts/README.md", + "sha256": "177e5483d156436d0559ca641f207fbc07e6ea40cbe2e2b254814701103b55f6" + }, + { + "path": "skills/container-registry-manager/assets/README.md", + "sha256": "1c66c2ee168d358e227ef34a0e4bc1f5e441350f3be23539df7072adb95ff23c" + } + ], + "dirSha256": "0b148fe4b2247c0d7d64284aeec6cf969d316c39bd1211a7502f5d959cd6f33d" + }, + "security": { + "scannedAt": null, + "scannerVersion": null, + "flags": [] + } +} \ No newline at end of file diff --git a/skills/container-registry-manager/SKILL.md b/skills/container-registry-manager/SKILL.md new file mode 100644 index 0000000..01b5058 --- /dev/null +++ b/skills/container-registry-manager/SKILL.md @@ -0,0 +1,52 @@ +--- +name: managing-container-registries +description: | + This skill enables Claude to manage container registries, including ECR, GCR, and Harbor. It should be used when the user needs to create, configure, or manage container image registries. It helps generate production-ready configurations, implement best practices, and ensure a security-first approach. Use this skill when the user mentions terms like "container registry," "ECR," "GCR," "Harbor," "image repository," or requests assistance with managing container images. It's also helpful for generating configuration code for DevOps pipelines related to container registries. +allowed-tools: Read, Write, Edit, Grep, Glob, Bash +version: 1.0.0 +--- + +## Overview + +This skill empowers Claude to assist users in managing their container registries across various platforms like AWS ECR, Google GCR, and Harbor. It provides the ability to generate configurations, implement best practices, and ensure secure and scalable architectures for container image storage and management. + +## How It Works + +1. **Receiving User Request**: Claude receives a request related to container registry management. +2. **Identifying Registry Type**: Claude identifies the specific container registry (ECR, GCR, Harbor, etc.) based on the user's input. +3. **Generating Configuration**: Claude generates the necessary configuration code and setup instructions based on the user's requirements and the identified registry. + +## When to Use This Skill + +This skill activates when you need to: +- Create a new container registry on ECR, GCR, or Harbor. +- Configure access permissions for a container registry. +- Generate deployment configurations for container images. + +## Examples + +### Example 1: Creating an ECR Repository + +User request: "Create an ECR repository named 'my-app-images' in the 'us-west-2' region." + +The skill will: +1. Generate the necessary AWS CLI commands or Terraform configuration to create the ECR repository. +2. Provide instructions on how to push container images to the newly created repository. + +### Example 2: Configuring GCR Access + +User request: "Grant read-only access to the 'my-gcp-project' GCR repository to the 'dev-team' Google Cloud group." + +The skill will: +1. Generate the appropriate `gcloud` commands or IAM policy configuration to grant the requested access. +2. Provide instructions on how to verify the access permissions. + +## Best Practices + +- **Security**: Always use the principle of least privilege when granting access to container registries. +- **Versioning**: Implement a robust image tagging and versioning strategy. +- **Automation**: Automate the creation and configuration of container registries using infrastructure-as-code tools like Terraform. + +## Integration + +This skill integrates with other DevOps-related plugins to provide a seamless experience for managing containerized applications. It can be used in conjunction with plugins for CI/CD pipelines, infrastructure provisioning, and security scanning to build a complete DevOps workflow. \ No newline at end of file diff --git a/skills/container-registry-manager/assets/README.md b/skills/container-registry-manager/assets/README.md new file mode 100644 index 0000000..c634b49 --- /dev/null +++ b/skills/container-registry-manager/assets/README.md @@ -0,0 +1,10 @@ +# Assets + +Bundled resources for container-registry-manager skill + +- [ ] config_templates/ecr_config.yaml - Template for configuring AWS ECR. +- [ ] config_templates/gcr_config.yaml - Template for configuring Google Container Registry. +- [ ] config_templates/harbor_config.yaml - Template for configuring Harbor container registry. +- [ ] example_policies/ecr_policy.json - Example IAM policy for ECR access. +- [ ] example_policies/gcr_policy.json - Example IAM policy for GCR access. +- [ ] example_policies/harbor_policy.json - Example policy for Harbor access. diff --git a/skills/container-registry-manager/references/README.md b/skills/container-registry-manager/references/README.md new file mode 100644 index 0000000..f380796 --- /dev/null +++ b/skills/container-registry-manager/references/README.md @@ -0,0 +1,8 @@ +# References + +Bundled resources for container-registry-manager skill + +- [ ] ecr_best_practices.md - Documentation on best practices for using AWS ECR, including security, performance, and cost optimization. +- [ ] gcr_best_practices.md - Documentation on best practices for using Google Container Registry, including security, performance, and cost optimization. +- [ ] harbor_best_practices.md - Documentation on best practices for using Harbor container registry, including security, performance, and cost optimization. +- [ ] container_registry_api_reference.md - API reference for interacting with different container registries (ECR, GCR, Harbor). diff --git a/skills/container-registry-manager/scripts/README.md b/skills/container-registry-manager/scripts/README.md new file mode 100644 index 0000000..149ffdf --- /dev/null +++ b/skills/container-registry-manager/scripts/README.md @@ -0,0 +1,8 @@ +# Scripts + +Bundled resources for container-registry-manager skill + +- [ ] create_registry.sh - Automates the creation of container registries (ECR, GCR, Harbor) based on user-defined configurations. +- [ ] configure_registry.sh - Configures container registry settings such as access policies, security settings, and replication rules. +- [ ] validate_config.py - Validates the configuration files for container registries to ensure they adhere to best practices and security standards. +- [ ] cleanup_registry.sh - Script to delete old or unused images and repositories from the container registry.