{"id":18802291,"url":"https://github.com/oracle-quickstart/oci-confluent","last_synced_at":"2025-04-13T18:31:29.172Z","repository":{"id":106379991,"uuid":"149176352","full_name":"oracle-quickstart/oci-confluent","owner":"oracle-quickstart","description":"Terraform module to deploy Confluent on Oracle Cloud Infrastructure (OCI)","archived":true,"fork":false,"pushed_at":"2020-10-15T19:27:44.000Z","size":4290,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-21T06:43:57.042Z","etag":null,"topics":["cloud","confluent","kafka","oci","oracle","partner-led","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/oracle-quickstart.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-09-17T19:22:07.000Z","updated_at":"2024-05-09T11:41:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"45dbed50-6343-450b-a171-059758e8f018","html_url":"https://github.com/oracle-quickstart/oci-confluent","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-confluent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-confluent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-confluent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oracle-quickstart%2Foci-confluent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oracle-quickstart","download_url":"https://codeload.github.com/oracle-quickstart/oci-confluent/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248760350,"owners_count":21157345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloud","confluent","kafka","oci","oracle","partner-led","terraform"],"created_at":"2024-11-07T22:27:22.829Z","updated_at":"2025-04-13T18:31:29.166Z","avatar_url":"https://github.com/oracle-quickstart.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# oci-confluent\nThese are Terraform modules that deploy [Confluent Platform](https://www.confluent.io/product/confluent-platform/) on [Oracle Cloud Infrastructure (OCI)](https://cloud.oracle.com/en_US/cloud-infrastructure).  They are developed jointly by Oracle and Confluent.\n\n* [community](community) deploys the Community Edition\n* [enterprise](enterprise) deploys the Enterprise Edition\n\n## Architecture\n![](./images/00-architecture.png)\n\n## Prerequisites\nFirst off you'll need to do some pre deploy setup.  That's all detailed [here](https://github.com/oracle/oci-quickstart-prerequisites).\n\n## Clone the Module\nNow, you'll want a local copy of this repo.  You can make that with the commands:\n\n    git clone https://github.com/oracle-quickstart/oci-confluent.git\n\nIf you want to deploy community edition:\n\n    cd oci-confluent/community\n    ls\n    \nIf you want to deploy enterprise edition (comes with 30 day free trial):\n\n    cd oci-confluent/enterprise\n    ls\n\n![](./images/01-git-clone.png)\n\nWe now need to initialize the directory with the module in it.  This makes the module aware of the OCI provider.  You can do this by running:\n\n    terraform init\n\nThis gives the following output:\n\n![](./images/02-tf-init.png)\n\n## Deploy\nNow for the main attraction.  Let's make sure the plan looks good:\n\n    terraform plan\n\nThat gives:\n\n![](./images/03-tf-plan.png)\n\nThis command details what will be deployed based on the `variables.tf` file.\nIf that's good, we can go ahead and apply the deploy:\n\n    terraform apply\n\nYou'll need to enter `yes` when prompted.  The apply should take about five minutes to run.  Once complete, you'll see something like this:\n\n![](./images/04-tf-apply.png)\n\nWhen the apply is complete, the infrastructure will be deployed, but cloud-init scripts will still be running.  Those will wrap up asynchronously.  The cluster might take ten minutes.  Now is a good time to get a coffee.\n\nThe outputs of the deploy list the public ips of all the deployed instances.\nYou can ssh into any of the instances by running a command like:\n\n    ssh -i ~/.ssh/oci opc@\u003cinstance ip\u003e\n\n## Confluent Control Center\nIf you installed the enterprise version, you can login to Confluent Control Center.\n\n![](./images/07-controlcenter.png)\n\n## View the Cluster in OCI Console\nYou can also login to the web console [here](https://console.us-phoenix-1.oraclecloud.com/a/compute/instances) to view the IaaS that is running from the\ndeployment.\n\nVirtual Cloud Network (vcn) page:\n![](./images/05-vcn.png)\n\nInstances page:\n![](./images/06-instances.png)\n\n## Create Topics, Produce and Consume Messages\nFirst off, let's try creating a topic.\n\nLogin to a broker instance:  \n\n    ssh opc@\u003cbroker_instance_ip\u003e\n\nNow create a topic by running the command  \n\n    /usr/bin/kafka-topics --zookeeper zookeeper-0:2181 --create --topic demo --partitions 1 --replication-factor 3\n\nAlternatively, if you installed Enterprise Edition, you can create a topic through the Confluent Control Center Web Console.\n\nNow we can try adding a few messages to the topic.  For instance, we can use the REST API to publish 10 messages.  This can be done from any machine which has access to Kafka REST API endpoint.  For example:\n\n    export RPURL=http://rest-0:8082\n    curl -X POST -H \"Content-Type: application/vnd.kafka.json.v1+json\"  --data '{\"records\":[{\"value\":{\"foo\":\"bar\"}}]}' $RPURL/topics/demo\n\nNow let's trying consuming messages:\n\n    curl -X POST -H \"Content-Type: application/vnd.kafka.v1+json\" --data '{\"name\": \"ext_consumer_demo\",\"format\": \"json\", \"auto.offset.reset\": \"smallest\"}' $RPURL/consumers/c1\n    curl -X GET -H \"Accept: application/vnd.kafka.json.v1+json\" $RPURL/consumers/c1/instances/ext_consumer_demo/topics/demo\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Foci-confluent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foracle-quickstart%2Foci-confluent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foracle-quickstart%2Foci-confluent/lists"}