GithubHelp home page GithubHelp logo

upciti / wakemeops Goto Github PK

View Code? Open in Web Editor NEW
120.0 4.0 15.0 4.96 MB

A Debian repository for portable applications

Home Page: https://docs.wakemeops.com/

License: MIT License

Makefile 22.91% Dockerfile 7.55% Shell 69.54%
packages-manager debian-packages binary ubuntu debian s3-storage hosting devops

wakemeops's Introduction

WakeMeOps

WakeMeOps - A Debian repository for portable applications.

⭐ What is it?

WakeMeOps is a Debian repository for portable applications.

  • Old releases are kept for three years to let you write reproducible Dockerfiles and CI/CD pipelines.
  • Applications can easily be added through pull requests on Github using a simple YAML configuration file.
  • WakeMeOps is a GitOps project: the state of the Debian repository is declared and managed using Git and CI/CD.

Our repository contains over 100 applications and is divided into five components: Desktop, DevOps, Dev, SecOps, and Terminal.

For instance, you will find in WakeMeOps these widely used applications:

See all packages here

πŸš€ Why do I need it?

When you work with many different devops tools, you may find that it gets cumbersome to follow what the latest version of each and every one of them is because they all get released on their own website or github project. WakeMeOps aims to centralize all those tools and more in one place to make your life a little bit easier.

Of course WakeMeOps doesn't have to be limited to devops, we are open to incorporate all kinds of reputable tools.

πŸ’» For terminal

WakeMeOps allows you to accelerate the setup of your terminal:

# Add WakeMeOps repository
curl -sSL https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository | sudo bash

# Now you can install packages from WakeMeOps
sudo apt install bat fd dust exa gping
sudo apt install pyenv=2.2.* poetry=1.1.*
sudo apt install helm=3.7.3 kustomize=4.4.* kubectl=1.23.1

And to speed up your updates:

sudo apt update
sudo apt upgrade

🐳 For Dockerfile

WakeMeOps allows you to write concise and readable dockerfiles:

FROM wakemeops/debian:bullseye

RUN install_packages \
    helm=3.7.2* \
    kustomize=4.4.1* \
    kubectl=1.23.1*

USER 1001

🧐 How does it work?

Debian packages are generated from ops2deb ops2deb.yml configuration files. Those configuration files are automatically updated when new application releases are available.

πŸ”§ How to add new packages?

  • Install ops2deb.
  • Add the configuration for the new application in ./blueprints/{component}/{application_name}/ops2deb.yml.
  • Run make format to format the configuration file.
  • Run make lock to update the lock files.
  • Create a new pull request using conventional commits.

Tip

If you are running on Apple arm64 based system you can use this command to format and generate lock files:

docker run --platform linux/amd64 --workdir /home/ops2deb --volume ./:/home/ops2deb --rm \
  docker.io/wakemeops/debian /bin/bash -c "apt update && apt install -y make ops2deb && make format && make lock"

πŸ“” Documentation

Please refer to our documentation at https://docs.wakemeops.com for more information.

wakemeops's People

Contributors

benjamin-texier avatar benoitfoure avatar crqs avatar d3spairx avatar fhaftmann avatar fyhertz avatar garymh avatar kianmeng avatar maxlareo avatar renovate[bot] avatar rndmh3ro avatar shomodj avatar stucki-stuck avatar this-is-tobi avatar wakemebot avatar x80486 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

wakemeops's Issues

Podman

Package Name

Podman is already in the upstream-repositories of Debian and Ubuntu, however with a rather old version.

Since podman is also distributed via Github Releases, would you be willing to accept a PR to add podman to the repository, so we get the latest version?

Package Component

No response

Package Description

Podman: A tool for managing OCI containers and pods.

Project URL

github.com/containers/podman/

Add OpenTofu package

Package Name

tofu

Package Component

devops

Package Description

OpenTofu is a fork of Terraform that is open-source, community-driven, and managed by the Linux Foundation. This is a tool for building, changing, and versioning infrastructure safely and efficiently. OpenTofu can manage existing and popular service providers as well as custom in-house solutions.

Project URL

Homepage: https://opentofu.org

Package location to fetch: https://github.com/opentofu/opentofu/releases

[Package Request] GoReleaser

Package Name

GoReleaser

Package Component

Devops

Package Description

GoReleaser is an open-source tool that simplifies the process of releasing your Go projects to multiple platforms, ensuring a consistent and reliable deployment experience.

Project URL

https://goreleaser.com

Add repository-information to repology

Is your feature request related to a problem? Please describe

Repology monitors a huge number of package repositories and other sources comparing packages versions across them and gathering other information. Repology shows you in which repositories a given project is packaged, which version is the latest and which needs updating, who maintains the package, and other related information. Repology might be useful

I'd like to see the wakemeops-repository to repology added, so I can use repology as a source when checking out which versions are available. In particular I want to use it as a datasource in renovate, so the versions can be automatically updated.

To get the repository added to repology, one has to create a issue (or pull request) with the following infomation:

**Repository data location(s)**
<!--
Link(s) to machine readable package data (may express multiple links in free form).
-->

- https://mymegarepo.org/22.04/{main,contrib,non-free}/packages.json

**Package links**
<!--
Examples or free form templates of links for individual packages. Link to package recipe is mandatory.
Other useful link types include package page, package related issues, build status or logs.
-->

- **Recipe**: https://github.com/mymygarepo/packages/blob/master/{pkgname}/recipe.json
- Package page: https://mymegarepo.org/packages/{pkgname}/
- Package sources: https://github.com/mymygarepo/packages/tree/master/{pkgname}/
- Issues: https://bugzilla.mymegarepo.org/buglist.cgi?quicksearch={pkgname}
- Build status: https://builder.mymegarepo.org/{pkgname}/status
- Build log: https://builder.mymegarepo.org/{pkgname}/buildlogs/latest

**Additional details**
<!--
- More links, such as distribution/repository homepage or GitHub organization
- Brand color, if any
- EoL date, if applicable
- Contact in case of fetch failures or data problems
- Details on custom data format, if it makes sense
- Any other details
-->

See here: https://github.com/repology/repology-updater/issues/new?assignees=&labels=new+source&template=newrepo.md

I don't feel comfortable about all the details and links to create an issue with repology so I hope that you can provide the information so I can create an issue (or you directly create the issue).

Thanks!

Describe the proposed solution

Add the repository-infos to repology by creating a issue: https://github.com/repology/repology-updater/issues/new?assignees=&labels=new+source&template=newrepo.md

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

dockerfile
Dockerfile
github-actions
.github/workflows/build_and_publish_docker_images.yml
  • docker/setup-buildx-action v3
  • docker/setup-qemu-action v3
  • docker/login-action v3
  • docker/build-push-action v6
.github/workflows/check_blueprints.yml
  • dorny/paths-filter v3
  • actions-ecosystem/action-remove-labels v1
  • actions/checkout v4
  • actions-ecosystem/action-add-labels v1
  • actions/upload-artifact v4
  • actions/checkout v3
  • actions/download-artifact v4
  • actions-ecosystem/action-add-labels v1
.github/workflows/stale.yml
  • actions/stale v9
.github/workflows/sync_debian_repository.yml
  • actions/checkout v4
  • upciti/wakemeops-action v1
.github/workflows/update_blueprints.yml
  • actions/checkout v4
  • upciti/wakemeops-action v1
  • peter-evans/create-pull-request v6
  • peter-evans/enable-pull-request-automerge v3
.github/workflows/update_documentation.yml
  • actions/checkout v4
  • JamesIves/github-pages-deploy-action v4.6.3

  • Check this box to trigger a request for Renovate to run again on this repository

pre-commit

Package Name

pre-commit

Package Component

No response

Package Description

A framework for managing and maintaining multi-language pre-commit hooks.

Project URL

https://pre-commit.com/

`importlib-metadata` dependency for `pre-commit`

Describe the Bug

pre-commit needs importlib-metadata package on Raspbian Buster.

Steps to Reproduce

  1. sudo apt install pre-commit
  2. pre-commit -h

Expected Behaviour

Show the help message.

Actual Behaviour

Raises a ModuleNotFoundError as importlib-metadata is not found.

Environment

Linux pidev-oussama 5.10.103-v7+ #1529 SMP Tue Mar 8 12:21:37 GMT 2022 armv7l GNU/Linux
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

[Package Request] JFrog CLI

Package Name

JFrog CLI

Package Component

Devops

Package Description

JFrog CLI is a compact and smart client that provides a simple interface that automates access to Artifactory and Mission Control through their respective REST APIs.

Project URL

https://github.com/jfrog/jfrog-cli

Add issue and pr templates to request new packages

  • Minor issue: spelling issue: Is your favorite application misssing?
  • Can you add a developer documentation so that other users could propose new packages? An issue/Pull request template would be also welcome.

The repository 'http://deb.wakemeops.com/wakemeops stable InRelease' is not signed

Describe the Bug

Just created a docker file with the exact contents of the example in the Readme.

Steps to Reproduce

  1. Got to this project's main page
  2. Copy the contents of the example Dockerfile
  3. Create a Dockerfile, paste and build it

Expected Behaviour

We should end up with a properly built image

Actual Behaviour


[+] Building 22.9s (5/5) FINISHED                                                            docker:desktop-linux
 => [internal] load .dockerignore                                                                            0.0s
 => => transferring context: 62B                                                                             0.0s
 => [internal] load build definition from Dockerfile-wmo                                                     0.0s
 => => transferring dockerfile: 167B                                                                         0.0s
 => [internal] load metadata for docker.io/wakemeops/debian:bullseye                                         0.0s
 => CACHED [1/2] FROM docker.io/wakemeops/debian:bullseye                                                    0.0s
 => ERROR [2/2] RUN install_packages     helm=3.7.2*     kustomize=4.4.1*     kubectl=1.23.1*               22.9s
------
 > [2/2] RUN install_packages     helm=3.7.2*     kustomize=4.4.1*     kubectl=1.23.1*:
10.10 E: Failed to fetch http://deb.wakemeops.com/wakemeops/dists/stable/InRelease  403  CoachingSession(viaCookie) [IP: 78.47.250.38 80]
10.10 E: The repository 'http://deb.wakemeops.com/wakemeops stable InRelease' is not signed.
10.11 apt failed, retrying
16.46 E: Failed to fetch http://deb.wakemeops.com/wakemeops/dists/stable/InRelease  403  CoachingSession(viaCookie) [IP: 78.47.250.38 80]
16.46 E: The repository 'http://deb.wakemeops.com/wakemeops stable InRelease' is not signed.
16.46 apt failed, retrying
22.88 E: Failed to fetch http://deb.wakemeops.com/wakemeops/dists/stable/InRelease  403  CoachingSession(viaCookie) [IP: 78.47.250.38 80]
22.88 E: The repository 'http://deb.wakemeops.com/wakemeops stable InRelease' is not signed.
------
Dockerfile-wmo:3
--------------------
   2 |
   3 | >>> RUN install_packages \
   4 | >>>     helm=3.7.2* \
   5 | >>>     kustomize=4.4.1* \
   6 | >>>     kubectl=1.23.1*
   7 |
--------------------
ERROR: failed to solve: process "/bin/sh -c install_packages     helm=3.7.2*     kustomize=4.4.1*     kubectl=1.23.1*" did not complete successfully: exit code: 100

Environment

uname -a && cat /etc/*release
Darwin M-NMXPWYJN5H 22.6.0 Darwin Kernel Version 22.6.0: Fri Sep 15 13:41:28 PDT 2023; root:xnu-8796.141.3.700.8~1/RELEASE_ARM64_T6000 arm64 arm Darwin
zsh: no matches found: /etc/*release

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.