Skip to content

Commit ab11533

Browse files
authored
Merge pull request #1 from PaulNetze/feature/add-features
Feature/add features
2 parents 4834d3a + d6c7084 commit ab11533

43 files changed

Lines changed: 12154 additions & 160 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
name: Build Artifacts
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
push:
8+
branches:
9+
- main
10+
paths-ignore:
11+
- 'docs/**'
12+
- 'licenses/**'
13+
- '*.md'
14+
- '.gitignore'
15+
- '.gitattributes'
16+
- 'LICENSE'
17+
- 'NOTICE'
18+
- '.github/**'
19+
workflow_dispatch:
20+
21+
jobs:
22+
build-binaries:
23+
name: Build Cross-Platform Binaries
24+
runs-on: ubuntu-latest
25+
26+
steps:
27+
- name: Check out repository
28+
uses: actions/checkout@v4
29+
with:
30+
fetch-depth: 0 # Fetch all history for proper version tagging
31+
32+
- name: Set up Go
33+
uses: actions/setup-go@v5
34+
with:
35+
go-version-file: 'go.mod'
36+
37+
- name: Build all platforms
38+
run: make build-all
39+
env:
40+
CGO_ENABLED: 0
41+
42+
- name: List built artifacts
43+
run: |
44+
echo "Built artifacts:"
45+
ls -lh bin/
46+
47+
- name: Upload Windows AMD64 binary
48+
uses: actions/upload-artifact@v4
49+
with:
50+
name: flashpipex-windows-amd64
51+
path: bin/flashpipex-windows-amd64.exe
52+
if-no-files-found: error
53+
retention-days: 90
54+
55+
- name: Upload Linux AMD64 binary
56+
uses: actions/upload-artifact@v4
57+
with:
58+
name: flashpipex-linux-amd64
59+
path: bin/flashpipex-linux-amd64
60+
if-no-files-found: error
61+
retention-days: 90
62+
63+
- name: Upload Linux ARM64 binary
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: flashpipex-linux-arm64
67+
path: bin/flashpipex-linux-arm64
68+
if-no-files-found: error
69+
retention-days: 90
70+
71+
- name: Upload macOS AMD64 binary
72+
uses: actions/upload-artifact@v4
73+
with:
74+
name: flashpipex-darwin-amd64
75+
path: bin/flashpipex-darwin-amd64
76+
if-no-files-found: error
77+
retention-days: 90
78+
79+
- name: Upload macOS ARM64 binary
80+
uses: actions/upload-artifact@v4
81+
with:
82+
name: flashpipex-darwin-arm64
83+
path: bin/flashpipex-darwin-arm64
84+
if-no-files-found: error
85+
retention-days: 90
86+
87+
- name: Upload all binaries as single archive
88+
uses: actions/upload-artifact@v4
89+
with:
90+
name: flashpipex-all-platforms
91+
path: bin/*
92+
if-no-files-found: error
93+
retention-days: 90

DOCUMENTATION_CONSOLIDATION.md

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
# Documentation Consolidation Summary
2+
3+
**Date:** January 8, 2026
4+
5+
## Overview
6+
7+
The FlashPipe documentation has been reorganized to clearly separate user-facing documentation from internal development documentation, and all example files have been consolidated.
8+
9+
## Changes Made
10+
11+
### 1. Created `dev-docs/` Directory
12+
13+
Moved 8 internal development documentation files to `dev-docs/`:
14+
15+
-`CLI_PORTING_SUMMARY.md` - CLI porting technical details
16+
-`ORCHESTRATOR_ENHANCEMENTS.md` - Enhancement implementation details
17+
-`PARTNER_DIRECTORY_MIGRATION.md` - Partner Directory technical migration
18+
-`TESTING.md` - Testing guide for contributors
19+
-`TEST_COVERAGE_SUMMARY.md` - Test coverage reports
20+
-`TEST_QUICK_REFERENCE.md` - Testing quick reference
21+
-`UNIT_TESTING_COMPLETION.md` - Test completion status
22+
-`README.md` (new) - Index for dev documentation
23+
24+
### 2. Moved User-Facing Documentation to `docs/`
25+
26+
-`ORCHESTRATOR_MIGRATION.md``docs/orchestrator-migration.md` (migration guide for users)
27+
- ✅ Removed duplicate `ORCHESTRATOR_QUICK_START.md` (already exists in docs/)
28+
29+
### 3. Consolidated Example Files in `docs/examples/`
30+
31+
Moved all example YAML files from root to `docs/examples/`:
32+
33+
-`orchestrator-config-example.yml`
34+
-`flashpipe-cpars-example.yml`
35+
-`flashpipe-cpars.yml`
36+
- ✅ Removed duplicate `orchestrator-config-example copy.yml`
37+
38+
### 4. Created Missing Documentation
39+
40+
-`docs/config-generate.md` - Comprehensive documentation for the `config-generate` command
41+
42+
### 5. Updated README.md
43+
44+
Enhanced the main README with:
45+
46+
- ✅ Comprehensive "Enhanced Capabilities" section highlighting all new commands:
47+
- 🎯 Orchestrator Command
48+
- ⚙️ Config Generation
49+
- 📁 Partner Directory Management
50+
- ✅ Reorganized documentation section with clear categories:
51+
- New Commands Documentation
52+
- Migration Guides
53+
- Core FlashPipe Documentation
54+
- Examples
55+
- Developer Documentation
56+
- ✅ Updated all documentation links to reflect new file locations
57+
- ✅ Added reference to `dev-docs/` for contributors
58+
59+
## Final Directory Structure
60+
61+
### Top-Level (Clean!)
62+
63+
```
64+
ci-helper/
65+
├── README.md ← Main project README
66+
├── CONTRIBUTING.md ← Contribution guidelines
67+
├── CODE_OF_CONDUCT.md ← Code of conduct
68+
├── LICENSE ← License file
69+
├── NOTICE ← Notice file
70+
├── docs/ ← User documentation
71+
├── dev-docs/ ← Developer documentation (NEW)
72+
├── internal/ ← Source code
73+
├── cmd/ ← CLI entry point
74+
└── ...
75+
```
76+
77+
### docs/ (User Documentation)
78+
79+
```
80+
docs/
81+
├── README files and guides
82+
├── orchestrator.md ← Orchestrator comprehensive guide
83+
├── orchestrator-quickstart.md ← Quick start guide
84+
├── orchestrator-yaml-config.md ← YAML config reference
85+
├── orchestrator-migration.md ← Migration from standalone CLI (MOVED)
86+
├── config-generate.md ← Config generation guide (NEW)
87+
├── partner-directory.md ← Partner Directory guide
88+
├── partner-directory-config-examples.md
89+
├── flashpipe-cli.md ← Core CLI reference
90+
├── oauth_client.md ← OAuth setup
91+
├── documentation.md ← General documentation
92+
├── release-notes.md ← Release notes
93+
└── examples/ ← Example configurations
94+
├── orchestrator-config-example.yml (MOVED)
95+
├── flashpipe-cpars-example.yml (MOVED)
96+
├── flashpipe-cpars.yml (MOVED)
97+
└── flashpipe-config-with-orchestrator.yml
98+
```
99+
100+
### dev-docs/ (Developer Documentation - NEW)
101+
102+
```
103+
dev-docs/
104+
├── README.md ← Index (NEW)
105+
├── CLI_PORTING_SUMMARY.md (MOVED)
106+
├── ORCHESTRATOR_ENHANCEMENTS.md (MOVED)
107+
├── PARTNER_DIRECTORY_MIGRATION.md (MOVED)
108+
├── TESTING.md (MOVED)
109+
├── TEST_COVERAGE_SUMMARY.md (MOVED)
110+
├── TEST_QUICK_REFERENCE.md (MOVED)
111+
└── UNIT_TESTING_COMPLETION.md (MOVED)
112+
```
113+
114+
## Benefits
115+
116+
### For Users
117+
118+
1. **Cleaner Repository Root**: Only essential files (README, CONTRIBUTING, CODE_OF_CONDUCT, LICENSE)
119+
2. **Clear Documentation Structure**: User docs in `docs/`, examples in `docs/examples/`
120+
3. **Better Navigation**: README now has comprehensive sections linking to all features
121+
4. **Complete Command Documentation**: All 4 new commands fully documented
122+
123+
### For Contributors
124+
125+
1. **Dedicated Dev Docs**: All development/internal docs in one place (`dev-docs/`)
126+
2. **Clear Separation**: Easy to distinguish user-facing vs internal documentation
127+
3. **Dev Docs Index**: `dev-docs/README.md` provides quick navigation
128+
129+
### For Maintainability
130+
131+
1. **No Duplicate Files**: Removed duplicate ORCHESTRATOR_QUICK_START.md and example files
132+
2. **Logical Organization**: Related files grouped together
133+
3. **Updated Cross-References**: All internal links updated to reflect new structure
134+
135+
## Commands Documented
136+
137+
All 4 new FlashPipe commands now have comprehensive documentation:
138+
139+
1. **`flashpipe orchestrator`** - [docs/orchestrator.md](docs/orchestrator.md)
140+
- Complete deployment lifecycle orchestration
141+
- YAML configuration support
142+
- Parallel deployment capabilities
143+
- Environment prefix support
144+
145+
2. **`flashpipe config-generate`** - [docs/config-generate.md](docs/config-generate.md) ⭐ NEW
146+
- Automatic configuration generation
147+
- Smart metadata extraction
148+
- Config merging capabilities
149+
- Filtering support
150+
151+
3. **`flashpipe pd-snapshot`** - [docs/partner-directory.md](docs/partner-directory.md)
152+
- Download Partner Directory parameters
153+
- String and binary parameter support
154+
- Batch operations
155+
156+
4. **`flashpipe pd-deploy`** - [docs/partner-directory.md](docs/partner-directory.md)
157+
- Upload Partner Directory parameters
158+
- Full sync mode
159+
- Dry run capability
160+
161+
## Migration Impact
162+
163+
### For Existing Users
164+
165+
**No Breaking Changes!** All documentation has been moved but:
166+
- Old links in external references may need updating
167+
- All functionality remains the same
168+
- Examples are now easier to find in `docs/examples/`
169+
170+
### Recommended Updates
171+
172+
If you have external documentation or scripts referencing old paths:
173+
174+
```diff
175+
- ORCHESTRATOR_MIGRATION.md
176+
+ docs/orchestrator-migration.md
177+
178+
- orchestrator-config-example.yml
179+
+ docs/examples/orchestrator-config-example.yml
180+
181+
- flashpipe-cpars-example.yml
182+
+ docs/examples/flashpipe-cpars-example.yml
183+
```
184+
185+
## Next Steps
186+
187+
1. ✅ All files organized
188+
2. ✅ README updated
189+
3. ✅ Missing documentation created
190+
4. ✅ Cross-references updated
191+
5. 📝 Consider updating GitHub Pages site to reflect new structure
192+
6. 📝 Update any CI/CD pipelines referencing old example paths
193+
194+
## Verification
195+
196+
Run these commands to verify the structure:
197+
198+
```bash
199+
# Top level should only have essential markdown
200+
ls *.md
201+
# Expected: README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md
202+
203+
# Top level should have no example YAML files
204+
ls *.yml
205+
# Expected: (empty)
206+
207+
# Dev docs should have 8 files
208+
ls dev-docs/
209+
# Expected: 8 markdown files including README.md
210+
211+
# Examples should have 4 YAML files
212+
ls docs/examples/
213+
# Expected: 4 YAML files
214+
215+
# Docs should include new config-generate.md
216+
ls docs/config-generate.md
217+
# Expected: Found
218+
```
219+
220+
## Summary
221+
222+
**8 development documentation files** moved to `dev-docs/`
223+
**3 example YAML files** consolidated in `docs/examples/`
224+
**1 user migration guide** moved to `docs/`
225+
**1 new documentation file** created (`config-generate.md`)
226+
**1 dev-docs index** created
227+
**README.md** comprehensively updated with all new features
228+
**Top-level directory** cleaned up (only essential files remain)
229+
230+
**Result:** Clear, organized, maintainable documentation structure! 🎉
231+

0 commit comments

Comments
 (0)