@@ -10,9 +10,6 @@ use product_config::{ProductConfigManager, types::PropertyNameKind};
1010use serde:: { Deserialize , Serialize } ;
1111use serde_json:: json;
1212use snafu:: { OptionExt , ResultExt , Snafu } ;
13- use stackable_opa_operator:: crd:: {
14- APP_NAME , DEFAULT_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT , OPERATOR_NAME , user_info_fetcher, v1alpha1,
15- } ;
1613use stackable_operator:: {
1714 builder:: {
1815 self ,
@@ -75,6 +72,10 @@ use stackable_operator::{
7572use strum:: { EnumDiscriminants , IntoStaticStr } ;
7673
7774use crate :: {
75+ crd:: {
76+ APP_NAME , Container , DEFAULT_SERVER_GRACEFUL_SHUTDOWN_TIMEOUT , OPERATOR_NAME ,
77+ OpaClusterStatus , OpaConfig , OpaRole , user_info_fetcher, v1alpha2,
78+ } ,
7879 discovery:: { self , build_discovery_configmaps} ,
7980 operations:: graceful_shutdown:: add_graceful_shutdown_config,
8081 product_logging:: { BundleBuilderLogLevel , extend_role_group_config_map} ,
@@ -172,9 +173,7 @@ pub enum Error {
172173 NoName ,
173174
174175 #[ snafu( display( "internal operator failure" ) ) ]
175- InternalOperatorFailure {
176- source : stackable_opa_operator:: crd:: Error ,
177- } ,
176+ InternalOperatorFailure { source : crate :: crd:: Error } ,
178177
179178 #[ snafu( display( "failed to apply role Service" ) ) ]
180179 ApplyRoleService {
@@ -184,31 +183,31 @@ pub enum Error {
184183 #[ snafu( display( "failed to apply Service for [{rolegroup}]" ) ) ]
185184 ApplyRoleGroupService {
186185 source : stackable_operator:: cluster_resources:: Error ,
187- rolegroup : RoleGroupRef < v1alpha1 :: OpaCluster > ,
186+ rolegroup : RoleGroupRef < v1alpha2 :: OpaCluster > ,
188187 } ,
189188
190189 #[ snafu( display( "failed to build ConfigMap for [{rolegroup}]" ) ) ]
191190 BuildRoleGroupConfig {
192191 source : stackable_operator:: builder:: configmap:: Error ,
193- rolegroup : RoleGroupRef < v1alpha1 :: OpaCluster > ,
192+ rolegroup : RoleGroupRef < v1alpha2 :: OpaCluster > ,
194193 } ,
195194
196195 #[ snafu( display( "failed to apply ConfigMap for [{rolegroup}]" ) ) ]
197196 ApplyRoleGroupConfig {
198197 source : stackable_operator:: cluster_resources:: Error ,
199- rolegroup : RoleGroupRef < v1alpha1 :: OpaCluster > ,
198+ rolegroup : RoleGroupRef < v1alpha2 :: OpaCluster > ,
200199 } ,
201200
202201 #[ snafu( display( "failed to apply DaemonSet for [{rolegroup}]" ) ) ]
203202 ApplyRoleGroupDaemonSet {
204203 source : stackable_operator:: cluster_resources:: Error ,
205- rolegroup : RoleGroupRef < v1alpha1 :: OpaCluster > ,
204+ rolegroup : RoleGroupRef < v1alpha2 :: OpaCluster > ,
206205 } ,
207206
208207 #[ snafu( display( "failed to apply patch for DaemonSet for [{rolegroup}]" ) ) ]
209208 ApplyPatchRoleGroupDaemonSet {
210209 source : stackable_operator:: client:: Error ,
211- rolegroup : RoleGroupRef < v1alpha1 :: OpaCluster > ,
210+ rolegroup : RoleGroupRef < v1alpha2 :: OpaCluster > ,
212211 } ,
213212
214213 #[ snafu( display( "failed to patch service account" ) ) ]
@@ -250,9 +249,7 @@ pub enum Error {
250249 } ,
251250
252251 #[ snafu( display( "failed to resolve and merge config for role and role group" ) ) ]
253- FailedToResolveConfig {
254- source : stackable_opa_operator:: crd:: Error ,
255- } ,
252+ FailedToResolveConfig { source : crate :: crd:: Error } ,
256253
257254 #[ snafu( display( "illegal container name" ) ) ]
258255 IllegalContainerName {
@@ -426,7 +423,7 @@ struct OpaClusterConfigStatus {
426423}
427424
428425pub async fn reconcile_opa (
429- opa : Arc < DeserializeGuard < v1alpha1 :: OpaCluster > > ,
426+ opa : Arc < DeserializeGuard < v1alpha2 :: OpaCluster > > ,
430427 ctx : Arc < Ctx > ,
431428) -> Result < Action > {
432429 tracing:: info!( "Starting reconcile" ) ;
@@ -443,7 +440,7 @@ pub async fn reconcile_opa(
443440 . image
444441 . resolve ( DOCKER_IMAGE_BASE_NAME , crate :: built_info:: PKG_VERSION )
445442 . context ( ResolveProductImageSnafu ) ?;
446- let opa_role = v1alpha1 :: OpaRole :: Server ;
443+ let opa_role = OpaRole :: Server ;
447444
448445 let mut cluster_resources = ClusterResources :: new (
449446 APP_NAME ,
@@ -610,7 +607,7 @@ pub async fn reconcile_opa(
610607 let cluster_operation_cond_builder =
611608 ClusterOperationsConditionBuilder :: new ( & opa. spec . cluster_operation ) ;
612609
613- let status = v1alpha1 :: OpaClusterStatus {
610+ let status = OpaClusterStatus {
614611 conditions : compute_conditions ( opa, & [ & ds_cond_builder, & cluster_operation_cond_builder] ) ,
615612 } ;
616613
@@ -629,10 +626,10 @@ pub async fn reconcile_opa(
629626
630627/// The rolegroup [`ConfigMap`] configures the rolegroup based on the configuration given by the administrator
631628fn build_server_rolegroup_config_map (
632- opa : & v1alpha1 :: OpaCluster ,
629+ opa : & v1alpha2 :: OpaCluster ,
633630 resolved_product_image : & ResolvedProductImage ,
634- rolegroup : & RoleGroupRef < v1alpha1 :: OpaCluster > ,
635- merged_config : & v1alpha1 :: OpaConfig ,
631+ rolegroup : & RoleGroupRef < v1alpha2 :: OpaCluster > ,
632+ merged_config : & OpaConfig ,
636633) -> Result < ConfigMap > {
637634 let mut cm_builder = ConfigMapBuilder :: new ( ) ;
638635
@@ -681,7 +678,7 @@ fn add_stackable_rust_cli_env_vars(
681678 container_builder : & mut ContainerBuilder ,
682679 cluster_info : & KubernetesClusterInfo ,
683680 log_level : impl Into < String > ,
684- container : & v1alpha1 :: Container ,
681+ container : & Container ,
685682) {
686683 let log_level = log_level. into ( ) ;
687684 container_builder
@@ -721,12 +718,12 @@ fn add_stackable_rust_cli_env_vars(
721718/// policy queries (which are often chained in serial, and block other tasks in the products).
722719#[ allow( clippy:: too_many_arguments) ]
723720fn build_server_rolegroup_daemonset (
724- opa : & v1alpha1 :: OpaCluster ,
721+ opa : & v1alpha2 :: OpaCluster ,
725722 resolved_product_image : & ResolvedProductImage ,
726- opa_role : & v1alpha1 :: OpaRole ,
727- rolegroup_ref : & RoleGroupRef < v1alpha1 :: OpaCluster > ,
723+ opa_role : & OpaRole ,
724+ rolegroup_ref : & RoleGroupRef < v1alpha2 :: OpaCluster > ,
728725 server_config : & HashMap < PropertyNameKind , BTreeMap < String , String > > ,
729- merged_config : & v1alpha1 :: OpaConfig ,
726+ merged_config : & OpaConfig ,
730727 opa_bundle_builder_image : & str ,
731728 user_info_fetcher_image : & str ,
732729 service_account : & ServiceAccount ,
@@ -751,15 +748,15 @@ fn build_server_rolegroup_daemonset(
751748
752749 let mut pb = PodBuilder :: new ( ) ;
753750
754- let prepare_container_name = v1alpha1 :: Container :: Prepare . to_string ( ) ;
751+ let prepare_container_name = Container :: Prepare . to_string ( ) ;
755752 let mut cb_prepare =
756753 ContainerBuilder :: new ( & prepare_container_name) . context ( IllegalContainerNameSnafu ) ?;
757754
758- let bundle_builder_container_name = v1alpha1 :: Container :: BundleBuilder . to_string ( ) ;
755+ let bundle_builder_container_name = Container :: BundleBuilder . to_string ( ) ;
759756 let mut cb_bundle_builder =
760757 ContainerBuilder :: new ( & bundle_builder_container_name) . context ( IllegalContainerNameSnafu ) ?;
761758
762- let opa_container_name = v1alpha1 :: Container :: Opa . to_string ( ) ;
759+ let opa_container_name = Container :: Opa . to_string ( ) ;
763760 let mut cb_opa =
764761 ContainerBuilder :: new ( & opa_container_name) . context ( IllegalContainerNameSnafu ) ?;
765762
@@ -832,8 +829,8 @@ fn build_server_rolegroup_daemonset(
832829 add_stackable_rust_cli_env_vars (
833830 & mut cb_bundle_builder,
834831 cluster_info,
835- sidecar_container_log_level ( merged_config, & v1alpha1 :: Container :: BundleBuilder ) . to_string ( ) ,
836- & v1alpha1 :: Container :: BundleBuilder ,
832+ sidecar_container_log_level ( merged_config, & Container :: BundleBuilder ) . to_string ( ) ,
833+ & Container :: BundleBuilder ,
837834 ) ;
838835
839836 cb_opa
@@ -992,15 +989,14 @@ fn build_server_rolegroup_daemonset(
992989 add_stackable_rust_cli_env_vars (
993990 & mut cb_user_info_fetcher,
994991 cluster_info,
995- sidecar_container_log_level ( merged_config, & v1alpha1:: Container :: UserInfoFetcher )
996- . to_string ( ) ,
997- & v1alpha1:: Container :: UserInfoFetcher ,
992+ sidecar_container_log_level ( merged_config, & Container :: UserInfoFetcher ) . to_string ( ) ,
993+ & Container :: UserInfoFetcher ,
998994 ) ;
999995
1000996 match & user_info. backend {
1001- user_info_fetcher:: v1alpha1 :: Backend :: None { } => { }
1002- user_info_fetcher:: v1alpha1 :: Backend :: ExperimentalXfscAas ( _) => { }
1003- user_info_fetcher:: v1alpha1 :: Backend :: ActiveDirectory ( ad) => {
997+ user_info_fetcher:: v1alpha2 :: Backend :: None { } => { }
998+ user_info_fetcher:: v1alpha2 :: Backend :: ExperimentalXfscAas ( _) => { }
999+ user_info_fetcher:: v1alpha2 :: Backend :: ActiveDirectory ( ad) => {
10041000 pb. add_volume (
10051001 SecretClassVolume :: new (
10061002 ad. kerberos_secret_class_name . clone ( ) ,
@@ -1034,7 +1030,7 @@ fn build_server_rolegroup_daemonset(
10341030 . add_volumes_and_mounts ( & mut pb, vec ! [ & mut cb_user_info_fetcher] )
10351031 . context ( UserInfoFetcherTlsVolumeAndMountsSnafu ) ?;
10361032 }
1037- user_info_fetcher:: v1alpha1 :: Backend :: Keycloak ( keycloak) => {
1033+ user_info_fetcher:: v1alpha2 :: Backend :: Keycloak ( keycloak) => {
10381034 pb. add_volume (
10391035 VolumeBuilder :: new ( USER_INFO_FETCHER_CREDENTIALS_VOLUME_NAME )
10401036 . secret ( SecretVolumeSource {
@@ -1055,7 +1051,7 @@ fn build_server_rolegroup_daemonset(
10551051 . add_volumes_and_mounts ( & mut pb, vec ! [ & mut cb_user_info_fetcher] )
10561052 . context ( UserInfoFetcherTlsVolumeAndMountsSnafu ) ?;
10571053 }
1058- user_info_fetcher:: v1alpha1 :: Backend :: Entra ( entra) => {
1054+ user_info_fetcher:: v1alpha2 :: Backend :: Entra ( entra) => {
10591055 pb. add_volume (
10601056 VolumeBuilder :: new ( USER_INFO_FETCHER_CREDENTIALS_VOLUME_NAME )
10611057 . secret ( SecretVolumeSource {
@@ -1078,7 +1074,7 @@ fn build_server_rolegroup_daemonset(
10781074 . add_volumes_and_mounts ( & mut pb, vec ! [ & mut cb_user_info_fetcher] )
10791075 . context ( UserInfoFetcherTlsVolumeAndMountsSnafu ) ?;
10801076 }
1081- user_info_fetcher:: v1alpha1 :: Backend :: OpenLdap ( openldap) => {
1077+ user_info_fetcher:: v1alpha2 :: Backend :: OpenLdap ( openldap) => {
10821078 // Reuse the logic from the LDAP `AuthenticationProvider` which handles
10831079 // volume mounting of TLS secrets and LDAP bind credentials
10841080 openldap
@@ -1099,10 +1095,7 @@ fn build_server_rolegroup_daemonset(
10991095 resolved_product_image,
11001096 CONFIG_VOLUME_NAME ,
11011097 LOG_VOLUME_NAME ,
1102- merged_config
1103- . logging
1104- . containers
1105- . get ( & v1alpha1:: Container :: Vector ) ,
1098+ merged_config. logging . containers . get ( & Container :: Vector ) ,
11061099 ResourceRequirementsBuilder :: new ( )
11071100 . with_cpu_request ( "250m" )
11081101 . with_cpu_limit ( "500m" )
@@ -1165,7 +1158,7 @@ fn build_server_rolegroup_daemonset(
11651158}
11661159
11671160pub fn error_policy (
1168- _obj : Arc < DeserializeGuard < v1alpha1 :: OpaCluster > > ,
1161+ _obj : Arc < DeserializeGuard < v1alpha2 :: OpaCluster > > ,
11691162 error : & Error ,
11701163 _ctx : Arc < Ctx > ,
11711164) -> Action {
@@ -1177,15 +1170,12 @@ pub fn error_policy(
11771170 }
11781171}
11791172
1180- fn build_config_file ( merged_config : & v1alpha1 :: OpaConfig ) -> String {
1173+ fn build_config_file ( merged_config : & OpaConfig ) -> String {
11811174 let mut decision_logging_enabled = DEFAULT_DECISION_LOGGING_ENABLED ;
11821175
11831176 if let Some ( ContainerLogConfig {
11841177 choice : Some ( ContainerLogConfigChoice :: Automatic ( log_config) ) ,
1185- } ) = merged_config
1186- . logging
1187- . containers
1188- . get ( & v1alpha1:: Container :: Opa )
1178+ } ) = merged_config. logging . containers . get ( & Container :: Opa )
11891179 {
11901180 if let Some ( config) = log_config. loggers . get ( "decision" ) {
11911181 decision_logging_enabled = config. level != LogLevel :: NONE ;
@@ -1206,7 +1196,7 @@ fn build_config_file(merged_config: &v1alpha1::OpaConfig) -> String {
12061196}
12071197
12081198fn build_opa_start_command (
1209- merged_config : & v1alpha1 :: OpaConfig ,
1199+ merged_config : & OpaConfig ,
12101200 container_name : & str ,
12111201 tls_enabled : bool ,
12121202) -> String {
@@ -1217,10 +1207,7 @@ fn build_opa_start_command(
12171207
12181208 if let Some ( ContainerLogConfig {
12191209 choice : Some ( ContainerLogConfigChoice :: Automatic ( log_config) ) ,
1220- } ) = merged_config
1221- . logging
1222- . containers
1223- . get ( & v1alpha1:: Container :: Opa )
1210+ } ) = merged_config. logging . containers . get ( & Container :: Opa )
12241211 {
12251212 if let Some ( AppenderConfig {
12261213 level : Some ( log_level) ,
@@ -1289,10 +1276,7 @@ fn build_opa_start_command(
12891276 }
12901277}
12911278
1292- fn build_bundle_builder_start_command (
1293- merged_config : & v1alpha1:: OpaConfig ,
1294- container_name : & str ,
1295- ) -> String {
1279+ fn build_bundle_builder_start_command ( merged_config : & OpaConfig , container_name : & str ) -> String {
12961280 let mut console_logging_off = false ;
12971281
12981282 // We need to check if the console logging is deactivated (NONE)
@@ -1302,7 +1286,7 @@ fn build_bundle_builder_start_command(
13021286 } ) = merged_config
13031287 . logging
13041288 . containers
1305- . get ( & v1alpha1 :: Container :: BundleBuilder )
1289+ . get ( & Container :: BundleBuilder )
13061290 {
13071291 if let Some ( AppenderConfig {
13081292 level : Some ( log_level) ,
@@ -1357,8 +1341,8 @@ fn build_bundle_builder_start_command(
13571341///
13581342/// Context: https://docs.stackable.tech/home/stable/concepts/logging/
13591343fn sidecar_container_log_level (
1360- merged_config : & v1alpha1 :: OpaConfig ,
1361- sidecar_container : & v1alpha1 :: Container ,
1344+ merged_config : & OpaConfig ,
1345+ sidecar_container : & Container ,
13621346) -> BundleBuilderLogLevel {
13631347 if let Some ( ContainerLogConfig {
13641348 choice : Some ( ContainerLogConfigChoice :: Automatic ( log_config) ) ,
@@ -1375,17 +1359,11 @@ fn sidecar_container_log_level(
13751359 BundleBuilderLogLevel :: Info
13761360}
13771361
1378- fn build_prepare_start_command (
1379- merged_config : & v1alpha1:: OpaConfig ,
1380- container_name : & str ,
1381- ) -> Vec < String > {
1362+ fn build_prepare_start_command ( merged_config : & OpaConfig , container_name : & str ) -> Vec < String > {
13821363 let mut prepare_container_args = vec ! [ ] ;
13831364 if let Some ( ContainerLogConfig {
13841365 choice : Some ( ContainerLogConfigChoice :: Automatic ( log_config) ) ,
1385- } ) = merged_config
1386- . logging
1387- . containers
1388- . get ( & v1alpha1:: Container :: Prepare )
1366+ } ) = merged_config. logging . containers . get ( & Container :: Prepare )
13891367 {
13901368 prepare_container_args. push ( product_logging:: framework:: capture_shell_output (
13911369 STACKABLE_LOG_DIR ,
0 commit comments