⛅🌱 Cloud Seed

Cloud Seed is an open-source program led by GitLab Incubation Engineering in collaboration with Google Cloud.

Currently in private-testing mode, Cloud Seed is available to a select group of users. If you are interested in joining this group, please fill in the Trusted Testers invitation form and we will reach out to you.

Sign up as a Trusted Tester

Purpose

Deploying web applications (and related workloads) from GitLab to major cloud providers should be trivial.

Cloud Seed makes it ridiculously simple and intuitive to consume appropriate Google Cloud services within GitLab.

Why Google Cloud

Cloud Seed is an open-source program that can be extended by anyone and we'd love to work with every major cloud provider.

The team at Google Cloud proved to be incredibly accessible, supportive and collaborative in this effort. Thus, Google Cloud.

As an open-source project, everyone can contribute and shape our direction.

Everyone can contribute

There are several ways one may contribute to Cloud Seed. These are listed below:

Sign up as a Trusted Tester

Demo

Links

Contribute

This is the contributors guide for those looking to extend Cloud Seed.

Parallel tracks

Two tracks can be executed in parallel while building your extension:

  1. User experience and workflow
  2. Pipeline and automation

User experience and workflow

This track focuses on contributing to the GitLab open source project — specifically to the gitlab-rails project — and building frictionless user experiences for authentication, authorization and configuration workflows.

The technology stack involved in Ruby, Rails, Vue.js and Sass and the GitLab Contribution Guide is a great starting point.

Pipeline and automation

Assuming auth and configurations are in-place — for example mock them in your development environment — you proceed to define a GitLab pipeline.

The GitLab pipeline is the starting point for automation. Based on Git events (or API events, or a scheduled interval) pipelines can be triggered to deploy and integrate with your preferred infrastructure provider or service.

The pipeline you construct may either be a generic pipeline that addresses a broad array of use cases.

Alternatively, you pipeline may focus on top frameworks relevant to your offering and address those automations. For example if web applications are typical consumers of your service, try creating a pipeline for major web frameworks such as Rails or Django.

The GitLab CI Quickstart is an excellent beginners' resource for building pipelines while advanced users might prefer the Gitlab CI specification