cloud-dock-cli 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,116 @@
1
+ Metadata-Version: 2.5
2
+ Name: cloud-dock-cli
3
+ Version: 0.1.0
4
+ Summary: Interactive CloudDock configuration generator for future Terraform deployment workflows.
5
+ License-File: LICENSE
6
+ Requires-Python: >=3.12
7
+ Requires-Dist: pytest>=9.1.1
8
+ Requires-Dist: pyyaml>=6.0.0
9
+ Requires-Dist: ruff>=0.16.5
10
+ Requires-Dist: typer>=0.12.0
11
+ Description-Content-Type: text/markdown
12
+
13
+ # CloudDock
14
+
15
+ CloudDock is a lightweight configuration generator and orchestration helper for application deployment requirements. In Phase 1, it collects a deployment profile interactively and writes a YAML configuration file that can later be consumed by Terraform. In Phase 2, the `plan` command validates prerequisites, prepares a local Terraform checkout, and runs Terraform planning against the generated configuration.
16
+
17
+ ## Phase 1 scope
18
+
19
+ This phase intentionally does not contact AWS or Terraform. It only provides a CLI workflow for:
20
+
21
+ - collecting deployment settings
22
+ - validating user input
23
+ - generating a structured YAML file (`clouddock.yaml`)
24
+ - preparing the configuration model for future Terraform conversion
25
+
26
+ The `deploy` command remains a placeholder and does not run infrastructure commands.
27
+
28
+ ## Phase 2: plan command
29
+
30
+ The `clouddock plan` flow performs the following:
31
+
32
+ 1. checks for Git, Terraform, and AWS CLI
33
+ 2. verifies AWS CLI authentication/configuration with `aws sts get-caller-identity`
34
+ 3. ensures `clouddock.yaml` exists in the current working directory
35
+ 4. offers to run `clouddock init` if the configuration is missing
36
+ 5. clones the Terraform repository into `~/.clouddock/terraform` when needed
37
+ 6. copies the current `clouddock.yaml` into the Terraform working directory
38
+ 7. runs `terraform init`
39
+ 8. runs `terraform plan`
40
+
41
+ The Terraform repository used by CloudDock is:
42
+
43
+ https://github.com/DGclasher/cloud-dock
44
+
45
+ CloudDock does not install Git, Terraform, or AWS CLI automatically. The command expects those system tools to already be available on the machine.
46
+
47
+ ## Prerequisites
48
+
49
+ - Python 3.12
50
+ - uv
51
+ - Git
52
+ - Terraform
53
+ - AWS CLI
54
+
55
+ ## Installation
56
+
57
+ ```bash
58
+ uv sync
59
+ ```
60
+
61
+ ## Running
62
+
63
+ ```bash
64
+ uv run clouddock --help
65
+ uv run clouddock init
66
+ uv run clouddock plan
67
+ uv run clouddock deploy
68
+ ```
69
+
70
+ ## Local Terraform working directory
71
+
72
+ CloudDock uses a local working directory under the user home folder:
73
+
74
+ ```text
75
+ ~/.clouddock/terraform
76
+ ```
77
+
78
+ This keeps the Terraform checkout separate from the Python project source tree.
79
+
80
+ ## Example generated configuration
81
+
82
+ ```yaml
83
+ application:
84
+ name: payment-api
85
+ image: 123456789.dkr.ecr.ap-south-1.amazonaws.com/payment-api:v1
86
+ container_port: 8080
87
+
88
+ regions:
89
+ - ap-south-1
90
+ - ap-southeast-1
91
+
92
+ compute:
93
+ type: ecs
94
+ desired_count: 2
95
+ cpu: 256
96
+ memory: 512
97
+
98
+ database:
99
+ enabled: true
100
+ type: postgres
101
+
102
+ cache:
103
+ enabled: true
104
+ type: redis
105
+
106
+ environment_variables:
107
+ SPRING_PROFILES_ACTIVE: production
108
+ LOG_LEVEL: INFO
109
+ ```
110
+
111
+ ## Important notes
112
+
113
+ - Phase 2 checks prerequisites and runs Terraform planning; it does not run `terraform apply`.
114
+ - This phase does not bypass AWS authentication requirements.
115
+ - Environment variables are captured as plain configuration values for now; secret management will be added in a future phase.
116
+ - The CLI only generates configuration and orchestrates local Terraform planning; it does not provision infrastructure.
@@ -0,0 +1,9 @@
1
+ clouddock/__init__.py,sha256=bFXbTddRCbQCjyLEd-6W6z3ejVrSNUq3pzRRxCzdcj8,75
2
+ clouddock/cli.py,sha256=AfWmnqIlIldawqxvhEz96RPg9ccAIm3eQfjXYMDBXyc,8674
3
+ clouddock/config.py,sha256=jtfB3iLsvzrhMTvZUJZ5RfvNrw4mOhGbX25rOTea6cE,7077
4
+ clouddock/prompts.py,sha256=uKTlpmYgN54WU_NlPFV86iIiHxdYGZ_4fXQEIiu2FrI,7094
5
+ cloud_dock_cli-0.1.0.dist-info/METADATA,sha256=4GqiyNCOj98ztEOm4Skoacd78qUwgNYhMIjfAAll6S8,3259
6
+ cloud_dock_cli-0.1.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
7
+ cloud_dock_cli-0.1.0.dist-info/entry_points.txt,sha256=50GEMcJCEVOcJpawdez1b8R1L436aP63b_wqYRt5HBM,48
8
+ cloud_dock_cli-0.1.0.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
9
+ cloud_dock_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ clouddock = clouddock.cli:app