Skip to content

Commit

Permalink
Merge pull request #29 from eclipse-iofog/release/1.3.0
Browse files Browse the repository at this point in the history
v1.3.0
  • Loading branch information
Pixcell authored Nov 20, 2019
2 parents f205bc0 + aa0cd51 commit dc6dfae
Show file tree
Hide file tree
Showing 26 changed files with 232 additions and 657 deletions.
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

0 comments on commit dc6dfae

Please sign in to comment.