Discover Packages
github.com/meidomx/mxartifact
command
module
Version:
v0.0.0-...-4ddab7f
Opens a new window with list of versions in this module.
Published: Jan 18, 2023
License: LGPL-2.1
Opens a new window with license information.
Imports: 13
Opens a new window with list of imports.
Imported by: 0
Opens a new window with list of known importers.
README
README
¶
MxArtifact
An opensource repository service.
The purpose of the project is to provide a simple and customizable artifact repository, supporting modern languages.
1. Features
Repository: Go Module
Repository - Go: upstream type: proxy server
Repository - Go: upstream type: L3/L4 proxy server
Repository - Go: local cache
Repository: Maven
Repository - Maven: proxy as a mirror including central/self-hosted by upstream config
Repository - Maven: deploy to repository - POST/PUT/DELETE
Upstream: http proxy support
Customizable Repository: layered(nested and recursive) repositories and file permission
Customizable Repository: separate url for each repository
1.1 Golang
Prerequisite
2. TODO List
Repository: Nuget
Repository: Cargo
Repository: Docker
Upstream: Queuing
Repository - Maven: auth and permissions
Repository - Maven: repository type - release / snapshot / etc.
Repository - Maven: local storage
Repository - Maven: deploy with auth - username & password / other methods
Repository - Maven: metadata for deploying snapshots
Repository - Maven: Http Headers for GET/HEAD/PUT/POST/DELETE requests
Repository - Go: need extract request type before processing repositories & rely on the type
Repository - Go: support safe concurrent local storage
Repository - Go: simulating GOPRIVATE
Repository - Go: upstream - A.source repository C.internal recursive repository
Repository - Go: checksum database
Repository - Go: Max file size defined in the Go Module specification
Repository - Go: support management for local persisted repositories including uploading/deleting files
Repository - Go: access token for pulling private repository
Repository: streaming transfer for large files in slow upstream env
Workflow support: Production/Pre published/Staged/Develop/Multiple environment isolation
Server: cluster and HA
Security: ratelimiter
Security: max http header/body limit
Optimization: lightweight sidecar for distributed sync
Optimization: file cache and small file read
Web Management: web pages for management
File Storage: S3
File Storage: Multiple file storage
Debugging: more logs for troubleshooting
3. Dependency
Reference implementations
Go
Maven
4. Client support
4.1 Go
Sumdb: to avoid sumdb check for a private repository, use GONOSUMDB env. GOPRIVATE is an alternative if private proxy
function is not enabled and used.
A. Reference documents
Go
Go Module
Go Module Sumdb Proxy
Cargo(Rust)
Registries
Nuget
Nuget Server API Overview
Docker
Docker registry
Maven
Expand ▾
Collapse ▴
Documentation
¶
There is no documentation for this package.
Source Files
¶
Directories
¶
repository
upstream
Click to show internal directories.
Click to hide internal directories.