devcluster

module
v0.0.0-...-f7471f1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 3, 2020 License: Apache-2.0

README

= DevCluster Service

image:https://goreportcard.com/badge/github.com/alexeykazakov/devcluster[Go Report Card, link="https://goreportcard.com/report/github.com/alexeykazakov/devcluster"]
image:https://godoc.org/github.com/alexeykazakov/devcluster?status.png[GoDoc,link="https://godoc.org/github.com/alexeykazakov/devcluster"]

This is the DevCluster Service repository

== Build

Requires Go version 1.14 - download for your development environment https://golang.org/dl/[here].

This repository uses https://github.com/golang/go/wiki/Modules[Go modules]

To build, execute:

```
make build
```

This builds the executable with bundled assets. Only the binary needs to be deployed, all static assets are bundled with the binary.

To just generate the asset bundle, execute:

```
make generate
```

This creates the asset bundle in the `static` package. Do not change the asset bundle file(s), changes will be lost on the next build.

== Development

To make development on the static content easier, a development binary can be built using:

```
make build-dev
```

The resulting binare *does not use bundled assets* but reads static content directly from `pkg/assets`. *Do not deploy the dev binary*. 



=== Tests

Tests are run by executing:

```
make test
```

Tests are run with bundled assets, see above.

=== VSCode Testing/Debugging

To use the internal test runner and debug features of VSCode, you need to make sure that VSCode runs in a context where Go Modules are enabled. To do this, run:

```
export GO111MODULE=on
```

Before running VSCode from that shell.

=== Deploying on OpenShift

To deploy the service on OpenShift you need to have OpenShift cluster running and access to a docker registry.
Before running any make target, make sure you have `QUAY_NAMESPACE` variable set to your quay username (or set to any namespace you want to push the image to).

```bash
$ export QUAY_NAMESPACE=<quay-username>
```

Set the target namespace:
```bash
$ export NAMESPACE=<Namespace-to-be-used-to-deploy-devcluster>
```

Then:

* Make sure the target OpenShift cluster is accessible via `oc` command.
* Log in to the target OpenShift cluster with with a user who has edit permissions in `$NAMESPACE` or has permissions to create `$NAMESPACE`
* Login to quay.io via `docker login quay.io` (in case you want to use quay as the docker registry)

Then run:
```bash
make deploy-dev
```

=== Deploying on minishift

To deploy DevCluster Service on local minishift, start your minishift then run:

```bash
eval $(minishift docker-env)
make deploy-on-minishift
```

The service can be accessed via the corresponding route:
```bash
$ oc get routes devcluster

NAME                   HOST/PORT                                         PATH      SERVICES               PORT      TERMINATION   WILDCARD
devcluster   devcluster-devcluster.192.168.42.237.nip.io             devcluster    8080                   None
```

You can now open the URL from HOST/PORT in your browser:

http://devcluster-devcluster.192.168.42.237.nip.io

_Note_: the actual route/URL will be different in your minishift.

NOTE: If running in Minishift `eval $(minishift docker-env)` and `eval $(minishift oc-env)` are required. If running in CodeReady Containers `eval $(crc oc-env)` is required.

Directories

Path Synopsis
pkg
configuration
Package configuration is in charge of the validation and extraction of all the configuration details from environment variables.
Package configuration is in charge of the validation and extraction of all the configuration details from environment variables.
log

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL