# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. apiVersion: airshipit.org/v1alpha1 kind: ReplacementTransformer metadata: annotations: config.kubernetes.io/function: |- container: image: quay.io/airshipit/replacement-transformer:latest name: cluster-controlplane-replacements replacements: # Kind Cluster replacements - source: objref: name: cluster-catalogue fieldref: kubernetes.clusterName target: objref: kind: Cluster fieldrefs: ["metadata.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.clusterName target: objref: kind: Cluster fieldrefs: ["spec.infrastructureRef.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneName target: objref: kind: Cluster fieldrefs: ["spec.controlPlaneRef.name"] # Kind AzureCluster replacements - source: objref: name: cluster-catalogue fieldref: kubernetes.clusterName target: objref: kind: AzureCluster fieldrefs: ["metadata.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.subscriptionID target: objref: kind: AzureCluster fieldrefs: ["spec.subscriptionID"] - source: objref: name: cluster-catalogue fieldref: kubernetes.resourceGroup target: objref: kind: AzureCluster fieldrefs: ["spec.resourceGroup"] - source: objref: name: cluster-catalogue fieldref: kubernetes.virtualNet target: objref: kind: AzureCluster fieldrefs: ["spec.networkSpec.vnet.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.location target: objref: kind: AzureCluster fieldrefs: ["spec.location"] # KubeadmControlPlane replacements - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneName target: objref: kind: KubeadmControlPlane fieldrefs: ["metadata.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneName target: objref: kind: KubeadmControlPlane fieldrefs: ["spec.infrastructureTemplate.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneReplicas target: objref: kind: KubeadmControlPlane fieldrefs: ["spec.replicas"] - source: objref: name: cluster-catalogue fieldref: kubernetes.k8sVersion target: objref: kind: KubeadmControlPlane fieldrefs: ["spec.version"] - source: objref: name: cluster-catalogue fieldref: kubernetes.clusterName target: objref: kind: KubeadmControlPlane fieldrefs: ["spec.kubeadmConfigSpec.controllerManager.extraArgs.cluster-name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.kubeadmSecretName target: objref: kind: KubeadmControlPlane fieldrefs: ["spec.kubeadmConfigSpec.files.0.contentFrom.secret.name"] # AzureMachineTemplate replacements - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneName target: objref: kind: AzureMachineTemplate fieldrefs: ["metadata.name"] - source: objref: name: cluster-catalogue fieldref: kubernetes.location target: objref: kind: AzureMachineTemplate fieldrefs: ["spec.template.spec.location"] - source: objref: name: cluster-catalogue fieldref: kubernetes.controlPlaneVMSize target: objref: kind: AzureMachineTemplate fieldrefs: ["spec.template.spec.vmSize"] - source: objref: name: cluster-catalogue fieldref: kubernetes.sshPublicKey target: objref: kind: AzureMachineTemplate fieldrefs: ["spec.template.spec.sshPublicKey"] # Dex Secrets for Certificates - source: objref: name: dex-catalogue fieldref: dex.tls.crt target: objref: kind: Secret name: target-cluster-control-plane-dex-crt fieldrefs: ["data.dex-cert"]