composer-environment/hub-component.yaml (64 lines of code) (raw):

version: 1 kind: component requires: - gcp - terraform provides: - kubernetes parameters: - name: dns.domain - name: hub.componentName - name: composer parameters: - name: envName value: ${dns.name}-${hub.componentName} - name: version value: v1 brief: Version of composer environment (v1 or v2) - name: python.version value: 3 breif: The major version of Python used to run the Apache Airflow scheduler, worker, and webserver processes. Can be set to '2' or '3'. - name: python.requirementsFile brief: | Path (relative to component directory or absolute) to the requirements.txt Additional packages defined in this file and will be applied during composer deployment If you modify file after composer has been deployed, run: `hub stack deploy -c composer` again value: requirements.txt env: REQUIREMENTS_TXT - name: airflow.imageVersion empty: allow - name: endpoint value: public brief: "Type of Composer endpoint. Value can be: public or private" - name: projectId brief: GCP Project ID where Composer environment will be deployed - name: network.subnetwork brief: The subnetwork to host the composer cluster. - name: network.projectId value: ${composer.projectId} - name: gke.node parameters: - name: count brief: The number of nodes in the Kubernetes Engine cluster of the environment. value: 3 - name: machineType breif: The Compute Engine machine type used for cluster instances, specified as a name or relative resource name. value: "n1-standard-1" - name: diskSize brief: The disk size in GB used for node VMs. value: 100 outputs: - name: composer.airflow.url fromTfVar: airflow_uri - name: composer.gcs.bucket fromTfVar: gcs_bucket - name: composer.id fromTfVar: env_id - name: dns.domain - name: kubernetes.gke.cluster fromTfVar: gke_cluster - name: kubernetes.api.endpoint fromTfVar: hub_kubernetes_api_endpoint templates: files: - "*.template"