Pipeline REST API client plugin for Drone.
2.8K
Pipeline REST API client plugin for Drone. A step in the Pipeline PaaS CI/CD component to provision a Kubernetes cluster or use a managed one. Currently two cloud provider supported Amazon and Azure(AKS).
Provide valid credentials for the pipeline API.
These options needs to be specified in the CI/CD GUI.
pipeline:
create_cluster:
cluster_name: "demo-cluster1"
image: banzaicloud/pipeline_client:latest
secrets: [ plugin_endpoint, plugin_username, plugin_password ]
pipeline:
create_cluster:
cluster_name: "demo-cluster1"
cluster_provider: azure
image: banzaicloud/pipeline_client:latest
secrets: [ plugin_endpoint, plugin_username, plugin_password ]
| Option | Description | Default | Required |
|---|---|---|---|
| cluster_name | Specified cluster name | "" | Yes |
| cluster_provider | Specified supporter provider (amazon, azure) | amazon | No |
| log_level | Specified log level (info, warning,error, critical) | info | No |
| log_format | Specified log format (json, text) | json | No |
| Option | Description | Default | Required |
|---|---|---|---|
| amazon_master_image | Specified image for master node | ami-06d1667f | No |
| amazon_master_instance_type | Specified instance type for master node | "m4.xlarge" | No |
| amazon_node_image | Specified image for node | ami-06d1667f | No |
| amazon_node_instance_type | Specified instance type for node | "m4.xlarge" | No |
| amazon_node_min_count | Specified node count | 1 | No |
| amazon_node_min_count | Specified node count | 1 | No |
| amazon_node_spot_price | Specified spot price | 0 (normal instance) | No |
In case of Azure a resource group has to be used. Use the Azure CLI to create an Azure Resource Group: https://docs.microsoft.com/en-us/azure/azure-resource-manager/xplat-cli-azure-resource-manager
| Option | Description | Default | Required |
|---|---|---|---|
| azure_resource_group | Existing azure resource group | "" | Yes |
| azure_kubernetes_version | Specified kubernetes version | "1.8.2" | No |
| azure_agent_name | Specified agent name | cluster_name | No |
| azure_node_instance_type | Specified instance type | "Standard_D4s_v3" | No |
| azure_node_count | Initial number of nodes | 1 | No |
Applications deployed by CI/CD may require options of which value is unknown until deployment time or doesn't want to specify it directly in .pipeline.yml file thus the user will only be able to specify them when hooks the application to the CI/CD flow. Such values can be passed to the application through CI/CD secrets. The values are bound to the keys listed under deployment_values -> app which is illustrated in the example below.
E.g.:
install_my_app:
image: my_app_docker_image:latest
deployment_name: "my_app_helm_chart"
deployment_release_name: "my_app"
deployment_values:
app:
logDirectory: "...."
db_user: "root"
db_password: "{{ .PLUGIN_DATABASE_PASSWORD }}"
secrets: [ plugin_endpoint, plugin_username, plugin_password, plugin_database_password ]
In this example beside the required secrets there is a plugin_database_password through which we can set up a password through the CI/CD flow. Note the placeholder {{ .PLUGIN_DATABASE_PASSWORD }} specified for plugin_database_password key in the yaml. This placeholder will be replaced with the value of plugin_database_password secret.
Are you a developer? Click here
Content type
Image
Digest
Size
5.8 MB
Last updated
about 8 years ago
docker pull banzaicloud/plugin-pipeline-client