GithubHelp home page GithubHelp logo

finraos / yum-nginx-api Goto Github PK

View Code? Open in Web Editor NEW
50.0 12.0 23.0 9.35 MB

yum-nginx-api is a go API for uploading RPMs to yum repositories and configurations for running NGINX to serve them. It is a deployable solution with Docker or a single 8MB statically linked Linux binary. yum-nginx-api enables CI tools to be used for uploading RPMs and managing yum repositories.

Home Page: https://github.com/FINRAOS/yum-nginx-api/wiki

License: Apache License 2.0

Shell 6.61% Makefile 5.54% Go 86.81% Dockerfile 1.03%
yum nginx rpm rpm-packages dnf devops uploading-rpms

yum-nginx-api's Issues

Requirements fails to install

Tried on fresh Centos 7.2 install, the installation of requirements fails with the message:
"Could not find a version that satisfies the requirement requirements.txt (from versions: )
No matching distribution found for requirements.txt"

Steps for hosting this as a binary?

FROM ubuntu:16.04
MAINTAINER morgan

WORKDIR /
RUN apt-get update -y
RUN apt-get install -y nginx git wget make gcc createrepo

RUN wget https://dl.google.com/go/go1.10.linux-amd64.tar.gz
RUN tar -xvf go1.10.linux-amd64.tar.gz
RUN mv go /usr/local 
ENV GOROOT=/usr/local/go
ENV PATH=$GOPATH/bin:$GOROOT/bin:$PATH

RUN git clone https://github.com/FINRAOS/yum-nginx-api.git
WORKDIR /yum-nginx-api
RUN go get github.com/FINRAOS/yum-nginx-api
RUN go get github.com/go-ozzo/ozzo-routing
RUN go get github.com/h2non/filetype
RUN go get github.com/spf13/viper
RUN go get github.com/golang/gddo/httputil/header

RUN mv /etc/nginx/mime.types /etc/nginx/mime.types.bak
RUN mv ./nginx/mime.types /etc/nginx/mime.types
RUN mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
RUN mv ./nginx/nginx.conf /etc/nginx/nginx.conf
COPY yumapi.yml .
RUN mkdir /opt/api
RUN make build
RUN yum-config-manager --enable /api/opt
CMD ./yumapi
CMD /etc/init.d/nginx start

EXPOSE 8080

So i'm setting up a docker container to host the binary so I can determine what needs to be installed a server i'm using to host an apt and yum repo. Don't really want to do it through a docker container since I already have a yum repo set up but currently dont have a clean way of calling create repo everytime something is posted. Hosting it with that dockerfile and fowarding 8080:8080 and then trying to access will result in a 502. What do you think I am doing wrong?

How do you yum install against uploaded RPMs?

My apologies if this is a silly question, but I can't figure this out. I've set this up and have successfully posted RPMs to this service, with /api/upload working perfectly as expected.

I can see the images under /api/repo just fine, returned in JSON format, but it's occurring to me that I can't figure out how to pull RPMs out from there.

I've tried to walk the source code, and it looks like the only API route exposed for /api/repo is configured to only return a JSON.

I don't see any code/handlers to actually pass back the RPMs or expose a xml based resource that yum might understand.

I checked the wiki, commit history, pull request history, and google-fu'd heavily. I also watched the only video I could find on this (https://www.youtube.com/watch?v=xVRBDK6s7Og&feature=youtu.be) and it was alluded to but I couldn't see any code to actually do this.

The meetup page (https://www.meetup.com/DC-continuous-delivery/events/219648907/) which links to some slides (http://marshyski.com/talks/rpm-build-api-ci.html) but that URL does not resolve.

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.