Vladimir Kozhukalov 6523c800ad Build ephemeral iso using generic container
We build iso image in two steps
 1) We prepare cloud-init data using a krm function
    krm-functions/cloud-init which uses arishipctl capabilities
    to gather necessary data from the executor document bundle.
    Cloud-init data files are written into a directory mounted
    to the krm function container.
 2) We build iso image using image-builder. While doing this
    we mount the directory with cloud-init data files and set
    necessary environment variables defined in the executor
    document.

Relates-To: #440
Change-Id: Id0b34822e95f494d2e2f8fb407700b7f873e7c69
2021-02-25 13:08:31 +00:00

271 lines
6.1 KiB
YAML

apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: bootstrap-iso
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: IsoConfiguration
name: isogen
documentEntryPoint: ephemeral/bootstrap
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: initinfra-ephemeral
clusterName: ephemeral-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: ephemeral/initinfra
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: initinfra-networking-ephemeral
clusterName: ephemeral-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply-nowait
documentEntryPoint: ephemeral/initinfra-networking
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: controlplane-ephemeral
clusterName: ephemeral-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: ephemeral/controlplane
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: initinfra-target
clusterName: target-cluster
config:
cluster: target-cluster
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: target/initinfra
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: initinfra-networking-target
clusterName: target-cluster
config:
cluster: target-cluster
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply-nowait
documentEntryPoint: target/initinfra-networking
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: controlplane-target
clusterName: target-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: target/controlplane
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: workers-target
clusterName: target-cluster
config:
cluster: target-cluster
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: target/workers
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: workers-classification
clusterName: target-cluster
config:
cluster: target-cluster
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: target/workers/provision
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: clusterctl-init-ephemeral
clusterName: ephemeral-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: Clusterctl
name: clusterctl_init
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: clusterctl-init-target
clusterName: target-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: Clusterctl
name: clusterctl_init
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: clusterctl-move
clusterName: target-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: Clusterctl
name: clusterctl_move
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: workload-target
clusterName: target-cluster
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: KubernetesApply
name: kubernetes-apply
documentEntryPoint: target/workload
---
# This phase triggers the deployment of an ephemeral cluster
# on Azure Cloud platform
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-az-genesis
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-az-genesis
---
# This phase triggers the deletion of an ephemeral cluster
# on Azure Cloud platform
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-az-cleanup
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-az-cleanup
---
# This phase triggers the deployment of an ephemeral cluster
# on Google Cloud platform
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-gcp-genesis
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-gcp-genesis
---
# This phase triggers the deletion of an ephemeral cluster
# on Google Cloud platform
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-gcp-cleanup
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-gcp-cleanup
---
# This phase triggers the deployment of an ephemeral cluster
# on Openstack
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-os-genesis
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-os-genesis
---
# This phase triggers the deletion of an ephemeral cluster
# on Openstack
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: ephemeral-os-cleanup
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BootConfiguration
name: ephemeral-os-cleanup
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: secret-generate
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: GenericContainer
name: encrypter
documentEntryPoint: target/generator
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: remotedirect-ephemeral
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: BaremetalManager
name: RemoteDirectEphemeral
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: iso-cloud-init-data
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: GenericContainer
name: iso-cloud-init-data
documentEntryPoint: ephemeral/bootstrap
---
apiVersion: airshipit.org/v1alpha1
kind: Phase
metadata:
name: iso-build-image
config:
executorRef:
apiVersion: airshipit.org/v1alpha1
kind: GenericContainer
name: iso-build-image
documentEntryPoint: empty