kestra-io / kestra-io/plugin-oci
OCI Plugin Suite — Oracle Cloud Infrastructure
- Dominant language
- Java
- Stars
- 0
- Forks
- 0
- Avg merge
- 18h 3m
- Merged PRs (30d)
- 1
Description
## Summary
This EPIC tracks the implementation of `plugin-oci`, a new OSS Kestra plugin that integrates with Oracle Cloud Infrastructure (OCI). It enables Kestra users to orchestrate OCI services — compute, storage, databases, serverless functions, streaming, and more — directly from their flows, without resorting to shell scripts or custom HTTP tasks.
## Plugins in Scope
- **Compute** — Manage VM instances and instance pools (start, stop, create, terminate)
- **Object Storage** — Interact with OCI buckets and objects (upload, download, list, delete)
- **Block Storage** — Manage volumes, volume backups, and attachments
- **Database** — Orchestrate Autonomous Database, MySQL HeatWave, and Base Database lifecycle
- **Functions** — Invoke OCI serverless functions from flows
- **Data Flow** — Submit and monitor Spark jobs via OCI Data Flow
- **Data Integration** — Trigger and manage OCI Data Integration workspaces, tasks, and pipelines
- **Streaming** — Produce and consume messages on OCI Streaming (Kafka-compatible)
- **Notifications** — Publish messages to OCI Notification Service (ONS) topics
- **Resource Manager** — Create and apply Terraform stacks via OCI Resource Manager
- **Container Instances** — Run ephemeral containers without managing Kubernetes
- **Container Engine / OKE** — Manage Oracle Container Engine for Kubernetes clusters and node pools
- **Identity & Access Management** — Manage users, groups, dynamic groups, and policies
## Plugin Details
- **Repository**: `plugin-oci`
- **Namespace**: `io.kestra.plugin.oci`
- **Metadata title**: Oracle Cloud Infrastructure
- **Plugin categories**: `CLOUD`, `INFRASTRUCTURE` (in `package-info.java`)
- **SDK**: OCI Java SDK v3.87.0 (via BOM `com.oracle.oci.sdk:oci-java-sdk-bom:3.87.0`)
- **Authentication**: `ConfigFileAuthenticationDetailsProvider` (dev), `InstancePrincipalsAuthenticationDetailsProvider` (OCI-hosted), `SimpleAuthenticationDetailsProvider` (secrets-driven)
## Sub-issues
## Acceptance Criteria
- [ ] All sub-issues listed above are implemented, reviewed, and merged
- [ ] Shared authentication base class / abstract task in place
- [ ] Each sub-plugin has `package-info.java` with `@PluginSubGroup(category = PluginSubGroup.PluginCategory.CLOUD)` and `INFRASTRUCTURE`
- [ ] `metadata/index.yaml` and plugin icon SVG present for the repository
- [ ] Integration documented in the Kestra docs
---
## Repository Setup Checklist
### 1. Scaffold the repository
Create the repository using the Kestra plugin scaffold tool:
https://github.com/kestra-io/plugins-devtools#kestra-plugin-scaffold
### 2. Add to Sanity check page
Add this plugin to the [Sanity check Notion page](https://www.notion.so/kestra-io/32736907f7b580cbb00dc7c061e624b1?v=32736907f7b58002ac2b000ccc63d8a2).
### 3. Run scoped Terraform apply
Run the following from `infra/terraform/github`:
```bash
terraform apply \
-target='github_repository.repo["plugin-oci"]' \
-target='github_issue_labels.plugins["plugin-oci"]' \
-target='github_repository_ruleset.branch["plugin-oci"]'
```
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Kestra plugin scaffold tool, then review the shared authentication base class, package-info.java requirements, metadata/index.yaml, and the repository setup checklist. The scope is divided into the listed OCI service sub-plugins, so begin by locating or creating the relevant sub-issues. Done means all scoped sub-issues are implemented, reviewed, merged, documented, and the metadata and icon are present.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- cloud, documentation, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100