Compare commits

...

4 Commits
fix-ci ... dev

Author SHA1 Message Date
Jef Roosens fbdb182f50
chore: update changelog for 0.1.0
ci/woodpecker/tag/build-rel Pipeline was successful Details
ci/woodpecker/tag/docker Pipeline was successful Details
ci/woodpecker/push/build-rel Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
2024-07-09 21:13:55 +02:00
Jef Roosens 2c4b9e5452
feat(ci): add release docker build 2024-07-09 20:58:25 +02:00
Jef Roosens 777d57512e
chore(repo): remove package removal route for now
ci/woodpecker/push/build-rel Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
2024-07-09 20:46:51 +02:00
Jef Roosens 04715b0036
chore: chmod binary in dockerfile
ci/woodpecker/push/build-rel Pipeline was successful Details
ci/woodpecker/push/lint Pipeline was successful Details
ci/woodpecker/push/docker Pipeline was successful Details
2024-07-09 17:46:38 +02:00
5 changed files with 30 additions and 46 deletions

View File

@ -24,9 +24,6 @@ steps:
secrets:
- minio_access_key
- minio_secret_key
when:
branch: dev
event: push
publish-rel:
image: 'curlimages/curl'

View File

@ -25,3 +25,19 @@ steps:
when:
branch: dev
event: push
release:
image: 'woodpeckerci/plugin-docker-buildx'
secrets:
- 'docker_username'
- 'docker_password'
settings:
registry: 'git.rustybever.be'
repo: 'git.rustybever.be/chewing_bever/rieter'
auto_tag: true
platforms: [ 'linux/amd64' ]
build_args_from_env:
- 'CI_COMMIT_SHA'
mtu: 1300
when:
event: tag

View File

@ -7,15 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased](https://git.rustybever.be/Chewing_Bever/rieter/src/branch/dev)
## [0.1.0](https://git.rustybever.be/Chewing_Bever/rieter/src/tag/0.1.0)
### Added
* Server
* Functional repository server
* Serve packages from any number of repositories & architectures
* Publish packages to and delete packages from repositories using HTTP
requests
* Packages of architecture "any" are part of every architecture's
database
* Bearer authentication for private routes
* REST API
* Supports any number of repositories, grouped into distros, each
supporting any number of architectures
* Repository & package information available using JSON REST API
* Queueing system with configurable number of workers for resilient
concurrency
* TOML configuration file
* SQLite & Postgres support

View File

@ -24,7 +24,8 @@ COPY . .
RUN curl \
--fail \
-o rieterd \
"https://s3.rustybever.be/rieter/commits/${CI_COMMIT_SHA}/rieterd-$(echo "${TARGETPLATFORM}" | sed 's:/:-:g')"
"https://s3.rustybever.be/rieter/commits/${CI_COMMIT_SHA}/rieterd-$(echo "${TARGETPLATFORM}" | sed 's:/:-:g')" && \
chmod +x rieterd
FROM alpine:3.19

View File

@ -5,7 +5,7 @@ use axum::{
extract::{Path, State},
http::{Request, StatusCode},
response::IntoResponse,
routing::{delete, post},
routing::{delete, get, post},
Router,
};
use futures::TryStreamExt;
@ -27,12 +27,7 @@ pub fn router(api_key: &str) -> Router<crate::Global> {
)
// Routes added after the layer do not get that layer applied, so the GET requests will not
// be authorized
.route(
"/:distro/:repo/:arch/:filename",
delete(delete_package)
.route_layer(ValidateRequestHeaderLayer::bearer(api_key))
.get(get_file),
)
.route("/:distro/:repo/:arch/:filename", get(get_file))
}
/// Serve the package archive files and database archives. If files are requested for an
@ -129,28 +124,3 @@ async fn delete_arch_repo(
Ok(StatusCode::NOT_FOUND)
}
}
async fn delete_package(
State(_global): State<crate::Global>,
Path((_distro, _repo, _arch, _pkg_name)): Path<(String, String, String, String)>,
) -> crate::Result<StatusCode> {
Ok(StatusCode::NOT_FOUND)
//if let Some(mgr) = global.mgr.get_mgr(&distro).await {
// let pkg_removed = mgr.remove_pkg(&repo, &arch, &pkg_name).await?;
//
// if pkg_removed {
// tracing::info!(
// "Removed package '{}' ({}) from repository '{}'",
// pkg_name,
// arch,
// repo
// );
//
// Ok(StatusCode::OK)
// } else {
// Ok(StatusCode::NOT_FOUND)
// }
//} else {
// Ok(StatusCode::NOT_FOUND)
//}
}