Skip to content

Commit 37d7d17

Browse files
committed
First commit.
1 parent f14aec5 commit 37d7d17

2 files changed

Lines changed: 80 additions & 0 deletions

File tree

.claude/CLAUDE.md

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
# Oracle OCI AnyCost Adaptor Project
2+
3+
## Project Overview
4+
This project is an adaptation of the CloudZero AnyCost Stream example specifically for Oracle OCI (Oracle Cloud Infrastructure). The goal is to create an adaptor that can retrieve cost data from Oracle OCI and transform it into CloudZero's Common Bill Format (CBF) for ingestion into CloudZero's platform.
5+
6+
## What We've Done
7+
8+
### Initial Setup (2025-08-26)
9+
1. **Repository Creation**:
10+
- Cloned the original CloudZero anycost example from https://github.com/jakesciotto/cloudzero-anycost-example
11+
- Created local repository at `/Users/jake.sciotto/Documents/github/oracle-oci-anycost-adaptor`
12+
13+
2. **Codebase Analysis**:
14+
- Examined the main adaptor script (`anycost_example.py`) - 322 lines of Python code
15+
- Reviewed the README.md documentation
16+
- Analyzed example data structure in `example_cloud_provider_data/`
17+
- Current implementation processes CSV files for:
18+
- Usage data (`cloud_usage.csv`)
19+
- Purchase commitments (`cloud_purchase_commitments.csv`)
20+
- Discounts (`cloud_discounts.csv`)
21+
22+
3. **Project Planning**:
23+
- Created comprehensive todo list with 7 tasks
24+
- Identified high-priority tasks: OCI API integration, data processing adaptation
25+
- Medium priority: documentation updates, example data creation, testing
26+
- Low priority: git repository initialization
27+
28+
## Current Repository Structure
29+
```
30+
oracle-oci-anycost-adaptor/
31+
├── .claude/ # Project memory (new)
32+
├── .github/ # GitHub workflows
33+
├── anycost_example.py # Main adaptor script (to be adapted for OCI)
34+
├── cbf/ # CBF output directory
35+
├── example_cloud_provider_data/ # Sample data files
36+
│ ├── cloud_usage.csv
37+
│ ├── cloud_purchase_commitments.csv
38+
│ └── cloud_discounts.csv
39+
├── tests/ # Test suite
40+
├── README.md # Documentation (needs OCI updates)
41+
└── other files...
42+
```
43+
44+
## Next Steps (Todo List)
45+
1. **High Priority**:
46+
- Research Oracle OCI cost data structure and API endpoints
47+
- Update script to integrate with Oracle OCI SDK for cost data retrieval
48+
- Adapt data processing functions for OCI cost data format
49+
50+
2. **Medium Priority**:
51+
- Update README documentation for OCI-specific setup and usage
52+
- Create OCI-specific example data files
53+
- Update tests for OCI-specific functionality
54+
55+
3. **Low Priority**:
56+
- Initialize new git repository with OCI-specific changes
57+
58+
## Key Technical Details
59+
60+
### Current Implementation
61+
- **Language**: Python 3.9+
62+
- **Dependencies**: requests, csv, json modules
63+
- **Data Flow**: CSV files → CBF transformation → CloudZero API upload
64+
- **Supported Operations**: replace_drop, replace_hourly, sum
65+
- **Batch Processing**: Supports multiple months upload
66+
67+
### OCI Adaptation Requirements
68+
- **API Integration**: Need to integrate Oracle OCI SDK for Python
69+
- **Authentication**: OCI config file and API key management
70+
- **Cost Data Sources**: Usage reports, billing data from OCI
71+
- **Data Mapping**: Transform OCI cost structure to CBF format
72+
73+
## Project Context
74+
- **Original Source**: CloudZero anycost stream example
75+
- **Target Cloud**: Oracle OCI
76+
- **Purpose**: Cost data integration with CloudZero platform
77+
- **Scope**: Complete adaptor for OCI cost management

requirements.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
requests>=2.25.0
2+
oci>=2.129.0
3+
python-dateutil>=2.8.0

0 commit comments

Comments
 (0)