Repository navigation
v1.0.0
1.0.0 (2026-07-23)
Feature
- read http addr from config file (51035f4)
- add InternalServerResponse helper fn (2115f76)
- domain: add more errors (ee07a7d)
- adapters: implement delete artifact handler include batch deleting (26a6f64)
- adapters: implement download handler (237eb65)
- adapters: handling multiple files upload (92ec78d)
- adapters: add utility funciton for extractice object key from url's path (4286cf3)
- implement clearing bucket (71cf001)
- applicaiton: implement upload multiple artifacts usecase (7e54e84)
- application: implement delete artifacts usecase (e1a216d)
- application: validate os & arch & use opened file from file validator (ee92554)
- pkg: add os & arch validator helper (56ba08d)
- wire up app & server in cmd/main.go (edd4d62)
- add echo router & server to serve http endpoints (0fe5e6a)
- adapters: add delete artifacts handler (9063ffc)
- adapters: add list artifacts handler (2fff348)
- adapters: add upload artifact handler (4d43364)
- adapters: add health handler (a0c45ff)
- pkg: add http response helper (63aaaf4)
- infra: add Name method to minio (7dcbe5b)
- domain: add more errors (ed61046)
- implement bulk delete with minio (5dcacb8)
- application: implement delete artifact usecase (c37a6f4)
- implement delete object via storage (6afbd6c)
- application: implement list artifacts usecase (408e6dd)
- infra/minio: implement listing (15d5ccf)
- domain: add
ListObjectsto storage's port (bf2ef4a) - application: add download artifact usecase (01b2990)
- infra/minio: implement
Downloadfunctionality (5e878ef) - domain: add
Downloadfunctionality to storage's port (cddaed7) - infra/hasher: add writer-like hashing (17fb00d)
- domain: add writer like method to hasher's port (9a5f588)
- pkg: add
MBToByteshelper (484b076) - pkg: add runtime utility helper for getting runtime information (8950689)
- application/uc: implement upload artifact feature (6a19804)
- domain: add more errors (c718969)
- domain: add
Artifactentity (54273df) - infra/minio: implement Upload functionality (1f117ed)
- domain: add Upload functionality to storage port (a82bc43)
- infra: implement chechsum hasher in sha256 (6321284)
- domain: add
CecksumHasherport (25194cd) - domain: add file validator service (b4bc7fb)
- infra/storage: implement creating new bucket (bf2c5bb)
- domain: add creating new bucket to port (982912f)
- infra/storage: validate object storage connectivity after creating new one (8bd1933)
- infra/config: add validation (832a2db)
- infra/config: use viper to load configuration from yaml file (312cb21)
- infra/config: add configuration struct (c9d1d22)
- infra/storage: implement
ObjectStorageport from domain (c44d65c) - domain: add
ObjectStorageport (9043a4e) - infra: implement logger port from domain (dfe90da)
- domain: add logger port (86f8ce0)
- domain: add DomainError abstraction (f713dd1)
- init the project (bdebf78)
Bug Fixes
- infra/logger: define logger as global (e861a37)
- infra/zap_logger: pass args in With method (379ff2e)
- infra/config: incorrect error for logger's format validation (019a54a)
- infra/minio: unused len for channel in listing obj (0b5c671)
- adapters: use first uploaded artifact for now (6a0c93e)
- infra: wrong err for max size & default config values (42929a4)
- domain: do not wrap same error, it's cause stack overflow (6470188)
- infra: syntax err (d10b94b)
- make go packages compatible with go v.1.23.7 (7e3bef0)
Performance Improvements
- application: use reader instead of file path in upload artifact usecase (7ce7923)
- application: getting reader instead of file path in download artifact usecase (419bf51)
- open file once in file validator and pass the os.File as output to just open once (8544c5f)
Documentation
Tests
- add unit tests for helpers (81db0ec)
- infra: add unit tests for config validation (ed6abd4)
- domain: add artifact unit tests (cb5c761)
- domain: testing file validator input file size as mb and output as bytes (df49fc4)
- infra: add unit tests for minio mapper (db0a2fb)
- infra: add unit tests for checksum hasher (5bbdfcd)
- domain: add unit tests for file validator service (f7df14c)
- infra/config: add unit tests (f934088)
- domain: add DomainError unit tests (31e9bcc)
Code Refactoring
- rename
NewLoggerto justGet(e5b20d0) - infra: remove WithVersions: true option in listing (557f47c)
- wiring up new featues (b90c9bb)
- file_validator: add ValidateAndGetExt method to not force openning file (f9795e5)
- ports: return io.ReadSeekClose instead of io.ReadSeeker in Download from storage (04285b1)
- pass app's env to health handler & show it in response (6363a1e)
- infra: return minio struct instead of port in factory fn (f985692)
- application: get username, hostname, os, arch from input (6f68366)
- infra/minio: read metadata from usermetadata as fallback (6796e8f)
- application: add logging to upload usecase (a037004)
- infra/minio: add more option in creating new instance (36d8a1a)
- infra/storage: get ping & create bucket in initiation (8a47364)
Chores
- do not make pr in workflow for lint/formatting (4866783)
- build & push docker image after release (7495de4)
- add .env.example (27ea0ec)
- decrease read/write of http server timeout (6c99783)
- call docker build & push inside the release workflow (9571d4b)
- update go.mod, go.sum (25ff853)
- add gen-mocks command in justfile (ac11c7c)
- adapters: remove redundant f.Close in upload handler (0781f4a)
- fix object key pattern's comment (5238adc)
- build & push docker image in release workflow (b54e61e)
- run lint & test workflows on dev branch too (ed78ef7)
- add config yaml example file (43a0908)
- add minio docker compose file (41b0564)
- redirect /docs to /docs/index.html (6578c04)
- add request id middleware & log error (ee72740)
- add omitempty tag to error response for meta field (41364d5)
- domain: add json tags to artifact entity (6292a78)
- validate valid file extension format from config file (6708de5)
- docker build and push (71b648c)
- add Dockerfile (2b82b91)
- update .gitignore (91ca9e2)
- add CI workflows (e3a7cd9)
- update .gitignore (afa277b)
- move server booting to pkg/server (ec3088a)
- add .goreleaser.yaml config (335cea4)
- add go.mod & go.sum (08326f6)
- add .air config (06a33f9)
- add justfile & swag command to generate openapi documents (81d1c94)
- infra: update config (af4238b)
- go.mod & go.sum (d055fcb)
- add minio docker compose (88445ec)
tests
reafactor
- application: move
makeEmptyUnknownto shared file in usecases (da494f1)