Package: couchformation
Couch Formation 4.0.0a27Toolset for running and managing Couchbase assets in the cloud.DisclaimerThis package isNOT SUPPORTED BY COUCHBASE. The toolset is under active development, therefore features and functionality can change.PrerequisitesPython 3.8+Cloud CLI/SDKsAWS CLIGoogle Cloud CLIAzure CLIHomebrew (for macOS)Quick StartInstall (pip user local method):pip3 install --user couchformationexport PATH=$(python3 -m site --user-base)/bin:$PATHInstall (virtual environment method):python3 -m venv couchformationcd couchformation. bin/activatepip3 install couchformationInstall directly from GitHub repo:pip3 install --user git+https://github.com/couchbaselabs/couch-formation-coreBasic exampleConfigure and deploy a Couchbase Server cluster:cloudmgr create --build cbs --cloud gcp --project test-gcp --name test-cluster --region us-central1 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 4x16Deploy the project:cloudmgr deploy --project test-gcpMDS exampleCreate the initial service group:cloudmgr create --build cbs --cloud aws --project dev01 --name testdb01 --region us-east-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32Add a second service group:cloudmgr add --build cbs --cloud aws --project dev01 --name testdb01 --region us-east-2 --quantity 2 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32 --services analyticsMultiservice project exampleConfigure a 3 node Couchbase Server cluster in US Ease, another 3 node Couchbase Server cluster in US West, plus a Linux generic node and a Windows generic node to run an application.cloudmgr create --build cbs --cloud aws --project dev01 --name source01 --region us-east-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32cloudmgr create --build cbs --cloud aws --project dev01 --name target01 --region us-west-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32cloudmgr create --build generic --cloud aws --project dev01 --name app01 --region us-east-2 --quantity 1 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32cloudmgr create --build generic --cloud aws --project dev01 --name app02 --region us-east-2 --quantity 1 --os_id windows --os_version 2022 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32Custom services examplecloudmgr create --build cbs --cloud aws --project eventing --name eventing01 --region us-east-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32 --services data,index,query,eventingSync Gateway exampleCreate the Couchbase Server cluster:cloudmgr create --build cbs --cloud aws --project sgw-dev01 --name devdb01 --region us-east-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 4x16Create a Sync Gateway and connect to the cluster:cloudmgr create --build sgw --cloud aws --project sgw-dev01 --name gateway --region us-east-2 --quantity 1 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 4x16 --connect devdb01Capella exampleFor Capella the Couch Formation project aligns with the Capella project.cloudmgr create --build capella --cloud capella --project test-project --name test-cluster --region us-east-2 --quantity 3 --provider aws --machine_type 4x16Optionally create an app service (Sync Gateway in Capella) and attach it to a Capella database.cloudmgr create --build capella --cloud capella --project test-project --name test-app-svc --quantity 2 --machine_type 4x8 --type mobile --connect test-clusterAdditional CLI examplesDestroy a project:cloudmgr destroy --project dev01List node IP addresses:cloudmgr list --project dev01Operate on only one service in a project:cloudmgr deploy --project dev01 --name source01AWS SSO SupportSetup AWS CLI SSO:aws configure ssoSSO Integration:Use the auth_mode option to enable SSO integration. Couch Formation will open a browser for you to complete the SSO process, or you will have to paste the link provided into a browser to continue.cloudmgr create --build cbs --cloud aws --project dev01 --name testdb01 --auth_mode sso --region us-east-2 --quantity 3 --os_id ubuntu --os_version 22.04 --ssh_key /Users/jdoe/.ssh/jdoe-default-key-pair.pem --machine_type 8x32AWS Default AuthenticationConfigure the AWS CLI via an appropriate method based on your IAM settings. For example useaws configureto configure long term credentials, or manually set the access parameters in.aws/credentialsor with environment variables. Couch Formation accepts an optional--profileservice configuration parameter to use a specific auth profile. Checkherefor more information.GCP Default AuthenticationFor Google Cloud usegcloud authto configure CLI access.  Checkherefor more information.Azure Default AuthenticationFor Azure useaz loginto configure CLI access. Checkherefor more information.Capella SupportCredentials DirectoryThe automation for Capella uses the v4 public API. To use the automation, create an API key in the Capella UI and save it to a file nameddefault-api-key-token.txtin a directory named.capellain your home directory..capella
├── credentials
├── default-api-key-token.txt
├── project-api-key-token.txt
└── test-api-key-token.txtCredentials file format:[default]
api_host = cloudapi.cloud.couchbase.com
token_file = default-api-key-token.txt
account_email = john.doe@example.com

[project]
token_file = project-api-key-token.txtWindowsDownload and install a 64-bit version of Python 3.8+ fromhere. Use theRun as Administratoroption to start PowerShell and then install Couch Formation withpip. Once the installation is complete, it will be available for all users (launch a PowerShell window as your login user to use Couch Formation). You should install thewheelpacakge before you install Couch Formation.pip3 install wheelpip3 install couchformationOperating System InformationIDOperating SystemVersionsAWS UserGCP UserAzure UseramznAmazon Linux2, 2023ec2-userN/AN/ArhelRed Hat Enterprise Linux8, 9ec2-useradminrhelcentosCentOS8centoscentoscentosolOracle Linux8, 9ec2-userN/AN/ArockyRocky Linux8, 9rockyrockyN/AfedoraFedora34corefedoraN/AslesSUSE Linux12, 15ec2-useradminslesopensuse-leapopenSUSE15ec2-useradminslesubuntuUbuntu Linux20.04, 22.04ubuntuubuntuubuntudebianDebian Linux10, 11adminadmindebianwindowsWindows Server2019, 2022AdministratoradminuseradminusermacosmacOS13, 14ec2-userN/AN/ABuild TypesBuild TypeDescriptioncbsCouchbase ServersgwSync GatewaycapellaCapella DatabasegenericBase configured node from imageTroubleshootingLog files are written to.config/couch-formation/log.