Chapter 3. Provisioning 3scale services and configurations via the operator (Capabilities)
3.1. Introduction Copy linkLink copied to clipboard!
This document provides information about provisioning 3scale services and configurations via the 3scale operator.
The 3scale operator is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process. For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.
3.1.1. Prerequisites Copy linkLink copied to clipboard!
- A 3scale 2.5 On-Premises instance
- You must have the 3scale operator installed.
OpenShift Container Platform 3.11
- A user account with administrator privileges in the OpenShift cluster
When using the operator to update API configurations in 3scale, the custom resource definitions (CRDs) are the source of truth. If changes are made in the Admin UI, they will not persist and eventually be overridden by the definition in the CRD.
3.3. Deploying optional tenants custom resource Copy linkLink copied to clipboard!
Optionally, you may create other tenants deploying Tenant custom resource objects.
Deploy a new tenant in your 3scale instance by creating a secret to store the administrator password:
$ cat ecorp-admin-secret.yaml apiVersion: v1 kind: Secret metadata: name: ecorp-admin-secret type: Opaque stringData: admin_password: <admin password value> $ oc create -f ecorp-admin-secret.yaml secret/ecorp-admin-secret createdCreate a new tenant CR YAML file with the following content:
apiVersion: capabilities.3scale.net/v1alpha1 kind: Tenant metadata: name: ecorp-tenant spec: username: admin systemMasterUrl: https://master.<wildcardDomain> email: admin@ecorp.com organizationName: ECorp masterCredentialsRef: name: system-seed passwordCredentialsRef: name: ecorp-admin-secret tenantSecretRef: name: ecorp-tenant-secret namespace: operator-testNoteFor more information about the Tenant Custom Resource fields and possible values, refer to the Tenant CRD Reference documentation.
export NAMESPACE="operator-test" oc project ${NAMESPACE} oc create -f <yaml-name>- This should trigger the creation of a new tenant in your 3scale solution in the operator-test project.
Tenant provider_key and admin domain URL will be stored in a secret. You can specify the secret location by using tenantSecretRef tenant spec key.
3.4. Deleting created custom resources Copy linkLink copied to clipboard!
Deleting the APIManager will delete the 3scale installation.
Delete the APIManager custom resource and the 3scale solution elements that have been deployed from it.
Deleting the APIManager will delete all 3scale related objects in where it has been deployed:
oc delete -f <yaml-name-of-the-apimanager-custom-resource>
Delete the 3scale operator, its associated roles and service accounts.
oc delete -f deploy/operator.yaml oc delete -f deploy/role_binding.yaml oc delete -f deploy/service_account.yaml oc delete -f deploy/role.yamlDelete the APIManager and Capabilities related CRDs.
oc delete -f deploy/crds/