skills/cicd/ovhcloud/SKILL.md
# Skill: OVHCloud Backend Deployment ## Metadata | Atributo | Valor | |----------|-------| | **ID** | `cicd-ovhcloud` | | **Nivel** | Intermedio | | **Version** | 1.1.0 | | **Keywords** | `ovh`, `ovhcloud`, `kubernetes`, `object-storage`, `terraform` | ## Keywords - `ovh`, `ovhcloud`, `managed-kubernetes`, `object-storage`, `@skill:ovhcloud` ## Descripcion OVHCloud ofrece servicios cloud europeos para backends Flutter: Managed Kubernetes, Object Storage, Databases, y mas con precios compet
npx skillsauth add altrupets/monorepo skills/cicd/ovhcloudInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| Atributo | Valor |
|----------|-------|
| ID | cicd-ovhcloud |
| Nivel | Intermedio |
| Version | 1.1.0 |
| Keywords | ovh, ovhcloud, kubernetes, object-storage, terraform |
ovh, ovhcloud, managed-kubernetes, object-storage, @skill:ovhcloudOVHCloud ofrece servicios cloud europeos para backends Flutter: Managed Kubernetes, Object Storage, Databases, y mas con precios competitivos.
# Install via curl
curl -fsSL https://raw.githubusercontent.com/ovh/ovhcloud-cli/main/install.sh | sh
# Or via Homebrew
brew install --cask ovh/tap/ovhcloud-cli
# Or via Go
go install github.com/ovh/ovhcloud-cli/cmd/ovhcloud@latest
# Login with OVHCloud account
ovhcloud login
# Or via environment variables
export OVH_ENDPOINT="ovh-eu"
export OVH_APPLICATION_KEY="your_app_key"
export OVH_APPLICATION_SECRET="your_app_secret"
export OVH_CONSUMER_KEY="your_consumer_key"
# List Kubernetes clusters
ovhcloud cloud project kube list --service-name $SERVICE_NAME
# Get kubeconfig
ovhcloud cloud project kube kubeconfig --service-name $SERVICE_NAME --kube-id $KUBE_ID
# Create cluster
ovhcloud cloud project kube create \
--service-name $SERVICE_NAME \
--name my-cluster \
--region GRA7 \
--version 1.28
# Add node pool
ovhcloud cloud project kube nodepool create \
--service-name $SERVICE_NAME \
--kube-id $KUBE_ID \
--name default-pool \
--flavor-name b2-7 \
--desired-nodes 3 \
--min-nodes 2 \
--max-nodes 10 \
--autoscale true
terraform {
required_providers {
ovh = {
source = "ovh/ovh"
version = "~> 1.0"
}
}
}
provider "ovh" {
endpoint = "ovh-eu" # or ovh-ca, ovh-us
application_key = var.ovh_application_key
application_secret = var.ovh_application_secret
consumer_key = var.ovh_consumer_key
}
# Optional: via environment variables
# OVH_APPLICATION_KEY, OVH_APPLICATION_SECRET, OVH_CONSUMER_KEY
# Create Kubernetes cluster
resource "ovh_cloud_project_kube" "cluster" {
service_name = var.service_name
name = "altrupets-prod"
region = "GRA7"
version = "1.28"
timeouts {
create = "15m"
delete = "15m"
}
}
# Create node pool
resource "ovh_cloud_project_kube_nodepool" "nodepool" {
service_name = var.service_name
kube_id = ovh_cloud_project_kube.cluster.id
name = "default-pool"
flavor_name = "b2-7"
desired_nodes = 3
min_nodes = 2
max_nodes = 10
autoscale = true
}
# Get kubeconfig
data "ovh_cloud_project_kube_kubeconfig" "kubeconfig" {
service_name = var.service_name
kube_id = ovh_cloud_project_kube.cluster.id
}
# OVH Managed PostgreSQL
resource "ovh_cloud_project_database_postgresql" "postgres" {
service_name = var.service_name
description = "AltruPets Production DB"
plan = "business"
version = "15"
nodes {
region = "GRA7"
}
node {
flavor = "db1-7"
region = "GRA7"
}
}
# Get credentials
data "ovh_cloud_project_database_postgresql_credentials" "creds" {
service_name = var.service_name
id = ovh_cloud_project_database_postgresql.postgres.id
}
data "ovh_cloud_project_database_postgresql_endpoint" "endpoint" {
service_name = var.service_name
id = ovh_cloud_project_database_postgresql.postgres.id
}
| Region | Codigo | Pais | |--------|--------|------| | Gravelines | GRA7, GRA11 | Francia | | Strasbourg | SBG5 | Francia | | Paris | RBX | Francia | | Beauharnois | BHS | Canada | | Hillsboro | WAW | USA |
| Flavor | vCPUs | RAM | Uso | |--------|-------|-----|-----| | b2-7 | 2 | 7GB | Dev/QA | | b2-15 | 2 | 15GB | Staging | | c2-7 | 4 | 7GB | Production | | c2-15 | 4 | 15GB | Production | | r2-15 | 4 | 15GB | RAM-intensive |
| Flavor | vCPUs | RAM | Storage | |--------|-------|-----|---------| | db1-7 | 2 | 7GB | 50GB | | db1-15 | 2 | 15GB | 100GB | | db2-7 | 4 | 7GB | 50GB | | db2-15 | 4 | 15GB | 100GB |
# Create cluster
ovhcloud public cloud volume create \
--service-name $SERVICE_NAME \
--region GRA7 \
--size 100 \
--type classic
# Attach volume to instance
ovhcloud public cloud volume attach \
--service-name $SERVICE_NAME \
--region GRA7 \
--volume-id $VOLUME_ID \
--instance-id $INSTANCE_ID
import boto3
s3_client = boto3.client(
's3',
aws_access_key_id='YOUR_ACCESS_KEY',
aws_secret_access_key='YOUR_SECRET_KEY',
endpoint_url='https://s3.gra.io.cloud.ovh.net',
region_name='gra'
)
# Create bucket
s3_client.create_bucket(Bucket='altrupets-storage')
Version: 1.1.0
development
# 🔧 Skill: Native Integration (Swift/Kotlin) ## 📋 Metadata | Atributo | Valor | |----------|-------| | **ID** | `flutter-native-integration` | | **Nivel** | 🔴 Avanzado | | **Versión** | 1.0.0 | | **Keywords** | `native-integration`, `swift`, `kotlin`, `uikit`, `android-sdk`, `native-ui` | | **Referencia** | [Flutter Platform Integration](https://docs.flutter.dev/platform-integration) | ## 🔑 Keywords para Invocación Usa cualquiera de estos keywords en tus prompts para invocar este skill:
testing
# 🎨 Skill: MVVM Pattern ## 📋 Metadata | Atributo | Valor | |----------|-------| | **ID** | `flutter-mvvm-pattern` | | **Nivel** | 🟡 Intermedio | | **Versión** | 1.0.0 | | **Keywords** | `mvvm`, `model-view-viewmodel`, `provider`, `changenotifier` | ## 🔑 Keywords para Invocación Usa cualquiera de estos keywords en tus prompts para invocar este skill: - `mvvm` - `model-view-viewmodel` - `provider` - `changenotifier` - `@skill:mvvm` ### Ejemplos de Prompts ``` Crea una app de lista de ta
development
# 🎨 Skill: Arquitectura Modular ## 📋 Metadata | Atributo | Valor | |----------|-------| | **ID** | `flutter-modular-architecture` | | **Nivel** | 🔴 Avanzado | | **Versión** | 1.0.0 | | **Keywords** | `modular`, `modular-architecture`, `module`, `multi-module` | | **Referencia** | [Flutter Modular Package](https://pub.dev/packages/flutter_modular) | ## 🔑 Keywords para Invocación Usa cualquiera de estos keywords en tus prompts para invocar este skill: - `modular` - `modular-architecture`
tools
# 📱 Skill: Mobile Testing y Debugging con Flutter MCP ## 📋 Metadata | Atributo | Valor | |----------|-------| | **ID** | `flutter-mobile-testing` | | **Nivel** | 🔴 Avanzado | | **Versión** | 1.2.0 | | **Keywords** | `mobile-testing`, `integration-test`, `flutter-mcp`, `dart-mcp`, `debugging`, `logic-analysis`, `widget-inspection`, `device-testing` | | **Referencia** | [Dart and Flutter MCP server](https://docs.flutter.dev/ai/mcp-server) \| [Mobile MCP](https://github.com/mobile-next/mobile-