diff options
author | Damien | 2018-05-12 21:41:58 +0100 |
---|---|---|
committer | Damien | 2018-05-12 21:41:58 +0100 |
commit | 2cecede3dd19f370dd4ad9febf447b894b504b3e (patch) | |
tree | f9d0739e2a1dbcc09156de6682f74b16d9af0c5d | |
download | aur-2cecede3dd19f370dd4ad9febf447b894b504b3e.tar.gz |
adding confluent platform version 4.1.0
-rw-r--r-- | .SRCINFO | 71 | ||||
-rw-r--r-- | .gitignore | 5 | ||||
-rw-r--r-- | PKGBUILD | 132 | ||||
-rw-r--r-- | install_confluent.sh | 34 | ||||
-rw-r--r-- | systemd_sysusers.d_confluent.conf | 17 |
5 files changed, 259 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..c47321e31808 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,71 @@ +pkgbase = confluent-platform + pkgdesc = Confluent, founded by the creators of Apache Kafka, delivers a complete execution of Kafka for the Enterprise, to help you run your business in real time. + pkgver = 4.1.0 + pkgrel = 1 + url = https://www.confluent.io/ + install = install_confluent.sh + arch = any + license = Commercial + depends = java-runtime + backup = etc/confluent-control-center/log4j.properties + backup = etc/confluent-control-center/control-center-dev.properties + backup = etc/confluent-control-center/propertyfile.conf + backup = etc/confluent-control-center/log4j-rolling.properties + backup = etc/confluent-control-center/control-center-production.properties + backup = etc/confluent-control-center/ldap.conf + backup = etc/confluent-control-center/log4j-silent.properties + backup = etc/confluent-control-center/control-center.properties + backup = etc/schema-registry/schema-registry.properties + backup = etc/schema-registry/log4j.properties + backup = etc/schema-registry/connect-avro-distributed.properties + backup = etc/schema-registry/connect-avro-standalone.properties + backup = etc/kafka-connect-ibmmq/IbmMQSourceConnector.properties + backup = etc/kafka-connect-ibmmq/connect-avro-localhost.properties + backup = etc/kafka-connect-s3/quickstart-schema-source-for-s3.properties + backup = etc/kafka-connect-s3/quickstart-s3.properties + backup = etc/kafka/log4j.properties + backup = etc/kafka/connect-standalone.properties.orig + backup = etc/kafka/connect-log4j.properties + backup = etc/kafka/connect-distributed.properties + backup = etc/kafka/connect-console-source.properties + backup = etc/kafka/connect-standalone.properties + backup = etc/kafka/producer.properties + backup = etc/kafka/connect-file-source.properties + backup = etc/kafka/tools-log4j.properties + backup = etc/kafka/consumer.properties + backup = etc/kafka/connect-distributed.properties.orig + backup = etc/kafka/connect-file-sink.properties + backup = etc/kafka/server.properties + backup = etc/kafka/connect-console-sink.properties + backup = etc/kafka/zookeeper.properties + backup = etc/kafka-rest/log4j.properties + backup = etc/kafka-rest/kafka-rest.properties + backup = etc/kafka-connect-replicator/replicator-log4j.properties + backup = etc/kafka-connect-replicator/replicator.properties + backup = etc/kafka-connect-replicator/quickstart-replicator-unicluster.properties + backup = etc/kafka-connect-replicator/replicator-connect-distributed.properties + backup = etc/kafka-connect-replicator/quickstart-replicator.properties + backup = etc/kafka-connect-replicator/replicator-connect-standalone.properties + backup = etc/ksql/log4j.properties + backup = etc/ksql/log4j-rolling.properties + backup = etc/ksql/log4j-file.properties + backup = etc/ksql/datagen.properties + backup = etc/ksql/ksql-server.properties + backup = etc/ksql/log4j-silent.properties + backup = etc/kafka-connect-hdfs/quickstart-hdfs.properties + backup = etc/kafka-connect-jms/ActiveMQSourceConnector.properties + backup = etc/kafka-connect-jms/JMSSourceConnector.properties + backup = etc/kafka-connect-jms/connect-avro-localhost.properties + backup = etc/kafka-connect-elasticsearch/quickstart-elasticsearch.properties + backup = etc/kafka-connect-jdbc/sink-quickstart-sqlite.properties + backup = etc/kafka-connect-jdbc/source-quickstart-sqlite.properties + backup = etc/confluent-rebalancer/log4j.properties + backup = etc/camus/camus.properties + backup = etc/camus/log4j.xml + backup = etc/kafka-connect-activemq/ActiveMQSourceConnector.properties + backup = etc/kafka-connect-activemq/connect-avro-localhost.properties + source = http://packages.confluent.io/archive/4.1/confluent-4.1.0-2.11.tar.gz + sha256sums = f355e80517c8c2667ef5d09bff2aecfd3c17c472ec715ff0b74ae7e97c8b9258 + +pkgname = confluent-platform + diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000000..353683943f36 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.pkg.tar.xz +*.src.tar.gz +*.src.tar.xz +pkg +src diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..3c8aeb98a890 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,132 @@ +# Maintainer: Damien GASPARINA <dgasparina at gmail dot com> +pkgname=confluent-platform +pkgver=4.1.0 +pkgrel=1 +pkgdesc='Confluent, founded by the creators of Apache Kafka, delivers a complete execution of Kafka for the Enterprise, to help you run your business in real time.' +arch=('any') +url='https://www.confluent.io/' +license=('Commercial') +depends=('java-runtime') +backup=(etc/confluent-control-center/log4j.properties + etc/confluent-control-center/control-center-dev.properties + etc/confluent-control-center/propertyfile.conf + etc/confluent-control-center/log4j-rolling.properties + etc/confluent-control-center/control-center-production.properties + etc/confluent-control-center/ldap.conf + etc/confluent-control-center/log4j-silent.properties + etc/confluent-control-center/control-center.properties + etc/schema-registry/schema-registry.properties + etc/schema-registry/log4j.properties + etc/schema-registry/connect-avro-distributed.properties + etc/schema-registry/connect-avro-standalone.properties + etc/kafka-connect-ibmmq/IbmMQSourceConnector.properties + etc/kafka-connect-ibmmq/connect-avro-localhost.properties + etc/kafka-connect-s3/quickstart-schema-source-for-s3.properties + etc/kafka-connect-s3/quickstart-s3.properties + etc/kafka/log4j.properties + etc/kafka/connect-standalone.properties.orig + etc/kafka/connect-log4j.properties + etc/kafka/connect-distributed.properties + etc/kafka/connect-console-source.properties + etc/kafka/connect-standalone.properties + etc/kafka/producer.properties + etc/kafka/connect-file-source.properties + etc/kafka/tools-log4j.properties + etc/kafka/consumer.properties + etc/kafka/connect-distributed.properties.orig + etc/kafka/connect-file-sink.properties + etc/kafka/server.properties + etc/kafka/connect-console-sink.properties + etc/kafka/zookeeper.properties + etc/kafka-rest/log4j.properties + etc/kafka-rest/kafka-rest.properties + etc/kafka-connect-replicator/replicator-log4j.properties + etc/kafka-connect-replicator/replicator.properties + etc/kafka-connect-replicator/quickstart-replicator-unicluster.properties + etc/kafka-connect-replicator/replicator-connect-distributed.properties + etc/kafka-connect-replicator/quickstart-replicator.properties + etc/kafka-connect-replicator/replicator-connect-standalone.properties + etc/ksql/log4j.properties + etc/ksql/log4j-rolling.properties + etc/ksql/log4j-file.properties + etc/ksql/datagen.properties + etc/ksql/ksql-server.properties + etc/ksql/log4j-silent.properties + etc/kafka-connect-hdfs/quickstart-hdfs.properties + etc/kafka-connect-jms/ActiveMQSourceConnector.properties + etc/kafka-connect-jms/JMSSourceConnector.properties + etc/kafka-connect-jms/connect-avro-localhost.properties + etc/kafka-connect-elasticsearch/quickstart-elasticsearch.properties + etc/kafka-connect-jdbc/sink-quickstart-sqlite.properties + etc/kafka-connect-jdbc/source-quickstart-sqlite.properties + etc/confluent-rebalancer/log4j.properties + etc/camus/camus.properties + etc/camus/log4j.xml + etc/kafka-connect-activemq/ActiveMQSourceConnector.properties + etc/kafka-connect-activemq/connect-avro-localhost.properties + ) +install=install_confluent.sh + +source=(http://packages.confluent.io/archive/4.1/confluent-4.1.0-2.11.tar.gz) + +sha256sums=('f355e80517c8c2667ef5d09bff2aecfd3c17c472ec715ff0b74ae7e97c8b9258') + + +package() { + cd "${srcdir}/confluent-${pkgver}" + + # Installing and copying all required files + install -d "${pkgdir}"{/usr/,/usr/bin,/etc/,/usr/lib/,/usr/share/,/usr/src/} + + cp -rf ${srcdir}/confluent-${pkgver}/bin/* ${pkgdir}/usr/bin/ + cp -rf ${srcdir}/confluent-${pkgver}/src/* ${pkgdir}/usr/src/ + cp -rf ${srcdir}/confluent-${pkgver}/lib/* ${pkgdir}/usr/lib + cp -rf ${srcdir}/confluent-${pkgver}/share/* ${pkgdir}/usr/share/ + cp -rf ${srcdir}/confluent-${pkgver}/etc/* ${pkgdir}/etc/ + + cp ${srcdir}/systemd_sysusers.d_confluent.conf ${pkgdir}/confluent.conf + + # Additional configuration to systemm.d + # TO CONSIDER Should tmpfile be used for the default values? + install -D -m 644 ${srcdir}/systemd_sysusers.d_confluent.conf "${pkgdir}/usr/lib/sysusers.d/confluent.conf" + + # We probably don't need binaries for Windows + rm -rf ${pkgdir}/usr/bin/windows/ + + # Configure a development environment + # Ensure that localhost is use as default value + _c3_etc=${pkgdir}/etc/confluent-control-center/control-center.properties + _c3_system=${pkgdir}/usr/lib/systemd/system/confluent-control-center.service + _kafka_etc=${pkgdir}/etc/kafka/server.properties + _zookeeper_etc=${pkgdir}/etc/kafka/zookeeper.properties + + # Configure Apache kafka + sed -i 's#log.dirs=/tmp/kafka-logs#log.dirs=/var/lib/confluent/kafka#g' $_kafka_etc + sed -i 's#dataDir=/tmp/zookeeper#dataDir=/var/lib/confluent/zookeeper#g' $_zookeeper_etc + + # Configure Confluent Control Center + # Required directories for Confluent Control Center + sed -i 's/#bootstrap.servers=kafka1:9092/bootstrap.servers=localhost:9092/g' $_c3_etc + sed -i 's/#zookeeper.connect=zookeeper1:2181/zookeeper.connect=localhost:2181/g' $_c3_etc + sed -i 's/#confluent.controlcenter.connect.cluster=connect1:8083/confluent.controlcenter.connect.cluster=localhost:8083/g' $_c3_etc + + # Configure replication factor to 1 for internal topics + sed -i 's/#confluent.controlcenter.internal.topics.replication=3/confluent.controlcenter.internal.topics.replication=1/g' $_c3_etc + sed -i 's/#confluent.monitoring.interceptor.topic.replication=3/confluent.monitoring.interceptor.topic.replication=1/g' $_c3_etc + sed -i 's/#confluent.controlcenter.command.topic.replication=3/confluent.controlcenter.command.topic.replication=1/g' $_c3_etc + sed -i 's/#confluent.metrics.topic.replication=3/confluent.metrics.topic.replication=1/g' $_c3_etc + + # Use a persistent folder for control center data directory + sed -i 's#confluent.controlcenter.data.dir=/tmp/confluent/control-center#confluent.controlcenter.data.dir=/usr/share/confluent-control-center#g' $_c3_etc + + # Configure local kafka for monitoring + echo '' >> $_kafka_etc + echo 'metric.reporters=io.confluent.metrics.reporter.ConfluentMetricsReporter' >> $_kafka_etc + echo 'confluent.metrics.reporter.bootstrap.servers=localhost:9092' >> $_kafka_etc + + # Configure systemd to use control-center.properties instead of default production one + sed -i 's#ExecStart=/usr/bin/control-center-start /etc/confluent-control-center/control-center-production.properties#ExecStart=/usr/bin/control-center-start /etc/confluent-control-center/control-center.properties#g' $_c3_system + + # Configure logging to /var/log + ln -s /var/log/confluent/kafka ${pkgdir}/usr/logs +} diff --git a/install_confluent.sh b/install_confluent.sh new file mode 100644 index 000000000000..6d844a2080a6 --- /dev/null +++ b/install_confluent.sh @@ -0,0 +1,34 @@ +user_list="cp-control-center cp-kafka-connect cp-kafka-rest cp-kafka cp-ksql cp-schema-registry cp-install_kafka" +group=confluent + +ensure_directories() { + # Configure Apache kafka + for dir in /var/log/confluent/kafka /var/lib/confluent/kafka /var/lib/confluent/zookeeper; do + install -g confluent -o cp-kafka -m 0755 -d ${pkgdir}/$dir + done + + # Required directories for Confluent Control Center + for dir in /var/log/confluent/control-center /var/lib/confluent/control-center /usr/share/confluent-control-center; do + install -g confluent -o cp-control-center -m 0755 -d ${pkgdir}/$dir + done +} + +post_install() { + systemd-sysusers confluent.conf + ensure_directories +} + +post_upgrade(){ + systemd-sysusers confluent.conf + ensure_directories +} + +post_remove() { + for usr in `echo $user_list`; do + if getent passwd $usr >/dev/null 2>&1; then + userdel -f $usr + fi + done + + groupdel $group +} diff --git a/systemd_sysusers.d_confluent.conf b/systemd_sysusers.d_confluent.conf new file mode 100644 index 000000000000..1288c40f3a36 --- /dev/null +++ b/systemd_sysusers.d_confluent.conf @@ -0,0 +1,17 @@ +u cp-control-center - "Confluent C3 user" /usr/share/confluent-common +u cp-kafka-connect - "Confluent Kafa connect user" /usr/share/confluent-common +u cp-kafka-rest - "Confluent Kafa rest proxy user" /usr/share/confluent-common +u cp-kafka - "Confluent Kafa user" /usr/share/confluent-common +u cp-ksql - "Confluent KSQL user" /usr/share/confluent-common +u cp-schema-resgistry - "Confluent schema resgistry user" /usr/share/confluent-common +u cp-install-kafka - "Confluent install Kafka user" /usr/share/confluent-common + + +m cp-control-center confluent +m cp-kafka-connect confluent +m cp-kafka-rest confluent +m cp-kafka confluent +m cp-ksql confluent +m cp-schema-resgistry confluent +m cp-install-kafka confluent + |