Is there a way to setup/initialize the first Couchbase Server properly via the API?
Or from the command line on the server itself?
I have a server that is only accessible via an SSH jumphost (it is a private IP-ed server on a private network) so the web admin interface cannot be used.
I could setup a web proxy server, but even assuming it worked, having to configure a proxy server every time a Couchbase cluster is deployed is not very scalable (nor is it really compatible with configuration management systems like Puppet).
I tried piecing something together myself, but it never really got all the way there.
I was able to specify the data directory, memory quota, new admin password, etc. but the server seemed to be in an odd state.
The ‘default’ pool did not seem to exist, even though I was able to create the buckets under /pool/default/buckets (a GET request to /pools/default did not work properly).
Here is one of the sets of API calls I tried right after a fresh install of Couchbase Server 3.0.2:
curl -XPOST -u admin:password ‘http://localhost:8091/nodes/self/controller/settings’ -d index_path=/opt/couchbase_data
curl -XPOST -u admin:password ‘http://localhost:8091/pools/default’ -d memoryQuota=256
curl -XPOST -u admin:password ‘http://localhost:8091/settings/web’ -d username=ClusterAdmin -d password=adminpass
curl -XPOST -u ClusterAdmin:adminpass ‘http://localhost:8091/pools/default/buckets’ -d name=document -d ramQuotaMB=128 -d authType=none -d replicaNumber=0 -d proxyPort=11220