provider-ibm-cloud
Overview
provider-ibm-cloud
is the Crossplane infrastructure provider for IBM Cloud. The provider that is built from the source
code in this repository can be installed into a Crossplane control plane and
adds the following new functionality:
- Custom Resource Definitions (CRDs) that model IBM Cloud infrastructure and services
(e.g. Resource Controller,
IAM, etc.)
- Controllers to provision these resources in IBM Cloud based on the users desired
state captured in CRDs they create.
- Implementations of Crossplane's portable resource abstractions, enabling IBM Cloud
resources to fulfill a user's general need for cloud services.
Getting Started and Documentation
For getting started guides, installation, deployment, and administration, see
our Documentation.
To use the IBM Cloud Provider you'll need an IBM Cloud account. You may sign up
for a free IBM Cloud account. You'll need also an IBM
Cloud CLI which needs to be installed and configured.
Make sure you have a Kubernetes cluster and installed Crossplane, then:
Install IBM Cloud Provider
cat <<EOF | kubectl apply -f -
apiVersion: pkg.crossplane.io/v1alpha1
kind: Provider
metadata:
name: provider-ibm-cloud
spec:
package: "crossplane/provider-ibm-cloud:alpha"
EOF
Generate IBM Cloud API Key
Using an IBM Cloud account with permissions to manage IBM Cloud Services:
if [[ -z "${IBMCLOUD_API_KEY}" ]]; then
echo "*** Generating new APIKey"
IBMCLOUD_API_KEY=$(ibmcloud iam api-key-create provider-ibm-cloud-key -d "Key for Crossplane Provider IBM Cloud" | grep "API Key" | awk '{ print $3 }')
fi
Create a Provider Secret
kubectl create secret generic provider-ibm-cloud-secret --from-literal=credentials=${IBMCLOUD_API_KEY} -n crossplane-system
We will create the following ProviderConfig object to configure credentials for IBM Cloud Provider:
cat <<EOF | kubectl apply -f -
apiVersion: ibm-cloud.crossplane.io/v1beta1
kind: ProviderConfig
metadata:
name: ibm-cloud
spec:
credentials:
source: Secret
secretRef:
namespace: crossplane-system
name: provider-ibm-cloud-secret
key: credentials
region: us-south
EOF
Next Steps
Now that you have the IBM Cloud provider configured, you can provision infrastructure. See examples for the IBM Cloud Provider.
Contributing
provider-ibm-cloud is a community driven project and we welcome contributions. See the
Crossplane Contributing
guidelines to get started.
Report a Bug
For filing bugs, suggesting improvements, or requesting new features, please
open an issue.
Please use the following to reach members of the community:
Roadmap
provider-ibm-cloud goals and milestones will be tracked in the Crossplane
repository. More information can be found in
ROADMAP.md.
Governance and Owners
provider-ibm-cloud is run according to the same
Governance
and Ownership
structure as the core Crossplane project.
Code of Conduct
provider-ibm-cloud adheres to the same Code of
Conduct
as the core Crossplane project.
Licensing
provider-ibm-cloud is under the Apache 2.0 license.
![FOSSA Status](https://app.fossa.io/api/projects/git%2Bgithub.com%2Fcrossplane-contrib/%2Fprovider-ibm-cloud.svg?type=large)