Skip to content

Commit 5ffff3b

Browse files
committed
Merge branch 'release-1.1.0'
2 parents a30c246 + 37b921c commit 5ffff3b

File tree

538 files changed

+19689
-7453
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

538 files changed

+19689
-7453
lines changed

.meepctl-repocfg.yaml

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#AdvantEDGE
2-
version: 1.0.0
2+
version: 1.1.0
33
repo:
44
name: AdvantEDGE
55
core:
@@ -45,6 +45,14 @@ repo:
4545
- -mod=vendor
4646
codecov: true
4747
lint: true
48+
meep-loc-serv:
49+
src: go-apps/meep-loc-serv
50+
bin: bin/meep-loc-serv
51+
chart: charts/meep-loc-serv
52+
build-flags:
53+
- -mod=vendor
54+
codecov: true
55+
lint: true
4856
meep-tc-engine:
4957
src: go-apps/meep-tc-engine
5058
bin: bin/meep-tc-engine
@@ -64,11 +72,11 @@ repo:
6472
codecov: true
6573
lint: true
6674
dep:
75+
docker-registry:
76+
chart: charts/docker-registry
6777
elastic:
6878
es:
69-
chart: incubator/elasticsearch
70-
version: "1.9.1"
71-
values: charts/elasticsearch/elastic-values.yaml
79+
chart: charts/elasticsearch
7280
pv: charts/elasticsearch/meep-pv-es.yaml
7381
es-curator:
7482
chart: charts/elasticsearch-curator

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"go.formatTool": "goimports"
3+
}

README.md

Lines changed: 20 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
![AdvantEDGE-logo](./docs/images/AdvantEDGE-logo_Blue-01.png)
22

3+
_Complete AdvantEDGE documentation is now available in the [AdvantEDGE Wiki](https://github.com/InterDigitalInc/AdvantEDGE/wiki)_
4+
5+
------
6+
37
AdvantEDGE is a Mobile Edge Emulation Platform (MEEP) that runs on Docker & Kubernetes.
48

59
> AdvantEDGE provides an emulation environment, enabling experimentation with Edge Computing Technologies, Applications, and Services. The platform facilitates users to explore edge / fog deployment models and their impact to applications and services in short and agile iterations.
@@ -24,60 +28,38 @@ AdvantEDGE is a Mobile Edge Emulation Platform (MEEP) that runs on Docker & Kube
2428

2529
An understanding of some AdvantEDGE concepts is helpful towards effectively using the platform and understanding how it works.
2630

27-
Before getting started we recommend familiarity with key [AdvantEDGE concepts](docs/concepts.md)
31+
Before getting started we recommend familiarity with key [AdvantEDGE concepts](https://github.com/InterDigitalInc/AdvantEDGE/wiki/platform-concepts)
2832

2933
## Getting started
34+
To get started using AdvantEDGE, the following high-level steps are needed:
35+
36+
- Setup runtime environment (Ubuntu/Dockers/Kubernetes/Helm)
37+
- Clone AdvantEDGE repo
38+
- Install & Configure meepctl tool
39+
- Deploy AdvantEDGE micro-services
40+
41+
Step-by-step details are available in the [Wiki](https://github.com/InterDigitalInc/AdvantEDGE/wiki#getting-started)
3042

31-
- [Setup runtime environment (Ubuntu/Dockers/Kubernetes/Helm)](docs/setup_runtime.md)
32-
33-
- Clone the AdvantEDGE repo
34-
```
35-
git clone https://github.com/<your-fork>/AdvantEDGE.git
36-
```
37-
> **Note:** Assumes local gitdir = `~/AdvantEDGE`
38-
39-
- Obtain AdvantEDGE binaries
40-
- [Build from source](#building)
41-
- Optionally use pre-built binaries (from GitHub release)
42-
```
43-
# Get bin folder tarball from desired release
44-
cd ~/AdvantEDGE
45-
tar -zxvf advantedge.<version>.linux-amd64.tar.gz
46-
```
47-
48-
- Setup [*meepctl*](docs/meepctl/meepctl.md) tool
49-
- Copy to an executable path
50-
```
51-
sudo cp ~/AdvantEDGE/bin/meepctl/meepctl /usr/local/bin/
52-
```
53-
- Configure
54-
```
55-
meepctl config set --ip <your-node-ip> --gitdir /home/<user>/AdvantEDGE
56-
```
57-
58-
- [Deploy AdvantEDGE](docs/deploy.md)
59-
60-
- [Use AdvantEDGE](docs/use.md)
6143

6244
## Building
45+
The backend portion of AdvantEDGE is implemented as a collection of micro-services in Golang.
6346

64-
- [Setup development environment (Ubuntu/Go/Node.js/NPM/Linters)](docs/setup_dev.md)
47+
The frontend portion of AdvantEDGE is implemented using Javascript, React and Redux technologies.
6548

66-
- Clone the AdvantEDGE repo<br>
67-
`git clone https://github.com/<your-fork>/AdvantEDGE.git`<br>
68-
(*assuming local gitdir =* `~/AdvantEDGE`)
49+
To re-build either of these components, you first need to setup the development environment and then use the meepctl tool.
6950

70-
- [Build AdvantEDGE](docs/build.md)
51+
Step-by-step details are available in the [Wiki](https://github.com/InterDigitalInc/AdvantEDGE/wiki#building)
7152

7253
## Testing
54+
The AdvantEDGE platform comes with automated system tests using Cypress.
7355

74-
The AdvantEDGE platform test procedures are described [here](docs/testing.md)
56+
Step-by-step details are available in the [Wiki](https://github.com/InterDigitalInc/AdvantEDGE/wiki/test-advantedge)
7557

7658
## Upstream communication
7759

7860
We use GitHub issues.
7961

80-
So just open an issue in the repo to provide user feedback, report software bugs or request enhancements.
62+
So just open an issue in the repo to provide user feedback, report bugs or request enhancements.
8163

8264
## Licensing
8365

charts/couchdb/templates/statefulset.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,10 @@ spec:
104104
nodeSelector:
105105
{{ toYaml .Values.nodeSelector | indent 8 }}
106106
{{- end }}
107+
{{- if .Values.affinity }}
108+
affinity:
109+
{{ toYaml .Values.affinity | indent 8 }}
110+
{{- end }}
107111
volumes:
108112
- name: config-storage
109113
emptyDir: {}

charts/couchdb/values.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,3 +129,11 @@ couchdbConfig:
129129
# q: 8 # Create 8 shards for each database
130130

131131
meepOrigin: core
132+
133+
affinity:
134+
nodeAffinity:
135+
requiredDuringSchedulingIgnoredDuringExecution:
136+
nodeSelectorTerms:
137+
- matchExpressions:
138+
- key: node-role.kubernetes.io/master
139+
operator: Exists

charts/docker-registry/.helmignore

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Patterns to ignore when building packages.
2+
# This supports shell glob matching, relative path matching, and
3+
# negation (prefixed with !). Only one pattern per line.
4+
.DS_Store
5+
# Common VCS dirs
6+
.git/
7+
.gitignore
8+
.bzr/
9+
.bzrignore
10+
.hg/
11+
.hgignore
12+
.svn/
13+
# Common backup files
14+
*.swp
15+
*.bak
16+
*.tmp
17+
*~
18+
# Various IDEs
19+
.project
20+
.idea/
21+
*.tmproj

charts/docker-registry/Chart.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
description: A Helm chart for Docker Registry
3+
name: docker-registry
4+
version: 1.8.0
5+
appVersion: 2.7.1
6+
home: https://hub.docker.com/_/registry/
7+
icon: https://hub.docker.com/public/images/logos/mini-logo.svg
8+
sources:
9+
- https://github.com/docker/distribution-library-image
10+
maintainers:
11+
- name: jpds
12+
email: jpds@protonmail.com
13+
- name: rendhalver
14+
email: pete.brown@powerhrg.com

charts/docker-registry/OWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
approvers:
2+
- jpds
3+
- rendhalver
4+
reviewers:
5+
- jpds
6+
- rendhalver

charts/docker-registry/README.md

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# Docker Registry Helm Chart
2+
3+
This directory contains a Kubernetes chart to deploy a private Docker Registry.
4+
5+
## Prerequisites Details
6+
7+
* PV support on underlying infrastructure (if persistence is required)
8+
9+
## Chart Details
10+
11+
This chart will do the following:
12+
13+
* Implement a Docker registry deployment
14+
15+
## Installing the Chart
16+
17+
To install the chart, use the following:
18+
19+
```console
20+
$ helm install stable/docker-registry
21+
```
22+
23+
## Configuration
24+
25+
The following table lists the configurable parameters of the docker-registry chart and
26+
their default values.
27+
28+
| Parameter | Description | Default |
29+
|:----------------------------|:-------------------------------------------------------------------------------------------|:----------------|
30+
| `image.pullPolicy` | Container pull policy | `IfNotPresent` |
31+
| `image.repository` | Container image to use | `registry` |
32+
| `image.tag` | Container image tag to deploy | `2.7.1` |
33+
| `imagePullSecrets` | Specify image pull secrets | `nil` (does not add image pull secrets to deployed pods) |
34+
| `persistence.accessMode` | Access mode to use for PVC | `ReadWriteOnce` |
35+
| `persistence.enabled` | Whether to use a PVC for the Docker storage | `false` |
36+
| `persistence.deleteEnabled` | Enable the deletion of image blobs and manifests by digest | `nil` |
37+
| `persistence.size` | Amount of space to claim for PVC | `10Gi` |
38+
| `persistence.storageClass` | Storage Class to use for PVC | `-` |
39+
| `persistence.existingClaim` | Name of an existing PVC to use for config | `nil` |
40+
| `service.port` | TCP port on which the service is exposed | `5000` |
41+
| `service.type` | service type | `ClusterIP` |
42+
| `service.clusterIP` | if `service.type` is `ClusterIP` and this is non-empty, sets the cluster IP of the service | `nil` |
43+
| `service.nodePort` | if `service.type` is `NodePort` and this is non-empty, sets the node port of the service | `nil` |
44+
| `replicaCount` | k8s replicas | `1` |
45+
| `updateStrategy` | update strategy for deployment | `{}` |
46+
| `podAnnotations` | Annotations for pod | `{}` |
47+
| `podLabels` | Labels for pod | `{}` |
48+
| `resources.limits.cpu` | Container requested CPU | `nil` |
49+
| `resources.limits.memory` | Container requested memory | `nil` |
50+
| `priorityClassName ` | priorityClassName | `""` |
51+
| `storage` | Storage system to use | `filesystem` |
52+
| `tlsSecretName` | Name of secret for TLS certs | `nil` |
53+
| `secrets.htpasswd` | Htpasswd authentication | `nil` |
54+
| `secrets.s3.accessKey` | Access Key for S3 configuration | `nil` |
55+
| `secrets.s3.secretKey` | Secret Key for S3 configuration | `nil` |
56+
| `secrets.swift.username` | Username for Swift configuration | `nil` |
57+
| `secrets.swift.password` | Password for Swift configuration | `nil` |
58+
| `haSharedSecret` | Shared secret for Registry | `nil` |
59+
| `configData` | Configuration hash for docker | `nil` |
60+
| `s3.region` | S3 region | `nil` |
61+
| `s3.regionEndpoint` | S3 region endpoint | `nil` |
62+
| `s3.bucket` | S3 bucket name | `nil` |
63+
| `s3.encrypt` | Store images in encrypted format | `nil` |
64+
| `s3.secure` | Use HTTPS | `nil` |
65+
| `swift.authurl` | Swift authurl | `nil` |
66+
| `swift.container` | Swift container | `nil` |
67+
| `nodeSelector` | node labels for pod assignment | `{}` |
68+
| `tolerations` | pod tolerations | `[]` |
69+
| `ingress.enabled` | If true, Ingress will be created | `false` |
70+
| `ingress.annotations` | Ingress annotations | `{}` |
71+
| `ingress.labels` | Ingress labels | `{}` |
72+
| `ingress.path` | Ingress service path | `/` |
73+
| `ingress.hosts` | Ingress hostnames | `[]` |
74+
| `ingress.tls` | Ingress TLS configuration (YAML) | `[]` |
75+
76+
Specify each parameter using the `--set key=value[,key=value]` argument to
77+
`helm install`.
78+
79+
To generate htpasswd file, run this docker command:
80+
`docker run --entrypoint htpasswd registry:2 -Bbn user password > ./htpasswd`.

0 commit comments

Comments
 (0)