Configure - epam/hubctl GitHub Wiki
hub configure
reads hub.yaml
extensions
section and configures stack for deployment. It integrates with hub stack deploy
to provide a simplified command-line experience around hub deploy
(and undeploy
).
extensions:
include:
- params.yaml
configure:
- aws
- kubernetes
- env
deploy:
after:
- inventory-configmap
With the example above, aws extension will be called to make sure AWS cloud account is setup:
- S3 account specific bucket
<account number>.superhub.io
exists or it will be created; - Route 53 hosted zone for the stack is created.
kubernetes extension will copy Kubeconfig under .hub/env/<domain>.kubeconfig
.
env extension will parse params.yaml
to find fromEnv:
parameters to prompt user for values.
The result will be saved into .hub/env/<domain>.env
and a symlink .env
pointing to the current active configuration will be created (or replaced).
inventory-configmap
deploy.after
hook saves essential information about the stack into kube-system/superhub
configmap for hub show
.
Usage:
hub configure -f hub.yaml <parameters>
Common parameters:
-f --file Path to stack definition file (can be repeated multiple times)
-r --requirement Configure one requirement (can be repeated multiple times)
-i --init-dotenv FILE Start with initial values from the .env FILE
-s --silent Suppress console outputs in favor of result codes
-V --verbose Verbose outputs for debug purposeEOF
-h --help Print this message
Use: hub configure -r aws -r kubernetes # configure specified requirements only
In case you have Kubernetes component such as EKS in you stack, then extensions
section may look like the following:
extensions:
include:
- params.yaml
configure:
- aws
- env
deploy:
after:
- kubernetes
- inventory-configmap
kubernetes
is moved under deploy.after
hook to create .hub/env/<domain>.kubeconfig
after stack is deployed.