Skip to content

Add code-only create/update command support and runtime validation#708

Open
Jaytee-fn wants to merge 2 commits intomasterfrom
PR2-code-only-create-update
Open

Add code-only create/update command support and runtime validation#708
Jaytee-fn wants to merge 2 commits intomasterfrom
PR2-code-only-create-update

Conversation

@Jaytee-fn
Copy link
Copy Markdown
Contributor

@Jaytee-fn Jaytee-fn commented Apr 21, 2026

This PR adds code-only create and update support for Fn CLI and the Oracle fn_go path.

It introduces:

  • CLI flags and validation for code-only create/update flows
  • support for direct archive and Object Storage source modes
  • runtime config validation for 'function-update' and 'manual' modes
  • model and Oracle shim mapping needed to submit code-only create/update requests
  • lifecycle work-request handling in the Oracle shim for function create/update/delete operations

The change includes -

  • code-only create/update flags
  • source-type validation
  • runtime config validation
  • image/code-only exclusivity checks
  • direct archive file loading into request payloads
  • stronger runtime validation, including:
    • runtime exists
    • runtime is active
    • runtime-version belongs to runtime-name
    • runtime-version is active
    • handler format validation by runtime family

fn_go change - fnproject/fn_go#60

Validation Examples -

direct create-

fn create function
--code-only
--source-type direct
--source-file /path/to/archive.zip
--runtime-config-type function-update
--runtime-name python311.ol9
--handler hello_world.handler

Object storage create -

fn create function
--code-only
--source-type object-storage
--bucket-name
--namespace
--object-name
--runtime-config-type function-update
--runtime-name python311.ol9
--handler hello_world.handler

Manual runtime mode

fn create function
--code-only
--source-type direct
--source-file /path/to/archive.zip
--runtime-config-type manual
--runtime-name python311.ol9
--runtime-version-id
--handler hello_world.handler

Update

fn update function
--code-only
--source-type direct
--source-file /path/to/archive.zip
--runtime-config-type function-update
--runtime-name python311.ol9
--handler hello_world.handler

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant