provider-ibm-cloud

module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2020 License: Apache-2.0

README

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
Configure the Provider

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.

Contact

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

Directories

Path Synopsis
Package apis contains Kubernetes API for IMB Cloud provider.
Package apis contains Kubernetes API for IMB Cloud provider.
resourcecontrollerv2
Package resourcecontrollerv2 contains IBM Cloud resource controller API versions
Package resourcecontrollerv2 contains IBM Cloud resource controller API versions
resourcecontrollerv2/v1alpha1
Package v1alpha1 contains the v1alpha1 group Sample resources of the Template provider.
Package v1alpha1 contains the v1alpha1 group Sample resources of the Template provider.
v1beta1
Package v1beta1 contains the core resources of the Google Cloud Platform.
Package v1beta1 contains the core resources of the Google Cloud Platform.
cmd
pkg

Jump to

Keyboard shortcuts

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