cluster-api-provider-hivelocity

command module
v1.0.0-alpha.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2023 License: Apache-2.0 Imports: 18 Imported by: 0

README ΒΆ

Kubernetes Cluster API Provider Hivelocity

⚠ This project is in the development stage. DO NOT USE IN PRODUCTION! ⚠

The Hivelocity Provider is a Kubernetes-native tool that allows you to manage Kubernetes clusters on Hivelocity's infrastructure.

It offers options for high availability with instant bare metal and simplifies the process of creating, updating, and operating production-ready clusters.

You can find more information about Hivelocity and their infrastructure at hivelocity.net.

πŸ“° What is the Cluster API Provider Hivelocity?

Cluster API is an operator that manages infrastructure similarly to how Kubernetes manages containers. It uses a declarative API and includes controllers that ensure the desired state of the infrastructure is maintained. This approach, referred to as Infrastructure as Software, allows for more automatic reactions to changes and problems compared to Infrastructure as Code solutions.

The Cluster API Provider Hivelocity (CAPHV) is the infrastructure component of the Cluster API stack. It enables the use of the Cluster API on Hivelocity's infrastructure, facilitating the creation of stable and highly available Kubernetes clusters. This allows organizations to benefit from the advantages of declarative infrastructure and cost-effectiveness on a global scale. The Hivelocity Provider enables the creation of stable and highly available Kubernetes clusters on certified HIPAA, PCI, ISAE-3402, SSAE 16 SOC1, and SOC2 infrastructure around the globe.

With the Cluster API Provider Hivelocity, you can trust that your infrastructure is in good hands with a provider that has a track record of dynamic performance, static pricing, and a global presence.

πŸ“ž Support

If you want to manage Kubernetes yourself, please contact Hivelocity to set up your infrastructure.

If you have questions regarding running (production-ready) clusters with CAPHV, then ask Syself.

✨ Features

  • Native Kubernetes manifests and API
  • Manages the bootstrapping of networking and devices
  • Choice of Linux distribution
  • Support for single and multi-node control plane clusters (HA Kubernetes)
  • Does not use SSH for bootstrapping nodes
  • Day 2 operations including updating Kubernetes and nodes, scaling, and self-healing
  • Custom CSR approver for approving kubelet-serving certificate signing requests (coming soon)
  • Support for both Hivelocity instant bare metal and custom dedicated setups

πŸš€ Get Started

If you're looking to jump straight into it, check out the Quick Start Guide

πŸ”₯ Compatibility with Cluster API and Kubernetes Versions

Please see: Versions

NOTE: As the versioning for this project is tied to the versioning of Cluster API, future modifications to this policy may be made to more closely align with other providers in the Cluster API ecosystem.

πŸ“– Documentation

Please see our book for in-depth documentation.

❓ Questions

  • If you have a question related to hardware: Hivelocity
  • If you have a question related to the Cluster API Provider Hivelocity: Github Discussions
  • If you need commercial support for Cluster API Provider Hivelocity: Syself

πŸ‘₯ Getting Involved and Contributing

Are you interested in contributing to Cluster API Provider Hivelocity? We, the maintainers and community, would love your suggestions, contributions, and help! If you want to learn more about how to get involved, you can contact the maintainers at any time.

To set up your environment, check out the development guide.

In the interest of getting more new people involved, we tag issues with good first issue. These are typically issues that have a smaller scope but are a good way to get acquainted with the codebase.

We also encourage ALL active community participants to act as if they are maintainers, even if you don't have "official" write permissions. This is a community effort, and we are here to serve the Kubernetes community. If you have an active interest and you want to get involved, you have real power! Don't assume that the only people who can get things done around here are the "maintainers".

We would also love to add more "official" maintainers, so show us what you can do!

πŸ’« Code of Conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

🚧 Github Issues

πŸ› Bugs

If you think you have found a bug, please follow these steps. Even if it just a small typo in the docs, please tell us how we can improve the project!

  • Take some time to do due diligence in the issue tracker. Your issue might be a duplicate.
  • Get the logs from the cluster controllers and paste them into your issue.
  • Open a bug report.
  • Give it a meaningful title to help others who might be searching for your issue in the future.
  • If you have questions, reach out to the Cluster API community on the Kubernetes Slack channel.
⭐ Tracking New Features

We also use the issue tracker to track features. If you have an idea for a feature, or think that you can help Cluster API Provider Hivelocity become even more awesome, then follow these steps:

  • Open a feature request.
  • Give it a meaningful title to help others who might be searching for your issue in the future.
  • Clearly define the use case. Use concrete examples, e.g. "I type this and Cluster API Provider Hivelocity does that".
  • Some of our larger features will require some design. If you would like to include a technical design for your feature, please include it in the issue.
  • After the new feature is well understood and the design is agreed upon, we can start coding the feature. We would love it if you could code it. So please open up a WIP (work in progress) pull request. Happy coding!

➑ Next

Getting Started

Documentation ΒΆ

Overview ΒΆ

Package main provides the executable to run the cluster-api-provider-hivelocity.

Directories ΒΆ

Path Synopsis
api
v1alpha1
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +gencrdrefdocs:force +groupName=infrastructure.cluster.x-k8s.io
Package v1alpha1 contains API Schema definitions for the infrastructure v1alpha1 API group +gencrdrefdocs:force +groupName=infrastructure.cluster.x-k8s.io
Package main contains functions for the caphvcli command.
Package main contains functions for the caphvcli command.
Package controllers provides the controllers for CAPHV.
Package controllers provides the controllers for CAPHV.
pkg
csr
Package csr contains functions to validate certificate signing requests.
Package csr contains functions to validate certificate signing requests.
scope
Package scope defines cluster and machine scope as well as a repository for the Hivelocity API.
Package scope defines cluster and machine scope as well as a repository for the Hivelocity API.
secrets
Package secretutil contains functions to manage secrets and strategies to manage secret cache.
Package secretutil contains functions to manage secrets and strategies to manage secret cache.
services/hivelocity/client
Package hvclient provides the interfaces to communicate with the API of Hivelocity.
Package hvclient provides the interfaces to communicate with the API of Hivelocity.
services/hivelocity/client/mock
Package mock implements mocks for important interfaces like the Hivelocity api.
Package mock implements mocks for important interfaces like the Hivelocity api.
services/hivelocity/device
Package device implements functions to manage the lifecycle of Hivelocity devices.
Package device implements functions to manage the lifecycle of Hivelocity devices.
services/hivelocity/hvtag
Package hvtag contains objects and utility functions to handle tags of Hivelocity devices.
Package hvtag contains objects and utility functions to handle tags of Hivelocity devices.
utils
Package utils implements some utility functions.
Package utils implements some utility functions.
test
claim-devices-or-fail
Package main contains functions to test the Hivelocity API.
Package main contains functions to test the Hivelocity API.
e2e
Package e2e provides methods to test CAPHV provider integration e2e.
Package e2e provides methods to test CAPHV provider integration e2e.
helpers
Package helpers includes helper functions important for unit and integration testing.
Package helpers includes helper functions important for unit and integration testing.
hvapi
Package main contains functions to test the Hivelocity API.
Package main contains functions to test the Hivelocity API.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL