Skip to content

Commit 7efb6d2

Browse files
committed
Merge remote-tracking branch 'origin/v2-master'
2 parents ecf40aa + 3122b38 commit 7efb6d2

File tree

21 files changed

+799
-666
lines changed

21 files changed

+799
-666
lines changed

CHANGELOG.md

Lines changed: 441 additions & 416 deletions
Large diffs are not rendered by default.

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ There are two main forms of contribution: reporting issues and performing code c
66

77
## Reporting Issues
88

9-
If you find a problem with Stratos UI, report it using [GitHub issues](https://github.com/cloudfoundry-incubator/stratos/issues/new).
9+
If you find a problem with Stratos UI, report it using [GitHub issues](https://github.com/cloudfoundry/stratos/issues/new).
1010

1111
Before reporting a new issue, please take a moment to check whether it has already been reported
12-
[here](https://github.com/cloudfoundry-incubator/stratos/issues). If this is the case, please:
12+
[here](https://github.com/cloudfoundry/stratos/issues). If this is the case, please:
1313

1414
- Read all the comments to confirm that it's the same issue you're having.
1515
- Refrain from adding "same thing here" or "+1" comments. Just hit the

README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
# Stratos
22

3-
<a href="https://travis-ci.org/cloudfoundry-incubator/stratos/branches"><img src="https://travis-ci.org/cloudfoundry-incubator/stratos.svg?branch=master"></a>&nbsp;<a style="padding-left: 4px" href="https://codeclimate.com/github/cloudfoundry-incubator/stratos/maintainability"><img src="https://api.codeclimate.com/v1/badges/61af8b605f385e894632/maintainability" /></a>
4-
<a href="https://goreportcard.com/report/github.com/cloudfoundry-incubator/stratos"><img src="https://goreportcard.com/badge/github.com/cloudfoundry-incubator/stratos"/></a>
5-
<a href="https://codecov.io/gh/cloudfoundry-incubator/stratos/branch/master"><img src="https://codecov.io/gh/cloudfoundry-incubator/stratos/branch/graph/badge.svg"/></a>
6-
[![GitHub release](https://img.shields.io/github/release/cloudfoundry-incubator/stratos.svg)](https://github.com/cloudfoundry-incubator/stratos/releases/latest)
7-
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/cloudfoundry-incubator/stratos/blob/master/LICENSE)
3+
<a href="https://travis-ci.org/cloudfoundry/stratos/branches"><img src="https://travis-ci.org/cloudfoundry/stratos.svg?branch=master"></a>&nbsp;<a style="padding-left: 4px" href="https://codeclimate.com/github/cloudfoundry/stratos/maintainability"><img src="https://api.codeclimate.com/v1/badges/61af8b605f385e894632/maintainability" /></a>
4+
<a href="https://goreportcard.com/report/github.com/cloudfoundry/stratos"><img src="https://goreportcard.com/badge/github.com/cloudfoundry-incubator/stratos"/></a>
5+
<a href="https://codecov.io/gh/cloudfoundry/stratos/branch/master"><img src="https://codecov.io/gh/cloudfoundry/stratos/branch/graph/badge.svg"/></a>
6+
[![GitHub release](https://img.shields.io/github/release/cloudfoundry/stratos.svg)](https://github.com/cloudfoundry/stratos/releases/latest)
7+
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/cloudfoundry/stratos/blob/master/LICENSE)
88
[![slack.cloudfoundry.org](https://slack.cloudfoundry.org/badge.svg)](https://cloudfoundry.slack.com/messages/C80EP4Y57/)
99

1010
Stratos is an Open Source Web-based UI (Console) for managing Cloud Foundry. It allows users and administrators to both manage applications running in the Cloud Foundry cluster and perform cluster management tasks.
1111

1212
If you are looking for a version of Stratos, you can find ..
13-
- V1 in the [v1-master](https://github.com/cloudfoundry-incubator/stratos/tree/v1-master) branch.
14-
- V2 in the [v2-master](https://github.com/cloudfoundry-incubator/stratos/tree/v2-master) branch.
13+
- V1 in the [v1-master](https://github.com/cloudfoundry/stratos/tree/v1-master) branch.
14+
- V2 in the [v2-master](https://github.com/cloudfoundry/stratos/tree/v2-master) branch.
1515

1616
![Stratos Application view](docs/images/screenshots/app-summary.png)
1717

@@ -40,7 +40,7 @@ Please see our [Troubleshooting](docs/troubleshooting) page.
4040
## Project Planning
4141
We use [ZenHub](https://zenhub.com) for project planning. Feel free to head over to the [Boards](https://github.com/cloudfoundry-incubator/stratos#boards)
4242
tab and have a look through our pipelines and milestones. Please note in order to view the Github ZenHub Boards tab you will need the [ZenHub
43-
browser extension](https://www.zenhub.com/extension). Alternatively, to view the planning board without the extension visit our [ZenHub Project Page](https://app.zenhub.com/workspace/o/cloudfoundry-incubator/stratos/boards)
43+
browser extension](https://www.zenhub.com/extension). Alternatively, to view the planning board without the extension visit our [ZenHub Project Page](https://app.zenhub.com/workspace/o/cloudfoundry/stratos/boards)
4444

4545
## Further Reading
4646

@@ -50,7 +50,7 @@ Get an [Overview](docs/overview.md) of Stratos, its components and the different
5050

5151
Take a look at the [Development Roadmap](docs/roadmap.md) to see where we are heading. We update our status page each week to summarize what we are working on - see the [Status Page](docs/status_updates.md).
5252

53-
Browse through features and issues in the project's [issues](https://github.com/cloudfoundry-incubator/stratos/issues) page or [Zenhub Board](https://github.com/cloudfoundry-incubator/stratos#boards).
53+
Browse through features and issues in the project's [issues](https://github.com/cloudfoundry/stratos/issues) page or [Zenhub Board](https://github.com/cloudfoundry-incubator/stratos#boards).
5454

5555
What kind of code is in Stratos? We've integrated [Code Climate](https://codeclimate.com) for some code quality and maintainability metrics. Take a stroll around the [project page](https://codeclimate.com/github/cloudfoundry-incubator/stratos)
5656

deploy/all-in-one/README.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,16 @@ This can be done by adding the following to the docker run command shown in the
1919
```
2020
-e SESSION_STORE_SECRET=<alphanumeric secret>
2121
```
22+
## Configuring a local user account in place of a UAA
23+
24+
By default the All-in-one image requires a UAA for user authentication. If this is not desired, the image can be configured to use a Stratos local user account. Edit the file ```deploy/all-in-one/config.all-in-one.properties``` and uncomment the following lines before building the container.
25+
26+
```
27+
#AUTH_ENDPOINT_TYPE=local
28+
#LOCAL_USER=localuser
29+
#LOCAL_USER_PASSWORD=localuserpass
30+
#LOCAL_USER_SCOPE=stratos.admin
31+
```
2232

2333
## Building the container:
2434

@@ -43,7 +53,7 @@ Stratos should now be accessible at the following URL:
4353

4454
https://localhost:4443
4555

46-
You will be presented with the Stratos Setup welcome screen - you will need to enter your UAA information to configure Stratos. Once complete, you will be able to login with your credentials.
56+
If using a UAA, you will be presented with the Stratos Setup welcome screen - you will need to enter your UAA information to configure Stratos. Once complete, you will be able to login with your credentials. If you have configured the container to use a local user account instead of a UAA, log in with the credentials specified in the configuration file.
4757

4858
## Persisting the Database
4959

@@ -141,4 +151,4 @@ buildpack: unknown
141151

142152
> Note: In this example we are pushing with the application name `stratos`
143153
144-
> Note: By default the All-in-one image has SSL Validation disabled when authenticating with Cloud Foundry and the UAA - this allows it to work out of the box with environments like PCF Dev. If this is not the behavior you desire, edit the file `deploy/all-in-one/config.all-in-one.properties` and change the `SKIP_SSL_VALIDATION` as desired before building and publishing the image.
154+
> Note: By default the All-in-one image has SSL Validation disabled when authenticating with Cloud Foundry and the UAA - this allows it to work out of the box with environments like PCF Dev. If this is not the behavior you desire, edit the file `deploy/all-in-one/config.all-in-one.properties` and change the `SKIP_SSL_VALIDATION` as desired before building and publishing the image.

deploy/ci/automation/helmtest.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ set -e
1818

1919
NAME=stratos-test
2020
NAMESPACE=stratos-ns
21-
HELM_REPO=https://cloudfoundry-incubator.github.io/stratos
21+
HELM_REPO=https://cloudfoundry.github.io/stratos
2222
HELM_REPO_NAME=cfstratos
2323

2424
DEV_IMAGE_VERSION=2.0.0-dev

deploy/cloud-foundry/README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ and binding a database service instance to Stratos - for more information see [h
7373
To do so, `clone` the **stratos** repository, `cd` into the newly cloned repository and `push` to Cloud Foundry. This can be done with:
7474

7575
```
76-
git clone https://github.com/cloudfoundry-incubator/stratos
76+
git clone https://github.com/cloudfoundry/stratos
7777
cd stratos
7878
git checkout tags/stable -b stable
7979
./build/store-git-metadata.sh
@@ -91,7 +91,7 @@ If you wish to enable AOT or reduce the push time, you can pre-build the UI befo
9191
This can be done with:
9292

9393
```
94-
git clone https://github.com/cloudfoundry-incubator/stratos
94+
git clone https://github.com/cloudfoundry/stratos
9595
cd stratos
9696
npm install
9797
npm run prebuild-ui
@@ -289,7 +289,7 @@ applications:
289289
disk_quota: 256M
290290
host: console
291291
timeout: 180
292-
buildpack: https://github.com/cloudfoundry-incubator/stratos-buildpack
292+
buildpack: https://github.com/cloudfoundry/stratos-buildpack
293293
health-check-type: port
294294
env:
295295
CF_API_URL: https://<<CLOUD FOUNDRY API ENDPOINT>>>
@@ -306,7 +306,7 @@ applications:
306306
disk_quota: 256M
307307
host: console
308308
timeout: 180
309-
buildpack: https://github.com/cloudfoundry-incubator/stratos-buildpack
309+
buildpack: https://github.com/cloudfoundry/stratos-buildpack
310310
health-check-type: port
311311
env:
312312
CF_API_FORCE_SECURE: true

deploy/kubernetes/README.md

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The following guide details how to deploy Stratos in Kubernetes.
1818
* [Specifying an External IP](#specifying-an-external-ip)
1919
* [Upgrading your deployment](#upgrading-your-deployment)
2020
* [Specifying UAA configuration](#specifying-uaa-configuration)
21+
* [Configuring a local user account](#configuring-a-local-user-account)
2122
* [Specifying a custom Storage Class](#specifying-a-custom-storage-class)
2223
+ [Providing Storage Class override](#providing-storage-class-override)
2324
+ [Create a default Storage Class](#create-a-default-storage-class)
@@ -75,11 +76,13 @@ You can deploy Stratos from one of three different sources:
7576
1. Using an archive file containing a given release of our Helm chart
7677
1. Using the latest Helm chart directly from out GitHub repository
7778

79+
> **Note**: By default each deployment method deploys Stratos with its default user authentication mechanism - which requires a UAA. If you wish to use Stratos without the requirement for a UAA component, use the deployment commands from the following section below: [Configuring a local user account](#configuring-a-local-user-account). All other steps for each deployment method remain the same, as detailed in the following sections.
80+
7881
### Deploy using the Helm repository
7982

8083
Add the Helm repository to your helm installation
8184
```
82-
helm repo add stratos https://cloudfoundry-incubator.github.io/stratos
85+
helm repo add stratos https://cloudfoundry.github.io/stratos
8386
```
8487
Check the repository was successfully added by searching for the `console`
8588
```
@@ -102,7 +105,7 @@ After the install, you should be able to access the Console in a web browser by
102105

103106
### Deploy using an archive of the Helm Chart
104107

105-
Helm chart archives are available for Stratos releases from our GitHub repository, under releases - see https://github.com/cloudfoundry-incubator/stratos/releases.
108+
Helm chart archives are available for Stratos releases from our GitHub repository, under releases - see https://github.com/cloudfoundry/stratos/releases.
106109

107110
Download the appropriate release `console-helm-chart.X.Y.Z.tgz` from the GitHub repository and unpack the archive to a local folder. The Helm Chart will be extracted to a sub-folder named `console`.
108111

@@ -119,7 +122,7 @@ helm install console --namespace=console --name my-console
119122
Clone the Stratos GitHub repository:
120123

121124
```
122-
git clone https://github.com/cloudfoundry-incubator/stratos.git
125+
git clone https://github.com/cloudfoundry/stratos.git
123126
```
124127

125128
Open a terminal and cd to the `deploy/kubernetes` directory:
@@ -248,6 +251,30 @@ To install Stratos with the above specified configuration:
248251
$ helm install stratos/console -f uaa-config.yaml
249252
```
250253

254+
### Configuring a local user account
255+
256+
This allows for deployment without a UAA. To enable the local user account, supply a password for the local user in the deployment command, as follows. All other steps for each deployment method should be followed as in the preceding sections above.
257+
258+
To deploy using our Helm repository:
259+
260+
```
261+
helm install stratos/console --namespace=console --name my-console --set console.localAdminPassword=<password>
262+
```
263+
264+
To deploy using an archive file containing a given release of our Helm chart
265+
266+
```
267+
helm install console --namespace=console --name my-console --set console.localAdminPassword=<password>
268+
```
269+
270+
To deploy using the latest Helm chart directly from out GitHub repository
271+
272+
```
273+
$ helm install console --namespace console --name my-console --set console.localAdminPassword=<password>
274+
```
275+
276+
For console access via the local user account see: [*Accessing the Console*](#accessing-the-console)
277+
251278
### Specifying a custom Storage Class
252279

253280
If no default storage class has been defined in the Kubernetes cluster. The Stratos helm chart will fail to deploy successfully. To check if a `default` storage class exists, you can list your configured storage classes with `kubectl`. If no storage class has `(default)` after it, then you need to either specify a storage class override or declare a default storage class for your Kubernetes cluster.

deploy/tools/generate_cert.sh

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,48 @@
11
#!/bin/bash
22

3+
DIRPATH="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
4+
5+
# Make sure we add extensions to be compatible with https://support.apple.com/en-us/HT210176
6+
37
# Settings
48
devcerts_path=${CERTS_PATH:-portal-proxy-output/dev-certs}
59
domain=${DEV_CERTS_DOMAIN:-pproxy}
6-
commonname=127.0.0.1
7-
country=UK
8-
state=Bristol
9-
locality=Bristol
10-
organization=SUSE
11-
organizationalunit=CAP
12-
email=SUSE
10+
11+
CERT_CONFIG_FILE=${DIRPATH}/stratos_certgen.config
12+
13+
cat <<EOF > ${CERT_CONFIG_FILE}
14+
[ req ]
15+
prompt = no
16+
default_bits = 2048
17+
distinguished_name = subject
18+
req_extensions = v3_req
19+
x509_extensions = v3_req
20+
21+
[ subject ]
22+
countryName = GB
23+
stateOrProvinceName = Bristol
24+
organizationName = StratosDeveloper
25+
commonName = 1.2.3.4
26+
27+
[ v3_req ]
28+
authorityKeyIdentifier=keyid,issuer
29+
basicConstraints = CA:FALSE
30+
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
31+
extendedKeyUsage = serverAuth, clientAuth
32+
subjectAltName = @alt_names
33+
nsCertType = server
34+
35+
[ alt_names ]
36+
DNS.0 = 1.2.3.4
37+
DNS.1 = 1.2.3.4
38+
EOF
1339

1440
# Generate a key and cert
1541
echo "Generating key and cert for $domain"
1642
mkdir -p ${devcerts_path}
17-
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ${devcerts_path}/$domain.key -out ${devcerts_path}/$domain.crt \
18-
-subj "/C=$country/ST=$state/L=$locality/O=$organization/OU=$organizationalunit/CN=$commonname/emailAddress=$email"
43+
44+
openssl req -config ${CERT_CONFIG_FILE} -new -x509 -nodes -days 365 -newkey rsa:2048 -sha256 -keyout ${devcerts_path}/$domain.key -out ${devcerts_path}/$domain.crt
45+
46+
rm -f ${CERT_CONFIG_FILE}
47+
48+
echo "Certificate generated"

docs/access.md

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Accessing Stratos
22

3-
Depending on the deployment mode, you may require access to an UAA.
3+
Depending on the deployment mode, you may require access to an UAA. Stratos also has the option to configure a local user account which removes the need for a UAA in non-Cloud Foundry deployments.
44

55
## Cloud Foundry deployment
66

@@ -9,7 +9,15 @@ Therefore, the login credentials will be the CF credentials for the user. A Clou
99

1010
## Kubernetes deployment
1111

12-
In a Kubernetes deployment using Helm, no UAA instance is deployed. Therefore users need to provide their own UAA to against.
12+
In a Kubernetes deployment using Helm, no UAA instance is deployed. Users have the choice to either provide their own UAA to authenticate against, or alternatively Stratos may be configured at deployment, to use a local user account.
13+
14+
## Docker, single container deployment
15+
16+
The single container deployment does not contain a UAA. The instructions specified for a Kubernetes deployment apply to this, including the local user account option.
17+
18+
## Console Login
19+
20+
### Log in to Stratos With UAA
1321

1422
The Console will start in a setup mode and users will be need to provide the following to complete the setup:
1523
1. UAA Endpoint
@@ -19,11 +27,17 @@ The Console will start in a setup mode and users will be need to provide the fol
1927

2028
Once the user provides this information, the user will be able to select the scope which should be used to identify a Console admin.
2129

22-
# Docker, single container deployment
30+
### Log in to Stratos with local user account
31+
32+
**Helm deployment**
33+
34+
With local user account configured, the console will present the login screen on startup. Log in with username: ```admin```, and the password you configured in the Stratos deployment command. The local user account has admin permissions.
35+
36+
**Docker, single container deployment**
2337

24-
The single container deployment does not contain a UAA, and all the instructions specified for a Kubernetes deployment apply to this.
38+
Log in to the console using the local user credentials you configured when building/deploying the container.
2539

26-
# Quickly setting up a UAA for development
40+
### Quickly setting up a UAA for development
2741

2842
1. We will setup two containers that are linked to each other
2943
```

docs/cf-api-v2-usage.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,7 @@ Endpoint | Inline Relations | Notes
772772

773773
#### Others
774774
The include-relations property is populated by walking our relationship tree, so for a complete and exhaustive list of all possible
775-
relations please see the [`entity-factory.ts`](https://github.com/cloudfoundry-incubator/stratos/blob/master/src/frontend/app/store/helpers/entity-factory.ts).
775+
relations please see the [`entity-factory.ts`](https://github.com/cloudfoundry/stratos/blob/master/src/frontend/app/store/helpers/entity-factory.ts).
776776

777777
In terms of api requests we also make use of...
778778

0 commit comments

Comments
 (0)