oci-functions-deploy

Automates scaffolding, configuration, and deployment of OCI Functions from local workstations.

832|230|Updated Mar 7, 2026
One-click install
npx skills add https://github.com/oracle/skills --skill oci-functions-deploy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: oci-functions-deploy
Source: https://github.com/oracle/skills/tree/main/oci/functions/oci-functions-deploy
Command: npx skills add https://github.com/oracle/skills --skill oci-functions-deploy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Deploying OCI Functions locally requires juggling Fn CLI contexts, OCI CLI authentication, Docker registry logins, application selection, and runtime scaffolding, with many manual steps that are easy to get wrong. This Skill orchestrates that entire flow with dependency-first validation, confirmation-gated mutations, and a machine-readable state contract.

Core Features & Use Cases

  • Dependency and Context Validation: Detects and installs missing fn, oci, and docker tools, then validates or creates the Fn context (profile, compartment, api-url, registry) before any deploy.
  • Confirmation-Gated Mutations: Every mutating action (installs, context updates, Docker login, app creation, fn init, fn deploy) passes through a nonce-scoped, single-use confirmation gate supporting interactive and agent-mediated approvals.
  • Application and Network Management: Lists existing Functions applications for explicit reuse-or-create decisions, supports 1-3 subnets with optional shape and NSGs, and offers an opt-in advanced branch for VCN, gateway, route table, and subnet creation.
  • Use Case: A developer on macOS asks to deploy a new Python function to OCI. The Skill checks dependencies, validates the OCI session and OCIR auth, prompts to reuse or create an application, scaffolds the function with fn init, and deploys it with fn deploy, confirming each mutation.

Quick Start

Ask the agent to deploy a new Python function named my-function to OCI Functions from this machine and follow the confirmation prompts.

Frequently Asked Questions about oci-functions-deploy

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I deploy an OCI Function from my local machine?

Run the preflight check to verify fn, oci, and docker are installed, validate the Fn context and OCI session, choose or create a Functions application, then scaffold with fn init and deploy with fn deploy. Each mutating step requires explicit confirmation through the confirmation gate.

What runtimes does OCI Functions scaffolding support in this workflow?

The automated scaffolding supports Java, Python, and Node runtimes via fn init. Java requires java and mvn, Python requires python3, and Node requires node and npm. Other OCI Functions runtimes exist but are not scaffolded automatically.

Does this workflow work on Windows or OCI Cloud Shell?

No, the automation targets local macOS and Linux workstations only. Windows automation and OCI Cloud Shell are explicitly out of scope and should be handled manually rather than reusing this local flow.

Why does fn deploy fail when pushing images to OCIR?

Deploy pushes fail when the OCIR repository does not exist and auto-create is disabled, or when the repository lives in a different compartment. Pre-create the repository or set oracle.image-compartment-id in the Fn context before retrying.

How are mutating commands approved in non-interactive mode?

Non-interactive approvals require CONFIRM_RESPONSE=yes plus a matching CONFIRM_ACTION_ID and CONFIRM_NONCE for that exact command. Each approval is single-use, so replaying the same action id and nonce after a successful mutation is rejected.

When should I create a new VCN and subnet for OCI Functions?

Network creation is an explicit advanced branch used only when the user opts into infrastructure setup. It supports private, public, or mixed topologies with service or internet gateways, and applies OCI CIDR sizing guidance before creating subnets.