devops-project-generator 1.0.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- devops_project_generator-1.0.0/LICENSE +21 -0
- devops_project_generator-1.0.0/PKG-INFO +404 -0
- devops_project_generator-1.0.0/README.md +373 -0
- devops_project_generator-1.0.0/cli/__init__.py +7 -0
- devops_project_generator-1.0.0/cli/cli.py +286 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/PKG-INFO +404 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/SOURCES.txt +14 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/dependency_links.txt +1 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/entry_points.txt +2 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/requires.txt +12 -0
- devops_project_generator-1.0.0/devops_project_generator.egg-info/top_level.txt +2 -0
- devops_project_generator-1.0.0/generator/__init__.py +8 -0
- devops_project_generator-1.0.0/generator/config.py +117 -0
- devops_project_generator-1.0.0/generator/generator.py +231 -0
- devops_project_generator-1.0.0/pyproject.toml +56 -0
- devops_project_generator-1.0.0/setup.cfg +4 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 H A R S H H A A
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: devops-project-generator
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: A CLI tool that scaffolds production-ready DevOps repositories
|
|
5
|
+
Author-email: NotHarshhaa <devops-project-generator@notHarshhaa.com>
|
|
6
|
+
License: MIT
|
|
7
|
+
Classifier: Development Status :: 4 - Beta
|
|
8
|
+
Classifier: Intended Audience :: Developers
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Requires-Dist: typer[all]>=0.9.0
|
|
20
|
+
Requires-Dist: rich>=13.0.0
|
|
21
|
+
Requires-Dist: jinja2>=3.1.0
|
|
22
|
+
Requires-Dist: pyyaml>=6.0
|
|
23
|
+
Requires-Dist: click>=8.0.0
|
|
24
|
+
Provides-Extra: dev
|
|
25
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
26
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
27
|
+
Requires-Dist: black>=23.0.0; extra == "dev"
|
|
28
|
+
Requires-Dist: flake8>=6.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
30
|
+
Dynamic: license-file
|
|
31
|
+
|
|
32
|
+
# π DevOps Project Generator
|
|
33
|
+
|
|
34
|
+
A powerful CLI tool that scaffolds production-ready DevOps repositories based on user-selected options like CI/CD, infrastructure, deployment, environments, observability, and security.
|
|
35
|
+
|
|
36
|
+
## β¨ Why DevOps Project Generator?
|
|
37
|
+
|
|
38
|
+
Setting up a real-world DevOps project from scratch is repetitive and error-prone. This tool helps you bootstrap a complete DevOps-ready repository in seconds, following industry best practices.
|
|
39
|
+
|
|
40
|
+
β Opinionated but configurable
|
|
41
|
+
β Beginner-friendly, production-oriented
|
|
42
|
+
β CLI support
|
|
43
|
+
β No tool lock-in
|
|
44
|
+
|
|
45
|
+
## π― Who Is This For?
|
|
46
|
+
|
|
47
|
+
- **DevOps Engineers**
|
|
48
|
+
- **Cloud Engineers**
|
|
49
|
+
- **Platform Engineers**
|
|
50
|
+
- **SREs**
|
|
51
|
+
- **Students & freshers building real DevOps projects**
|
|
52
|
+
|
|
53
|
+
## π§ What This Generator Creates
|
|
54
|
+
|
|
55
|
+
A full DevOps project structure covering:
|
|
56
|
+
- CI/CD pipelines
|
|
57
|
+
- Containerization
|
|
58
|
+
- Infrastructure (IaC-ready)
|
|
59
|
+
- Deployment models
|
|
60
|
+
- Environment separation
|
|
61
|
+
- Observability
|
|
62
|
+
- Security basics
|
|
63
|
+
|
|
64
|
+
All generated based on your selected options.
|
|
65
|
+
|
|
66
|
+
## βοΈ Supported Options (v1)
|
|
67
|
+
|
|
68
|
+
### CI/CD
|
|
69
|
+
- **GitHub Actions**
|
|
70
|
+
- **GitLab CI**
|
|
71
|
+
- **Jenkins**
|
|
72
|
+
- **None**
|
|
73
|
+
|
|
74
|
+
### Infrastructure
|
|
75
|
+
- **Terraform**
|
|
76
|
+
- **CloudFormation**
|
|
77
|
+
- **None**
|
|
78
|
+
|
|
79
|
+
### Deployment
|
|
80
|
+
- **VM**
|
|
81
|
+
- **Docker**
|
|
82
|
+
- **Kubernetes**
|
|
83
|
+
|
|
84
|
+
### Environments
|
|
85
|
+
- **Single**
|
|
86
|
+
- **Dev / Stage / Prod**
|
|
87
|
+
|
|
88
|
+
### Observability
|
|
89
|
+
- **Logs only**
|
|
90
|
+
- **Logs + Metrics**
|
|
91
|
+
- **Full (Logs + Metrics + Alerts)**
|
|
92
|
+
|
|
93
|
+
### Security
|
|
94
|
+
- **Basic**
|
|
95
|
+
- **Standard**
|
|
96
|
+
- **Strict**
|
|
97
|
+
|
|
98
|
+
## π₯οΈ Usage
|
|
99
|
+
|
|
100
|
+
### CLI Usage
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
devops-project-generator init \
|
|
104
|
+
--ci github-actions \
|
|
105
|
+
--infra terraform \
|
|
106
|
+
--deploy kubernetes \
|
|
107
|
+
--envs dev,stage,prod \
|
|
108
|
+
--observability full \
|
|
109
|
+
--security standard
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Interactive Mode
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
devops-project-generator init --interactive
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### List Available Options
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
devops-project-generator list-options
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
## ποΈ Generated Project Structure (Example)
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
devops-project/
|
|
128
|
+
βββ app/
|
|
129
|
+
β βββ sample-app/
|
|
130
|
+
βββ ci/
|
|
131
|
+
β βββ pipelines/
|
|
132
|
+
β βββ README.md
|
|
133
|
+
βββ infra/
|
|
134
|
+
β βββ terraform/
|
|
135
|
+
β βββ environments/
|
|
136
|
+
βββ containers/
|
|
137
|
+
β βββ Dockerfile
|
|
138
|
+
β βββ docker-compose.yml
|
|
139
|
+
βββ k8s/
|
|
140
|
+
β βββ base/
|
|
141
|
+
β βββ overlays/
|
|
142
|
+
βββ monitoring/
|
|
143
|
+
β βββ logs/
|
|
144
|
+
β βββ metrics/
|
|
145
|
+
β βββ alerts/
|
|
146
|
+
βββ security/
|
|
147
|
+
β βββ secrets/
|
|
148
|
+
β βββ scanning/
|
|
149
|
+
βββ scripts/
|
|
150
|
+
β βββ automation/
|
|
151
|
+
βββ Makefile
|
|
152
|
+
βββ README.md
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## π οΈ Tech Stack
|
|
156
|
+
|
|
157
|
+
### Generator Core
|
|
158
|
+
- **Python**
|
|
159
|
+
- **Jinja2**
|
|
160
|
+
- **YAML-based configuration**
|
|
161
|
+
|
|
162
|
+
### CLI
|
|
163
|
+
- **Typer**
|
|
164
|
+
- **Rich**
|
|
165
|
+
|
|
166
|
+
## π¦ Installation
|
|
167
|
+
|
|
168
|
+
### From PyPI
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
pip install devops-project-generator
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
### From Source
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
git clone https://github.com/NotHarshhaa/devops-project-generator.git
|
|
178
|
+
cd devops-project-generator
|
|
179
|
+
pip install -e .
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Development Setup
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
git clone https://github.com/NotHarshhaa/devops-project-generator.git
|
|
186
|
+
cd devops-project-generator
|
|
187
|
+
python -m venv venv
|
|
188
|
+
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
189
|
+
pip install -e ".[dev]"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## π Quick Start
|
|
193
|
+
|
|
194
|
+
1. **Generate a new project**
|
|
195
|
+
```bash
|
|
196
|
+
devops-project-generator init --name my-app --ci github-actions --deploy kubernetes
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
2. **Navigate to your project**
|
|
200
|
+
```bash
|
|
201
|
+
cd my-app
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
3. **Setup the environment**
|
|
205
|
+
```bash
|
|
206
|
+
make setup
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
4. **Start the application**
|
|
210
|
+
```bash
|
|
211
|
+
make start
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
5. **Check health**
|
|
215
|
+
```bash
|
|
216
|
+
make health
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
## π Examples
|
|
220
|
+
|
|
221
|
+
### Basic Web App with Docker
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
devops-project-generator init \
|
|
225
|
+
--name my-webapp \
|
|
226
|
+
--ci github-actions \
|
|
227
|
+
--deploy docker \
|
|
228
|
+
--envs single \
|
|
229
|
+
--observability logs \
|
|
230
|
+
--security basic
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
### Enterprise Kubernetes App
|
|
234
|
+
|
|
235
|
+
```bash
|
|
236
|
+
devops-project-generator init \
|
|
237
|
+
--name enterprise-app \
|
|
238
|
+
--ci github-actions \
|
|
239
|
+
--infra terraform \
|
|
240
|
+
--deploy kubernetes \
|
|
241
|
+
--envs dev,stage,prod \
|
|
242
|
+
--observability full \
|
|
243
|
+
--security strict
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Simple VM Deployment
|
|
247
|
+
|
|
248
|
+
```bash
|
|
249
|
+
devops-project-generator init \
|
|
250
|
+
--name simple-app \
|
|
251
|
+
--ci jenkins \
|
|
252
|
+
--deploy vm \
|
|
253
|
+
--envs dev,prod \
|
|
254
|
+
--observability logs-metrics \
|
|
255
|
+
--security standard
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
## π§ Configuration
|
|
259
|
+
|
|
260
|
+
### Global Configuration
|
|
261
|
+
|
|
262
|
+
You can set default options in `~/.devops-generator/config.yaml`:
|
|
263
|
+
|
|
264
|
+
```yaml
|
|
265
|
+
defaults:
|
|
266
|
+
ci: github-actions
|
|
267
|
+
deploy: kubernetes
|
|
268
|
+
observability: logs-metrics
|
|
269
|
+
security: standard
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Project Templates
|
|
273
|
+
|
|
274
|
+
The generator supports custom templates. Place your templates in:
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
~/.devops-generator/templates/
|
|
278
|
+
βββ ci/
|
|
279
|
+
βββ infra/
|
|
280
|
+
βββ deploy/
|
|
281
|
+
βββ monitoring/
|
|
282
|
+
βββ security/
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
## π§ͺ Testing
|
|
286
|
+
|
|
287
|
+
### Run Tests
|
|
288
|
+
|
|
289
|
+
```bash
|
|
290
|
+
pytest
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
### Run Tests with Coverage
|
|
294
|
+
|
|
295
|
+
```bash
|
|
296
|
+
pytest --cov=devops_project_generator --cov-report=html
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
### Run Linting
|
|
300
|
+
|
|
301
|
+
```bash
|
|
302
|
+
flake8 devops_project_generator/
|
|
303
|
+
black devops_project_generator/
|
|
304
|
+
mypy devops_project_generator/
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
## π€ Contributing
|
|
308
|
+
|
|
309
|
+
We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
|
|
310
|
+
|
|
311
|
+
### Development Workflow
|
|
312
|
+
|
|
313
|
+
1. Fork the repository
|
|
314
|
+
2. Create a feature branch
|
|
315
|
+
3. Make your changes
|
|
316
|
+
4. Add tests for new functionality
|
|
317
|
+
5. Run the test suite
|
|
318
|
+
6. Submit a pull request
|
|
319
|
+
|
|
320
|
+
### Adding New Features
|
|
321
|
+
|
|
322
|
+
1. **New CI/CD Platform**: Add templates in `templates/ci/`
|
|
323
|
+
2. **New Infrastructure Tool**: Add templates in `templates/infra/`
|
|
324
|
+
3. **New Deployment Method**: Add templates in `templates/deploy/`
|
|
325
|
+
4. **New Security Level**: Add templates in `templates/security/`
|
|
326
|
+
|
|
327
|
+
## π Documentation
|
|
328
|
+
|
|
329
|
+
- [User Guide](docs/user-guide.md)
|
|
330
|
+
- [Developer Guide](docs/developer-guide.md)
|
|
331
|
+
- [Template Reference](docs/template-reference.md)
|
|
332
|
+
- [API Documentation](docs/api.md)
|
|
333
|
+
|
|
334
|
+
## π Troubleshooting
|
|
335
|
+
|
|
336
|
+
### Common Issues
|
|
337
|
+
|
|
338
|
+
1. **Permission Denied**
|
|
339
|
+
```bash
|
|
340
|
+
chmod +x scripts/setup.sh scripts/deploy.sh
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
2. **Template Not Found**
|
|
344
|
+
- Check if template files exist in `templates/`
|
|
345
|
+
- Verify template syntax
|
|
346
|
+
|
|
347
|
+
3. **Generated Files Not Executable**
|
|
348
|
+
```bash
|
|
349
|
+
find . -name "*.sh" -exec chmod +x {} \;
|
|
350
|
+
```
|
|
351
|
+
|
|
352
|
+
### Getting Help
|
|
353
|
+
|
|
354
|
+
- **Issues**: [GitHub Issues](https://github.com/NotHarshhaa/devops-project-generator/issues)
|
|
355
|
+
- **Discussions**: [GitHub Discussions](https://github.com/NotHarshhaa/devops-project-generator/discussions)
|
|
356
|
+
- **Documentation**: [Wiki](https://github.com/NotHarshhaa/devops-project-generator/wiki)
|
|
357
|
+
|
|
358
|
+
## πΊοΈ Roadmap
|
|
359
|
+
|
|
360
|
+
### v1.1
|
|
361
|
+
- [ ] Support for Azure DevOps
|
|
362
|
+
- [ ] Additional cloud providers (GCP, Azure)
|
|
363
|
+
- [ ] More deployment targets (AWS ECS, Fargate)
|
|
364
|
+
- [ ] Advanced monitoring templates
|
|
365
|
+
|
|
366
|
+
### v1.2
|
|
367
|
+
- [ ] Template marketplace
|
|
368
|
+
- [ ] Plugin system
|
|
369
|
+
- [ ] GUI interface
|
|
370
|
+
- [ ] Integration with popular tools
|
|
371
|
+
|
|
372
|
+
### v2.0
|
|
373
|
+
- [ ] Multi-language support
|
|
374
|
+
- [ ] Advanced project customization
|
|
375
|
+
- [ ] AI-powered recommendations
|
|
376
|
+
- [ ] Enterprise features
|
|
377
|
+
|
|
378
|
+
## π License
|
|
379
|
+
|
|
380
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
381
|
+
|
|
382
|
+
## π Acknowledgments
|
|
383
|
+
|
|
384
|
+
- **Typer** - For the amazing CLI framework
|
|
385
|
+
- **Rich** - For beautiful terminal output
|
|
386
|
+
- **Jinja2** - For powerful templating
|
|
387
|
+
- **DevOps Community** - For best practices and inspiration
|
|
388
|
+
|
|
389
|
+
## π Contact
|
|
390
|
+
|
|
391
|
+
This project is crafted with π‘ by **[Harshhaa](https://github.com/NotHarshhaa)**.
|
|
392
|
+
Your feedback is always welcome! Let's build together. π
|
|
393
|
+
|
|
394
|
+
π§ **Connect with me:**
|
|
395
|
+
π **GitHub**: [@NotHarshhaa](https://github.com/NotHarshhaa)
|
|
396
|
+
π **Portfolio**: [Personal Portfolio](https://notharshhaa.site)
|
|
397
|
+
π **Links - Portfolio**: [Links](https://link.notharshhaa.site)
|
|
398
|
+
π **Telegram Community**: [Join Here](https://t.me/prodevopsguy)
|
|
399
|
+
π **LinkedIn**: [Harshhaa Vardhan Reddy](https://www.linkedin.com/in/NotHarshhaa/)
|
|
400
|
+
|
|
401
|
+
---
|
|
402
|
+
|
|
403
|
+
**Built with β€οΈ by the DevOps community**
|
|
404
|
+
*Making DevOps accessible to everyone*
|