mcpField
O
oci

oci

github.com/evolv3-ai云与 DevOps140 次安装14 周前更新
代码仓库

关于 oci

这是一个面向 OCI 用户的部署技能,指导配置 OCI CLI、检查 ARM 实例容量并部署或清理基础设施。它要求在执行前确认部署参数,并提供容量监控与自动部署脚本。

主要功能

  1. 01部署前参数核对
  2. 02检查 ARM 实例容量
  3. 03自动监控并部署
  4. 04创建网络与计算资源
  5. 05清理 compartment 资源

适用场景

  1. 01确认 OCI 部署配置
  2. 02查找可用 ARM 实例容量
  3. 03容量开放时自动部署
  4. 04删除 compartment 及其资源

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/evolv3-ai/vibe-skills --skill oci

安装后在 Claude Code 中输入/oci确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

assets/
env-template
references/
CAPACITY.md
CONFIG.md
INSTALL.md
NETWORKING.md
OPERATIONS.md
TROUBLESHOOTING.md
scripts/
.env.example
check-oci-capacity.sh
cleanup-compartment.sh
monitor-and-deploy.sh
oci-infrastructure-setup.sh

详细介绍

Oracle Cloud Infrastructure(OCI)

重要:密钥与 .env

  • 切勿在任何技能文件夹中存储有效的 .env 文件或凭据。
  • .env.template 文件只能放在技能文件夹内的 assets/ 中。
  • 将有效密钥存储在 ~/.admin/.env 中,并从该处引用。

状态:已可用于生产环境 | 依赖项:OCI CLI、SSH 密钥对


导航

  • 运维、故障排除、配置和清理:references/OPERATIONS.md
  • CLI 安装/配置/容量/网络详情:references/

步骤 0:收集所需信息(必须)

停止。在执行任何部署命令之前,向用户收集所有参数。

复制此清单并确认每一项:

Required Parameters:
- [ ] SERVER_NAME       - Unique name for this server
- [ ] OCI_REGION        - Region (us-ashburn-1, us-phoenix-1, ca-toronto-1, etc.)
- [ ] OCI_SHAPE         - Instance shape (see profiles below)
- [ ] OCI_OCPUS         - Number of OCPUs (1-4 for Always Free)
- [ ] OCI_MEMORY_GB     - Memory in GB (1-24 for Always Free)
- [ ] SSH_KEY_PATH      - Path to SSH public key (default: ~/.ssh/id_rsa.pub)

Deployment Purpose (determines recommended profile):
- [ ] Purpose: coolify / kasm / both / custom
      coolify → 2 OCPU, 12GB RAM (Always Free eligible)
      kasm    → 4 OCPU, 24GB RAM (Always Free eligible)
      both    → 4 OCPU, 24GB RAM (Always Free eligible)

Always Free Tier Limits:
- Shape: VM.Standard.A1.Flex (ARM64)
- Max: 4 OCPUs, 24GB RAM total (can split across instances)

按用途推荐的配置:

用途OCPURAM形状费用
coolify212GBVM.Standard.A1.Flex免费
kasm424GBVM.Standard.A1.Flex免费
两者424GBVM.Standard.A1.Flex免费

在确认所有参数之前,不要继续执行先决条件步骤。


先决条件

使用此技能前,请确认以下内容:

1. 已安装 OCI CLI
oci --version

如果未安装,请使用以下命令安装:

bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)" -- --accept-all-defaults
source ~/.bashrc  # or restart terminal
2. 已配置 OCI CLI
ls ~/.oci/config

如果未配置,请使用以下命令配置:

oci setup config

你需要:

  • Tenancy OCID(OCI 控制台 → Profile → Tenancy)
  • User OCID(OCI 控制台 → Profile → My Profile)
  • 区域(例如,us-ashburn-1)
  • API 密钥对(向导会生成)
3. SSH 密钥对
ls ~/.ssh/id_rsa.pub

如果缺少,请使用以下命令生成:

ssh-keygen -t rsa -b 4096 -f ~/.ssh/id_rsa -N ""
4. SSH 密钥权限
stat -c %a ~/.ssh/id_rsa  # Should be 600

如果权限不正确,请使用以下命令修复:

chmod 600 ~/.ssh/id_rsa
5. 测试身份验证
oci iam availability-domain list

如果此操作失败:API 密钥可能尚未上传到 OCI 控制台 → Profile → API Keys

脚本路径解析:Claude Code 加载此文件时,会提供完整路径。以下所有 scripts/ 引用均相对于此文件所在目录。根据此文件的路径确定 SKILL_DIR,并在运行脚本时将其作为前缀。


快速开始

1. 先检查容量

OCI Always Free ARM 实例需求量很大。部署前务必先检查:

scripts/check-oci-capacity.sh
选项和故障排除
# Check specific region
scripts/check-oci-capacity.sh us-ashburn-1

# Use different OCI profile
scripts/check-oci-capacity.sh --profile PRODUCTION

# Check multiple regions
for region in us-ashburn-1 us-phoenix-1 ca-toronto-1; do
  echo "=== $region ==="
  scripts/check-oci-capacity.sh "$region"
done

没有可用容量? 使用自动监控:

scripts/monitor-and-deploy.sh --stack-id <STACK_OCID>
2. 部署基础设施
# Configure environment
cp scripts/.env.example scripts/.env
# Edit scripts/.env with your values

# Deploy
scripts/oci-infrastructure-setup.sh

脚本参考

脚本用途用法
check-oci-capacity.sh检查 ARM 实例可用性scripts/check-oci-capacity.sh [region]
oci-infrastructure-setup.sh部署完整基础设施scripts/oci-infrastructure-setup.sh
monitor-and-deploy.sh有可用容量时自动部署scripts/monitor-and-deploy.sh --stack-id <ID>
cleanup-compartment.sh删除所有资源scripts/cleanup-compartment.sh <COMPARTMENT_OCID>
脚本详情
check-oci-capacity.sh

检查各可用性域中的 VM.Standard.A1.Flex 可用性。

scripts/check-oci-capacity.sh                    # Home region
scripts/check-oci-capacity.sh us-ashburn-1       # Specific region
scripts/check-oci-capacity.sh --profile DANIEL   # With profile

测试 4 OCPU/24GB RAM(完整免费层级),如果不可用则改用 2/12。

monitor-and-deploy.sh

持续监控,并在发现可用容量时自动部署。

scripts/monitor-and-deploy.sh \
  --stack-id <STACK_OCID> \
  --profile DANIEL \
  --interval 300 \
  --max-attempts 100
oci-infrastructure-setup.sh

创建完整基础设施:区间 → VCN → 子网 → IGW → 安全列表 → 实例。

需要包含 OCI 凭据和配置的 .env 文件。

cleanup-compartment.sh

安全删除区间及其所有资源(需要确认)。

scripts/cleanup-compartment.sh ocid1.compartment.oc1..xxx

运维

常见问题、最佳实践、配置变量和清理顺序请参阅 references/OPERATIONS.md。


日志集成

执行基础设施操作时,请记录到集中式系统:

# After provisioning
log_admin "SUCCESS" "operation" "Provisioned OCI instance" "id=$INSTANCE_ID provider=OCI"

# After destroying
log_admin "SUCCESS" "operation" "Terminated OCI instance" "id=$INSTANCE_ID"

# On error
log_admin "ERROR" "operation" "OCI deployment failed" "error=OUT_OF_HOST_CAPACITY"

完整日志文档请参阅 admin 技能的 references/logging.md。


附加文档


官方资源

评论

支持 Markdown