feat: added please and release
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
2024-11-17 20:57:48 +01:00
parent 7510c9a333
commit 8b24dc23e0
7 changed files with 93 additions and 664 deletions

View File

@@ -1,6 +1,8 @@
[package]
name = "nodata-storage"
version = "0.1.0"
version.workspace = true
description = "nodata storage is the backend that serves the nodata message broker, it allows storing data in many different types of backends"
license = "MIT"
edition = "2021"
[dependencies]

View File

@@ -2,6 +2,8 @@
name = "nodata"
version = "0.1.0"
edition = "2021"
description = "nodata is a kafka like message broker that is simple and easy to use, while relying on either local or s3 like data storage for consistency"
license = "MIT"
[dependencies]
nodata-storage.workspace = true
@@ -13,17 +15,10 @@ tracing-subscriber.workspace = true
clap.workspace = true
dotenv.workspace = true
axum.workspace = true
drift.workspace = true
nodrift.workspace = true
uuid.workspace = true
serde = { version = "1.0.197", features = ["derive"] }
sqlx = { version = "0.8.0", features = [
"runtime-tokio",
"tls-rustls",
"postgres",
"uuid",
"time",
] }
tower-http = { version = "0.6.0", features = ["cors", "trace"] }
tokio-util = "0.7.11"
tonic.workspace = true

View File

@@ -1,7 +1,7 @@
use std::{collections::BTreeMap, sync::Arc, time::Duration};
use axum::async_trait;
use drift::Drifter;
use nodrift::Drifter;
use notmad::Component;
use tokio::sync::RwLock;
use tokio_util::sync::CancellationToken;
@@ -33,7 +33,7 @@ impl Component for Broker {
&self,
cancellation_token: tokio_util::sync::CancellationToken,
) -> Result<(), notmad::MadError> {
let token = drift::schedule_drifter(Duration::from_secs(1), self.clone());
let token = nodrift::schedule_drifter(Duration::from_secs(1), self.clone());
tokio::select! {
_ = token.cancelled() => {},
@@ -95,7 +95,7 @@ impl BrokerHandler {
_parent_token: CancellationToken,
) -> Self {
let inner_state = state.clone();
let token = drift::schedule(Duration::from_secs(1), move || {
let token = nodrift::schedule(Duration::from_secs(1), move || {
let consumer_group = consumer_group.clone();
let state = inner_state.clone();

View File

@@ -10,6 +10,7 @@ mod services;
use std::net::SocketAddr;
use anyhow::Context;
use broker::Broker;
use clap::{Parser, Subcommand};
use grpc::{GetTopicsRequest, GrpcServer, PublishEventRequest, SubscribeRequest};
@@ -17,6 +18,7 @@ use grpc_component::GrpcComponentClient;
use http::HttpServer;
use notmad::Mad;
use state::SharedState;
use tonic::transport::{Channel, ClientTlsConfig};
#[derive(Parser)]
#[command(author, version, about, long_about = None, subcommand_required = true)]
@@ -192,8 +194,22 @@ async fn create_client(
) -> anyhow::Result<
crate::grpc::no_data_service_client::NoDataServiceClient<tonic::transport::Channel>,
> {
let client =
crate::grpc::no_data_service_client::NoDataServiceClient::connect(grpc_host).await?;
let channel = if grpc_host.starts_with("https") {
Channel::from_shared(grpc_host.to_owned())
.context(format!("failed to connect to: {}", &grpc_host))?
.tls_config(ClientTlsConfig::new().with_native_roots())?
.connect()
.await
.context(format!("failed to connect to: {}", &grpc_host))?
} else {
Channel::from_shared(grpc_host.to_owned())
.context(format!("failed to connect to: {}", &grpc_host))?
.connect()
.await
.context(format!("failed to connect to: {}", &grpc_host))?
};
let client = crate::grpc::no_data_service_client::NoDataServiceClient::new(channel);
Ok(client)
}