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.
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:
kubectl crossplane install provider crossplane/provider-ibm-cloud:alpha
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
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: ibmcloud.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
Now that you have the IBM Cloud provider configured, you can provision infrastructure. See examples for the IBM Cloud Provider.
provider-ibm-cloud is a community driven project and we welcome contributions. See the Crossplane Contributing guidelines to get started.
For filing bugs, suggesting improvements, or requesting new features, please open an issue.
Please use the following to reach members of the community:
- Slack: Join our slack channel
- Forums: crossplane-dev
- Twitter: @crossplane_io
- Email: info@crossplane.io
provider-ibm-cloud goals and milestones will be tracked in the Crossplane repository. More information can be found in ROADMAP.md.
provider-ibm-cloud is run according to the same Governance and Ownership structure as the core Crossplane project.
provider-ibm-cloud adheres to the same Code of Conduct as the core Crossplane project.
provider-ibm-cloud is under the Apache 2.0 license.