Deploy Detail Command#

The deploy detail command in Piceli CLI is designed to analyze the required changes to deploy the specified Kubernetes object model. This detailed analysis helps in understanding the necessary actions before actual deployment.

Command Usage#

piceli deploy detail --help

Usage: piceli deploy detail [OPTIONS]

 Analize the required changes to deploy the specified kubernetes object model
 Note: The command options are shared among commands and should be specified at the
 root level.

╭─ Options ───────────────────────────────────────────────────────────────────────────╮
│ --hide-no-action  -hna        Hide the comparison details when no action is needed. │
│ --help                        Show this message and exit.                           │
╰─────────────────────────────────────────────────────────────────────────────────────╯

Options#

  • --hide-no-action (-hna): Hide the comparison details when no action is needed.

  • --help: Show this message and exit.

Execution Example#

The following example showcases the command execution of deploy detail, providing a detailed analysis of the required changes for deployment:

PICELI__FOLDER_PATH=/folder/to/resources/tmp_cli PICELI__NAMESPACE=test-run piceli deploy detail
╭───────────────────────────────── Command Execution ─────────────────────────────────╮
│ Running command: Deployment Detailed Analysis                                       │
╰─────────────────────────────────────────────────────────────────────────────────────╯
╭────────────────────────────── Context Options ───────────────────────────────╮
│ Namespace: test-run                                                          │
│ Module Name: Not specified                                                   │
│ Module Path: Not specified                                                   │
│ Folder Path: /folder/to/resources/tmp_cli │
│ Include Sub-elements: True                                                   │
╰──────────────────────────────────────────────────────────────────────────────╯
                                New Kubernetes Objects
┏━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┓
┃ Kind                     Name                         Version  Group             ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━┩
│ Role                     example-role                 v1       RbacAuthorization │
│ ServiceAccount           example-serviceaccount       v1       Core              │
│ RoleBinding              example-rolebinding          v1       RbacAuthorization │
│ Secret                   example-secret               v1       Core              │
│ ConfigMap                example-configmap            v1       Core              │
│ PersistentVolumeClaim    example-persistentvolumecl…  v1       Core              │
│ Deployment               example-deployment           v1       Apps              │
│ Service                  example-service              v1       Core              │
│ CronJob                  example-cronjob              v1       Batch             │
│ HorizontalPodAutoscaler  example-horizontalpodautos…  v2       Autoscaling       │
└─────────────────────────┴─────────────────────────────┴─────────┴───────────────────┘
     Kubernetes Objects Deployment Summary
┏━━━━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃ Kind          Name       Update Action    ┃
┡━━━━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│ StorageClass  resizable  No action needed │
└──────────────┴───────────┴──────────────────┘
─────────────────────  StorageClass resizable - No action needed ──────────────────────
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Existing Object                           Desired Object                           ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ {                                         {                                        │
│   "allowVolumeExpansion": true,             "allowVolumeExpansion": true,          │
│   "apiVersion": "storage.k8s.io/v1",        "apiVersion": "storage.k8s.io/v1",     │
│   "kind": "StorageClass",                   "kind": "StorageClass",                │
│   "metadata": {                             "metadata": {                          │
│     "creationTimestamp":                      "name": "resizable"                  │
│ "2024-03-06T18:01:30+00:00",                },                                     │
│     "managedFields": [                      "provisioner":                         │
│       {                                   "k8s.io/minikube-hostpath"               │
│         "apiVersion":                     }                                        │
│ "storage.k8s.io/v1",                                                               │
│         "fieldsType": "FieldsV1",                                                  │
│         "fieldsV1": {                                                              │
│           "f:allowVolumeExpansion": {},                                            │
│           "f:provisioner": {},                                                     │
│           "f:reclaimPolicy": {},                                                   │
│           "f:volumeBindingMode": {}                                                │
│         },                                                                         │
│         "manager": "OpenAPI-Generator",                                            │
│         "operation": "Update",                                                     │
│         "time":                                                                    │
│ "2024-03-06T18:01:30+00:00"                                                        │
│       }                                                                            │
│     ],                                                                             │
│     "name": "resizable",                                                           │
│     "resourceVersion": "176636",                                                   │
│     "uid":                                                                         │
│ "9ef7f7b7-8733-40b5-9e56-ee2f555823a5"                                             │
│   },                                                                               │
│   "provisioner":                                                                   │
│ "k8s.io/minikube-hostpath",                                                        │
│   "reclaimPolicy": "Delete",                                                       │
│   "volumeBindingMode": "Immediate"                                                 │
│ }                                                                                  │
└──────────────────────────────────────────┴──────────────────────────────────────────┘
                                  Differences Summary
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃ Path                        Type      Existing                           Desired ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
│ metadata,creationTimestamp  Ignored   2024-03-06T18:01:30+00:00          None    │
├────────────────────────────┼──────────┼───────────────────────────────────┼─────────┤
│ metadata,managedFields      Ignored   [                                  None    │
│                                         {                                        │
│                                           "apiVersion":                          │
│                                       "storage.k8s.io/v1",                       │
│                                           "fieldsType": "FieldsV1",              │
│                                           "fieldsV1": {                          │
│                                             "f:allowVolumeExpansion":            │
│                                       {},                                        │
│                                             "f:provisioner": {},                 │
│                                             "f:reclaimPolicy": {},               │
│                                             "f:volumeBindingMode": {}            │
│                                           },                                     │
│                                           "manager":                             │
│                                       "OpenAPI-Generator",                       │
│                                           "operation": "Update",                 │
│                                           "time":                                │
│                                       "2024-03-06T18:01:30+00:00"                │
│                                         }                                        │
│                                       ]                                          │
├────────────────────────────┼──────────┼───────────────────────────────────┼─────────┤
│ metadata,uid                Ignored   9ef7f7b7-8733-40b5-9e56-ee2f5558…  None    │
├────────────────────────────┼──────────┼───────────────────────────────────┼─────────┤
│ metadata,resourceVersion    Ignored   176636                             None    │
├────────────────────────────┼──────────┼───────────────────────────────────┼─────────┤
│ volumeBindingMode           Defaults  Immediate                          None    │
├────────────────────────────┼──────────┼───────────────────────────────────┼─────────┤
│ reclaimPolicy               Defaults  Delete                             None    │
└────────────────────────────┴──────────┴───────────────────────────────────┴─────────┘