Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
8fb8d89
Move to iofogctl
Pixcell Sep 12, 2019
6140d32
Install iofogctl in CI pipeline
Pixcell Sep 12, 2019
0bbf652
Move SSH magic to test to work with iofogctl
Pixcell Sep 12, 2019
2739128
Add apt-get update for agent in test.sh
Pixcell Sep 12, 2019
ca64ef2
Update owner of authorized_keys in agent
Pixcell Sep 13, 2019
5b4d766
Use latest images
Pixcell Sep 13, 2019
91c818a
Refactor to have all resource name alphanumeric, lower case
Pixcell Sep 13, 2019
8d08eb8
Use develop images in pipeline
Pixcell Sep 13, 2019
38a5126
Check provisioning
Pixcell Sep 19, 2019
51f7109
Remove -it option for CI
Pixcell Sep 19, 2019
b91a63a
Add changelog
Pixcell Sep 29, 2019
221a298
Add changelog
Pixcell Sep 30, 2019
d825f8e
Use 1.3.0-beta packages
Pixcell Oct 3, 2019
cd8ec34
Update init file
Pixcell Oct 15, 2019
711148d
Update to K8s yaml
Pixcell Oct 15, 2019
e36022e
Update yamls to match new format
Pixcell Oct 15, 2019
7d2e3b1
Azure Pipelines - move scheduled builds from classic editor to yaml
lkrcal Oct 22, 2019
7b379d6
Add API Version
Pixcell Oct 22, 2019
74567ed
Update test.sh
Pixcell Oct 23, 2019
05fb19f
Install sudo in controller docker image because iofog-controller@1.3.…
lkrcal Oct 23, 2019
a4aa9a3
Upgrade test runner to 1.2
lkrcal Oct 23, 2019
17cb028
Move to iofogctl
Pixcell Sep 12, 2019
08f4513
Install iofogctl in CI pipeline
Pixcell Sep 12, 2019
e666f9c
Move SSH magic to test to work with iofogctl
Pixcell Sep 12, 2019
380ca12
Add apt-get update for agent in test.sh
Pixcell Sep 12, 2019
4ead6c0
Update owner of authorized_keys in agent
Pixcell Sep 13, 2019
3fa6e9e
Use latest images
Pixcell Sep 13, 2019
f19e2ee
Refactor to have all resource name alphanumeric, lower case
Pixcell Sep 13, 2019
0bb0421
Use develop images in pipeline
Pixcell Sep 13, 2019
4112319
Check provisioning
Pixcell Sep 19, 2019
9fc1526
Remove -it option for CI
Pixcell Sep 19, 2019
cc40b19
Add changelog
Pixcell Sep 29, 2019
72d412a
Add changelog
Pixcell Sep 30, 2019
a146a86
Use 1.3.0-beta packages
Pixcell Oct 3, 2019
6a55b8a
Update init file
Pixcell Oct 15, 2019
7462aa6
Update to K8s yaml
Pixcell Oct 15, 2019
ed6709a
Update yamls to match new format
Pixcell Oct 15, 2019
c7f51a3
Add API Version
Pixcell Oct 22, 2019
e34e5ce
Update test.sh
Pixcell Oct 23, 2019
4185352
Update pipeline
Pixcell Oct 28, 2019
b835877
Debug pipeline
Pixcell Oct 28, 2019
9e6e750
Debug pipeline
Pixcell Oct 28, 2019
4803608
Update test to show error output
Pixcell Oct 29, 2019
25763e0
Debug pipeline
Pixcell Oct 29, 2019
c16b5c6
Debug pipeline
Pixcell Oct 29, 2019
3ef6b9e
Debug pipeline
Pixcell Oct 29, 2019
c74ebf2
Merge pull request #27 from eclipse-iofog/k8sYaml
Pixcell Oct 29, 2019
363319f
Merge branch 'develop' into release/1.3.0
lkrcal Nov 6, 2019
46d5e17
Fix syntax warnings in bash scripts
lkrcal Nov 6, 2019
ece000d
Bump up image versions to 1.3.0-rc1
lkrcal Nov 6, 2019
e0c93bd
Update YAML with nested fields
Nov 6, 2019
27faefb
Merge branch 'develop' into release/1.3.0
Nov 6, 2019
9d8ba62
Add version check for iofogctl when running all scripts
lkrcal Nov 7, 2019
ddc58e6
Remove generated file local-stack.yaml
lkrcal Nov 7, 2019
610dae5
Fix Controller image version to 1.3.0-rc3
lkrcal Nov 7, 2019
1dd1190
Merge branch 'develop' into release/1.3.0
lkrcal Nov 7, 2019
e4a70be
Update test runner to 1.3
lkrcal Nov 7, 2019
bc02ef6
Update version versions to 1.3.0
Nov 20, 2019
08ad7df
Merge remote-tracking branch 'origin/master' into release/1.3.0
Nov 20, 2019
aa0cd51
Bump controller version to 1.3.1
Nov 20, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CHANGELOG-1.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
## v1.3.0
* Use iofogctl and yaml file for deploying ioFog resources
* Remove Dockerfiles and docker-compose files
* Update test script to set up agent ssh access
* Improve logging
58 changes: 21 additions & 37 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,11 @@ Supported operating systems:

* Linux (kernel v3.10+)
* macOS 10.12+
* Windows 7+

Requires tools:

* Docker 1.10+ ([installation instructions](https://docs.docker.com/install/))
* Docker-compose 1.22+ ([installation instructions](https://docs.docker.com/compose/install/))
* iofogctl 1.3.0+ ([installation instructions](https://github.com/eclipse-iofog/iofogctl/tree/v1.3.0#install))


# Try ioFog - Simple Edge Compute Network
Expand Down Expand Up @@ -52,38 +51,17 @@ When you are finished, tear down the ioFog stack and all services deployed on it
./stop.sh
```

## Build from local packages
## Build from local images

If you have a local version of the Agent, Controller and Connector, you can chose to build the containers using those local packages.
To do so, you will need a debian package (`.deb`) for the Agent and the Connector and a tarball (`.tgz`) for the Controller.
If you have a local image version of the Agent, Controller and Connector, you can chose to build the containers using those local images.
To do so, you will need a docker image for the Agent, the Connector and the Controller.
You can provide `start.sh` with an option for each local package you want to use.

### Example
Folder structure:
```text
* services
* init
* test
* local-packages # Example folder where you would store your local packages
- iofog-agent_2.0.deb
- iofog-connector_2.0.deb
- iofog-controller_2.0.tgz
* start.sh
* stop.sh
* ...
```

Command:
```sh
./start.sh -a ./local-packages/iofog-agent_2.0.deb -cn ./local-packages/iofog-connector_2.0.deb -ct ./local-packages/iofog-controller_2.0.tgz
```

## Force rebuild
If you have previously built the containers using local packages, or remote packages and you want to ensure that running `start.sh` will rebuild the images, you can also provide the `--no-cache` option


```sh
./start.sh --no-cache
./start.sh -a gcr.io/focal-freedom-236620/agent:latest -cn gcr.io/focal-freedom-236620/connector:latest -ct gcr.io/focal-freedom-236620/controller:latest
```

## ECN Status
Expand All @@ -94,22 +72,21 @@ If you have previously built the containers using local packages, or remote pack

## Interacting With The ioFog Stack - CLI

The simplest way to interact with Agent, Controller, and Connector deployed on a machine you have access to is to use the command line interface. The main interaction point for users is the Controller.
The simplest way to interact with Agent, Controller, and Connector deployed on a machine you have access to is to use the command line interface `iofogctl`.

```sh
docker exec -it iofog-controller iofog-controller help
iofogctl help
```
For the purpose of this demo, all ioFog components are spun up in separate Docker containers. The Controller's container is called `iofog-controller` (the first occurrence in the above command) and the executable inside the container is also called `iofog-controller` (the second occurrence).)_

For the purpose of this demo, all ioFog components are spun up in separate Docker containers. The Controller's container is called `iofog-controller`.

Names for all the containers created in the demo are `iofog-agent`, `iofog-controller` and `iofog-connector`.

The initialization scripts used to setup the ioFog stack / ECN are using the CLI interface. Feel free to refer to these for more inspiration.

Full reference of the CLI for all ioFog stack components is available at the ioFog website:
Full reference of the CLI is available at the iofogctl github repository:

* https://iofog.org/docs/1.0.0/controllers/cli-usage.html
* https://iofog.org/docs/1.0.0/agents/cli-usage.html
* https://iofog.org/docs/1.0.0/connectors/cli-usage.html
* https://github.com/eclipse-iofog/iofogctl/tree/v1.3.0#usage

## Interacting With The ioFog Stack - REST API

Expand All @@ -136,11 +113,18 @@ First, create all services for a tutorial ioFog application. You don't have to s
./start.sh tutorial
```

When you are done with the tutorial, you can tear down the sample application together with the ioFog stack. Note there is currently no wya in the demo to tear down just the tutorial application.
When you are done with the tutorial, you can tear down the sample application together with the ioFog stack.

```sh
./stop.sh
```

if you only wish to delete the tutorial application:

```sh
iofogctl delete application tutorial
```

# Structure Of This Repository
```text
* services # Service Dockerfiles and customization files
Expand All @@ -149,8 +133,8 @@ When you are done with the tutorial, you can tear down the sample application to
+ iofog-connector # Connector service files - part of the iofog stack
+ iofog-controller # Controller service files - part of the iofog stack
* init
- iofog # plain ioFog stack initialization service
- tutorial # tutorial initialization service
- iofog # plain ioFog stack initialization yaml file
- tutorial # tutorial initialization yaml file
* test
+ conf # generated test configuration files
* azure-pipelines.yml
Expand Down
23 changes: 20 additions & 3 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,17 @@
trigger:
- master
- develop
- release/*
pr:
- master
- develop
schedules:
- cron: "0 0 * * *"
displayName: Daily build (UTC)
branches:
include:
- master
- develop

pool:
vmImage: 'ubuntu-16.04'
Expand All @@ -13,16 +21,25 @@ steps:
- task: DockerInstaller@0
displayName: Docker Installer
inputs:
dockerVersion: 18.09.2
dockerVersion: 19.03.2
releaseType: stable

- script: |
# curl -s https://packagecloud.io/install/repositories/iofog/iofogctl/script.deb.sh | sudo bash
# Using dev version of iofogctl until 1.3.0 release
curl -s https://8c90601638aff0b3fb520971175089bbaba2cf7f29be9528:@packagecloud.io/install/repositories/iofog/iofogctl-snapshots/script.deb.sh | sudo bash
sudo apt install iofogctl=1.3.0-dev
displayName: 'Install iofogctl'

- script: |
echo $(gcp.svcacc) | docker login -u _json_key --password-stdin https://gcr.io
displayName: 'Docker connect to Registry'

- script: |
./start.sh
displayName: 'Start Connector, Controller, and Agent'
./start.sh tutorial
# Use dev version of agent and controller until 1.3.0 release
# ./start.sh -ct gcr.io/focal-freedom-236620/controller:develop -a gcr.io/focal-freedom-236620/agent:develop -cn gcr.io/focal-freedom-236620/connector:develop
displayName: 'Start Connector, Controller, Agent, and tutorial microservices'

- script: |
./test.sh
Expand Down
60 changes: 0 additions & 60 deletions docker-compose-iofog.yml

This file was deleted.

12 changes: 0 additions & 12 deletions docker-compose-tutorial.yml

This file was deleted.

1 change: 1 addition & 0 deletions init/iofog/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
local-stack.yaml
7 changes: 0 additions & 7 deletions init/iofog/Dockerfile

This file was deleted.

143 changes: 0 additions & 143 deletions init/iofog/provision.sh

This file was deleted.

Loading