ManageIQ / manageiq-providers-kubevirt

ManageIQ plugin for the Kubevirt provider.
https://kubevirt.io/
Apache License 2.0
4 stars 29 forks source link
hacktoberfest

ManageIQ::Providers::Kubevirt

CI Maintainability Test Coverage

Chat

Build history for master branch

ManageIQ plugin for the KubeVirt provider.

Things that work

Currently the provider supports the following simple use cases:

  1. Add the provider using token authentication.

  2. Clone virtual machines from templates.

  3. Connect to the SPICE console of the virtual machines.

  4. Virtual machine power management: stop and start

Things that don't work

Things that should be changed

Notes

How to get the default token from Kubernetes

List the set of secrets:

  $ kubectl get secrets
  NAME                  TYPE                                  DATA      AGE
  default-token-7psxt   kubernetes.io/service-account-token   3         20d

Get the details of the default token:

  # kubectl describe secret default-token-7psxt
  Name:         default-token-7psxt
  Namespace:    default
  Labels:       <none>
  Annotations:  kubernetes.io/service-account.name=default
                kubernetes.io/service-account.uid=d748bdb5-f9dc-11e7-9332-525400d6a390

  Type:  kubernetes.io/service-account-token

  Data
  ====
  ca.crt:     1025 bytes
  namespace:  7 bytes
  token:      eyJhbGciO...
  ...

The token is the value of the token attribute.

The extracted value can now be used to authenticate with the Kubernetes API, setting the Authorization header:

  Authorization: Bearer eyJ...

Development

See the section on plugins in the ManageIQ Developer Setup

For quick local setup run bin/setup, which will clone the core ManageIQ repository under the spec directory and setup necessary config files. If you have already cloned it, you can run bin/update to bring the core ManageIQ code up to date.

License

The gem is available as open source under the terms of the Apache License 2.0.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request