Add OCI Functions skills#68
Conversation
|
@krisrice Hey Kris, any updates to get this reviewed and merged? |
krisrice
left a comment
There was a problem hiding this comment.
Thanks for the contribution. I reviewed this against the current repo patterns and I don’t think it’s mergeable as-is yet.
Main items to address:
- Rebase and reconcile with current
main
This PR currently conflicts with README.md and oci/SKILL.md. Since OKE and Enterprise AI have already landed, the OCI domain index needs to route all three areas:
oci/oke/oci/enterprise-ai/oci/functions/
Right now the PR rewrites oci/SKILL.md as if OCI Functions is the only populated OCI service area.
- Fix
.gitignore
git diff --check reports trailing whitespace / line-ending issues in .gitignore.
Also, please remove .github from .gitignore unless there is a specific repo-maintainer reason to ignore it. Ignoring .github could hide future workflows, rules, templates, or repo config from Git.
- Fix the failing test
The included test suite currently fails:
not ok - confirm gate interactive fresh nonce: interactive re-approval should succeed on a second identical command
Passed: 5
Failed: 1
This needs to pass before merge, especially because the PR introduces executable mutation gates.
- Reconsider the amount of executable automation
This PR adds a large set of .sh files that install tools, configure Fn contexts, create/update OCI resources, manage Docker auth, create networking/apps, scaffold functions, and deploy.
That is much heavier than the repo’s normal “source-backed skill guidance” pattern. Shell scripts are not automatically disallowed, but executable automation in this repo should have a high bar:
- small and easy to audit
- read-only or generate-only by default
- explicit approval gates for every mutation
- no hidden remote execution
- passing tests
- clearly referenced from
SKILL.md - aligned with an agreed repo policy for executable helpers
Please either trim this down to normal skill guidance plus a small number of focused helpers, or confirm with maintainers that this repo should host this level of deployment automation.
- Clarify nested skill structure
The PR adds multiple nested SKILL.md files:
oci/functions/oci-functions-deploy/SKILL.mdoci/functions/oci-functions-troubleshoot/SKILL.md
Nested skills can be reasonable, but oci/SKILL.md should make the routing model explicit and consistent with the rest of the OCI domain. The current branch needs to be updated so Functions fits alongside OKE and Enterprise AI rather than replacing them.
Once those are addressed, I’d re-review the PR.
Closes #58
Summary
Adds OCI Functions skills under
oci/functions/for local deployment and troubleshooting workflows.This PR includes:
oci-functions-deploy: dependency-first local OCI Functions setup, Fn context validation, OCIR auth checks, application selection/creation, function scaffolding, deployment, and explicit mutating-action gates.oci-functions-troubleshoot: diagnosis-first workflow for setup/control-plane, application creation, deployment, invocation, observability, limits, and common error patterns.oci/SKILL.md.## Sourcessections on OCI Functions skill and reference markdown files.What Changed
This PR adds OCI Functions skills under
oci/functions/:oci/functions/oci-functions-deploy/fn init, andfn deploy.oci/functions/oci-functions-troubleshoot/$oci-functions-deployonly after diagnosis.This PR also updates:
oci/SKILL.mdas the OCI domain table of contents.README.mdto include the current OCI domain layout.## Sourcessections backed by public Oracle documentation.Safety and Public-Readiness
Platform Scope
The helper scripts in
oci-functions-deployare intended for local macOS/Linux environments. Windows automation is out of scope for this initial contribution. Windows users can still use the skill guidance manually, but the bundled shell scripts are not expected to run natively on Windows without a POSIX-compatible environment.Note on Fn Project CLI Installer
install_fn_linux.shuses the Fn Project CLI installer from the publicfnproject/cliGitHub repository because Oracle’s public OCI Functions QuickStart documents that URL as the Fn CLI install path. The helper is confirmation-gated and identified as a high-risk remote installer path before execution.Source:
Validation Performed
shellcheck oci/functions/oci-functions-deploy/scripts/*.sh oci/functions/oci-functions-deploy/tests/test_skill_contract.shbash -nacross deploy scripts and testsbash oci/functions/oci-functions-deploy/tests/test_skill_contract.shoci/functionshas a## Sourcessection.$oci-function-deployhandoff references were corrected to$oci-functions-deploy.--cidr-blockto--cidr-blocks.