pkg
0.1.3indexedOffers an open-source package manager for maven, npm, and pypi, enabling easy importation and private hosting of packages across projects. Deployable via Helm on Kubernetes.
Offers an open-source package manager for maven, npm, and pypi, enabling easy importation and private hosting of packages across projects. Deployable via Helm on Kubernetes.
An open source maven/npm/pypi package manager.
Warning: This is a work in progress and not ready for production use.
We wanted to publish our packages to import them between our projects easily. But we also wanted them to be private and not available to the public. Since GitHub does not support python packages, other solutions were very costly, and we love to make open source software, we decided to create our own package manager!
Using the Gradle plugin:
plugins {
id("digital.guimauve.pkg") version "0.1.3"
}
repositories {
pkg(project) // Default https://pkg.guimauve.digital/maven2 repository
pkg(project, url = "...") // Custom repository URL
}
Note: If you run this repository locally, you need to add isAllowInsecureProtocol = true to allow http.
In your .npmrc:
@organization-name:registry=https://pkg.guimauve.digital/npm/
In your pip.conf (to download packages):
[global]
extra-index-url = https://pkg.guimauve.digital/pypi/simple
In your ~/.pypirc (to publish packages):
[guimauve-digital]
repository = https://pkg.guimauve.digital/pypi/
The easiest way to deploy an instance is using Helm on Kubernetes.
Create a values.yaml file with the following content (replace with the desired values):
And then, install it:
helm install pkg path-to-repo/helm/pkg -f values.yaml
And you can access it with the chosen domain!
replicaCount: 2
ingress:
hosts:
- host: pkg.guimauve.digital
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: guimauvedigital-tls
hosts:
- pkg.guimauve.digital
jwt:
secret: 'secret'
s3:
id: ''
key: ''
region: 'eu-west-3'
name: 'guimauve-pkg'
Surfaced from shared tags and platforms — no rankings paid for.