This command is used for product deployment.

tcxctl deploy all

This command is provided for Day 0 product deployment, you need to run one command to deploy everything. Internally, it performs these steps sequentially:
  1. tcxctl push
  2. tcxctl deploy core
  3. tcxctl deploy product
Ensure that the extracted bundle directory structure is as follows:
tcx-deployer
├── csars
├── examples
│   ├── backup-and-restore
│   └── tcops_helm_customizations
├── images
├── imgpkg
│   ├── controller
│   └── services
├── product-helm-charts
│   ├── init
│   │   ├── charts
│   │   └── templates
│   │       └── configmaps
│   └── tcsa
│       ├── charts
│       └── templates
└── scripts
├── deployment
├── imgpkg_tags.yaml
└── manifests
├── crds
│   ├── system
│   └── tcx
└── harbor
└── custom

Examples:

  • tcxctl deploy all command in TKG:
    tcxctl deploy all --path /root/tcx-deployer --kubeconfig <your-kubeconfig-location>
    --registry <harbor-registry-fqdn>/<project-name> --registry-password <harbor-registry-
    password> --registry-username  <harbor-registry-username> --registry-cert <path-to-your-
    registry-ca-certificate-file> --timeout <time-in-mins>
  • tcxctl deploy all command in AWS:
    export AWS_PROFILE=<MY-AWS-PROFILE>
    tcxctl deploy all --path /root/tcx-deployer --kubeconfig <your-kubeconfig-location>
    --registry <your-profile-ID>.dkr.ecr.<aws-region>.amazonaws.com/<project-name> --timeout
    <time-in-mins>

tcxctl deploy core

Deploys core tcx components, which is collection of three apps tcx-bootstrap, admin-operator, and kapp-controllertcxct.
tcxctl deploy core -r <registry> -u <username> -p <password> -c <ca.crt_full_path_if_any> --tag-file full_path_of_tag.yaml --kubeconfig <kubeconfig>
OR
docker login registry
    tcxctl deploy core -r <registry> --tag-file <full_path_of_tag.yaml> --kubeconfig <kubeconfig>
If need to apply any settings to all core tcx apps ( tcx-bootstrap, admin-operator, and kapp-controllertcxct) then helm flags use:
 --set, --set-file or --values flags
tcxctl deploy core -r <registry> -u <username> -p <password> -c <ca.crt_full_path_if_any> --tag-file full_path_of_tag.yaml --kubeconfig <kubeconfig> --set foo=bar --set-file file.yaml -f values-foo.yaml
Core Apps details:
  • Tcx-Bootstrap includes:
    • TCxProduct CRDs
    • CRDs needed by kapp-controller
  • StorageClass based on Cloud includes:
    • Kubelet-pull-secret
    • ServiceAccount
    • Admin-operator
    • Kapp-Controller
tcxctl deploy core:
tcxctl deploy core --kubeconfig <your-kubeconfig-location>
 --tag-file <$TCSA_WORK_SPACE>
/tcx-deployer/scripts/imgpkg_tags.yaml --registry <harbor-registry-
fqdn>/<project-name> --registry-password <your-registry-password> --registry-username <-
registry-username> --registry-cert <path-to-your-registry-ca-certificate-file>
tcxctl deploy core --kubeconfig /root/.kube/config
 --tag-file 
/root/tcx-deployer/scripts/imgpkg_tags.yaml --registry <harbor-registry-
fqdn>/<project-name> --registry-password <your-registry-password> --registry-username <-
registry-username> --registry-cert <path-to-your-registry-ca-certificate-file>

tcxctl deploy product

This command deploys the product chart as a Helm release. It uses the Helm SDK to deploy the chart contents. It is not mandatory to use this command to deploy the Helm chart. The helm CLI or other higher-order tools that understand Helm charts like CloudFormation or VMware Telco Cloud Automation can be used.