diff options
author | Achilleas Pipinellis <axilleas@axilleas.me> | 2016-08-22 17:09:15 +0300 |
---|---|---|
committer | Achilleas Pipinellis <axilleas@axilleas.me> | 2016-08-22 17:09:15 +0300 |
commit | 915dda1421d8227c0ba395bfdb04ff915724c4ac (patch) | |
tree | edd56c72784ae915bcf1765b1379200cf896f154 /doc/integration | |
parent | 94cfd4adb21f4ebbb115978e022a88cd4cf03d69 (diff) | |
download | gitlab-ce-915dda1421d8227c0ba395bfdb04ff915724c4ac.tar.gz |
Split Koding admin/user docs
Diffstat (limited to 'doc/integration')
16 files changed, 0 insertions, 361 deletions
diff --git a/doc/integration/img/koding_build-in-progress.png b/doc/integration/img/koding_build-in-progress.png Binary files differdeleted file mode 100644 index f8cc81834c4..00000000000 --- a/doc/integration/img/koding_build-in-progress.png +++ /dev/null diff --git a/doc/integration/img/koding_build-logs.png b/doc/integration/img/koding_build-logs.png Binary files differdeleted file mode 100644 index a04cd5aff99..00000000000 --- a/doc/integration/img/koding_build-logs.png +++ /dev/null diff --git a/doc/integration/img/koding_build-success.png b/doc/integration/img/koding_build-success.png Binary files differdeleted file mode 100644 index 2a0dd296480..00000000000 --- a/doc/integration/img/koding_build-success.png +++ /dev/null diff --git a/doc/integration/img/koding_commit-koding.yml.png b/doc/integration/img/koding_commit-koding.yml.png Binary files differdeleted file mode 100644 index 3e133c50327..00000000000 --- a/doc/integration/img/koding_commit-koding.yml.png +++ /dev/null diff --git a/doc/integration/img/koding_different-stack-on-mr-try.png b/doc/integration/img/koding_different-stack-on-mr-try.png Binary files differdeleted file mode 100644 index fd25e32f648..00000000000 --- a/doc/integration/img/koding_different-stack-on-mr-try.png +++ /dev/null diff --git a/doc/integration/img/koding_edit-on-ide.png b/doc/integration/img/koding_edit-on-ide.png Binary files differdeleted file mode 100644 index fd5aaff75f5..00000000000 --- a/doc/integration/img/koding_edit-on-ide.png +++ /dev/null diff --git a/doc/integration/img/koding_enable-koding.png b/doc/integration/img/koding_enable-koding.png Binary files differdeleted file mode 100644 index c0ae0ee9918..00000000000 --- a/doc/integration/img/koding_enable-koding.png +++ /dev/null diff --git a/doc/integration/img/koding_landing.png b/doc/integration/img/koding_landing.png Binary files differdeleted file mode 100644 index 7c629d9b05e..00000000000 --- a/doc/integration/img/koding_landing.png +++ /dev/null diff --git a/doc/integration/img/koding_open-gitlab-from-koding.png b/doc/integration/img/koding_open-gitlab-from-koding.png Binary files differdeleted file mode 100644 index c958cf8f224..00000000000 --- a/doc/integration/img/koding_open-gitlab-from-koding.png +++ /dev/null diff --git a/doc/integration/img/koding_run-in-ide.png b/doc/integration/img/koding_run-in-ide.png Binary files differdeleted file mode 100644 index f91ee0f74cc..00000000000 --- a/doc/integration/img/koding_run-in-ide.png +++ /dev/null diff --git a/doc/integration/img/koding_run-mr-in-ide.png b/doc/integration/img/koding_run-mr-in-ide.png Binary files differdeleted file mode 100644 index 502817a2a46..00000000000 --- a/doc/integration/img/koding_run-mr-in-ide.png +++ /dev/null diff --git a/doc/integration/img/koding_set-up-ide.png b/doc/integration/img/koding_set-up-ide.png Binary files differdeleted file mode 100644 index 7f408c980b5..00000000000 --- a/doc/integration/img/koding_set-up-ide.png +++ /dev/null diff --git a/doc/integration/img/koding_stack-import.png b/doc/integration/img/koding_stack-import.png Binary files differdeleted file mode 100644 index 2a4e3c87fc8..00000000000 --- a/doc/integration/img/koding_stack-import.png +++ /dev/null diff --git a/doc/integration/img/koding_start-build.png b/doc/integration/img/koding_start-build.png Binary files differdeleted file mode 100644 index 52159440f62..00000000000 --- a/doc/integration/img/koding_start-build.png +++ /dev/null diff --git a/doc/integration/koding-usage.md b/doc/integration/koding-usage.md deleted file mode 100644 index bb74badce66..00000000000 --- a/doc/integration/koding-usage.md +++ /dev/null @@ -1,122 +0,0 @@ -# Koding & GitLab - -This document will guide you through using Koding integration on GitLab in -detail. For configuring and installing please follow [this](koding.md) guide. - -You can use Koding integration to run and develop your projects on GitLab. This -will allow you and the users to test your project without leaving the browser. -Koding handles projects as stacks which are basic recipes to define your -environment for your project. With this integration you can automatically -create a proper stack template for your projects. Currently auto-generated -stack templates are designed to work with AWS which requires a valid AWS -credential to be able to use these stacks. You can find more information about -stacks and the other providers that you can use on Koding from -[here](https://www.koding.com/docs). - - -# Enable Integration - -You can enable Koding integration by providing the running Koding instance URL -in Application Settings; - - - Open **Admin area > Settings** (`/admin/application_settings`). - -![Enable Koding](help/integration/img/koding_enable-koding.png) - -Once enabled you will see `Koding` link on your sidebar which leads you to -Koding Landing page - -![Koding Landing](help/integration/img/koding_landing.png) - -You can navigate to running Koding instance from here. For more information and -details about configuring integration please follow [this](koding.md) guide. - - -# Set up Koding on Projects - -Once it's enabled, you will see some integration buttons on Project pages, -Merge Requests etc. To get started working on a specific project you first need -to create a `.koding.yml` file under your project root. You can easily do that -by using `Set Up Koding` button which will be visible on every project's -landing page; - -![Set Up Koding](help/integration/img/koding_set-up-ide.png) - -Once you click this will open a New File page on GitLab with auto-generated -`.koding.yml` content based on your server and repository configuration. - -![Commit .koding.yml](help/integration/img/koding_commit-koding.yml.png) - - -# Run a project on Koding - -If there is `.koding.yml` exists in your project root, you will see -`Run in IDE (Koding)` button in your project landing page. You can initiate the -process from here. - -![Run on Koding](help/integration/img/koding_run-in-ide.png) - -This will open Koding defined in the settings in a new window and will start -importing the project's stack file; - -![Import Stack](help/integration/img/koding_stack-import.png) - -You should see the details of your repository imported into your Koding -instance. Once it's completed it will lead you to the Stack Editor and from -there you can start using your new stack integrated with your project on your -GitLab instance. For details about what's next you can follow -[this](https://www.koding.com/docs/creating-an-aws-stack) guide from 8. step. - -Once stack initialized you will see the `README.md` content from your project -in `Stack Build` wizard, this wizard will let you to build the stack and import -your project into it. **Once it's completed it will automatically open the -related vm instead of importing from scratch** - -![Stack Building](help/integration/img/koding_start-build.png) - -This will take time depending on the required environment. - -![Stack Building in Progress](help/integration/img/koding_build-in-progress.png) - -It usually takes ~4 min. to make it ready with a `t2.nano` instance on given -AWS region. (`t2.nano` is default vm type on auto-generated stack template -which can be manually changed) - -![Stack Building Success](help/integration/img/koding_build-success.png) - -You can check out the `Build Logs` from this success modal as well; - -![Stack Build Logs](help/integration/img/koding_build-logs.png) - -You can now `Start Coding`! - -![Edit On IDE](help/integration/img/koding_edit-on-ide.png) - - -# Try a Merge Request on IDE - -It's also possible to try a change on IDE before merging it. This flow only -enabled if the target project has `.koding.yml` in it's target branch. You -should see the alternative version of `Run in IDE (Koding)` button in merge -request pages as well; - -![Run in IDE on MR](help/integration/img/koding_run-mr-in-ide.png) - -This will again take you to Koding with proper arguments passed, which will -allow Koding to modify the stack template provided by target branch. You can -see the difference; - -![Different Branch for MR](help/integration/img/koding_different-stack-on-mr-try.png) - -The flow for the branch stack is also same with the regular project flow. - - -# Open GitLab from Koding - -Since stacks generated with import flow defined in previous steps, they have -information about the repository they are belonging to. By using this -information you can access to related GitLab page from stacks on your sidebar -on Koding. - -![Open GitLab from Koding](help/integration/img/koding_open-gitlab-from-koding.png) - diff --git a/doc/integration/koding.md b/doc/integration/koding.md deleted file mode 100644 index 53450b6d048..00000000000 --- a/doc/integration/koding.md +++ /dev/null @@ -1,239 +0,0 @@ -# Koding & GitLab - -This document will guide you through installing and configuring Koding with -GitLab. - -First of all, to be able to use Koding and GitLab together you will need public -access to your server. This allows you to use single sign-on from GitLab to -Koding and using vms from cloud providers like AWS. Koding has a registry for -VMs, called Kontrol and it runs on the same server as Koding itself, VMs from -cloud providers register themselves to Kontrol via the agent that we put into -provisioned VMs. This agent is called Klient and it provides Koding to access -and manage the target machine. - -Kontrol and Klient are based on another technology called -[Kite](github.com/koding/kite), that we have written at Koding. Which is a -microservice framework that allows you to develop microservices easily. - - -## Requirements - -### Hardware - -Minimum requirements are; - - - 2 cores CPU - - 3G RAM - - 10G Storage - -If you plan to use AWS to install Koding it is recommended that you use at -least a `c3.xlarge` instance. - -### Software - - - [git](https://git-scm.com) - - [docker](https://www.docker.com) - - [docker-compose](https://www.docker.com/products/docker-compose) - -Koding can run on most of the UNIX based operating systems, since it's shipped -as containerized with Docker support, it can work on any operating system that -supports Docker. - -Required services are; - - - PostgreSQL # Kontrol and Service DB provider - - MongoDB # Main DB provider the application - - Redis # In memory DB used by both application and services - - RabbitMQ # Message Queue for both application and services - -which are also provided as a Docker container by Koding. - - -## Getting Started with Development Versions - - -### Koding - -You can run `docker-compose` environment for developing koding by -executing commands in the following snippet. - -```bash -git clone https://github.com/koding/koding.git -cd koding -docker-compose up -``` - -This should start koding on `localhost:8090`. - -By default there is no team exists in Koding DB. You'll need to create a team -called `gitlab` which is the default team name for GitLab integration in the -configuration. To make things in order it's recommended to create the `gitlab` -team first thing after setting up Koding. - - -### GitLab - -To install GitLab to your environment for development purposes it's recommended -to use GitLab Development Kit which you can get it from -[here](https://gitlab.com/gitlab-org/gitlab-development-kit). - -After all those steps, gitlab should be running on `localhost:3000` - - -## Integration - -Integration includes following components; - - - Single Sign On with OAuth from GitLab to Koding - - System Hook integration for handling GitLab events on Koding - (`project_created`, `user_joined` etc.) - - Service endpoints for importing/executing stacks from GitLab to Koding - (`Run/Try on IDE (Koding)` buttons on GitLab Projects, Issues, MRs) - -As it's pointed out before, you will need public access to this machine that -you've installed Koding and GitLab on. Better to use a domain but a static IP -is also fine. - -For IP based installation you can use [xip.io](https://xip.io) service which is -free and provides DNS resolution to IP based requests like following; - - - 127.0.0.1.xip.io -> resolves to 127.0.0.1 - - foo.bar.baz.127.0.0.1.xip.io -> resolves to 127.0.0.1 - - and so on... - -As Koding needs subdomains for team names; `foo.127.0.0.1.xip.io` requests for -a running koding instance on `127.0.0.1` server will be handled as `foo` team -requests. - - -### GitLab Side - -You need to enable Koding integration from Settings under Admin Area. To do -that login with an Admin account and do followings; - - - open [http://127.0.0.1:3000/admin/application_settings](http://127.0.0.1:3000/admin/application_settings) - - scroll to bottom of the page until Koding section - - check `Enable Koding` checkbox - - provide GitLab team page for running Koding instance as `Koding URL`* - -* For `Koding URL` you need to provide the gitlab integration enabled team on -your Koding installation. Team called `gitlab` has integration on Koding out -of the box, so if you didn't change anything your team on Koding should be -`gitlab`. - -So, if your Koding is running on `http://1.2.3.4.xip.io:8090` your URL needs -to be `http://gitlab.1.2.3.4.xip.io:8090`. You need to provide the same host -with your Koding installation here. - - -#### Registering Koding for OAuth integration - -We need `Application ID` and `Secret` to enable login to Koding via GitLab -feature and to do that you need to register running Koding as a new application -to your running GitLab application. Follow -[these](http://docs.gitlab.com/ce/integration/oauth_provider.html) steps to -enable this integration. - -Redirect URI should be `http://gitlab.127.0.0.1:8090/-/oauth/gitlab/callback` -which again you need to _replace `127.0.0.1` with your instance public IP._ - -Take a copy of `Application ID` and `Secret` that is generated by the GitLab -application, we will need those on _Koding Part_ of this guide. - - -#### Registering system hooks to Koding (optional) - -Koding can take actions based on the events generated by GitLab application. -This feature is still in progress and only following events are processed by -Koding at the moment; - - - user_create - - user_destroy - -All system events are handled but not implemented on Koding side. - -To enable this feature you need to provide a `URL` and a `Secret Token` to your -GitLab application. Open your admin area on your GitLab app from -[http://127.0.0.1:3000/admin/hooks](http://127.0.0.1:3000/admin/hooks) -and provide `URL` as `http://gitlab.127.0.0.1:8090/-/api/gitlab` which is the -endpoint to handle GitLab events on Koding side. Provide a `Secret Token` and -keep a copy of it, we will need it on _Koding Part_ of this guide. - -_(replace `127.0.0.1` with your instance public IP)_ - - -### Koding Part - -If you followed the steps in GitLab part we should have followings to enable -Koding part integrations; - - - `Application ID` and `Secret` for OAuth integration - - `Secret Token` for system hook integration - - Public address of running GitLab instance - - -#### Start Koding with GitLab URL - -Now we need to configure Koding with all this information to get things ready. -If it's already running please stop koding first. - -##### From command-line - -Replace followings with the ones you got from GitLab part of this guide; - -```bash -cd koding -docker-compose run \ - --service-ports backend \ - /opt/koding/scripts/bootstrap-container build \ - --host=**YOUR_IP**.xip.io \ - --gitlabHost=**GITLAB_IP** \ - --gitlabPort=**GITLAB_PORT** \ - --gitlabToken=**SECRET_TOKEN** \ - --gitlabAppId=**APPLICATION_ID** \ - --gitlabAppSecret=**SECRET** -``` - -##### By updating configuration - -Alternatively you can update `gitlab` section on -`config/credentials.default.coffee` like following; - -``` -gitlab = - host: '**GITLAB_IP**' - port: '**GITLAB_PORT**' - applicationId: '**APPLICATION_ID**' - applicationSecret: '**SECRET**' - team: 'gitlab' - redirectUri: '' - systemHookToken: '**SECRET_TOKEN**' - hooksEnabled: yes -``` - -and start by only providing the `host`; - -```bash -cd koding -docker-compose run \ - --service-ports backend \ - /opt/koding/scripts/bootstrap-container build \ - --host=**YOUR_IP**.xip.io \ -``` - -#### Enable Single Sign On - -Once you restarted your Koding and logged in with your username and password -you need to activate oauth authentication for your user. To do that - - - Navigate to Dashboard on Koding from; - `http://gitlab.**YOUR_IP**.xip.io:8090/Home/my-account` - - Scroll down to Integrations section - - Click on toggle to turn On integration in GitLab integration section - -This will redirect you to your GitLab instance and will ask your permission ( -if you are not logged in to GitLab at this point you will be redirected after -login) once you accept you will be redirected to your Koding instance. - -From now on you can login by using `SIGN IN WITH GITLAB` button on your Login -screen in your Koding instance. |