The kubeconfig-injector trait injects the kubeconfig file required to access the environment in which the application is deployed on with kubectl command or the standard Kubernetes API.
The following snippet shows an example application with a component and a kubeconfig-injector trait.
apiVersion: core.oam.dev/v1beta1 kind: Application metadata: name: my-app annotations: version: "v0.0.1" description: "My application" spec: components: - name: busybox type: worker properties: image: my-app-image:v1.0.0 traits: - type: kubeconfig-injector properties: name: trait-name # (Required) the trait name mountName: kubeconfig # (Optional) the volume name where the kubeconfig is saved (kubeconfig by default) saMountName: sa-volume # (Optional) the volume name where the user secret is saved (saMountName by default)
This trait generates a kubeconfig file in the
/var/napptive/kubeconfig path and sets the KUBECONFIG environment variable so the containers can automatically use it without further configuration.