GithubHelp home page GithubHelp logo

thecapypara / riptide-repo Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 9.0 169 KB

Tool to manage development environments for web applications using containers - Public community repository

Home Page: https://riptide-docs.readthedocs.io

License: MIT License

PHP 12.57% VCL 24.53% Python 1.53% reStructuredText 13.07% YAML 48.30%

riptide-repo's Introduction

Riptide

Main packages: lib proxy cli
Container-Backends: engine_docker    
Database Drivers: db_mysql db_mongo  
Plugins: php_xdebug    
Related Projects: configcrunch    
More: docs repo docker_images

Master Build Status Documentation Status

Riptide is a set of tools to manage development environments for web applications. It's using container virtualization tools, such as Docker to run all services needed for a project.

It's goal is to be easy to use by developers. Riptide abstracts the virtualization in such a way that the environment behaves exactly as if you were running it natively, without the need to install any other requirements the project may have.

Riptide Repository

This repository contains services, commands and apps that can be used in Riptide projects.

The master branch contains the up-to-date versions for all objects, branches for certain Riptide versions may exist (eg. 0.1 for version 0.1).

The apps, services and commands contain their own README files with more information. Browse the app, service and command directories to find objects you may find useful for your projects.

This is the public community repository for Riptide. Please feel free to contribute!

Contributing

If you want to submit your own apps, services and or commands, open a pull request. Your objects need to be valid for the newest Riptide version, or,if you are opening a pull request for older versions, with the respective version. Automatic tests will check basic functionality for your objects.

You need to provide an up-to-date documentation for your object, in form of a README.rst. Templates can be found in the _contrib-templates directory.

Submission guidelines

  • Images should be either:
    • official (marked as "Official Image" in the Docker hub),
    • from the "riptidepy" org on Docker Hub (see docker_images).
    • or very well maintained, open source and trusted (eg. high amount of stars on Github)
  • When using variables, do not reference fields that contain other variables (expect in <Service>.notices).
  • When using the variable helper function parent(), do not reference fields that contain other variables.
  • do_not_create_user must not be True for services.
  • Standalone services must not have any roles set (except for db).

More Guidelines may be added.

Documentation

Documentation for apps, services and commands can be found inside the directories of this repository.

The complete documentation for Riptide can be found at Read the Docs.

riptide-repo's People

Contributors

aptudock avatar bjoern-quast avatar elfacht avatar hktudock avatar jeliebig avatar naftula70 avatar parakoopa avatar td-sclemens avatar thecapypara avatar tklement avatar werkzeug avatar

Stargazers

 avatar  avatar

Watchers

 avatar

riptide-repo's Issues

Request: Interdependencies

IS

When one service or command depends on another service, you need to poll or you get an error.

SHOULD

Services and commands can have a list of dependencies that make sure that basically riptide start -s ... is run before execution.

Request: Automatic setup

IS

In a freshly cloned project directory, when a command is issued, it is not found or riptide tells you to run riptide setup.

SHOULD

When there is no activated project in the directory, the shell extension checks if there is a riptide.yml somewhere related. If that is the case, dependent on a global setting "automatically setup projects", riptide setup is run automatically or the shell extension just tells the user that there is a project that could be setup and asks to do that (Y/n).

Notice

For best user experience in first case, there should be a way to "silently" setup a project via command flag (interactive setup = no).

Github Action for Readme migration

Previously there was a Jenkinsfile pipeline to commit documentation on objects in the repository to riptide-docs. This functionality should be restored using Actions.

PHP Commands use Service helpers

The PHP commands currently use helper functions like host_adresss(). These are not avaiable for comamnds at the moment.

Due to a Configcrunch bug (that is fixed in the next release), there is currently no error.

Task: Remove these variable helpers from YAML files or introduce these helpers for commands (-> riptide-lib then)

Composer: Don't require --ignore-platform-reqs

Most composer projects that are used by Riptide require specific PHP versions or extensions.
Since Riptide uses the newest composer image this doesn't match.
A "fix" for this, is to use the --ignore-platform-reqs with ìnstall/update/require or to "hard-code" the PHP version and extensions in a project's composer.json.

It would be good to have a way to have this flag not be required while considering that it might still be good to check the PHP requirements. But those have to checked against the main service's PHP image, so maybe add a new composer variant that uses this image?

Request: Disable missing shell extension warning

I (for some reasons) do not ever install shell extensions. Every time I run riptide ..., I get a warning about that.

False positives have some well-known negative effects, you get used to see warnings and then will miss actually important ones.

Please let me disable that warning or remove it altogether.

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.