Giter VIP home page Giter VIP logo

suxen's Introduction

Suxen

Suxen provides a clean way to search docker images that are hosted on Nexus.

ALERT this application is not production ready. There is a bug in Nexus itself (https://issues.sonatype.org/browse/NEXUS-15277) that causes high loads on a setup that has many resources. It is possible to re-architect the tool to work around this bug, as there hasn't been much progress from the Nexus team in resolving it yet.

Getting Started

Prerequisites

Most importantly, a Nexus container repository should be running. If running in kubernetes, the best option is to use the Helm chart to install/configure Nexus: https://hub.helm.sh/charts/stable/sonatype-nexus

Installing

The docker image (https://quay.io/repository/travelaudience/suxen) can be run on its own. Or Suxen can be installed using the helm chart.

Helm

The helm chart configuration is kept in this repository. To perform an install, try:

helm install charts/suxen

Values that might be helpful to override would be:

envvar:
  nexusAddress:
    value: https://your-nexus.example.com
  nexusRegistryAddress:
    value: your-containers.example.com

ingress:
  enabled: true
  host: suxen.example.com

but more options can be found in the charts/suxen/values.yaml file.

Developing

setting up app to run locally

go/backend:

This is the most straight-forward. The Makefile contains most of the commands you'll need. If you run make build, the binary will be in the bin/ folder, and can be run with:

./bin/suxend[_osx] -log.level debug -nexus.svc.address https://nexus.example.com -nexus.registry.address containers.example.com

Or try the --help to find which other parameters to configure.

js/frontend:

For this to work, the best option is to run the docker image with the backend in localhost, and then in the ui/ dir,

yarn start

to have the code loaded. You will also need to change the uri value in ui/src/app.jsx to: http://localhost:8080/query

To run the docker image, create an env variable file:

SUXEND_NEXUS_SVC_ADDRESS=https://nexus.example.com
SUXEND_NEXUS_REGISTRY_ADDRESS=containers.example.com
docker run --rm --env-file=[PATH TO ENV]/env-file -p 8080:8080 -it quay.io/travelaudience/suxen:v0.0.1

Contributing

Contributions are welcomed! Read the Contributing Guide for more information.

Things that would be the most interesting would be:

  • extend the ability to use ANY docker registry (not just Nexus)
  • new UI/UX improvements
  • create a backend datastore that can include more data about images (ie security scans)
  • with Nexus, extend ability to get other assets (jars/pip/etc)

Licensing

This project is licensed under the MIT License - see the LICENSE file for details

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.