From 7dcf1c7aca199afb773bd6c938bf38d47d7cca6c Mon Sep 17 00:00:00 2001 From: Sijie Guo Date: Mon, 20 Apr 2020 23:14:14 -0700 Subject: [PATCH] Enable CI for pulsar chart (#1) --- .ci/chart_test.sh | 55 ++++++ .ci/clusters/values-bk-tls.yaml | 75 +++++++ .ci/clusters/values-broker-tls.yaml | 77 ++++++++ .ci/clusters/values-function.yaml | 67 +++++++ .ci/clusters/values-jwt-asymmetric.yaml | 83 ++++++++ .ci/clusters/values-jwt-symmetric.yaml | 83 ++++++++ .ci/clusters/values-local-pv.yaml | 64 ++++++ .ci/clusters/values-pulsar-image.yaml | 95 +++++++++ .ci/clusters/values-tls.yaml | 81 ++++++++ .ci/clusters/values-zk-tls.yaml | 75 +++++++ .ci/clusters/values-zkbk-tls.yaml | 77 ++++++++ .ci/ct.sh | 185 ++++++++++++++++++ .ci/git.sh | 35 ++++ .ci/helm.sh | 164 ++++++++++++++++ .ci/lint.sh | 25 +++ .ci/release.sh | 112 +++++++++++ .ci/tls/certs/ca.cert.pem | 34 ++++ .ci/tls/private/ca.key.pem | 54 +++++ .ci/tls/servers/bookie/bookie.cert.pem | 34 ++++ .ci/tls/servers/bookie/bookie.csr.pem | 18 ++ .ci/tls/servers/bookie/bookie.key-pk8.pem | 28 +++ .ci/tls/servers/bookie/bookie.key.pem | 27 +++ .ci/tls/servers/broker/broker.cert.pem | 34 ++++ .ci/tls/servers/broker/broker.csr.pem | 18 ++ .ci/tls/servers/broker/broker.key-pk8.pem | 28 +++ .ci/tls/servers/broker/broker.key.pem | 27 +++ .ci/tls/servers/proxy/proxy.cert.pem | 34 ++++ .ci/tls/servers/proxy/proxy.csr.pem | 17 ++ .ci/tls/servers/proxy/proxy.key-pk8.pem | 28 +++ .ci/tls/servers/proxy/proxy.key.pem | 27 +++ .ci/tls/servers/recovery/recovery.cert.pem | 34 ++++ .ci/tls/servers/recovery/recovery.csr.pem | 18 ++ .ci/tls/servers/recovery/recovery.key-pk8.pem | 28 +++ .ci/tls/servers/recovery/recovery.key.pem | 27 +++ .ci/tls/servers/toolset/toolset.cert.pem | 34 ++++ .ci/tls/servers/toolset/toolset.csr.pem | 18 ++ .ci/tls/servers/toolset/toolset.key-pk8.pem | 28 +++ .ci/tls/servers/toolset/toolset.key.pem | 27 +++ .ci/tls/servers/zookeeper/zookeeper.cert.pem | 34 ++++ .ci/tls/servers/zookeeper/zookeeper.csr.pem | 18 ++ .../servers/zookeeper/zookeeper.key-pk8.pem | 28 +++ .ci/tls/servers/zookeeper/zookeeper.key.pem | 27 +++ .github/ISSUE_TEMPLATE.md | 14 ++ .github/ISSUE_TEMPLATE/bug_report.md | 30 +++ .github/ISSUE_TEMPLATE/feature_request.md | 20 ++ .github/PULL_REQUEST_TEMPLATE.md | 13 ++ .github/workflows/pulsar.yml | 45 +++++ .github/workflows/pulsar_bk_tls.yml | 45 +++++ .github/workflows/pulsar_broker_tls.yml | 45 +++++ .github/workflows/pulsar_function.yml | 47 +++++ .github/workflows/pulsar_image.yml | 45 +++++ .github/workflows/pulsar_jwt_asymmetric.yml | 47 +++++ .github/workflows/pulsar_jwt_symmetric.yml | 47 +++++ .github/workflows/pulsar_tls.yml | 45 +++++ .github/workflows/pulsar_zk_tls.yml | 45 +++++ .github/workflows/pulsar_zkbk_tls.yml | 45 +++++ 56 files changed, 2615 insertions(+) create mode 100755 .ci/chart_test.sh create mode 100644 .ci/clusters/values-bk-tls.yaml create mode 100644 .ci/clusters/values-broker-tls.yaml create mode 100644 .ci/clusters/values-function.yaml create mode 100644 .ci/clusters/values-jwt-asymmetric.yaml create mode 100644 .ci/clusters/values-jwt-symmetric.yaml create mode 100644 .ci/clusters/values-local-pv.yaml create mode 100644 .ci/clusters/values-pulsar-image.yaml create mode 100644 .ci/clusters/values-tls.yaml create mode 100644 .ci/clusters/values-zk-tls.yaml create mode 100644 .ci/clusters/values-zkbk-tls.yaml create mode 100755 .ci/ct.sh create mode 100644 .ci/git.sh create mode 100644 .ci/helm.sh create mode 100755 .ci/lint.sh create mode 100755 .ci/release.sh create mode 100644 .ci/tls/certs/ca.cert.pem create mode 100644 .ci/tls/private/ca.key.pem create mode 100644 .ci/tls/servers/bookie/bookie.cert.pem create mode 100644 .ci/tls/servers/bookie/bookie.csr.pem create mode 100644 .ci/tls/servers/bookie/bookie.key-pk8.pem create mode 100644 .ci/tls/servers/bookie/bookie.key.pem create mode 100644 .ci/tls/servers/broker/broker.cert.pem create mode 100644 .ci/tls/servers/broker/broker.csr.pem create mode 100644 .ci/tls/servers/broker/broker.key-pk8.pem create mode 100644 .ci/tls/servers/broker/broker.key.pem create mode 100644 .ci/tls/servers/proxy/proxy.cert.pem create mode 100644 .ci/tls/servers/proxy/proxy.csr.pem create mode 100644 .ci/tls/servers/proxy/proxy.key-pk8.pem create mode 100644 .ci/tls/servers/proxy/proxy.key.pem create mode 100644 .ci/tls/servers/recovery/recovery.cert.pem create mode 100644 .ci/tls/servers/recovery/recovery.csr.pem create mode 100644 .ci/tls/servers/recovery/recovery.key-pk8.pem create mode 100644 .ci/tls/servers/recovery/recovery.key.pem create mode 100644 .ci/tls/servers/toolset/toolset.cert.pem create mode 100644 .ci/tls/servers/toolset/toolset.csr.pem create mode 100644 .ci/tls/servers/toolset/toolset.key-pk8.pem create mode 100644 .ci/tls/servers/toolset/toolset.key.pem create mode 100644 .ci/tls/servers/zookeeper/zookeeper.cert.pem create mode 100644 .ci/tls/servers/zookeeper/zookeeper.csr.pem create mode 100644 .ci/tls/servers/zookeeper/zookeeper.key-pk8.pem create mode 100644 .ci/tls/servers/zookeeper/zookeeper.key.pem create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/pulsar.yml create mode 100644 .github/workflows/pulsar_bk_tls.yml create mode 100644 .github/workflows/pulsar_broker_tls.yml create mode 100644 .github/workflows/pulsar_function.yml create mode 100644 .github/workflows/pulsar_image.yml create mode 100644 .github/workflows/pulsar_jwt_asymmetric.yml create mode 100644 .github/workflows/pulsar_jwt_symmetric.yml create mode 100644 .github/workflows/pulsar_tls.yml create mode 100644 .github/workflows/pulsar_zk_tls.yml create mode 100644 .github/workflows/pulsar_zkbk_tls.yml diff --git a/.ci/chart_test.sh b/.ci/chart_test.sh new file mode 100755 index 0000000..e9bdab4 --- /dev/null +++ b/.ci/chart_test.sh @@ -0,0 +1,55 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +set -e + + +BINDIR=`dirname "$0"` +PULSAR_HOME=`cd ${BINDIR}/..;pwd` +VALUES_FILE=$1 +TLS=${TLS:-"false"} +SYMMETRIC=${SYMMETRIC:-"false"} +FUNCTION=${FUNCTION:-"false"} + +source ${PULSAR_HOME}/.ci/helm.sh + +# create cluster +ci::create_cluster + +# install storage provisioner +ci::install_storage_provisioner + +extra_opts="" +if [[ "x${SYMMETRIC}" == "xtrue" ]]; then + extra_opts="-s" +fi + +# install pulsar chart +ci::install_pulsar_chart ${PULSAR_HOME}/${VALUES_FILE} ${extra_opts} + +# test producer +ci::test_pulsar_producer + +if [[ "x${FUNCTION}" == "xtrue" ]]; then + # install cert manager + ci::test_pulsar_function +fi + +# delete the cluster +ci::delete_cluster diff --git a/.ci/clusters/values-bk-tls.yaml b/.ci/clusters/values-bk-tls.yaml new file mode 100644 index 0000000..bc2b97d --- /dev/null +++ b/.ci/clusters/values-bk-tls.yaml @@ -0,0 +1,75 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# enable TLS +tls: + enabled: true + bookie: + enabled: true + +# disable cert manager +certs: + internal_issuer: + enabled: false diff --git a/.ci/clusters/values-broker-tls.yaml b/.ci/clusters/values-broker-tls.yaml new file mode 100644 index 0000000..4b0d7bf --- /dev/null +++ b/.ci/clusters/values-broker-tls.yaml @@ -0,0 +1,77 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# enable TLS +tls: + enabled: true + proxy: + enabled: true + broker: + enabled: true + +# disable cert-manager +certs: + internal_issuer: + enabled: false diff --git a/.ci/clusters/values-function.yaml b/.ci/clusters/values-function.yaml new file mode 100644 index 0000000..1107207 --- /dev/null +++ b/.ci/clusters/values-function.yaml @@ -0,0 +1,67 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + PF_functionInstanceMinResources_cpu: "0.2" + PF_functionInstanceMinResources_ram: "268435456" + PF_functionInstanceMinResources_disk: "268435456" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false diff --git a/.ci/clusters/values-jwt-asymmetric.yaml b/.ci/clusters/values-jwt-asymmetric.yaml new file mode 100644 index 0000000..5fdc5ed --- /dev/null +++ b/.ci/clusters/values-jwt-asymmetric.yaml @@ -0,0 +1,83 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 2 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +auth: + authentication: + enabled: true + provider: "jwt" + jwt: + # Enable JWT authentication + # If the token is generated by a secret key, set the usingSecretKey as true. + # If the token is generated by a private key, set the usingSecretKey as false. + usingSecretKey: false + authorization: + enabled: true + superUsers: + # broker to broker communication + broker: "broker-admin" + # proxy to broker communication + proxy: "proxy-admin" + # pulsar-admin client to broker/proxy communication + client: "admin" \ No newline at end of file diff --git a/.ci/clusters/values-jwt-symmetric.yaml b/.ci/clusters/values-jwt-symmetric.yaml new file mode 100644 index 0000000..e0f2003 --- /dev/null +++ b/.ci/clusters/values-jwt-symmetric.yaml @@ -0,0 +1,83 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +auth: + authentication: + enabled: true + provider: "jwt" + jwt: + # Enable JWT authentication + # If the token is generated by a secret key, set the usingSecretKey as true. + # If the token is generated by a private key, set the usingSecretKey as false. + usingSecretKey: true + authorization: + enabled: true + superUsers: + # broker to broker communication + broker: "broker-admin" + # proxy to broker communication + proxy: "proxy-admin" + # pulsar-admin client to broker/proxy communication + client: "admin" \ No newline at end of file diff --git a/.ci/clusters/values-local-pv.yaml b/.ci/clusters/values-local-pv.yaml new file mode 100644 index 0000000..53cf680 --- /dev/null +++ b/.ci/clusters/values-local-pv.yaml @@ -0,0 +1,64 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false \ No newline at end of file diff --git a/.ci/clusters/values-pulsar-image.yaml b/.ci/clusters/values-pulsar-image.yaml new file mode 100644 index 0000000..732928e --- /dev/null +++ b/.ci/clusters/values-pulsar-image.yaml @@ -0,0 +1,95 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + persistence: false + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + metadata: + image: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# use pulsar image + +images: + zookeeper: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + bookie: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + autorecovery: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + broker: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + functions: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + proxy: + repository: apachepulsar/pulsar-all + tag: 2.5.0 + +pulsar_metadata: + image: + repository: apachepulsar/pulsar-all + tag: 2.5.0 \ No newline at end of file diff --git a/.ci/clusters/values-tls.yaml b/.ci/clusters/values-tls.yaml new file mode 100644 index 0000000..ae31496 --- /dev/null +++ b/.ci/clusters/values-tls.yaml @@ -0,0 +1,81 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# enable TLS +tls: + enabled: true + proxy: + enabled: true + broker: + enabled: true + bookie: + enabled: true + zookeeper: + enabled: true + +# disable cert-manager +certs: + internal_issuer: + enabled: false \ No newline at end of file diff --git a/.ci/clusters/values-zk-tls.yaml b/.ci/clusters/values-zk-tls.yaml new file mode 100644 index 0000000..b4a7498 --- /dev/null +++ b/.ci/clusters/values-zk-tls.yaml @@ -0,0 +1,75 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# enable TLS +tls: + enabled: true + zookeeper: + enabled: true + +# disable cert manager +certs: + internal_issuer: + enabled: false \ No newline at end of file diff --git a/.ci/clusters/values-zkbk-tls.yaml b/.ci/clusters/values-zkbk-tls.yaml new file mode 100644 index 0000000..c380bb8 --- /dev/null +++ b/.ci/clusters/values-zkbk-tls.yaml @@ -0,0 +1,77 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +monitoring: + prometheus: false + grafana: false + node_exporter: false + alert_manager: false + +volumes: + local_storage: true + +# disabled AntiAffinity +affinity: + anti_affinity: false + +# disable auto recovery and pulsar manager +components: + autorecovery: false + pulsar_manager: false + +zookeeper: + replicaCount: 1 + +bookkeeper: + replicaCount: 3 + configData: + diskUsageThreshold: "0.999" + diskUsageWarnThreshold: "0.999" + PULSAR_PREFIX_diskUsageThreshold: "0.999" + PULSAR_PREFIX_diskUsageWarnThreshold: "0.999" + +broker: + replicaCount: 1 + configData: + ## Enable `autoSkipNonRecoverableData` since bookkeeper is running + ## without persistence + autoSkipNonRecoverableData: "true" + # storage settings + managedLedgerDefaultEnsembleSize: "1" + managedLedgerDefaultWriteQuorum: "1" + managedLedgerDefaultAckQuorum: "1" + +proxy: + replicaCount: 1 + +toolset: + useProxy: false + +# enable TLS +tls: + enabled: true + zookeeper: + enabled: true + bookie: + enabled: true + +# disable cert manager +certs: + internal_issuer: + enabled: false \ No newline at end of file diff --git a/.ci/ct.sh b/.ci/ct.sh new file mode 100755 index 0000000..e2c1f53 --- /dev/null +++ b/.ci/ct.sh @@ -0,0 +1,185 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +#!/usr/bin/env bash + +set -o errexit +set -o nounset +set -o pipefail + +DEFAULT_IMAGE=quay.io/helmpack/chart-testing:v2.4.0 + +show_help() { +cat << EOF +Usage: $(basename "$0") + -h, --help Display help + -i, --image The chart-testing Docker image to use (default: quay.io/helmpack/chart-testing:v2.4.0) + -c, --command The chart-testing command to run + --config The path to the chart-testing config file + --kubeconfig The path to the kube config file +EOF +} + +main() { + local image="$DEFAULT_IMAGE" + local config= + local command= + local kubeconfig="$HOME/.kube/config" + + parse_command_line "$@" + + if [[ -z "$command" ]]; then + echo "ERROR: '-c|--command' is required." >&2 + show_help + exit 1 + fi + + run_ct_container + trap cleanup EXIT + + local changed + changed=$(docker_exec ct list-changed) + if [[ -z "$changed" ]]; then + echo 'No chart changes detected.' + echo "::set-output name=changed::false" + return + fi + + # Convenience output for other actions to make use of ct config to check if + # charts changed. + echo "::set-output name=changed::true" + + if [[ "$command" == "lint" ]] || [[ "$command" == "list-changed" ]]; then + helm_init + # All other ct commands require a cluster to be created in a previous step. + else + configure_kube + install_tiller + fi + + run_ct +} + +parse_command_line() { + while :; do + case "${1:-}" in + -h|--help) + show_help + exit + ;; + -i|--image) + if [[ -n "${2:-}" ]]; then + image="$2" + shift + else + echo "ERROR: '-i|--image' cannot be empty." >&2 + show_help + exit 1 + fi + ;; + -c|--command) + if [[ -n "${2:-}" ]]; then + command="$2" + shift + else + echo "ERROR: '-c|--command' cannot be empty." >&2 + show_help + exit 1 + fi + ;; + --config) + if [[ -n "${2:-}" ]]; then + config="$2" + shift + else + echo "ERROR: '--config' cannot be empty." >&2 + show_help + exit 1 + fi + ;; + --kubeconfig) + if [[ -n "${2:-}" ]]; then + kubeconfig="$2" + shift + else + echo "ERROR: '--kubeconfig' cannot be empty." >&2 + show_help + exit 1 + fi + ;; + *) + break + ;; + esac + + shift + done +} + +run_ct_container() { + echo 'Running ct container...' + local args=(run --rm --interactive --detach --network host --name ct "--volume=$(pwd):/workdir" "--workdir=/workdir") + + if [[ -n "$config" ]]; then + args+=("--volume=$(pwd)/$config:/etc/ct/ct.yaml" ) + fi + + args+=("$image" cat) + + docker "${args[@]}" + echo +} + +configure_kube() { + docker_exec sh -c 'mkdir -p /root/.kube' + docker cp "$kubeconfig" ct:/root/.kube/config +} + +install_tiller() { + echo 'Installing Tiller...' + docker_exec sh -c 'kubectl create serviceaccount tiller --namespace kube-system --save-config --dry-run \ + --output=yaml | kubectl apply -f -' + docker_exec sh -c 'kubectl create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin \ + --serviceaccount=kube-system:tiller --save-config --dry-run --output=yaml | kubectl apply -f -' + docker_exec helm init --service-account tiller --upgrade --wait + echo +} + +helm_init() { + docker_exec helm init --client-only + echo +} + +run_ct() { + echo "Running 'ct $command'..." + docker_exec ct "$command" + echo +} + +cleanup() { + echo 'Removing ct container...' + docker kill ct > /dev/null 2>&1 + echo 'Done!' +} + +docker_exec() { + docker exec --interactive ct "$@" +} + +main "$@" \ No newline at end of file diff --git a/.ci/git.sh b/.ci/git.sh new file mode 100644 index 0000000..f888b7a --- /dev/null +++ b/.ci/git.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +function git::fetch_tags() { + echo "Fetching tags ..." + git fetch --tags +} + +function git::find_latest_tag() { + if ! git describe --tags --abbrev=0 2> /dev/null; then + git rev-list --max-parents=0 --first-parent HEAD + fi +} + +function git::get_revision() { + local tag=$1 + echo "$(git rev-parse --verify ${tag})" +} diff --git a/.ci/helm.sh b/.ci/helm.sh new file mode 100644 index 0000000..b3fae8f --- /dev/null +++ b/.ci/helm.sh @@ -0,0 +1,164 @@ +#!/usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +BINDIR=`dirname "$0"` +PULSAR_HOME=`cd ${BINDIR}/..;pwd` +CHARTS_HOME=${PULSAR_HOME} +OUTPUT_BIN=${CHARTS_HOME}/output/bin +KIND_BIN=$OUTPUT_BIN/kind +HELM=${OUTPUT_BIN}/helm +KUBECTL=${OUTPUT_BIN}/kubectl +NAMESPACE=pulsar +CLUSTER=pulsar-ci +CLUSTER_ID=$(uuidgen) + +function ci::create_cluster() { + echo "Creating a kind cluster ..." + ${CHARTS_HOME}/hack/kind-cluster-build.sh --name pulsar-ci-${CLUSTER_ID} -c 1 -v 10 + echo "Successfully created a kind cluster." +} + +function ci::delete_cluster() { + echo "Deleting a kind cluster ..." + kind delete cluster --name=pulsar-ci-${CLUSTER_ID} + echo "Successfully delete a kind cluster." +} + +function ci::install_storage_provisioner() { + echo "Installing the local storage provisioner ..." + ${HELM} repo add streamnative https://charts.streamnative.io + ${HELM} repo update + ${HELM} install local-storage-provisioner streamnative/local-storage-provisioner + WC=$(${KUBECTL} get pods --field-selector=status.phase=Running | grep local-storage-provisioner | wc -l) + while [[ ${WC} -lt 1 ]]; do + echo ${WC}; + sleep 15 + ${KUBECTL} get pods --field-selector=status.phase=Running + WC=$(${KUBECTL} get pods --field-selector=status.phase=Running | grep local-storage-provisioner | wc -l) + done + echo "Successfully installed the local storage provisioner." +} + +function ci::install_cert_manager() { + echo "Installing the cert-manager ..." + ${KUBECTL} create namespace cert-manager + ${CHARTS_HOME}/scripts/cert-manager/install-cert-manager.sh + WC=$(${KUBECTL} get pods -n cert-manager --field-selector=status.phase=Running | wc -l) + while [[ ${WC} -lt 3 ]]; do + echo ${WC}; + sleep 15 + ${KUBECTL} get pods -n cert-manager + WC=$(${KUBECTL} get pods -n cert-manager --field-selector=status.phase=Running | wc -l) + done + echo "Successfully installed the cert manager." +} + +function ci::install_pulsar_chart() { + local value_file=$1 + local extra_opts=$2 + + echo "Installing the pulsar chart" + ${KUBECTL} create namespace ${NAMESPACE} + echo ${CHARTS_HOME}/scripts/pulsar/prepare_helm_release.sh -k ${CLUSTER} -n ${NAMESPACE} ${extra_opts} + ${CHARTS_HOME}/scripts/pulsar/prepare_helm_release.sh -k ${CLUSTER} -n ${NAMESPACE} ${extra_opts} + ${CHARTS_HOME}/scripts/pulsar/upload_tls.sh -k ${CLUSTER} -d ${PULSAR_HOME}/.ci/tls + sleep 10 + + echo ${HELM} install --values ${value_file} ${CLUSTER} ${CHARTS_HOME}/pulsar + ${HELM} template --values ${value_file} ${CLUSTER} ${CHARTS_HOME}/pulsar + ${HELM} install --values ${value_file} ${CLUSTER} ${CHARTS_HOME}/pulsar + + echo "wait until broker is alive" + WC=$(${KUBECTL} get pods -n ${NAMESPACE} --field-selector=status.phase=Running | grep ${CLUSTER}-broker | wc -l) + while [[ ${WC} -lt 1 ]]; do + echo ${WC}; + sleep 15 + ${KUBECTL} get pods -n ${NAMESPACE} + WC=$(${KUBECTL} get pods -n ${NAMESPACE} | grep ${CLUSTER}-broker | wc -l) + if [[ ${WC} -gt 1 ]]; then + ${KUBECTL} describe pod -n ${NAMESPACE} pulsar-ci-broker-0 + ${KUBECTL} logs -n ${NAMESPACE} pulsar-ci-broker-0 + fi + WC=$(${KUBECTL} get pods -n ${NAMESPACE} --field-selector=status.phase=Running | grep ${CLUSTER}-broker | wc -l) + done + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-broker; do sleep 3; done' + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until [ "$(curl -L http://pulsar-ci-broker:8080/status.html)" == "OK" ]; do sleep 3; done' + + WC=$(${KUBECTL} get pods -n ${NAMESPACE} --field-selector=status.phase=Running | grep ${CLUSTER}-proxy | wc -l) + while [[ ${WC} -lt 1 ]]; do + echo ${WC}; + sleep 15 + ${KUBECTL} get pods -n ${NAMESPACE} + WC=$(${KUBECTL} get pods -n ${NAMESPACE} --field-selector=status.phase=Running | grep ${CLUSTER}-proxy | wc -l) + done + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-proxy; do sleep 3; done' + # ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until [ "$(curl -L http://pulsar-ci-proxy:8080/status.html)" == "OK" ]; do sleep 3; done' +} + +function ci::test_pulsar_producer() { + sleep 120 + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-broker; do sleep 3; done' + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-proxy; do sleep 3; done' + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-bookie-0 -- df -h + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-bookie-0 -- cat conf/bookkeeper.conf + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/bookkeeper shell listbookies -rw + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/bookkeeper shell listbookies -ro + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-admin tenants create pulsar-ci + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-admin namespaces create pulsar-ci/test + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-client produce -m "test-message" pulsar-ci/test/test-topic +} + +function ci::wait_function_running() { + num_running=$(${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'bin/pulsar-admin functions status --tenant pulsar-ci --namespace test --name test-function | bin/jq .numRunning') + while [[ ${num_running} -lt 1 ]]; do + echo ${num_running} + sleep 15 + ${KUBECTL} get pods -n ${NAMESPACE} --field-selector=status.phase=Running + num_running=$(${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'bin/pulsar-admin functions status --tenant pulsar-ci --namespace test --name test-function | bin/jq .numRunning') + done +} + +function ci::wait_message_processed() { + num_processed=$(${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'bin/pulsar-admin functions stats --tenant pulsar-ci --namespace test --name test-function | bin/jq .processedSuccessfullyTotal') + while [[ ${num_processed} -lt 1 ]]; do + echo ${num_processed} + sleep 15 + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-admin functions stats --tenant pulsar-ci --namespace test --name test-function + num_processed=$(${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'bin/pulsar-admin functions stats --tenant pulsar-ci --namespace test --name test-function | bin/jq .processedSuccessfullyTotal') + done +} + +function ci::test_pulsar_function() { + sleep 120 + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-broker; do sleep 3; done' + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bash -c 'until nslookup pulsar-ci-proxy; do sleep 3; done' + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-bookie-0 -- df -h + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/bookkeeper shell listbookies -rw + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/bookkeeper shell listbookies -ro + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- curl --retry 10 -L -o bin/jq https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64 + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- chmod +x bin/jq + ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-admin functions create --tenant pulsar-ci --namespace test --name test-function --inputs "pulsar-ci/test/test_input" --output "pulsar-ci/test/test_output" --parallelism 1 --classname org.apache.pulsar.functions.api.examples.ExclamationFunction --jar /pulsar/examples/api-examples.jar + + # wait until the function is running + # TODO: re-enable function test + # ci::wait_function_running + # ${KUBECTL} exec -n ${NAMESPACE} ${CLUSTER}-toolset-0 -- bin/pulsar-client produce -m "hello pulsar function!" pulsar-ci/test/test_input + # ci::wait_message_processed +} \ No newline at end of file diff --git a/.ci/lint.sh b/.ci/lint.sh new file mode 100755 index 0000000..806c40d --- /dev/null +++ b/.ci/lint.sh @@ -0,0 +1,25 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +set -e + +BINDIR=`dirname "$0"` +CI_HOME=`cd ${BINDIR};pwd` + +${CI_HOME}/ct.sh -c lint diff --git a/.ci/release.sh b/.ci/release.sh new file mode 100755 index 0000000..2651787 --- /dev/null +++ b/.ci/release.sh @@ -0,0 +1,112 @@ +#!/usr/bin/env bash +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +BINDIR=`dirname "$0"` +CHARTS_HOME=`cd ${BINDIR}/..;pwd` +CHARTS_PKGS=${CHARTS_HOME}/.chart-packages +CHARTS_INDEX=${CHARTS_HOME}/.chart-index +CHARTS_REPO=${CHARTS_REPO:-"https://charts.streamnative.io"} +OWNER=${OWNER:-streamnative} +REPO=${REPO:-charts} +GITHUB_TOKEN=${GITHUB_TOKEN:-"UNSET"} +PUBLISH_CHARTS=${PUBLISH_CHARTS:-"false"} +GITUSER=${GITUSER:-"UNSET"} +GITEMAIL=${GITEMAIL:-"UNSET"} + +# hack/common.sh need this variable to be set +PULSAR_CHART_HOME=${CHARTS_HOME} + +source ${CHARTS_HOME}/hack/common.sh +source ${CHARTS_HOME}/.ci/git.sh + +# allow overwriting cr binary +CR="docker run -v ${CHARTS_HOME}:/cr quay.io/helmpack/chart-releaser:v${CR_VERSION} cr" + +function release::ensure_dir() { + local dir=$1 + if [[ -d ${dir} ]]; then + rm -rf ${dir} + fi + mkdir -p ${dir} +} + +function release::find_changed_charts() { + local charts_dir=$1 + echo $(git diff --find-renames --name-only "$latest_tag_rev" -- ${charts_dir} | cut -d '/' -f 2 | uniq) +} + +function release::package_chart() { + local chart=$1 + echo "Packaging chart '$chart'..." + helm package ${CHARTS_HOME}/charts/$chart --destination ${CHARTS_PKGS} +} + +function release::upload_packages() { + ${CR} upload --owner ${OWNER} --git-repo ${REPO} -t ${GITHUB_TOKEN} --package-path /cr/.chart-packages +} + +function release::update_chart_index() { + ${CR} index -o ${OWNER} -r ${REPO} -t "${GITHUB_TOKEN}" -c ${CHARTS_REPO} --index-path /cr/.chart-index --package-path /cr/.chart-packages +} + +function release::publish_charts() { + git config user.email "${GITEMAIL}" + git config user.name "${GITUSER}" + + git checkout gh-pages + cp --force ${CHARTS_INDEX}/index.yaml index.yaml + git add index.yaml + git commit --message="Publish new charts to ${CHARTS_REPO}" --signoff + git remote -v + git remote add sn https://${SNBOT_USER}:${GITHUB_TOKEN}@github.com/${OWNER}/${REPO} + git push sn gh-pages +} + +# install cr +# hack::ensure_cr +docker pull quay.io/helmpack/chart-releaser:v${CR_VERSION} + +latest_tag=$(git::find_latest_tag) +echo "Latest tag: $latest_tag" + +latest_tag_rev=$(git::get_revision "$latest_tag") +echo "$latest_tag_rev $latest_tag (latest tag)" + +head_rev=$(git::get_revision HEAD) +echo "$head_rev HEAD" + +if [[ "$latest_tag_rev" == "$head_rev" ]]; then + echo "Do nothing. Exiting ..." + exit +fi + +release::ensure_dir ${CHARTS_PKGS} +release::ensure_dir ${CHARTS_INDEX} + +for chart in $(release::find_changed_charts charts); do + release::package_chart ${chart} +done + +release::upload_packages +release::update_chart_index + +if [[ "x${PUBLISH_CHARTS}" == "xtrue" ]]; then + release::publish_charts +fi diff --git a/.ci/tls/certs/ca.cert.pem b/.ci/tls/certs/ca.cert.pem new file mode 100644 index 0000000..272a42b --- /dev/null +++ b/.ci/tls/certs/ca.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +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 +FFb5n0Nhu7AJwT42rN6wPquzFEXqwkCjWbXMew== +-----END CERTIFICATE----- diff --git a/.ci/tls/private/ca.key.pem b/.ci/tls/private/ca.key.pem new file mode 100644 index 0000000..eca07ca --- /dev/null +++ b/.ci/tls/private/ca.key.pem @@ -0,0 +1,54 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-256-CBC,85FB9A73260E703BFA595C60A73CC7F8 + +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 +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/bookie/bookie.cert.pem b/.ci/tls/servers/bookie/bookie.cert.pem new file mode 100644 index 0000000..2c8a5ff --- /dev/null +++ b/.ci/tls/servers/bookie/bookie.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +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 +AzoXnRPk7pjh +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/bookie/bookie.csr.pem b/.ci/tls/servers/bookie/bookie.csr.pem new file mode 100644 index 0000000..d884625 --- /dev/null +++ b/.ci/tls/servers/bookie/bookie.csr.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGTAXBgNVBAMMEHB1bHNhci1jaS1i +b29raWUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC2YDyQkP85nwfS +2yrqEkpPkPaTuIn7YsHRUsfveEgdva87qDvl2lwaLft5150Ehvf6uRgi3+xlEynA +j2ZOtF/GXH0ipv5kOKL5HDvvFRmp7FwR2i2SLPM1raswJYpmTc+aUBV4qvXUWzLP +cTAY1UdPCIEyH2Mc35un1N8Zx7USASkKHrObzE5F/tiD2rDdJ3UXtovS5MuJtx5V +qMjc2zmqqCgC5h38E812Jn1zbXSFvpL6obwaL0rq4h8TSCgVzz3ovbISgqF6h6HR +B8kb8VZ7mR6SUfM87Lbs/05zUBE5bk9O9j7Mf51j1nnjiD1P7qoqmjufvmnFIg1i +SayINw+FAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAfqkDkMzdfp43gZeqX5WH +yTO3K0eBJAsCNSP9RvjrYjZdMja34mXac5JkMa1j1cs19IthLCPZ2T4SBJpd5SQX +vkXhCkHkS5WR0Nrvb3cpsjUEKbp6yIBE8bLCal6eUkZOyYM6w+gr4fN4WEt+c0fC +n5n8Ox4lK3yFmRlgQFYkGWBaZVIEUYJVUFIT8M7AHkKf5TqC5RVGMgLiP0+CYM9R +xe1hIIjiifgtKx2w3VJJ8Jmmkw8Fax1ynu7+sGaAswZp0lJsMSQUCLjDvaRNhfRL ++qZ4p+C5x9s20XTD8FmzEzwTcqhVQU2jjFq8zVlea3PVHr39+AbLez4jq7uLCeWQ +5Q== +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/bookie/bookie.key-pk8.pem b/.ci/tls/servers/bookie/bookie.key-pk8.pem new file mode 100644 index 0000000..a9dbd65 --- /dev/null +++ b/.ci/tls/servers/bookie/bookie.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC2YDyQkP85nwfS +2yrqEkpPkPaTuIn7YsHRUsfveEgdva87qDvl2lwaLft5150Ehvf6uRgi3+xlEynA +j2ZOtF/GXH0ipv5kOKL5HDvvFRmp7FwR2i2SLPM1raswJYpmTc+aUBV4qvXUWzLP +cTAY1UdPCIEyH2Mc35un1N8Zx7USASkKHrObzE5F/tiD2rDdJ3UXtovS5MuJtx5V +qMjc2zmqqCgC5h38E812Jn1zbXSFvpL6obwaL0rq4h8TSCgVzz3ovbISgqF6h6HR +B8kb8VZ7mR6SUfM87Lbs/05zUBE5bk9O9j7Mf51j1nnjiD1P7qoqmjufvmnFIg1i +SayINw+FAgMBAAECggEBAKl2AtDR6lXAT6S9wcJ9/E6yhGv+rTfJLA80vFLnkRsR +hiII0J9jpvEsiN9OWbg7MXDnTGYba6z/gWxL0uSO9e97QUtRoE+/0K9obMha8t3R +ojt0X6PT4KmgFdFHELK+2oiooUrekE4h77SRl/97Lidh36qTP6U0oY3xXty1lKqE +lrgqWntmwJnRl9H/kykrnfVVd/BiWkJ2kDktTwwAM2MPrUpENk7B0Q4ToCwTMI2I +QHz5/khBGX6OCjFXAOCLRH3xcR0GH+vAhRt9PUERMlAiQJv5YJz6v31iU5djCznN +xug0NFysIvzg6+kqP027GIaXc1BieerXrVDahd1UhAECgYEA6ZQmNbOD30Y5Lhrj +QN0t6ZRaI8LrugKx9d8mb7SqIsAVroCGHJAwp4NQCMaYwsnrL6QIIb8bnX58fydR +TK43sT6NDeShhCiNQyPgDn6xzFr5//FIyfIVHDfnIeCKdlWQKwZZSIWgmg72Xm7+ +YrYj9899DS6MO7LBngPK9h+QhUkCgYEAx+Ha0Ww/CJ+lK860BOG2QLaq6bgnB/S4 +q2xuIpF11YYRzPCcigS9e3B2v72zE8yJeaW5PHLBecR6kuAfANaGCkWbqNOmeYdh +4f0v9yhJJNMu/YsiMnsFffPGckiNxDPN/u2PhiWkOi37PoYRaz+Mp5Y80f2utM8s +z4SqvbUVhF0CgYABCJjKsAqrWEI0hAXxaYkkeXWUpu4oGo7zCZO/9sqx8Kun5AWz +5qdwdlJKV6ahZgdWZKFslM3oeoDOhzwC3Np+PEqffx1/2jYVz/jT15et0dE9YrHx +wtJ5F348ViQGtgY3SoXmnkDBrcNFU7Rod2ndVNu2zTfto7LboiSpxiX7kQKBgELn +7efl1N+dGJumUAnGR8w3mNQs6Ru3pczzuZXmnMvBWdoAvFVSqt5T0dvysquw7l+C +wpNiUjLhOqpJTPdp12o+zJDhb7sEPxZ3OoP/vyQNcJA771F4bmkvnUCJ2rJPKOfp +Ov6LQQKce5n9JH2CwyEhn/Ame0FYi8ZWwRRJNg+dAoGBAM7sk+DWoHPeYunjbEVT +/Uehevoc417YIzlIN0XB2QGyNAVgidOUO+vrpCYfQlnQqUTXXfzF3WhdAcEqCiqt +nsteKiG/i7v+lULxGepxvj6hUW616LowqqXCmFqfEc8J/QrnKhO1j7IWUn8qytRh +FPEJD9tESETYG6+CiiMndZG4 +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/bookie/bookie.key.pem b/.ci/tls/servers/bookie/bookie.key.pem new file mode 100644 index 0000000..4277968 --- /dev/null +++ b/.ci/tls/servers/bookie/bookie.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEAtmA8kJD/OZ8H0tsq6hJKT5D2k7iJ+2LB0VLH73hIHb2vO6g7 +5dpcGi37ededBIb3+rkYIt/sZRMpwI9mTrRfxlx9Iqb+ZDii+Rw77xUZqexcEdot +kizzNa2rMCWKZk3PmlAVeKr11Fsyz3EwGNVHTwiBMh9jHN+bp9TfGce1EgEpCh6z +m8xORf7Yg9qw3Sd1F7aL0uTLibceVajI3Ns5qqgoAuYd/BPNdiZ9c210hb6S+qG8 +Gi9K6uIfE0goFc896L2yEoKheoeh0QfJG/FWe5keklHzPOy27P9Oc1AROW5PTvY+ +zH+dY9Z544g9T+6qKpo7n75pxSINYkmsiDcPhQIDAQABAoIBAQCpdgLQ0epVwE+k +vcHCffxOsoRr/q03ySwPNLxS55EbEYYiCNCfY6bxLIjfTlm4OzFw50xmG2us/4Fs +S9LkjvXve0FLUaBPv9CvaGzIWvLd0aI7dF+j0+CpoBXRRxCyvtqIqKFK3pBOIe+0 +kZf/ey4nYd+qkz+lNKGN8V7ctZSqhJa4Klp7ZsCZ0ZfR/5MpK531VXfwYlpCdpA5 +LU8MADNjD61KRDZOwdEOE6AsEzCNiEB8+f5IQRl+jgoxVwDgi0R98XEdBh/rwIUb +fT1BETJQIkCb+WCc+r99YlOXYws5zcboNDRcrCL84OvpKj9NuxiGl3NQYnnq161Q +2oXdVIQBAoGBAOmUJjWzg99GOS4a40DdLemUWiPC67oCsfXfJm+0qiLAFa6AhhyQ +MKeDUAjGmMLJ6y+kCCG/G51+fH8nUUyuN7E+jQ3koYQojUMj4A5+scxa+f/xSMny +FRw35yHginZVkCsGWUiFoJoO9l5u/mK2I/fPfQ0ujDuywZ4DyvYfkIVJAoGBAMfh +2tFsPwifpSvOtAThtkC2qum4Jwf0uKtsbiKRddWGEczwnIoEvXtwdr+9sxPMiXml +uTxywXnEepLgHwDWhgpFm6jTpnmHYeH9L/coSSTTLv2LIjJ7BX3zxnJIjcQzzf7t +j4YlpDot+z6GEWs/jKeWPNH9rrTPLM+Eqr21FYRdAoGAAQiYyrAKq1hCNIQF8WmJ +JHl1lKbuKBqO8wmTv/bKsfCrp+QFs+ancHZSSlemoWYHVmShbJTN6HqAzoc8Atza +fjxKn38df9o2Fc/409eXrdHRPWKx8cLSeRd+PFYkBrYGN0qF5p5Awa3DRVO0aHdp +3VTbts037aOy26IkqcYl+5ECgYBC5+3n5dTfnRibplAJxkfMN5jULOkbt6XM87mV +5pzLwVnaALxVUqreU9Hb8rKrsO5fgsKTYlIy4TqqSUz3addqPsyQ4W+7BD8WdzqD +/78kDXCQO+9ReG5pL51AidqyTyjn6Tr+i0ECnHuZ/SR9gsMhIZ/wJntBWIvGVsEU +STYPnQKBgQDO7JPg1qBz3mLp42xFU/1HoXr6HONe2CM5SDdFwdkBsjQFYInTlDvr +66QmH0JZ0KlE1138xd1oXQHBKgoqrZ7LXiohv4u7/pVC8Rnqcb4+oVFutei6MKql +wphanxHPCf0K5yoTtY+yFlJ/KsrUYRTxCQ/bREhE2BuvgoojJ3WRuA== +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/broker/broker.cert.pem b/.ci/tls/servers/broker/broker.cert.pem new file mode 100644 index 0000000..5b77c56 --- /dev/null +++ b/.ci/tls/servers/broker/broker.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +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 +p4Bqaa6+GG6P +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/broker/broker.csr.pem b/.ci/tls/servers/broker/broker.csr.pem new file mode 100644 index 0000000..5f2becd --- /dev/null +++ b/.ci/tls/servers/broker/broker.csr.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICzTCCAbUCAQAwgYcxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGTAXBgNVBAMMEHB1bHNhci1jaS1i +cm9rZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDTlckitxCrXIgI +0ti5QNL/HHXGuWtIPUGufU+oSqaqsl7y2EGe0he2TuBPbQleWdHYatw7ICftlp9k +DIOt4T2jOMXxA4j/l5Ve5eeG+tLigOpTRP+F/A/2dEl+LgjocfWeec2ES6gvMeC0 +G79P/nstes8+0ezgo70SG/sAMFb1ni2cs/kwVtio9lhRFdYTJQ88u7Qenw4E0CEa ++uoDGlz+tm8BJjPMV9RWBkOSHK1IU6JfKTlAR56VQ9yRx1Z9UABsbRRu3oZQLSWj +ANpWPsPIR0zecd7QujzW0E3kWTA4Y9Mb7hX03AFOoiBCnSSh3gw5JBcTlwC448Kq +p08ungSBAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAX1WCH+wJ4znyeDPGwJe/ +jVTxHnZu4IY12rspo5zlK+qto33M9hD12ZwQJ8sg/zpXUsCwM4gA6HhOeiQPz69g +vz0UJyv6YsfeVjPF9d/0TywMx0idxb04bQe0W2pLBRrtTvvm22uEbpKrj9QICnmS +nwRjcciD8LBuLfUrR9kPkZnD51PCPGvQpx7mDWt3tAwdfR1sf0w6bwlPx0eqRpyl +Fz+Kz7bWTCLBTZ6nsFyDdVNVLCPk6fPoPdSefWS+1za8I9/C28oIfYuqPkc9ULx7 +LZbuGyJU4rC4HxKSPcqmDy12TCSBvDcUMBfQ8d4LkbOIYnaW7aE3JBShTvgMzMOR +TQ== +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/broker/broker.key-pk8.pem b/.ci/tls/servers/broker/broker.key-pk8.pem new file mode 100644 index 0000000..8d7dc22 --- /dev/null +++ b/.ci/tls/servers/broker/broker.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDTlckitxCrXIgI +0ti5QNL/HHXGuWtIPUGufU+oSqaqsl7y2EGe0he2TuBPbQleWdHYatw7ICftlp9k +DIOt4T2jOMXxA4j/l5Ve5eeG+tLigOpTRP+F/A/2dEl+LgjocfWeec2ES6gvMeC0 +G79P/nstes8+0ezgo70SG/sAMFb1ni2cs/kwVtio9lhRFdYTJQ88u7Qenw4E0CEa ++uoDGlz+tm8BJjPMV9RWBkOSHK1IU6JfKTlAR56VQ9yRx1Z9UABsbRRu3oZQLSWj +ANpWPsPIR0zecd7QujzW0E3kWTA4Y9Mb7hX03AFOoiBCnSSh3gw5JBcTlwC448Kq +p08ungSBAgMBAAECggEBAJXSLFhelHkizlihJEEZO87VEjijNuoyJf4uUWdzZMzd +/QmsQ9r4HT5EX+Ud6lJa+5JpKITdYiiETV0E14EaSxD2tILS5AFIDsbhuK4Fkao9 +aq+H3f+72nnDIf8tDbW6bBfJW9Nf1zmD8f7W3wL/ya0Mlw9+imMOzmSyV2tsz0af +btAHOxY92veHL1bi44MNf0s90AicpT3xmFFUYB0KyS7DfxXhFjTRo5zTDVISDGev +mpzkbebOTox4y4eGjzydPmiIyTsEKu6aCdSn5zcQT7ooK4We0E24/U10HYQcbE5B +dzw7VEcyuBLsY+bgie2rDstc1xGPqFng+gJ6m9rnAAECgYEA9XHjjdheuyHAgx+6 +nW8xJvQ9AL3ZxTP+3pMhPFUMHDWtNT1p1LvhUHHDC8na/CMzzGp9YJvZEZFNyWB5 +f54K0UzkKY24E3WxiVCv9L2XUX01pPsiZPJg9truW0APfguxIkikURuYggnQ8ix+ +jlmalvGVe5iIX7my0AhrVTViuAECgYEA3K8iIo+8cSEIRcM+w8onmGZYIhTTjQ1I +9MDo0aD5/sFD2FidbFOZlj+DaEyoIZs+hF0SQwFUOsJ+pGLGmlxC1uSfbR1iCdj8 +8A8BOlX745x13BvJbMIhTAnjAz7IunIWDqbxdSHHR6zbNFty4tyQfQW8YZDjNtyE +nLBxArE/TIECgYAdoao/LagCH4kGS4ZUC2B7u3DB7imkTSqv5ENW7U2Q+kn263sj +W6tP8uwBOFVfq0BNpW2NhEMog8pITYVdis7zhbzl514Zu1O7qCoV+e2SwPMA//Cf +D0P1iWjNS2aTaQXxhaOQxywaRuUa15RPyzGGl5PcYAXWyKx1wQ50MwXAAQKBgB5+ +lNjxw7heOCZrtGCZrp8AhW0wM4tqKoqnnYRaGjF5w0ZB+H7fjnmUjTP8Y79BFIJ1 +2fAoXts/xQAyJf9ugE3xiZYqWUHDGjCR4jmNaCErnZ2suUiuCqvXMedg5Zvd5+5e +Yz8sS707xY6WlGmE0PJ1uHJC8yLBlhGQ0AzvMTABAoGAHpGyIWAemC6XFpjS0YDa +TgdJjue47kSeLlwAfuYAI/DWMfQr+nYomxLipvOy7PwxmbAWVeJB8t+XthW1oR7q +gb22NpD1d/ZmJLDqP8c0RaIiJvH4n0OeMSdTyQKHbLyZAPttZCNlaVoLNwyVhSdT +/d7lZb8YU2u/PpNSKbxt65M= +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/broker/broker.key.pem b/.ci/tls/servers/broker/broker.key.pem new file mode 100644 index 0000000..b64d503 --- /dev/null +++ b/.ci/tls/servers/broker/broker.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEA05XJIrcQq1yICNLYuUDS/xx1xrlrSD1Brn1PqEqmqrJe8thB +ntIXtk7gT20JXlnR2GrcOyAn7ZafZAyDreE9ozjF8QOI/5eVXuXnhvrS4oDqU0T/ +hfwP9nRJfi4I6HH1nnnNhEuoLzHgtBu/T/57LXrPPtHs4KO9Ehv7ADBW9Z4tnLP5 +MFbYqPZYURXWEyUPPLu0Hp8OBNAhGvrqAxpc/rZvASYzzFfUVgZDkhytSFOiXyk5 +QEeelUPckcdWfVAAbG0Ubt6GUC0lowDaVj7DyEdM3nHe0Lo81tBN5FkwOGPTG+4V +9NwBTqIgQp0kod4MOSQXE5cAuOPCqqdPLp4EgQIDAQABAoIBAQCV0ixYXpR5Is5Y +oSRBGTvO1RI4ozbqMiX+LlFnc2TM3f0JrEPa+B0+RF/lHepSWvuSaSiE3WIohE1d +BNeBGksQ9rSC0uQBSA7G4biuBZGqPWqvh93/u9p5wyH/LQ21umwXyVvTX9c5g/H+ +1t8C/8mtDJcPfopjDs5ksldrbM9Gn27QBzsWPdr3hy9W4uODDX9LPdAInKU98ZhR +VGAdCskuw38V4RY00aOc0w1SEgxnr5qc5G3mzk6MeMuHho88nT5oiMk7BCrumgnU +p+c3EE+6KCuFntBNuP1NdB2EHGxOQXc8O1RHMrgS7GPm4Intqw7LXNcRj6hZ4PoC +epva5wABAoGBAPVx443YXrshwIMfup1vMSb0PQC92cUz/t6TITxVDBw1rTU9adS7 +4VBxwwvJ2vwjM8xqfWCb2RGRTclgeX+eCtFM5CmNuBN1sYlQr/S9l1F9NaT7ImTy +YPba7ltAD34LsSJIpFEbmIIJ0PIsfo5ZmpbxlXuYiF+5stAIa1U1YrgBAoGBANyv +IiKPvHEhCEXDPsPKJ5hmWCIU040NSPTA6NGg+f7BQ9hYnWxTmZY/g2hMqCGbPoRd +EkMBVDrCfqRixppcQtbkn20dYgnY/PAPATpV++OcddwbyWzCIUwJ4wM+yLpyFg6m +8XUhx0es2zRbcuLckH0FvGGQ4zbchJywcQKxP0yBAoGAHaGqPy2oAh+JBkuGVAtg +e7twwe4ppE0qr+RDVu1NkPpJ9ut7I1urT/LsAThVX6tATaVtjYRDKIPKSE2FXYrO +84W85edeGbtTu6gqFfntksDzAP/wnw9D9YlozUtmk2kF8YWjkMcsGkblGteUT8sx +hpeT3GAF1sisdcEOdDMFwAECgYAefpTY8cO4Xjgma7Rgma6fAIVtMDOLaiqKp52E +WhoxecNGQfh+3455lI0z/GO/QRSCddnwKF7bP8UAMiX/boBN8YmWKllBwxowkeI5 +jWghK52drLlIrgqr1zHnYOWb3efuXmM/LEu9O8WOlpRphNDydbhyQvMiwZYRkNAM +7zEwAQKBgB6RsiFgHpgulxaY0tGA2k4HSY7nuO5Eni5cAH7mACPw1jH0K/p2KJsS +4qbzsuz8MZmwFlXiQfLfl7YVtaEe6oG9tjaQ9Xf2ZiSw6j/HNEWiIibx+J9DnjEn +U8kCh2y8mQD7bWQjZWlaCzcMlYUnU/3e5WW/GFNrvz6TUim8beuT +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/proxy/proxy.cert.pem b/.ci/tls/servers/proxy/proxy.cert.pem new file mode 100644 index 0000000..436bdc4 --- /dev/null +++ b/.ci/tls/servers/proxy/proxy.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF1DCCA7ygAwIBAgICEAQwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAlVT +MRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2Nv +MRUwEwYDVQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQx +EjAQBgNVBAMMCXB1bHNhci1jaTAeFw0yMDAzMjkyMTAzMTBaFw0yMjEyMjQyMTAz +MTBaMG4xCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRUwEwYD +VQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGDAWBgNV +BAMMD3B1bHNhci1jaS1wcm94eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoC +ggEBAO/KwkV8NT96A0pn/Y5DlUffefTLHkVgTYocj4s8CeDS67XsZ4he/+ekn3uR +y4ze6kwA+qI8jxE7zycnBA3Dq01pG//com9nilcm1coDJrzIZSTnz1kQKOZwBoFM +1kknpDNHGBvwSwCAFbhCtQtScnsa2InN0F2lgzEJmaS/HE0OTKGOrTlC+9qbKpA5 +kQtmdhs7p3IoYRbiNZMO7ZPxXZpxEy0EaAbTeCYpmkaBUKsW3tuwdLztmyHgT3iw +y3YQcZV2tCyNyBp6bHsXp9BfhAzwehl0vSfL/3GmMLcpTH2rIhLrNL+jFpfUWOxP +qHXvhAl5VNOkw182lYvlABb3I0ECAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAwEQYJ +YIZIAYb4QgEBBAQDAgXgMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVyYXRl +ZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFAgm3jyic7NMgR4LrVWbE3pG +qcbKMIG1BgNVHSMEga0wgaqAFAXVbjo175vQXn9g0za3eFVTNKi1oYGGpIGDMIGA +MQswCQYDVQQGEwJVUzEWMBQGA1UECAwNU2FuIEZyYW5jaXNjbzEWMBQGA1UEBwwN +U2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMU3RyZWFtTmF0aXZlMRYwFAYDVQQLDA1J +VCBEZXBhcnRtZW50MRIwEAYDVQQDDAlwdWxzYXItY2mCCQC1PNkXuuj77TAOBgNV +HQ8BAf8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggrBgEF +BQcDBDANBgkqhkiG9w0BAQsFAAOCAgEApIwUVqrr3yWLhRitLvuJcwWz6fQ6WL3c +RgYBw/Q9wXCq77mAxUCEVz6zF0FklNE9N3I0mQZC01Wp7JqvNFv4/9H5V02gzmFz +m2gHIRs6hPz3gTkZNzP7vLBHe560pE0jkFD5b73esdYhr4F1U4829jV9D5IawoMa +k/Yx5HxQX9ESRiPsw1SaMVR33k7GKYieg6Effj1d3N0Y4/+yVOZuWOVAv0GgVTIx +271TDc1MrKYbYW+9qzkL5w8zOP3BbXwDxtQFAhiD82NjQU0/88WMC3I3f2oZ6jkh +ZG3vF0ssM2LnnuoMCTynNvP4VJRXY721EOmw6ev/vapPmEIMSJaSDD6h4SiuQxKM +OPHGk3ETTciYVDefCQca7UFMP+DlyJRRV2JmDdW2JvrfSVLxbhtEArgyeZnuDIGR +fyeB6lO2mP/Pe2sUsd0FJpz2uB/JaNalTiCS0RpXvIIQUIiOpLeWa6N1NUtVtLow +8mqmipieMdjjGEDHGZ8j2PXIIox5mWbcWAIvxJOZhJ8jZdBDbJB4fHw5lpTrcrxx +NgnLFVlGyjGGDtZZig0fMN2QMt8SX9W8i3beqAK3Vsb8myxGJSH6/zulg4mt8hH1 +Rwis+P4vSkcPC8hcJoacVXEj4gMCxp2jDzslVE4jQwug+2b0qhW1500/JsKj5E7+ +ylzn5KM9OFE= +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/proxy/proxy.csr.pem b/.ci/tls/servers/proxy/proxy.csr.pem new file mode 100644 index 0000000..54717de --- /dev/null +++ b/.ci/tls/servers/proxy/proxy.csr.pem @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICzDCCAbQCAQAwgYYxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGDAWBgNVBAMMD3B1bHNhci1jaS1w +cm94eTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAO/KwkV8NT96A0pn +/Y5DlUffefTLHkVgTYocj4s8CeDS67XsZ4he/+ekn3uRy4ze6kwA+qI8jxE7zycn +BA3Dq01pG//com9nilcm1coDJrzIZSTnz1kQKOZwBoFM1kknpDNHGBvwSwCAFbhC +tQtScnsa2InN0F2lgzEJmaS/HE0OTKGOrTlC+9qbKpA5kQtmdhs7p3IoYRbiNZMO +7ZPxXZpxEy0EaAbTeCYpmkaBUKsW3tuwdLztmyHgT3iwy3YQcZV2tCyNyBp6bHsX +p9BfhAzwehl0vSfL/3GmMLcpTH2rIhLrNL+jFpfUWOxPqHXvhAl5VNOkw182lYvl +ABb3I0ECAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDZkKjsOTvDQPoXfOldcZ9J +DipCf83JI+J5tEmQvYW8FJlBfmEZUiewQmDuoy5RMpIejic4wjthU4xK+siSFzkf +PUWAXzbx0oD8Y9vazFqQTmEIEbHWnWW84t5ocn9o0ZKLXSukzz/QVF1XXtquzo+n +KRWiaMFVR+1Jw1KWPDcHK1uTvo8IsqKWin5JSkewbYJB1/HKt4OlJB6KxfI61X5L +Kklx21SIPwCCQa+8l9sA3ONtmtEYSSsRxX6gbnwMpc8zZioaY5PO54wVgifjyNR/ +myjWjWi5jJE2AN4VMFmt/mvvcNz6x1RjzC5sQ6HsB7wyRZU1ybyb/oQzAi879v2n +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/proxy/proxy.key-pk8.pem b/.ci/tls/servers/proxy/proxy.key-pk8.pem new file mode 100644 index 0000000..7c999b9 --- /dev/null +++ b/.ci/tls/servers/proxy/proxy.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDvysJFfDU/egNK +Z/2OQ5VH33n0yx5FYE2KHI+LPAng0uu17GeIXv/npJ97kcuM3upMAPqiPI8RO88n +JwQNw6tNaRv/3KJvZ4pXJtXKAya8yGUk589ZECjmcAaBTNZJJ6QzRxgb8EsAgBW4 +QrULUnJ7GtiJzdBdpYMxCZmkvxxNDkyhjq05QvvamyqQOZELZnYbO6dyKGEW4jWT +Du2T8V2acRMtBGgG03gmKZpGgVCrFt7bsHS87Zsh4E94sMt2EHGVdrQsjcgaemx7 +F6fQX4QM8HoZdL0ny/9xpjC3KUx9qyIS6zS/oxaX1FjsT6h174QJeVTTpMNfNpWL +5QAW9yNBAgMBAAECggEACCm32VO0IFgP+p11pT0pvMufxDSR8DyqBxSX0l6V24By +o7vLfnn1bjZNc5BwBHimMzYpUhKLsEN/9s4+NhW+JCF64YfqQ66bqAHbb0gSLoUH +5Gy7w0VojwerQQWTmePulAxMhs70Tq0NkDs9HIiO+x/b1T0bZcS3pZi1EUWsOfc8 +xjCbEvbdvRK1R3tjZExxdRx5FR7sMuZ0Q2PhWbRymSRlNW7mX+aaCUqWQLOgqWkL +UZVl3ekljXTc+da3PxqDciHyPdYbXgVgBwKJoE8FXq1Sj7usjbrX/k+xigtA2MMW +lxA4y9CU6Bd5yTx2FySgYvGbyTt+5g6nm8rQJamgAQKBgQD/V3ZBT55oqS9Y6SpA +Rr2W89Yt66hkcJGjfHkc/onR1uyuYncNHXC3WQi8xeezzsgX4quhLSr5501iedJY +faV+s0YBDJ5kYsRxzU8iUK8CBCYfwV6EXnKvR8LmqPot7ZcONaQVngAcmkEN+9pl +FbWZeJuSaBPzjgQNBwgypA/EgQKBgQDwaQiOYtKB/O4+3qKqMR1AvWDc0/QS7kz+ +qBFP4qb3VBlLc60peosJVWBB/MUPX5ybTANl1Ah1GMpp387VcZ4tcexEiKiuofBD +19SclJ0nEycn2WEeWTIZ/EErVVnRViOHKt5CWry2NnIlGx2PJ3WGGNd6uMIF6giw +ZkqfRBz+wQKBgQCfYizCn7w1gEW5rfFdpcp6C0JJ76tw5oNCFVRUMN4+SXX7dCLz +4MiW6dB2ZOI4bn6fyjFvrg4BZ8v6CCiwa919tNGhngrQhoYwswMOXGahT42sjLs+ +zOWxW43hBOEFAiUkDX+arsFLGU46OFceeeqdHZeeT7EEekU1DIqlcZsWAQKBgDFD +9OLo0Wad5Fyx1ve1dN8tb8oRDTVL7C9LVbDfK4QHkd9qZxPW7uMMwdsD54YM+9S/ +MPsPBmSoneIwYPxQei+p5tbsglS3Drt4YTNtKP8255E89K/5a1Dz5o7wwKUrV8B9 +QmqqmX1ljuKXuej6FxVRxeZ6MhhwKzOq4qPcm2yBAoGBAMYUTcqxH5/Dqwx781/Z +W753xja6LN1gRSKOHaoUiQo/2FKSXj7fT/ZAWJwiivndoVreiz5lK9FPnPJj67HA +J+x2z2oiNbVyv7F2RnEuFxw4yeWO4wfNdEZ15DGHbIdD2nM9SvhwlMJ2rRD+O0Qa +nlve8+9e/rf+fM1ml2dYFqwZ +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/proxy/proxy.key.pem b/.ci/tls/servers/proxy/proxy.key.pem new file mode 100644 index 0000000..cc2f2ed --- /dev/null +++ b/.ci/tls/servers/proxy/proxy.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpAIBAAKCAQEA78rCRXw1P3oDSmf9jkOVR9959MseRWBNihyPizwJ4NLrtexn +iF7/56Sfe5HLjN7qTAD6ojyPETvPJycEDcOrTWkb/9yib2eKVybVygMmvMhlJOfP +WRAo5nAGgUzWSSekM0cYG/BLAIAVuEK1C1JyexrYic3QXaWDMQmZpL8cTQ5MoY6t +OUL72psqkDmRC2Z2GzuncihhFuI1kw7tk/FdmnETLQRoBtN4JimaRoFQqxbe27B0 +vO2bIeBPeLDLdhBxlXa0LI3IGnpsexen0F+EDPB6GXS9J8v/caYwtylMfasiEus0 +v6MWl9RY7E+ode+ECXlU06TDXzaVi+UAFvcjQQIDAQABAoIBAAgpt9lTtCBYD/qd +daU9KbzLn8Q0kfA8qgcUl9JelduAcqO7y3559W42TXOQcAR4pjM2KVISi7BDf/bO +PjYVviQheuGH6kOum6gB229IEi6FB+Rsu8NFaI8Hq0EFk5nj7pQMTIbO9E6tDZA7 +PRyIjvsf29U9G2XEt6WYtRFFrDn3PMYwmxL23b0StUd7Y2RMcXUceRUe7DLmdENj +4Vm0cpkkZTVu5l/mmglKlkCzoKlpC1GVZd3pJY103PnWtz8ag3Ih8j3WG14FYAcC +iaBPBV6tUo+7rI261/5PsYoLQNjDFpcQOMvQlOgXeck8dhckoGLxm8k7fuYOp5vK +0CWpoAECgYEA/1d2QU+eaKkvWOkqQEa9lvPWLeuoZHCRo3x5HP6J0dbsrmJ3DR1w +t1kIvMXns87IF+KroS0q+edNYnnSWH2lfrNGAQyeZGLEcc1PIlCvAgQmH8FehF5y +r0fC5qj6Le2XDjWkFZ4AHJpBDfvaZRW1mXibkmgT844EDQcIMqQPxIECgYEA8GkI +jmLSgfzuPt6iqjEdQL1g3NP0Eu5M/qgRT+Km91QZS3OtKXqLCVVgQfzFD1+cm0wD +ZdQIdRjKad/O1XGeLXHsRIiorqHwQ9fUnJSdJxMnJ9lhHlkyGfxBK1VZ0VYjhyre +Qlq8tjZyJRsdjyd1hhjXerjCBeoIsGZKn0Qc/sECgYEAn2Iswp+8NYBFua3xXaXK +egtCSe+rcOaDQhVUVDDePkl1+3Qi8+DIlunQdmTiOG5+n8oxb64OAWfL+ggosGvd +fbTRoZ4K0IaGMLMDDlxmoU+NrIy7PszlsVuN4QThBQIlJA1/mq7BSxlOOjhXHnnq +nR2Xnk+xBHpFNQyKpXGbFgECgYAxQ/Ti6NFmneRcsdb3tXTfLW/KEQ01S+wvS1Ww +3yuEB5HfamcT1u7jDMHbA+eGDPvUvzD7DwZkqJ3iMGD8UHovqebW7IJUtw67eGEz +bSj/NueRPPSv+WtQ8+aO8MClK1fAfUJqqpl9ZY7il7no+hcVUcXmejIYcCszquKj +3JtsgQKBgQDGFE3KsR+fw6sMe/Nf2Vu+d8Y2uizdYEUijh2qFIkKP9hSkl4+30/2 +QFicIor53aFa3os+ZSvRT5zyY+uxwCfsds9qIjW1cr+xdkZxLhccOMnljuMHzXRG +deQxh2yHQ9pzPUr4cJTCdq0Q/jtEGp5b3vPvXv63/nzNZpdnWBasGQ== +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/recovery/recovery.cert.pem b/.ci/tls/servers/recovery/recovery.cert.pem new file mode 100644 index 0000000..f6536da --- /dev/null +++ b/.ci/tls/servers/recovery/recovery.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF1zCCA7+gAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAlVT +MRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2Nv +MRUwEwYDVQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQx +EjAQBgNVBAMMCXB1bHNhci1jaTAeFw0yMDAzMjkyMTAzMTBaFw0yMjEyMjQyMTAz +MTBaMHExCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRUwEwYD +VQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGzAZBgNV +BAMMEnB1bHNhci1jaS1yZWNvdmVyeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC +AQoCggEBAK41jOTmc/XtTjIQmEvE/sHYfuUN/nbUNYerun3CpMOlUsenkMn8k1ms +NCydtqvOLCK4OMjyIg/zany/1w1L2WwV4/Rg3cqCx+0n/WjfwaiP5oJ55d2G9tgN +jrAy1ir8AaWgTJhGs8ktTtsPSIGZjbR0pMavXoWCdqbRba6Nt04/5Q+CyUo1gXu5 +c0oImC4DcJFkWW26iGF35BuVUGPmYtLOW2Zr6Wg2lcL4nZ8C2FpBGLYMtXvPVY5S +dJlaA7MVjCrVaxCB+LdS+1HLywvhY8Zuodm5Q1QOhnmFti8BHBkwAOynjd5DqP8q +qmjNZ3yC80bSlGeJ6GV1i5Cxkeyw1HMCAwEAAaOCAWcwggFjMAkGA1UdEwQCMAAw +EQYJYIZIAYb4QgEBBAQDAgXgMDMGCWCGSAGG+EIBDQQmFiRPcGVuU1NMIEdlbmVy +YXRlZCBTZXJ2ZXIgQ2VydGlmaWNhdGUwHQYDVR0OBBYEFPZsppie+Vgxp01iUTRt +Ik2DPw74MIG1BgNVHSMEga0wgaqAFAXVbjo175vQXn9g0za3eFVTNKi1oYGGpIGD +MIGAMQswCQYDVQQGEwJVUzEWMBQGA1UECAwNU2FuIEZyYW5jaXNjbzEWMBQGA1UE +BwwNU2FuIEZyYW5jaXNjbzEVMBMGA1UECgwMU3RyZWFtTmF0aXZlMRYwFAYDVQQL +DA1JVCBEZXBhcnRtZW50MRIwEAYDVQQDDAlwdWxzYXItY2mCCQC1PNkXuuj77TAO +BgNVHQ8BAf8EBAMCBeAwJwYDVR0lBCAwHgYIKwYBBQUHAwEGCCsGAQUFBwMCBggr +BgEFBQcDBDANBgkqhkiG9w0BAQsFAAOCAgEASqs3WwDz3eSsu3kywp/WI+UHjVLv +8EmMgnzgMqHmbizQyqRAO5T0X/p8CaKDFr26au+mVylmQs/wtgzMdiDouBDMsF7O +rSSZ/p/Gbd+aPPi92rxglG8eJXtMtMJQU07+7AX+Xb7e22/z//AN0ovT6lw+yelY +n/4FR8AKuqhQRT6/+etq6Mex5MsalMXvT9qrL9oL8mGpz3LKdreGBbg40YhFgMRF +edi6OBWF328MHEp1NaDJDKWXdIunWtt0t2Fa4EGZEdA3N11DljuRzq9iYLYO8cJl +rYbo6afL+Yqh/GWTgdlCreEzaClv6lVP5jAduWpSPICTpY0UmS4JHHV2yY9qieCo ++dEWHv9yyHHOqLIu8/q7NPljz+1NzRg7y4KUCQ5BZix0WKa0R98hAyY+LeCkFNgQ +elPQDvhvyzVMpGUITSoN5/CQNx8Ei3r2Jfv7S5Q7k5oBudYQwKTHnCtmAM2kAo5Y +Lr21dRXAS2DJ6sAzovhaJA5GB1ukO7jVLQiFxG6vNj4gC25XuT1+vTZh7buz1VYj +cIaIrP1xKCklKVQTWtoH1ZA4X2UMw6L5JpLKIdtxgWU4/bg7ql6NcWHAwvf0T/xv +TFYsccuxha3X/boFWSTdnGoX3dg7YKwrwRS9tUFGLlvTK0bwhTRdpe5A77XlBjwO +PwECqK8ty7Ut+vU= +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/recovery/recovery.csr.pem b/.ci/tls/servers/recovery/recovery.csr.pem new file mode 100644 index 0000000..b554131 --- /dev/null +++ b/.ci/tls/servers/recovery/recovery.csr.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICzzCCAbcCAQAwgYkxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGzAZBgNVBAMMEnB1bHNhci1jaS1y +ZWNvdmVyeTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK41jOTmc/Xt +TjIQmEvE/sHYfuUN/nbUNYerun3CpMOlUsenkMn8k1msNCydtqvOLCK4OMjyIg/z +any/1w1L2WwV4/Rg3cqCx+0n/WjfwaiP5oJ55d2G9tgNjrAy1ir8AaWgTJhGs8kt +TtsPSIGZjbR0pMavXoWCdqbRba6Nt04/5Q+CyUo1gXu5c0oImC4DcJFkWW26iGF3 +5BuVUGPmYtLOW2Zr6Wg2lcL4nZ8C2FpBGLYMtXvPVY5SdJlaA7MVjCrVaxCB+LdS ++1HLywvhY8Zuodm5Q1QOhnmFti8BHBkwAOynjd5DqP8qqmjNZ3yC80bSlGeJ6GV1 +i5Cxkeyw1HMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQBVYfA4nqzuKnGppwmG +NTgAeVGJTD+i/eVHi4Vn8gAKNmYrnZzD9H0JUDlqhFcPShneT65AFhkd2lm2Sdg6 +IqNDnnMcATU9MkMkj9fO+a5IBwvRgbvq0KZOaPUQDIB4g31vy0ldqS8HwU80Q5bz +pVSFeLoWzSJ1aNEQ2L7yz/tICFQ16Jpy8mzcYk3IXWdlcu3cqY5XqFazhLeacgVp +x9W1frO3odqP174qo/XbvClSShjWQthDNUE1uh3J/RfoDFLzNpBXRYR8QPVImp3b +gdzOccNuFGJm5a9PoX/6lD7pNQxEUAWaLkXZ5n6MybiANhRks71E8pNfXmORDekb +t5a9 +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/recovery/recovery.key-pk8.pem b/.ci/tls/servers/recovery/recovery.key-pk8.pem new file mode 100644 index 0000000..ff7c8b4 --- /dev/null +++ b/.ci/tls/servers/recovery/recovery.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCuNYzk5nP17U4y +EJhLxP7B2H7lDf521DWHq7p9wqTDpVLHp5DJ/JNZrDQsnbarziwiuDjI8iIP82p8 +v9cNS9lsFeP0YN3KgsftJ/1o38Goj+aCeeXdhvbYDY6wMtYq/AGloEyYRrPJLU7b +D0iBmY20dKTGr16Fgnam0W2ujbdOP+UPgslKNYF7uXNKCJguA3CRZFltuohhd+Qb +lVBj5mLSzltma+loNpXC+J2fAthaQRi2DLV7z1WOUnSZWgOzFYwq1WsQgfi3UvtR +y8sL4WPGbqHZuUNUDoZ5hbYvARwZMADsp43eQ6j/KqpozWd8gvNG0pRniehldYuQ +sZHssNRzAgMBAAECggEAPfkK4DsjMW90C9dfdkTkI+1yZuWtinQ/fr4Wn7pohrj/ +U8tGdLSHbrUV8nFAlKnJhahnewS4HViIn0xXooFDHXJEH6F+BRa1LKa3PWGsMNzQ +McZPgZkLoxxfkErlaXEw3MzDssAkIQMfNEqhjokjofiEzbGBPJmGwB1smVYMyabX +AwA8PrtH0c5Wk3DiZcJrQY5C1jVpfh0HA8jXdzoleYbWpjGz8zfZYHhV9Enufw4W +2Uun4+LUxBvOAtrEvjcsHUF0C9tfUk97CT/KlqvndLjsJI1D2iRRZYqZBp1Cj8Ud +EirSj8zx5eR56uluZV5QmXQbJsbO7dMXQknfiwCRQQKBgQDTnV8W1JHssmgCqJUc +1W/OQJMk8Ty1If5WwIbqx2D56fcTcat48O4AIZB1H/Jc58GEgTTqsTYR6VVn1IOw +soQHnzfKZpUYU6HOiLdsdVM8y9g+k6nHFbEfvXvOyyHVOv1mGVjTQevwQrj/oA1D +EivycmyHxes03NdzhbNm35zF0QKBgQDSv7EzUP2/SoNlrK3bJ66zbHMTXSZ9RpAB +hU+V5yvHbvnCDFWCZeSAXmKIEGHF/oP+gTIru4aGOFdDuuyY3xnIT/8IU9gngLc+ +TWhk7gVPwO9/CcitrziIpNkOZs/TRo9nKLF61DeNT1ZfIpQS8pQTyNyAKKMNheqH +SFFQh2wTAwKBgQCs/lHmEBDbN13gDoEX+URVkGS6JpxCV2/c67df525X3/SkaKCN +Vii64rV9iohPewawlA/2bLiPG/k90HV31fgpYvfw9rucD4KPnSSV/bP2V46IWZ7J +qeoK0JSOEXGvJ3JQLRh4W8PNvj4Oe4Fb+1cB9JjUxe/qXz+iqQJobxVygQKBgQCI +7b2fXu8PW8WVySVIsDbFIyB9o1c/rBoistAr0IBUWtlx5/ui9rsJYMnaJ/Ku5xgx +wxWq7nOQP4kLW6cgCEzDJp7IdVmLCQmGNFswwKm40N2LB/tYRfGQbrMMtWYwmrbP +ytPNv5a8fKDcvSXCTdRCKo6BwmV2gt0HusgCb4qbqwKBgQCCclGA+tGomV1AqOI5 +wU3LAvWXIt7wbi3pOOhKEQYNM09+0nFXJc+13DY0g/luM2VkOBpac5T5F6F7ZDiP +vMBraJBKG1VqaGI/7Jpn8cSgTCHExJwk5rdmxJkWSmJCXVaW1oVT3PiSvEj9t/Ko +rgeGK5Elmg225nH43gJ0vk1I+w== +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/recovery/recovery.key.pem b/.ci/tls/servers/recovery/recovery.key.pem new file mode 100644 index 0000000..f511667 --- /dev/null +++ b/.ci/tls/servers/recovery/recovery.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpQIBAAKCAQEArjWM5OZz9e1OMhCYS8T+wdh+5Q3+dtQ1h6u6fcKkw6VSx6eQ +yfyTWaw0LJ22q84sIrg4yPIiD/NqfL/XDUvZbBXj9GDdyoLH7Sf9aN/BqI/mgnnl +3Yb22A2OsDLWKvwBpaBMmEazyS1O2w9IgZmNtHSkxq9ehYJ2ptFtro23Tj/lD4LJ +SjWBe7lzSgiYLgNwkWRZbbqIYXfkG5VQY+Zi0s5bZmvpaDaVwvidnwLYWkEYtgy1 +e89VjlJ0mVoDsxWMKtVrEIH4t1L7UcvLC+Fjxm6h2blDVA6GeYW2LwEcGTAA7KeN +3kOo/yqqaM1nfILzRtKUZ4noZXWLkLGR7LDUcwIDAQABAoIBAD35CuA7IzFvdAvX +X3ZE5CPtcmblrYp0P36+Fp+6aIa4/1PLRnS0h261FfJxQJSpyYWoZ3sEuB1YiJ9M +V6KBQx1yRB+hfgUWtSymtz1hrDDc0DHGT4GZC6McX5BK5WlxMNzMw7LAJCEDHzRK +oY6JI6H4hM2xgTyZhsAdbJlWDMmm1wMAPD67R9HOVpNw4mXCa0GOQtY1aX4dBwPI +13c6JXmG1qYxs/M32WB4VfRJ7n8OFtlLp+Pi1MQbzgLaxL43LB1BdAvbX1JPewk/ +ypar53S47CSNQ9okUWWKmQadQo/FHRIq0o/M8eXkeerpbmVeUJl0GybGzu3TF0JJ +34sAkUECgYEA051fFtSR7LJoAqiVHNVvzkCTJPE8tSH+VsCG6sdg+en3E3GrePDu +ACGQdR/yXOfBhIE06rE2EelVZ9SDsLKEB583ymaVGFOhzoi3bHVTPMvYPpOpxxWx +H717zssh1Tr9ZhlY00Hr8EK4/6ANQxIr8nJsh8XrNNzXc4WzZt+cxdECgYEA0r+x +M1D9v0qDZayt2yeus2xzE10mfUaQAYVPlecrx275wgxVgmXkgF5iiBBhxf6D/oEy +K7uGhjhXQ7rsmN8ZyE//CFPYJ4C3Pk1oZO4FT8DvfwnIra84iKTZDmbP00aPZyix +etQ3jU9WXyKUEvKUE8jcgCijDYXqh0hRUIdsEwMCgYEArP5R5hAQ2zdd4A6BF/lE +VZBkuiacQldv3Ou3X+duV9/0pGigjVYouuK1fYqIT3sGsJQP9my4jxv5PdB1d9X4 +KWL38Pa7nA+Cj50klf2z9leOiFmeyanqCtCUjhFxrydyUC0YeFvDzb4+DnuBW/tX +AfSY1MXv6l8/oqkCaG8VcoECgYEAiO29n17vD1vFlcklSLA2xSMgfaNXP6waIrLQ +K9CAVFrZcef7ova7CWDJ2ifyrucYMcMVqu5zkD+JC1unIAhMwyaeyHVZiwkJhjRb +MMCpuNDdiwf7WEXxkG6zDLVmMJq2z8rTzb+WvHyg3L0lwk3UQiqOgcJldoLdB7rI +Am+Km6sCgYEAgnJRgPrRqJldQKjiOcFNywL1lyLe8G4t6TjoShEGDTNPftJxVyXP +tdw2NIP5bjNlZDgaWnOU+Rehe2Q4j7zAa2iQShtVamhiP+yaZ/HEoEwhxMScJOa3 +ZsSZFkpiQl1WltaFU9z4krxI/bfyqK4HhiuRJZoNtuZx+N4CdL5NSPs= +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/toolset/toolset.cert.pem b/.ci/tls/servers/toolset/toolset.cert.pem new file mode 100644 index 0000000..17cc4f4 --- /dev/null +++ b/.ci/tls/servers/toolset/toolset.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF1jCCA76gAwIBAgICEAUwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAlVT +MRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2Nv +MRUwEwYDVQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQx +EjAQBgNVBAMMCXB1bHNhci1jaTAeFw0yMDAzMjkyMTAzMTBaFw0yMjEyMjQyMTAz +MTBaMHAxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRUwEwYD +VQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGjAYBgNV +BAMMEXB1bHNhci1jaS10b29sc2V0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB +CgKCAQEA1Oy51AEmFFblTOIzl+IWZftQ9+Htg66v/8kUNR7h+AYRor9Vyf3AuBMV +ZuwHjl0xz0Mk3wir2RIhbcuXdiagcgdsijOWrSJK3uGgkKO0LWZMkMWcMNTgxm3S ++2NhHxdZWqNsX0Fgfju5F5IA7yOoBsTcqTt/xKyBocFshd8D0VvwrPkdoqVWoBKf +mIkJg+qp77DQ0rzvpkqGVjjIaUmFPyQL9Rv/escxZHwj7Q3JoGzY7KwgPGAwwwip +CuhCi9+yyjhGCP0j0amLuEJAsTwYp7fguuZnyQFsJQ29MbesWtxoyt68wk7QPLCg +/ZBLljdJSA7hNwjO8IZ97DzwmFfn0QIDAQABo4IBZzCCAWMwCQYDVR0TBAIwADAR +BglghkgBhvhCAQEEBAMCBeAwMwYJYIZIAYb4QgENBCYWJE9wZW5TU0wgR2VuZXJh +dGVkIFNlcnZlciBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUsgXRoPfGg+Upnv87zdHm +3L8RWBMwgbUGA1UdIwSBrTCBqoAUBdVuOjXvm9Bef2DTNrd4VVM0qLWhgYakgYMw +gYAxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRYwFAYDVQQH +DA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsM +DUlUIERlcGFydG1lbnQxEjAQBgNVBAMMCXB1bHNhci1jaYIJALU82Re66PvtMA4G +A1UdDwEB/wQEAwIF4DAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIGCCsG +AQUFBwMEMA0GCSqGSIb3DQEBCwUAA4ICAQBCSA8FMpjtni9++dsKS4g6/iA+6tIP +ptKZa5Cvo3UYImSBPwaySozN0/yDfHCuftieWWdWLUjXnu6ms1DQI5hLCqKEt2AE +F5XCj8WVpkTaGtdBgyz2ftQDdJEbP/g8orANq6ET3BHAKkmok4v9xDol0KUejR4b +QwUoHKPIg6NbR8VH6JDxX3VINTWnyRKKSDsT11ZrjlZQeVv0T/vt+CGy7u0VXP/V +UzzuL5mZaKcBAq7JmuZY6xH2Q4dlrORt3KZM21T25laNOKfTE/vZfaO76S9WYlKZ +bJLWEPEUhhM+vofwPw/nOOJmp0iu+bKt5VLrNcAZ0fCnJld4sBHcPOZQ7B7wScf4 +pWcKEzTzScn4MfEj9FZCJSV4ph8QWA3n8Ue9EVXkIWCevNjtnoPTzp7Qx8H+kr0j +53JqPbjoENfqaDxKVEqPCEBPljgYAQ/uocuoMOKCSLlD27bGFnwwg+nyoA9j6fXS +TXLZ4tYlA2qiGyDMJPc47ovEugXWUfDabu/ScuUItdnhZajdw9zRjD44+oSb5UfC +Yb84WFtDswjO/qayfI/nt72tYymtQjOl3W9RtNMJNZf6c1LeumHaB56lpCnoLKYh +Ap6rtWTCup/GtCXynXje76rMwsv1OLuo/1tm3wUAlYIoQPuoVjtlXG6P1XtZRErd +OfCFrGQHLuH9Vg== +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/toolset/toolset.csr.pem b/.ci/tls/servers/toolset/toolset.csr.pem new file mode 100644 index 0000000..590e938 --- /dev/null +++ b/.ci/tls/servers/toolset/toolset.csr.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIICzjCCAbYCAQAwgYgxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxGjAYBgNVBAMMEXB1bHNhci1jaS10 +b29sc2V0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1Oy51AEmFFbl +TOIzl+IWZftQ9+Htg66v/8kUNR7h+AYRor9Vyf3AuBMVZuwHjl0xz0Mk3wir2RIh +bcuXdiagcgdsijOWrSJK3uGgkKO0LWZMkMWcMNTgxm3S+2NhHxdZWqNsX0Fgfju5 +F5IA7yOoBsTcqTt/xKyBocFshd8D0VvwrPkdoqVWoBKfmIkJg+qp77DQ0rzvpkqG +VjjIaUmFPyQL9Rv/escxZHwj7Q3JoGzY7KwgPGAwwwipCuhCi9+yyjhGCP0j0amL +uEJAsTwYp7fguuZnyQFsJQ29MbesWtxoyt68wk7QPLCg/ZBLljdJSA7hNwjO8IZ9 +7DzwmFfn0QIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAF1xlJi80nwY6WduRUVA +fo6EbDdoh+O124f81I+4yg1zrf623+qVlIJyDO+phhxwf1XxioQkTiimryRbvDPf +y2ST1zF1bFrFqFgvUMggGgeUG2cwSF98egaUOHlhWjXPTiBs20gf2W9aueIsn/TK +uiEdONzbprBtXRX76/0e0jP3YXc48YjTYlgcAgJI4JRR3qccDt/mapSuPBSvkq6C +5FKN5ou6TuDW08N3wFv40D+YGwvwSBWgnr5NlQFVsrr53ijwJ7mRfg8kBK3SdlG5 +uu/03JjML7eNdphH1DNeljV7ZZXEnAyNcq4La5NM0Tndi9wgrQNOMKEpV1fzTZWV +kec= +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/toolset/toolset.key-pk8.pem b/.ci/tls/servers/toolset/toolset.key-pk8.pem new file mode 100644 index 0000000..0f71c41 --- /dev/null +++ b/.ci/tls/servers/toolset/toolset.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEwAIBADANBgkqhkiG9w0BAQEFAASCBKowggSmAgEAAoIBAQDU7LnUASYUVuVM +4jOX4hZl+1D34e2Drq//yRQ1HuH4BhGiv1XJ/cC4ExVm7AeOXTHPQyTfCKvZEiFt +y5d2JqByB2yKM5atIkre4aCQo7QtZkyQxZww1ODGbdL7Y2EfF1lao2xfQWB+O7kX +kgDvI6gGxNypO3/ErIGhwWyF3wPRW/Cs+R2ipVagEp+YiQmD6qnvsNDSvO+mSoZW +OMhpSYU/JAv1G/96xzFkfCPtDcmgbNjsrCA8YDDDCKkK6EKL37LKOEYI/SPRqYu4 +QkCxPBint+C65mfJAWwlDb0xt6xa3GjK3rzCTtA8sKD9kEuWN0lIDuE3CM7whn3s +PPCYV+fRAgMBAAECggEBAMefpV1JMm1RRqt9S4ezNPKp2zB7hdW2elViLOrcqFiD +QBeIMSMuH3e0lJUo5rCnWSKLPc9I7uyVnfe1L6xa7IPbx/wN/88UXoN1n7bbc/o4 +dcIpMpVpj88ZefusIYsnteNPYjQwNApFbfPWM8AAevDVsleLa+91GBgSIu+jtY2a +YlPazfRil2pgzNNit5LLHZtSdHB8aznSsNm1B55uOXlHW8U3zUT8rU0/SVVBbL9u +JPrrnc/95qZ/f/6PMVgWA2SHa7mS8qbpFGWl5pc7B3pF0AgTYA1Su885oZ+v3+8U +vbWMbI87Ruseu/NHQ4LiSMdQN242wQIfob0eCSdaicECgYEA6eHPlQbAbYEsNZp/ ++qcSE7LZV1FIW6eqIe/eUlBbMRZ7wSXXFutlh3Kbn+XxwpIV3bDhjxYuNKS0LudA +/aB+pfMmZ48k6CN/krbsvVtqJ3FMmiI/RGo0yt7F8Lp6ghVaw4yIKB2bcM68MpVe +xG4HKrDbs5ojyZI2mMqNh8lB/dkCgYEA6Q+LvOsJvSO/uTEdLIWH4Gtyj0nHjv9/ +Z0s53I6gOYD8s01ZH0EObvGg9UUdpOYfENP8S3qvGd6ZYUk77uXBzlHwiDjLh1TW +CssAiorsWbofuEhq6EDtO2Rl4qafPbdxonep/RXlVQuHGUxxpYNiZcnwanQ1VTG2 +K3d5Poe7ZrkCgYEA6M7SJvH1kgtGyoTkZ8jugZVCK1zJvhKDlAyFLUK3w4Ex5u2X +0US4Z795kgz+PkPUaDyuChR2IgjhIt8nHlAoQWBsFiGzBzBuyMg1l7frTx/EtJjq +iVt++YIPXrUBRYOkOYsl7WirVfsz8tYk4zry/1fVGk6Q2REmL6lQgJ2hhuECgYEA +k9c1uHiMa/vScgKy0/w8rmLagAS4X4C56+dvY/bhsridFIybXVUid8Q1a4EVhfYo +fL9MiwDfNJTdTTZsm2YJ4/xcjb0hds6dHKmbxUbNGToVRwxBLOWK16MfcoBqAXdt +0TcBkTcjjChM4gJ5ERpf/9vy80SWVF29hqM6OS1W9pkCgYEArRK6fyeQBX2UtW39 +6OKH5Er1esLQ8tk7BH+t74OH2nrqKC5wu+oBG35rCDhq1ocP7QH+bnnpKZs0Xeoo +im1zPzD0v8/BeGz7Uiv7ZyzNBki1YFEW5yagnYc+rjGRfEAbsARpDHtxniU4PjBu +WXwvaO7oaX+DB8M4pZn4zyPmdGI= +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/toolset/toolset.key.pem b/.ci/tls/servers/toolset/toolset.key.pem new file mode 100644 index 0000000..458a8d4 --- /dev/null +++ b/.ci/tls/servers/toolset/toolset.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEpgIBAAKCAQEA1Oy51AEmFFblTOIzl+IWZftQ9+Htg66v/8kUNR7h+AYRor9V +yf3AuBMVZuwHjl0xz0Mk3wir2RIhbcuXdiagcgdsijOWrSJK3uGgkKO0LWZMkMWc +MNTgxm3S+2NhHxdZWqNsX0Fgfju5F5IA7yOoBsTcqTt/xKyBocFshd8D0VvwrPkd +oqVWoBKfmIkJg+qp77DQ0rzvpkqGVjjIaUmFPyQL9Rv/escxZHwj7Q3JoGzY7Kwg +PGAwwwipCuhCi9+yyjhGCP0j0amLuEJAsTwYp7fguuZnyQFsJQ29MbesWtxoyt68 +wk7QPLCg/ZBLljdJSA7hNwjO8IZ97DzwmFfn0QIDAQABAoIBAQDHn6VdSTJtUUar +fUuHszTyqdswe4XVtnpVYizq3KhYg0AXiDEjLh93tJSVKOawp1kiiz3PSO7slZ33 +tS+sWuyD28f8Df/PFF6DdZ+223P6OHXCKTKVaY/PGXn7rCGLJ7XjT2I0MDQKRW3z +1jPAAHrw1bJXi2vvdRgYEiLvo7WNmmJT2s30YpdqYMzTYreSyx2bUnRwfGs50rDZ +tQeebjl5R1vFN81E/K1NP0lVQWy/biT6653P/eamf3/+jzFYFgNkh2u5kvKm6RRl +peaXOwd6RdAIE2ANUrvPOaGfr9/vFL21jGyPO0brHrvzR0OC4kjHUDduNsECH6G9 +HgknWonBAoGBAOnhz5UGwG2BLDWaf/qnEhOy2VdRSFunqiHv3lJQWzEWe8El1xbr +ZYdym5/l8cKSFd2w4Y8WLjSktC7nQP2gfqXzJmePJOgjf5K27L1baidxTJoiP0Rq +NMrexfC6eoIVWsOMiCgdm3DOvDKVXsRuByqw27OaI8mSNpjKjYfJQf3ZAoGBAOkP +i7zrCb0jv7kxHSyFh+Brco9Jx47/f2dLOdyOoDmA/LNNWR9BDm7xoPVFHaTmHxDT +/Et6rxnemWFJO+7lwc5R8Ig4y4dU1grLAIqK7Fm6H7hIauhA7TtkZeKmnz23caJ3 +qf0V5VULhxlMcaWDYmXJ8Gp0NVUxtit3eT6Hu2a5AoGBAOjO0ibx9ZILRsqE5GfI +7oGVQitcyb4Sg5QMhS1Ct8OBMebtl9FEuGe/eZIM/j5D1Gg8rgoUdiII4SLfJx5Q +KEFgbBYhswcwbsjINZe3608fxLSY6olbfvmCD161AUWDpDmLJe1oq1X7M/LWJOM6 +8v9X1RpOkNkRJi+pUICdoYbhAoGBAJPXNbh4jGv70nICstP8PK5i2oAEuF+Auevn +b2P24bK4nRSMm11VInfENWuBFYX2KHy/TIsA3zSU3U02bJtmCeP8XI29IXbOnRyp +m8VGzRk6FUcMQSzlitejH3KAagF3bdE3AZE3I4woTOICeREaX//b8vNEllRdvYaj +OjktVvaZAoGBAK0Sun8nkAV9lLVt/ejih+RK9XrC0PLZOwR/re+Dh9p66igucLvq +ARt+awg4ataHD+0B/m556SmbNF3qKIptcz8w9L/PwXhs+1Ir+2cszQZItWBRFucm +oJ2HPq4xkXxAG7AEaQx7cZ4lOD4wbll8L2ju6Gl/gwfDOKWZ+M8j5nRi +-----END RSA PRIVATE KEY----- diff --git a/.ci/tls/servers/zookeeper/zookeeper.cert.pem b/.ci/tls/servers/zookeeper/zookeeper.cert.pem new file mode 100644 index 0000000..36637cc --- /dev/null +++ b/.ci/tls/servers/zookeeper/zookeeper.cert.pem @@ -0,0 +1,34 @@ +-----BEGIN CERTIFICATE----- +MIIF2DCCA8CgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwgYAxCzAJBgNVBAYTAlVT +MRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2Nv +MRUwEwYDVQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQx +EjAQBgNVBAMMCXB1bHNhci1jaTAeFw0yMDAzMjkyMTAzMDlaFw0yMjEyMjQyMTAz +MDlaMHIxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNpc2NvMRUwEwYD +VQQKDAxTdHJlYW1OYXRpdmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxHDAaBgNV +BAMME3B1bHNhci1jaS16b29rZWVwZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw +ggEKAoIBAQCqITWDFOGDR8zuiPrlu5+LsX0ToYfwAJFl10rW3G1vEsDoIc6ckNZ3 +EMXQlIcG4qKv46aBDz7j+fYLFxe2nB4O5K3vNnAwJKlpbsj/T4EKyPMavzo6YtrZ +jtPH0a7NxfSXtoTl6HoxPL0xzE9GdaD8/zloEDmcakfQdMHT2RI/7ZCC23QiNdtJ +4qZFjf7mTjoe/qaG3zdYsI180nR+uH6h8P5mzIQML0ME7lM0MzoyoAsOeykS40dB +yFDcbOp/Z878Zx++2Cb39KibQ4BGbicXJUjWaJ6l9EFp5RektjluyOioJyRH/u2w +VfKWJODvug/sZsgobCNv64N0rJOvZESzAgMBAAGjggFnMIIBYzAJBgNVHRMEAjAA +MBEGCWCGSAGG+EIBAQQEAwIF4DAzBglghkgBhvhCAQ0EJhYkT3BlblNTTCBHZW5l +cmF0ZWQgU2VydmVyIENlcnRpZmljYXRlMB0GA1UdDgQWBBQVX4oxgqLxXeerh43g ++IuOyenZcTCBtQYDVR0jBIGtMIGqgBQF1W46Ne+b0F5/YNM2t3hVUzSotaGBhqSB +gzCBgDELMAkGA1UEBhMCVVMxFjAUBgNVBAgMDVNhbiBGcmFuY2lzY28xFjAUBgNV +BAcMDVNhbiBGcmFuY2lzY28xFTATBgNVBAoMDFN0cmVhbU5hdGl2ZTEWMBQGA1UE +CwwNSVQgRGVwYXJ0bWVudDESMBAGA1UEAwwJcHVsc2FyLWNpggkAtTzZF7ro++0w +DgYDVR0PAQH/BAQDAgXgMCcGA1UdJQQgMB4GCCsGAQUFBwMBBggrBgEFBQcDAgYI +KwYBBQUHAwQwDQYJKoZIhvcNAQELBQADggIBAIVogKtIA2arT/sMmm57i04CdrO9 +ttv2mgRb47lwshtfbHFv+oCJuXSubFTxMUPpEeecrxfiBt30xbLEx9CwBOZpewDl +btERhG6B8WCVvYRIUb9uQdfgqAY6kD1ThapDWuDQRMw7h1Bc0c3PBiMrjCCFPsO+ +Vp4kv1BvzatWGkKOgMmUjRbIjHGta7qN4jqlOyzyMlbLbGCXutTOdpc+hjYUtYZg +zAGZmkPFFYyDG2cPGLXI+io7Q6ZWAZD3AYhgYJTrMOvKs2+iUSZ5kRyPKyUd4tsJ +Pl07Zz5yY78psWYV+by1b09Ehv0IoTYC5kEwnSjYB/lYhPm7E2E1XDaYHzIPXiQ5 +2kyH20zI9n55cEYWfo96h0dU/Uk5StbGxC8AZQQ64mmd0afqejTqQ5fOGI+04aoo +X9mjQB5G5OTSHNdxm2t1HOaJYMTkdMmmjeCW0Dy1jtERe7+KsBclXRChwmXs48Kd +Y/DyxAx2ssLtYrKF4vqY3uuPcGmEePgRUAZ5HY+PqrP/lxjhibzTlbaVDMG1/1jG +yUjPoFa95ZqcIP9F1QLRCjNXUmHzFTOh4YoI9AFO9WdcexeOgFiBINptNyShNCJt +NGDsMjdeevRCSjEClrClYG6ZVzp0NXDt3Yk8XcTqwmxz/n7kOAGoThWiwzisOV+L +wcJC6h29x0XWiTfE +-----END CERTIFICATE----- diff --git a/.ci/tls/servers/zookeeper/zookeeper.csr.pem b/.ci/tls/servers/zookeeper/zookeeper.csr.pem new file mode 100644 index 0000000..e6c9f81 --- /dev/null +++ b/.ci/tls/servers/zookeeper/zookeeper.csr.pem @@ -0,0 +1,18 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIC0DCCAbgCAQAwgYoxCzAJBgNVBAYTAlVTMRYwFAYDVQQIDA1TYW4gRnJhbmNp +c2NvMRYwFAYDVQQHDA1TYW4gRnJhbmNpc2NvMRUwEwYDVQQKDAxTdHJlYW1OYXRp +dmUxFjAUBgNVBAsMDUlUIERlcGFydG1lbnQxHDAaBgNVBAMME3B1bHNhci1jaS16 +b29rZWVwZXIwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCqITWDFOGD +R8zuiPrlu5+LsX0ToYfwAJFl10rW3G1vEsDoIc6ckNZ3EMXQlIcG4qKv46aBDz7j ++fYLFxe2nB4O5K3vNnAwJKlpbsj/T4EKyPMavzo6YtrZjtPH0a7NxfSXtoTl6Hox +PL0xzE9GdaD8/zloEDmcakfQdMHT2RI/7ZCC23QiNdtJ4qZFjf7mTjoe/qaG3zdY +sI180nR+uH6h8P5mzIQML0ME7lM0MzoyoAsOeykS40dByFDcbOp/Z878Zx++2Cb3 +9KibQ4BGbicXJUjWaJ6l9EFp5RektjluyOioJyRH/u2wVfKWJODvug/sZsgobCNv +64N0rJOvZESzAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEARBLSgRuoJniQqmqi +cCLEab3HjNB0guiL6MmdmGv6D5BwH0MnEyE8RvdRiA+lcQGXC3ySpnmVc5nz99m3 +H8dQGC+6QjiRFWzsZ4nsvDG4gubASfSG8ruewNnafLyWCwnHS1M7KHoj9QjhgOIv +qf4Ud2px0RNZY5LSl0e9rYp+LehokD6oZJCoU4uiEjli9vPR61oa3+/oFlzfDsN/ +O4ojDkNFpL/zpbpOYTrGcgtMghGrDjzG7jZ5LEzAFmcjmCaDNK16b5Y2Zat+IiaA +cH3KdED8SohBEXRzbhBnEle5YwdS3bDYzyDnXYlvCEI9AWxolmKzQvrAWkah1X2t +6rz3xg== +-----END CERTIFICATE REQUEST----- diff --git a/.ci/tls/servers/zookeeper/zookeeper.key-pk8.pem b/.ci/tls/servers/zookeeper/zookeeper.key-pk8.pem new file mode 100644 index 0000000..147cfb2 --- /dev/null +++ b/.ci/tls/servers/zookeeper/zookeeper.key-pk8.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCqITWDFOGDR8zu +iPrlu5+LsX0ToYfwAJFl10rW3G1vEsDoIc6ckNZ3EMXQlIcG4qKv46aBDz7j+fYL +Fxe2nB4O5K3vNnAwJKlpbsj/T4EKyPMavzo6YtrZjtPH0a7NxfSXtoTl6HoxPL0x +zE9GdaD8/zloEDmcakfQdMHT2RI/7ZCC23QiNdtJ4qZFjf7mTjoe/qaG3zdYsI18 +0nR+uH6h8P5mzIQML0ME7lM0MzoyoAsOeykS40dByFDcbOp/Z878Zx++2Cb39Kib +Q4BGbicXJUjWaJ6l9EFp5RektjluyOioJyRH/u2wVfKWJODvug/sZsgobCNv64N0 +rJOvZESzAgMBAAECggEAKPa+D8XjVtze90B8SPyYOeaOmz91n9BDMiZYmsuQfgIh ++MLLIN+vBBRBzSs2J+5CBd/mo4SsO/Bf0ePJjeqhQizFxKdy8+Sf9gb61p6qD5K7 +FmGc/5n14BSH4cEXOezELBOChGkpotlhJLBxFiIUlVZO2EOv232rtQGn+f52anXA +jVa8JlcWjusb4D6586hV6zhyhk5qgHB3YxhA4461P/zpUqn6dWNrYV4m60vYWm4L +mwnTldn6bTfZxsdrZrgPOR9mCB/O02daLkDF2gJMNWtPFt3irR5nx/HxWls22LB5 +rMD/LiLunELtAF6mXGYAeE57otK+XmdfqeKFv2M/YQKBgQDaxQLr/aUEmwxmyU3k +Ny+Z/1jDzjxfoNsbvU+2HxsEh0ahT5B3pQQNOjST21yzxYIrZ3P1AwTiuzuQffZk +PckFDTrCWQm6Fit+7Ku5aXqtJ4VhF6+QKTXJuFvQ3O3wsrJ7VZaMYZLcA0kzIIyw +NK7/7EaQO9HgMEyyQXJCBa5s5QKBgQDHFSMy22Exb0fDndKHy0+HV4v3HhzDGdZ8 +RIuy9J1E6eV1j+FwzTa/nDzj252vZrflFfh+who4BcRAKgK4pJb4YMHTUI6GAhEa +Rsg/6CzOGxw7CAkLMaVnj+TiIKzx6RGmzBCP3hToF9ZpnkmgXFwIsfKZoXvPEp8s +Sdb5krjptwKBgQDJeY8LT3leGHz/XH1DpB9Or/9LtO+dEkM39M0oaNU1AnBltyTR +S0PD+srZMLjbRxZuasQ77R/ev5hHpfn4r34mDN0Eh4ORwUElj0lHZID6Xt9TX8Dr +/0fuEr9cR1tKxQfi1hvkBSh/Pvd3Ao8O6DYSs8L4ql7LHTBFKkjTzO+qkQKBgDgI +nQWddbfCSIKoky8hbFr9qyl80j+fsBz99gwCiZlx8+GpA50KRZSc1w6TK8jIso3K +J00WOOb3yIr+yBFMUinKogNmMxdI0aOBtK84HBRO0R1UX6dE6/dAKv3ykHruTMeT +vD2iFmRVAUZtBPAbztOrskrHht97sE144wcP4vf1AoGAEx6O56DDjIxd/b5rC4mK +n6AKzg/cJJLgN67ZUIZ87RQkuoRzvA8wiheUTbD/H75KfPmIPt085oDmjvKYLEZC +l5R8ceLAxlQnhOYPVp1NjMP8YCcukWLdN1ltjVl1Fs/aUC9AzpyzzpU2auMuPk8q +KCJQmTbCbDIGHfW39T6kNvE= +-----END PRIVATE KEY----- diff --git a/.ci/tls/servers/zookeeper/zookeeper.key.pem b/.ci/tls/servers/zookeeper/zookeeper.key.pem new file mode 100644 index 0000000..6f7edd5 --- /dev/null +++ b/.ci/tls/servers/zookeeper/zookeeper.key.pem @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAqiE1gxThg0fM7oj65bufi7F9E6GH8ACRZddK1txtbxLA6CHO +nJDWdxDF0JSHBuKir+OmgQ8+4/n2CxcXtpweDuSt7zZwMCSpaW7I/0+BCsjzGr86 +OmLa2Y7Tx9GuzcX0l7aE5eh6MTy9McxPRnWg/P85aBA5nGpH0HTB09kSP+2Qgtt0 +IjXbSeKmRY3+5k46Hv6mht83WLCNfNJ0frh+ofD+ZsyEDC9DBO5TNDM6MqALDnsp +EuNHQchQ3Gzqf2fO/Gcfvtgm9/Som0OARm4nFyVI1miepfRBaeUXpLY5bsjoqCck +R/7tsFXyliTg77oP7GbIKGwjb+uDdKyTr2REswIDAQABAoIBACj2vg/F41bc3vdA +fEj8mDnmjps/dZ/QQzImWJrLkH4CIfjCyyDfrwQUQc0rNifuQgXf5qOErDvwX9Hj +yY3qoUIsxcSncvPkn/YG+taeqg+SuxZhnP+Z9eAUh+HBFznsxCwTgoRpKaLZYSSw +cRYiFJVWTthDr9t9q7UBp/n+dmp1wI1WvCZXFo7rG+A+ufOoVes4coZOaoBwd2MY +QOOOtT/86VKp+nVja2FeJutL2FpuC5sJ05XZ+m032cbHa2a4DzkfZggfztNnWi5A +xdoCTDVrTxbd4q0eZ8fx8VpbNtiweazA/y4i7pxC7QBeplxmAHhOe6LSvl5nX6ni +hb9jP2ECgYEA2sUC6/2lBJsMZslN5Dcvmf9Yw848X6DbG71Pth8bBIdGoU+Qd6UE +DTo0k9tcs8WCK2dz9QME4rs7kH32ZD3JBQ06wlkJuhYrfuyruWl6rSeFYRevkCk1 +ybhb0Nzt8LKye1WWjGGS3ANJMyCMsDSu/+xGkDvR4DBMskFyQgWubOUCgYEAxxUj +MtthMW9Hw53Sh8tPh1eL9x4cwxnWfESLsvSdROnldY/hcM02v5w849udr2a35RX4 +fsIaOAXEQCoCuKSW+GDB01COhgIRGkbIP+gszhscOwgJCzGlZ4/k4iCs8ekRpswQ +j94U6BfWaZ5JoFxcCLHymaF7zxKfLEnW+ZK46bcCgYEAyXmPC095Xhh8/1x9Q6Qf +Tq//S7TvnRJDN/TNKGjVNQJwZbck0UtDw/rK2TC420cWbmrEO+0f3r+YR6X5+K9+ +JgzdBIeDkcFBJY9JR2SA+l7fU1/A6/9H7hK/XEdbSsUH4tYb5AUofz73dwKPDug2 +ErPC+Kpeyx0wRSpI08zvqpECgYA4CJ0FnXW3wkiCqJMvIWxa/aspfNI/n7Ac/fYM +AomZcfPhqQOdCkWUnNcOkyvIyLKNyidNFjjm98iK/sgRTFIpyqIDZjMXSNGjgbSv +OBwUTtEdVF+nROv3QCr98pB67kzHk7w9ohZkVQFGbQTwG87Tq7JKx4bfe7BNeOMH +D+L39QKBgBMejuegw4yMXf2+awuJip+gCs4P3CSS4Deu2VCGfO0UJLqEc7wPMIoX +lE2w/x++Snz5iD7dPOaA5o7ymCxGQpeUfHHiwMZUJ4TmD1adTYzD/GAnLpFi3TdZ +bY1ZdRbP2lAvQM6cs86VNmrjLj5PKigiUJk2wmwyBh31t/U+pDbx +-----END RSA PRIVATE KEY----- diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..00c4b58 --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,14 @@ +#### Expected behavior + +Tell us what should happen + +#### Actual behavior + +Tell us what happens instead + +#### Steps to reproduce + +How can we reproduce the issue + +#### System configuration +**Pulsar version**: x.y diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..b9be206 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,30 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: type/bug +assignees: '' + +--- + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** +A clear and concise description of what you expected to happen. + +**Screenshots** +If applicable, add screenshots to help explain your problem. + +**Desktop (please complete the following information):** + - OS: [e.g. iOS] + +**Additional context** +Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..5b8022c --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: type/feature +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..7d5cdd6 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,13 @@ +Fixes # + +### Motivation + +*Explain here the context, and why you're making that change. What is the problem you're trying to solve.* + +### Modifications + +*Describe the modifications you've done.* + +### Verifying this change + +- [ ] Make sure that the change passes the CI checks. diff --git a/.github/workflows/pulsar.yml b/.github/workflows/pulsar.yml new file mode 100644 index 0000000..4d1eeca --- /dev/null +++ b/.github/workflows/pulsar.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (Basic Installation) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-local-pv.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_bk_tls.yml b/.github/workflows/pulsar_bk_tls.yml new file mode 100644 index 0000000..1c41b0a --- /dev/null +++ b/.github/workflows/pulsar_bk_tls.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (BK TLS Only) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Run chart-testing (install) + run: | + .ci/chart_test.sh .ci/clusters/values-bk-tls.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_broker_tls.yml b/.github/workflows/pulsar_broker_tls.yml new file mode 100644 index 0000000..7af0434 --- /dev/null +++ b/.github/workflows/pulsar_broker_tls.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (Broker & Proxy TLS Installation) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Run chart-testing (install) + run: | + .ci/chart_test.sh .ci/clusters/values-broker-tls.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_function.yml b/.github/workflows/pulsar_function.yml new file mode 100644 index 0000000..7609737 --- /dev/null +++ b/.github/workflows/pulsar_function.yml @@ -0,0 +1,47 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (Pulsar Function) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-function.yaml + env: + FUNCTION: "true" + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_image.yml b/.github/workflows/pulsar_image.yml new file mode 100644 index 0000000..484a2ca --- /dev/null +++ b/.github/workflows/pulsar_image.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (Use Pulsar Image) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-pulsar-image.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_jwt_asymmetric.yml b/.github/workflows/pulsar_jwt_asymmetric.yml new file mode 100644 index 0000000..abd6fb3 --- /dev/null +++ b/.github/workflows/pulsar_jwt_asymmetric.yml @@ -0,0 +1,47 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (JWT Secret Key Installation) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Run chart-testing (install) + run: | + .ci/chart_test.sh .ci/clusters/values-jwt-asymmetric.yaml + env: + SYMMETRIC: "false" + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_jwt_symmetric.yml b/.github/workflows/pulsar_jwt_symmetric.yml new file mode 100644 index 0000000..84fdcd7 --- /dev/null +++ b/.github/workflows/pulsar_jwt_symmetric.yml @@ -0,0 +1,47 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (JWT Public/Private Key Installation) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Run chart-testing (install) + run: | + .ci/chart_test.sh .ci/clusters/values-jwt-symmetric.yaml + env: + SYMMETRIC: "true" + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_tls.yml b/.github/workflows/pulsar_tls.yml new file mode 100644 index 0000000..18c1bcd --- /dev/null +++ b/.github/workflows/pulsar_tls.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (TLS Installation) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-tls.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_zk_tls.yml b/.github/workflows/pulsar_zk_tls.yml new file mode 100644 index 0000000..754fc67 --- /dev/null +++ b/.github/workflows/pulsar_zk_tls.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (ZK TLS Only) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-zk-tls.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no' diff --git a/.github/workflows/pulsar_zkbk_tls.yml b/.github/workflows/pulsar_zkbk_tls.yml new file mode 100644 index 0000000..013a238 --- /dev/null +++ b/.github/workflows/pulsar_zkbk_tls.yml @@ -0,0 +1,45 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +name: Precommit - Pulsar Helm Chart (ZK & BK TLS Only) +on: + pull_request: + branches: + - '*' +jobs: + lint-test: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + ref: ${{ github.event.pull_request.head.sha }} + + - name: Check if this pull request only changes documentation + id: docs + uses: apache/pulsar-test-infra/diff-only@master + with: + args: site2 .asf.yaml ct.yaml + + - name: Install chart + run: | + .ci/chart_test.sh .ci/clusters/values-zkbk-tls.yaml + # Only build a kind cluster if there are chart changes to test. + if: steps.docs.outputs.changed_only == 'no'