Skip to content

upciti/wakemeops

Repository files navigation

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.