images/bootstrap_capg/assets/help.txt
Sidney Shiba aa624ce27c Bootstrap container code for GCP
This commit provides the Go code and scripts for the Bootstrap container
for GCP.

The Bootstrap container (bootstrap_capg) for Google Cloud is designed to
accept three commands: create, delete and help.
- create - will create an Ephemeral GKE cluster in Google Cloud
- delete - will delete the Ephemeral GKE cluster from the Google Cloud
- help - Stdout the help text for using this container.

Please, refer to the bootstrap_capg/README.md for further details.

Change-Id: Ifad7c7a7fede0230029716c9e093449f5886e859
2020-10-15 16:10:08 -05:00

67 lines
2.3 KiB
Plaintext

Google Cloud Ephemeral Configuration File Definition
-----------------------------------------------------
The GCP Bootstrap container creates an Ephemeral K8S cluster on the Google Cloud platform.
The container requires authentication credentials and other information about the cluster to deploy.
It requires a YAML configuration file with the format provided below.
<YAML>
apiVersion: v1
kind: GoogleCloudConfig
metadata:
name: <Ephemeral K8S cluster name>
credentials:
project: <Google Cloud Project ID>
account: <Google Cloud Account ID>
credential: <credentials.json filename>
spec:
region: <Google Cloud Region, e.g., us-central1>
Zone: <Google Cloud Zone, e.g., us-central1-c>
cluster:
k8sVersion: <Kubernetes version, e.g., 1.16.9-gke.6>
machineSize: <Google Cloud Compute VM Type, e.g., e2-medium>
diskSize: <Google Cloud compute disk size>
replicas: <Node Replica Number for the cluster>
kubeconfig: <Kubeconfig filename, Default is 'kubeconfig'>
</YMAL>
The JSON format is also a valid configuration file for this bootstrap container.
<JSON>
{
"apiVersion": "v1",
"kind": "GoogleCloudConfig",
"metadata": {
"name": "<Ephemeral K8S cluster name>"
},
"credentials": {
"project": "<Google Cloud Project ID>",
"account": "<Google Cloud Account ID>",
"credential": "<credentials.json filename>"
},
"spec": {
"region": "<Google Cloud Region, e.g., us-central1>",
"zone": "<Google Cloud Compute VM Type, e.g., e2-medium>",
"cluster": {
"k8sVersion": "<Kubernetes version, e.g., 1.16.9-gke.6>",
"machineSize": "<Google Cloud Compute VM Type, e.g., e2-medium>",
"diskSize": <Google Cloud compute disk size>,
"replicas": <Node Replica Number for the cluster>,
"kubeconfig": "<Kubeconfig filename, Default is 'kubeconfig'>"
}
}
}
</JSON>
The expected location for the GCP bootstrap configuration file is dictated by the "volume" mount
specified in the Airship config file (bootstrapInfo.ephemeral.container.volume).
For example, /home/esidshi/.airship folder as shown in the snippet below:
<Snippet>
apiVersion: airshipit.org/v1alpha1
bootstrapInfo:
ephemeral:
container:
volume: /home/esidshi/.airship:/kube
</Snippet>