diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 14b10276..660a5e18 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -10,5 +10,6 @@ - [ ] Documentation added (or not applicable) - [ ] Changelog updated (or not applicable) - [ ] Cargo.toml only contains references to git tags (not specific commits or branches) +- [ ] Helm chart can be installed and deployed operator works (or not applicable) Once the review is done, comment `bors r+` (or `bors merge`) to merge. [Further information](https://bors.tech/documentation/getting-started/#reviewing-pull-requests) diff --git a/Makefile b/Makefile index dc2bc653..0557466e 100644 --- a/Makefile +++ b/Makefile @@ -34,21 +34,16 @@ compile-chart: version crds config chart-clean: rm -rf deploy/helm/druid-operator/configs rm -rf deploy/helm/druid-operator/crds - rm -rf deploy/helm/druid-operator/templates/crds.yaml version: yq eval -i '.version = ${VERSION} | .appVersion = ${VERSION}' deploy/helm/druid-operator/Chart.yaml -config: deploy/helm/druid-operator/configs - -deploy/helm/druid-operator/configs: +config: cp -r deploy/config-spec deploy/helm/druid-operator/configs -crds: deploy/helm/druid-operator/crds/crds.yaml - -deploy/helm/druid-operator/crds/crds.yaml: +crds: mkdir -p deploy/helm/druid-operator/crds - cat deploy/crd/*.yaml | yq eval '.metadata.annotations["helm.sh/resource-policy"]="keep"' - > ${@} + cat deploy/crd/*.yaml | yq eval '.metadata.annotations["helm.sh/resource-policy"]="keep"' - > deploy/helm/druid-operator/crds/crds.yaml chart-lint: compile-chart docker run -it -v $(shell pwd):/build/helm-charts -w /build/helm-charts quay.io/helmpack/chart-testing:v3.5.0 ct lint --config deploy/helm/ct.yaml diff --git a/deploy/helm/druid-operator/configs/config-spec/properties.yaml b/deploy/helm/druid-operator/configs/config-spec/properties.yaml new file mode 100644 index 00000000..b33d689e --- /dev/null +++ b/deploy/helm/druid-operator/configs/config-spec/properties.yaml @@ -0,0 +1,173 @@ +version: 0.1.0 +spec: + units: + - unit: &unitDirectory + name: "directory" + regex: "^/|(/[\\w-]+)+$" + examples: + - "/tmp/xyz" + +################################################################################################### +# runtime.properties +################################################################################################### + +properties: + + - property: &metadataStorageType + propertyNames: + - name: "druid.metadata.storage.type" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "string" + roles: + - name: "broker" + required: true + - name: "coordinator" + required: true + - name: "historical" + required: true + - name: "middleManager" + required: true + - name: "router" + required: true + asOfVersion: "0.0.0" + + - property: &metadataStorageConnectURI + propertyNames: + - name: "druid.metadata.storage.connector.connectURI" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "string" + roles: + - name: "broker" + required: true + - name: "coordinator" + required: true + - name: "historical" + required: true + - name: "middleManager" + required: true + - name: "router" + required: true + asOfVersion: "0.0.0" + + - property: &metadataStorageHost + propertyNames: + - name: "druid.metadata.storage.connector.host" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "string" + roles: + - name: "broker" + required: true + - name: "coordinator" + required: true + - name: "historical" + required: true + - name: "middleManager" + required: true + - name: "router" + required: true + asOfVersion: "0.0.0" + + - property: &metadataStoragePort + propertyNames: + - name: "druid.metadata.storage.connector.port" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "integer" + min: "1024" + max: "65535" + roles: + - name: "broker" + required: true + - name: "coordinator" + required: true + - name: "historical" + required: true + - name: "middleManager" + required: true + - name: "router" + required: true + asOfVersion: "0.0.0" + + - property: &metadataStorageUser + propertyNames: + - name: "druid.metadata.storage.connector.user" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "string" + roles: + - name: "broker" + required: false + - name: "coordinator" + required: false + - name: "historical" + required: false + - name: "middleManager" + required: false + - name: "router" + required: false + asOfVersion: "0.0.0" + + - property: &metadataStoragePassword + propertyNames: + - name: "druid.metadata.storage.connector.password" + kind: + type: "file" + file: "runtime.properties" + datatype: + type: "string" + roles: + - name: "broker" + required: false + - name: "coordinator" + required: false + - name: "historical" + required: false + - name: "middleManager" + required: false + - name: "router" + required: false + asOfVersion: "0.0.0" + +################################################################################################### +# jvm.config +################################################################################################### + +################################################################################################### +# log.properties +################################################################################################### + + - property: &ioTrino + propertyNames: + - name: "io.trino" + kind: + type: "file" + file: "log.properties" + datatype: + type: "string" + defaultValues: + - fromVersion: "0.0.0" + value: "INFO" + allowedValues: + - "INFO" + - "DEBUG" + - "WARN" + - "ERROR" + roles: + - name: "coordinator" + required: true + - name: "worker" + required: true + asOfVersion: "0.0.0" diff --git a/deploy/helm/druid-operator/templates/roles.yaml b/deploy/helm/druid-operator/templates/roles.yaml index c7267beb..005fce9d 100644 --- a/deploy/helm/druid-operator/templates/roles.yaml +++ b/deploy/helm/druid-operator/templates/roles.yaml @@ -25,6 +25,7 @@ rules: resources: - pods - configmaps + - secrets - services - endpoints - serviceaccounts diff --git a/deploy/manifests/roles.yaml b/deploy/manifests/roles.yaml index aa5404a7..2c97d421 100644 --- a/deploy/manifests/roles.yaml +++ b/deploy/manifests/roles.yaml @@ -25,6 +25,7 @@ rules: resources: - pods - configmaps + - secrets - services - endpoints - serviceaccounts