forked from archetana/cmbcluster
-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
awsAmazon Web Services relatedAmazon Web Services relatedinfrastructureInfrastructure and deployment issuesInfrastructure and deployment issues
Description
User Story
As a DevOps engineer, I want the scripts folder to be organized by cloud provider so that I can easily manage and maintain deployment scripts for different cloud platforms.
Description
Reorganize the current scripts/ directory to separate cloud-specific scripts from common utilities, creating a clear structure that supports multi-cloud deployments while maintaining existing functionality.
Current Scripts Analysis
Based on the existing scripts/ directory:
setup-cluster.sh- GCP-specific cluster setupdeploy.sh- GCP-focused deploymentbuild-images.sh- Container image building (cloud-agnostic)cleanup.sh- Environment cleanuplocal-dev.sh- Local development setup- Additional utility scripts for security, validation, etc.
Proposed Directory Structure
scripts/
├── common/ # Cloud-agnostic scripts
│ ├── build-images.sh # Container building
│ ├── local-dev.sh # Local development
│ ├── validate-security.sh # Security validation
│ └── generate-encryption-key.sh
├── gcp/ # Google Cloud Platform scripts
│ ├── setup-cluster.sh # GKE cluster setup
│ ├── deploy.sh # GCP deployment
│ └── cleanup.sh # GCP resource cleanup
├── aws/ # Amazon Web Services scripts
│ ├── setup-cluster.sh # EKS cluster setup (future)
│ ├── deploy.sh # AWS deployment (future)
│ └── cleanup.sh # AWS resource cleanup (future)
└── README.md # Usage documentation
Migration Strategy
- Analysis: Review each script to determine cloud dependency
- Categorization: Classify scripts as GCP-specific, AWS-specific, or common
- Restructuring: Move scripts to appropriate subdirectories
- Path Updates: Update any internal script references
- Documentation: Update README and deployment guides
- Testing: Verify all scripts work from new locations
Acceptance Criteria
- Cloud-specific scripts are moved to provider subdirectories
- Common scripts remain accessible and functional
- All internal script references are updated
- Documentation reflects new directory structure
- Existing deployment procedures still work
- New structure supports adding AWS scripts
- Scripts maintain executable permissions
- Git history is preserved where possible
Technical Implementation
- Create new directory structure
- Move existing scripts to appropriate locations
- Update script paths in documentation
- Ensure symbolic links or wrapper scripts if needed
- Update CI/CD pipelines that reference scripts
- Test deployment procedures with new structure
Files to Reorganize
Common Scripts (cloud-agnostic):
build-images.sh→common/build-images.shlocal-dev.sh→common/local-dev.shvalidate-security.sh→common/validate-security.shgenerate-encryption-key.sh→common/generate-encryption-key.sh
GCP Scripts (Google Cloud specific):
setup-cluster.sh→gcp/setup-cluster.shdeploy.sh→gcp/deploy.shcleanup.sh→gcp/cleanup.shsetup-production-env.sh→gcp/setup-production-env.sh
Documentation Updates
- Update main
README.mdto reference new script locations - Create
scripts/README.mdexplaining directory structure - Update deployment documentation
- Update any CI/CD pipeline configurations
Related to
Epic #22 - Multi-Cloud Support
Definition of Done
- Directory structure is implemented and functional
- All existing scripts work from new locations
- Documentation is updated and accurate
- Structure supports future AWS script additions
- No functionality is lost in the reorganization
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
awsAmazon Web Services relatedAmazon Web Services relatedinfrastructureInfrastructure and deployment issuesInfrastructure and deployment issues