{"id":13616992,"url":"https://github.com/eshepelyuk/cmak-docker","last_synced_at":"2025-04-07T12:09:19.158Z","repository":{"id":40602300,"uuid":"103028052","full_name":"eshepelyuk/cmak-docker","owner":"eshepelyuk","description":"CMAK (prev. Kafka Manager) and cmak2zk docker images","archived":false,"fork":false,"pushed_at":"2023-06-22T09:11:48.000Z","size":109,"stargazers_count":221,"open_issues_count":0,"forks_count":75,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-31T10:09:09.693Z","etag":null,"topics":["cmak","cmak2zk","docker","docker-image","fuck-russia","kafka-manager","kafka-manager-docker","kubernetes"],"latest_commit_sha":null,"homepage":"","language":"Python","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/eshepelyuk.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}},"created_at":"2017-09-10T12:36:01.000Z","updated_at":"2025-03-24T02:40:57.000Z","dependencies_parsed_at":"2024-01-16T23:31:14.011Z","dependency_job_id":"16ab36e7-7615-41c7-8d5e-1d80e6fb1f24","html_url":"https://github.com/eshepelyuk/cmak-docker","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshepelyuk%2Fcmak-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshepelyuk%2Fcmak-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshepelyuk%2Fcmak-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eshepelyuk%2Fcmak-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eshepelyuk","download_url":"https://codeload.github.com/eshepelyuk/cmak-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247648977,"owners_count":20972945,"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":["cmak","cmak2zk","docker","docker-image","fuck-russia","kafka-manager","kafka-manager-docker","kubernetes"],"created_at":"2024-08-01T20:01:35.677Z","updated_at":"2025-04-07T12:09:19.121Z","avatar_url":"https://github.com/eshepelyuk.png","language":"Python","funding_links":[],"categories":["HarmonyOS"],"sub_categories":["Windows Manager"],"readme":"# CMAK (prev. Kafka Manager) and cmak2zk docker images\n\n## Usage\n\n[CMAK](https://github.com/yahoo/CMAK) uses Zookeeper only as storage for own settings.\nI.e. Zookeeper only plays role of a local database.\nCMAK is unable to detect Kafka cluster from provided Zookeper,\nKafka cluster settings must be provided explicitely.\n\nIt's recommended to always run dedicated Zookeeper instance to be used by CMAK.\n\nUse `docker-compose` with following content:\n\n```yaml\nversion: '3.6'\nservices:\n  zk:\n    image: zookeeper:latest\n    restart: always\n    environment:\n      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181\n  cmak:\n    image: ghcr.io/eshepelyuk/dckr/cmak-3.0.0.5:latest\n    restart: always\n    ports:\n      - \"9000:9000\"\n    environment:\n      ZK_HOSTS: \"zk:2181\"\n```\n\nTo quickly launch the file above, execute\n\n```bash\n$ curl -sL https://raw.githubusercontent.com/eshepelyuk/cmak-docker/master/examples/docker-compose-sample.yaml | \\\n    docker-compose -f - up\n```\n\n## Configuration\n\n### CMAK application configuration\n\nCMAK reads its configuration from file [/cmak/conf/application.conf](https://github.com/yahoo/CMAK/blob/master/conf/application.conf).\nEvery parameter could be overriden via JVM system property, i.e. `-DmyProp=myVal`.\nProperties are passed to CMAK container via [docker arguments](https://docs.docker.com/engine/reference/builder/#cmd).\n\nFor example, to enable basic authentication and configure zookeeper hosts using `docker-compose`:\n\n```yaml\nversion: '3.6'\nservices:\n  zk:\n    image: zookeeper:latest\n    restart: always\n    environment:\n      ZOO_SERVERS: server.1=0.0.0.0:2888:3888;2181\n  cmak:\n    image: ghcr.io/eshepelyuk/dckr/cmak-3.0.0.5:latest\n    restart: always\n    command:\n      - \"-Dcmak.zkhosts=zk:2181\"\n      - \"-DbasicAuthentication.enabled=true\"\n      - \"-DbasicAuthentication.username=username\"\n      - \"-DbasicAuthentication.password=password\"\n    ports:\n      - \"9000:9000\"\n```\n\nTo quickly launch the file above, execute\n\n```bash\n$ curl -sL https://raw.githubusercontent.com/eshepelyuk/cmak-docker/master/examples/docker-compose-override.yaml | \\\n    docker-compose -f - up\n```\n\n### Kafka clusters configuration with cmak2zk\n\nCMAK doesn't provide tools to preconfigure managed Kafka clusters from files.\nIt could be done either via HTTP API or via CMAK UI in browser.\nThis could be inconvenient for declarative configuration or GitOps flow.\n\nIts purpose is to take Kafka cluster configuration for CMAK in YAML format\nand populate CMAK compatible config in Zookeeper.\nThis allows to avoid manual configuration of CMAK and provides better possibilities\nto use CMAK in declarative configuration.\n\n`cmak2zk` is distributed as [docker image](https://github.com/users/eshepelyuk/packages/container/package/dckr%2Fcmak2zk).\n\nTo check out available options, run the image without parameters.\n\n```sh\ndocker run ghcr.io/eshepelyuk/dckr/cmak2zk:latest\n```\n\nExample `docker-compose` and Kafka cluster configuration are located at\n[cmak2zk/examples](https://github.com/eshepelyuk/cmak-docker/tree/master/examples) directory.\nOne could run them using commands below.\n\n```sh\ncurl -sLo clusters.yaml \\\n  https://raw.githubusercontent.com/eshepelyuk/cmak-docker/master/examples/clusters.yaml\n\ncurl -sLo docker-compose-cmak2zk.yaml \\\n  https://raw.githubusercontent.com/eshepelyuk/cmak-docker/master/examples/docker-compose-cmak2zk.yaml\n\ndocker-compose -f docker-compose-cmak2zk.yaml up\n```\n\nWait for some time until components are stabilizing, it may take up to 5 mins.\nThen, open your browser at http://localhost:9000.\nThere should be two pre-configured clusters, pointing to the same Kafka instance, running in Docker.\n\n## Usage in Kubernetes\n\nIt is possible to use dedicated CMAK operator for installing and configuring CMAK in Kubernetes.\nThat operator uses this docker image as one of its component.\n\nInstallation instructions available at [CMAK operator homepage](https://github.com/eshepelyuk/cmak-operator).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feshepelyuk%2Fcmak-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feshepelyuk%2Fcmak-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feshepelyuk%2Fcmak-docker/lists"}