Skip to content

guimauvedigital/pkg

Repository files navigation

pkg

License Issues Pull Requests Code Size codecov

An open source maven/npm/pypi package manager.

Warning: This is a work in progress and not ready for production use.

Motivation

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!

Use in your code

Gradle

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.

npm

In your .npmrc:

@organization-name:registry=https://pkg.guimauve.digital/npm/

pypi

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/

Deploy your instance

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):

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'

And then, install it:

helm install pkg path-to-repo/helm/pkg -f values.yaml

And you can access it with the chosen domain!

About

An open source maven/npm/pypi package manager.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

  •  
  •  

Packages

No packages published

Contributors 2

  •  
  •