diff --git a/.github/workflows/pr_pre-commit.yaml b/.github/workflows/pr_pre-commit.yaml index ec55fe78..bdc3ddfd 100644 --- a/.github/workflows/pr_pre-commit.yaml +++ b/.github/workflows/pr_pre-commit.yaml @@ -6,7 +6,7 @@ on: env: CARGO_TERM_COLOR: always - RUST_TOOLCHAIN_VERSION: "1.82.0" + RUST_TOOLCHAIN_VERSION: "nightly-2025-01-15" HADOLINT_VERSION: "v2.12.0" PYTHON_VERSION: "3.12" diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index a36fdcb7..c5bd8ad1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -17,10 +17,6 @@ repos: - repo: https://github.com/doublify/pre-commit-rust rev: eeee35a89e69d5772bdee97db1a6a898467b686e # 1.0 hooks: - - id: fmt - # Pinning to a specific rustc version, so that we get consistent formatting - entry: RUSTUP_TOOLCHAIN=nightly-2025-01-15 cargo fmt - args: ["--all", "--", "--check"] - id: clippy args: ["--all-targets", "--", "-D", "warnings"] @@ -78,3 +74,10 @@ repos: entry: cargo test stages: [pre-commit, pre-merge-commit, manual] pass_filenames: false + + - id: cargo-rustfmt + name: cargo-rustfmt + language: system + entry: cargo +nightly-2025-01-15 fmt --all -- --check + stages: [pre-commit] + pass_filenames: false diff --git a/rust/crd/src/affinity.rs b/rust/crd/src/affinity.rs index f4b9c7bf..aa2f8b59 100644 --- a/rust/crd/src/affinity.rs +++ b/rust/crd/src/affinity.rs @@ -77,12 +77,9 @@ pub fn get_affinity( #[cfg(test)] mod tests { - use super::*; - - use rstest::rstest; use std::collections::BTreeMap; - use crate::HbaseCluster; + use rstest::rstest; use stackable_operator::{ commons::affinity::StackableAffinity, k8s_openapi::{ @@ -93,6 +90,9 @@ mod tests { }, }; + use super::*; + use crate::HbaseCluster; + #[rstest] #[case(HbaseRole::Master)] #[case(HbaseRole::RegionServer)] diff --git a/rust/crd/src/lib.rs b/rust/crd/src/lib.rs index c42f9625..7c90532f 100644 --- a/rust/crd/src/lib.rs +++ b/rust/crd/src/lib.rs @@ -28,8 +28,7 @@ use stackable_operator::{ }; use strum::{Display, EnumIter, EnumString}; -use crate::affinity::get_affinity; -use crate::security::AuthorizationConfig; +use crate::{affinity::get_affinity, security::AuthorizationConfig}; pub mod affinity; pub mod security; @@ -704,14 +703,13 @@ mod tests { use std::collections::{BTreeMap, HashMap}; use indoc::indoc; + use product_config::{types::PropertyNameKind, ProductConfigManager}; use stackable_operator::product_config_utils::{ transform_all_roles_to_config, validate_all_roles_and_groups_config, }; use crate::{merged_env, HbaseCluster, HbaseRole}; - use product_config::{types::PropertyNameKind, ProductConfigManager}; - #[test] pub fn test_env_overrides() { let input = indoc! {r#" diff --git a/rust/crd/src/security.rs b/rust/crd/src/security.rs index 1b2001bc..85919efe 100644 --- a/rust/crd/src/security.rs +++ b/rust/crd/src/security.rs @@ -1,6 +1,8 @@ use serde::{Deserialize, Serialize}; -use stackable_operator::commons::opa::OpaConfig; -use stackable_operator::schemars::{self, JsonSchema}; +use stackable_operator::{ + commons::opa::OpaConfig, + schemars::{self, JsonSchema}, +}; #[derive(Clone, Debug, Deserialize, Eq, Hash, JsonSchema, PartialEq, Serialize)] #[serde(rename_all = "camelCase")] diff --git a/rust/operator-binary/src/hbase_controller.rs b/rust/operator-binary/src/hbase_controller.rs index 3c9d8916..f5d46041 100644 --- a/rust/operator-binary/src/hbase_controller.rs +++ b/rust/operator-binary/src/hbase_controller.rs @@ -14,6 +14,12 @@ use product_config::{ ProductConfigManager, }; use snafu::{OptionExt, ResultExt, Snafu}; +use stackable_hbase_crd::{ + merged_env, Container, HbaseCluster, HbaseClusterStatus, HbaseConfig, HbaseConfigFragment, + HbaseRole, APP_NAME, CONFIG_DIR_NAME, HBASE_ENV_SH, HBASE_REST_PORT_NAME_HTTP, + HBASE_REST_PORT_NAME_HTTPS, HBASE_SITE_XML, JVM_SECURITY_PROPERTIES_FILE, SSL_CLIENT_XML, + SSL_SERVER_XML, +}; use stackable_operator::{ builder::{ self, @@ -66,19 +72,11 @@ use stackable_operator::{ }; use strum::{EnumDiscriminants, IntoStaticStr, ParseError}; -use stackable_hbase_crd::{ - merged_env, Container, HbaseCluster, HbaseClusterStatus, HbaseConfig, HbaseConfigFragment, - HbaseRole, APP_NAME, CONFIG_DIR_NAME, HBASE_ENV_SH, HBASE_REST_PORT_NAME_HTTP, - HBASE_REST_PORT_NAME_HTTPS, HBASE_SITE_XML, JVM_SECURITY_PROPERTIES_FILE, SSL_CLIENT_XML, - SSL_SERVER_XML, -}; - -use crate::{config::jvm::construct_hbase_heapsize_env, product_logging::STACKABLE_LOG_DIR}; -use crate::{ - config::jvm::{construct_global_jvm_args, construct_role_specific_non_heap_jvm_args}, - security::opa::HbaseOpaConfig, -}; use crate::{ + config::jvm::{ + construct_global_jvm_args, construct_hbase_heapsize_env, + construct_role_specific_non_heap_jvm_args, + }, discovery::build_discovery_configmap, kerberos::{ self, add_kerberos_pod_config, kerberos_config_properties, @@ -87,9 +85,11 @@ use crate::{ }, operations::{graceful_shutdown::add_graceful_shutdown_config, pdb::add_pdbs}, product_logging::{ - extend_role_group_config_map, log4j_properties_file_name, resolve_vector_aggregator_address, + extend_role_group_config_map, log4j_properties_file_name, + resolve_vector_aggregator_address, STACKABLE_LOG_DIR, }, security, + security::opa::HbaseOpaConfig, zookeeper::{self, ZookeeperConnectionInformation}, OPERATOR_NAME, }; diff --git a/rust/operator-binary/src/main.rs b/rust/operator-binary/src/main.rs index 71bd8c33..d5446e88 100644 --- a/rust/operator-binary/src/main.rs +++ b/rust/operator-binary/src/main.rs @@ -1,3 +1,5 @@ +use std::sync::Arc; + use clap::Parser; use futures::StreamExt; use hbase_controller::FULL_HBASE_CONTROLLER_NAME; @@ -15,7 +17,6 @@ use stackable_operator::{ logging::controller::report_controller_reconciled, CustomResourceExt, }; -use std::sync::Arc; mod config; mod discovery; diff --git a/rust/operator-binary/src/product_logging.rs b/rust/operator-binary/src/product_logging.rs index 3fd7b07a..790923dc 100644 --- a/rust/operator-binary/src/product_logging.rs +++ b/rust/operator-binary/src/product_logging.rs @@ -1,6 +1,5 @@ use snafu::{OptionExt, ResultExt, Snafu}; use stackable_hbase_crd::{Container, HbaseCluster}; -use stackable_operator::product_logging::spec::AutomaticContainerLogConfig; use stackable_operator::{ builder::configmap::ConfigMapBuilder, client::Client, @@ -9,7 +8,9 @@ use stackable_operator::{ memory::BinaryMultiple, product_logging::{ self, - spec::{ContainerLogConfig, ContainerLogConfigChoice, Logging}, + spec::{ + AutomaticContainerLogConfig, ContainerLogConfig, ContainerLogConfigChoice, Logging, + }, }, role_utils::RoleGroupRef, }; diff --git a/rust/operator-binary/src/security/opa.rs b/rust/operator-binary/src/security/opa.rs index b4545b6b..07c56113 100644 --- a/rust/operator-binary/src/security/opa.rs +++ b/rust/operator-binary/src/security/opa.rs @@ -1,6 +1,5 @@ use snafu::{ResultExt, Snafu}; -use stackable_hbase_crd::security::AuthorizationConfig; -use stackable_hbase_crd::HbaseCluster; +use stackable_hbase_crd::{security::AuthorizationConfig, HbaseCluster}; use stackable_operator::{client::Client, commons::opa::OpaApiVersion}; const DEFAULT_DRY_RUN: bool = false;