Skip to content

Commit

Permalink
Merge pull request #1393 from cglewis/master
Browse files Browse the repository at this point in the history
release v0.7.6
  • Loading branch information
cglewis authored Oct 25, 2019
2 parents 0765c56 + d563118 commit 6015123
Show file tree
Hide file tree
Showing 11 changed files with 70 additions and 61 deletions.
22 changes: 11 additions & 11 deletions .vent_startup.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
https://github.com/cyberreboot/vent:
file_drop:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
network_tap:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
rabbitmq:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
redis:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
rq_dashboard:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
rq_worker:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
settings:
instances: 4
syslog:
branch: v0.9.13
branch: v0.9.14
build: yes
start: yes
https://github.com/cyberreboot/poseidon:
'@':
branch: v0.7.5
branch: v0.7.6
build: yes
start: yes
api:
branch: v0.7.5
branch: v0.7.6
build: yes
start: yes
https://github.com/cyberreboot/vent-plugins:
Expand All @@ -50,12 +50,12 @@ https://github.com/cyberreboot/vent-plugins:
build: yes
https://github.com/cyberreboot/crviz:
'@':
branch: v0.3.12
branch: v0.3.13
build: yes
start: yes
https://github.com/cyberreboot/networkml:
'@':
branch: v0.3.9
branch: v0.4.0
build: yes
vent.cfg:
build-options:
Expand Down
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
# v0.7.6 (2019-10-25)

- Updated versions of redis, pytest, cmd2, grafana, prometheus, pylint, and pytype
- Added volume for Faucet UDS
- Added more files to ignore in Docker container
- Added API endpoint to retrieve data by IP
- Added ability to apply ACLs with RabbitMQ message
- Ensure VLAN is a string
- Persist Vent info in a volume

# v0.7.5 (2019-10-11)

- Updated versions of prometheus, pytest-cov, pytest, grafana, and redis
Expand Down
52 changes: 26 additions & 26 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,37 +32,37 @@ build_debian:
cp .vent_startup.yml installers/debian/$(TAG)-$(VERSION)/opt/poseidon/
cp -R .git installers/debian/$(TAG)-$(VERSION)/opt/poseidon/
cp -R bin/* installers/debian/$(TAG)-$(VERSION)/usr/bin/
docker pull cyberreboot/vent:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent.tar cyberreboot/vent:v0.9.13
docker pull cyberreboot/vent:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent.tar cyberreboot/vent:v0.9.14

docker pull cyberreboot/vent-file-drop:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-file-drop.tar cyberreboot/vent-file-drop:v0.9.13
docker pull cyberreboot/vent-network-tap:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-network-tap.tar cyberreboot/vent-network-tap:v0.9.13
docker pull cyberreboot/vent-rabbitmq:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rabbitmq.tar cyberreboot/vent-rabbitmq:v0.9.13
docker pull cyberreboot/vent-redis:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-redis.tar cyberreboot/vent-redis:v0.9.13
docker pull cyberreboot/vent-rq-dashboard:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rq-dashboard.tar cyberreboot/vent-rq-dashboard:v0.9.13
docker pull cyberreboot/vent-rq-worker:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rq-worker.tar cyberreboot/vent-rq-worker:v0.9.13
docker pull cyberreboot/vent-syslog:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-syslog.tar cyberreboot/vent-syslog:v0.9.13
docker pull cyberreboot/poseidon:v0.7.5
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-poseidon.tar cyberreboot/poseidon:v0.7.5
docker pull cyberreboot/poseidon-api:v0.7.5
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-poseidon-api.tar cyberreboot/poseidon-api:v0.7.5
docker pull cyberreboot/vent-file-drop:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-file-drop.tar cyberreboot/vent-file-drop:v0.9.14
docker pull cyberreboot/vent-network-tap:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-network-tap.tar cyberreboot/vent-network-tap:v0.9.14
docker pull cyberreboot/vent-rabbitmq:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rabbitmq.tar cyberreboot/vent-rabbitmq:v0.9.14
docker pull cyberreboot/vent-redis:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-redis.tar cyberreboot/vent-redis:v0.9.14
docker pull cyberreboot/vent-rq-dashboard:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rq-dashboard.tar cyberreboot/vent-rq-dashboard:v0.9.14
docker pull cyberreboot/vent-rq-worker:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-rq-worker.tar cyberreboot/vent-rq-worker:v0.9.14
docker pull cyberreboot/vent-syslog:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-syslog.tar cyberreboot/vent-syslog:v0.9.14
docker pull cyberreboot/poseidon:v0.7.6
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-poseidon.tar cyberreboot/poseidon:v0.7.6
docker pull cyberreboot/poseidon-api:v0.7.6
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-poseidon-api.tar cyberreboot/poseidon-api:v0.7.6
docker pull cyberreboot/vent-plugins-pcap-to-node-pcap:v0.1.4
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-plugins-pcap-to-node-pcap.tar cyberreboot/vent-plugins-pcap-to-node-pcap:v0.1.4
docker pull cyberreboot/vent-plugins-p0f:v0.1.4
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-plugins-p0f.tar cyberreboot/vent-plugins-p0f:v0.1.4
docker pull cyberreboot/vent-plugins-tcprewrite-dot1q:v0.1.4
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent-plugins-tcprewrite-dot1q.tar cyberreboot/vent-plugins-tcprewrite-dot1q:v0.1.4
docker pull cyberreboot/crviz:v0.3.12
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-crviz.tar cyberreboot/crviz:v0.3.12
docker pull cyberreboot/networkml:v0.3.9
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-networkml.tar cyberreboot/networkml:v0.3.9
docker pull cyberreboot/crviz:v0.3.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-crviz.tar cyberreboot/crviz:v0.3.13
docker pull cyberreboot/networkml:v0.4.0
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-networkml.tar cyberreboot/networkml:v0.4.0

mkdir -p dist
rm -rf dist/*
Expand Down Expand Up @@ -90,8 +90,8 @@ build_debian_net:
cp .vent_startup.yml installers/debian/$(TAG)-$(VERSION)/opt/poseidon/
cp -R .git installers/debian/$(TAG)-$(VERSION)/opt/poseidon/
cp -R bin/* installers/debian/$(TAG)-$(VERSION)/usr/bin/
docker pull cyberreboot/vent:v0.9.13
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent.tar cyberreboot/vent:v0.9.13
docker pull cyberreboot/vent:v0.9.14
docker save -o installers/debian/$(TAG)-$(VERSION)/opt/poseidon/dist/cyberreboot-vent.tar cyberreboot/vent:v0.9.14

mkdir -p dist
docker build -t poseidon-dpkg --build-arg PKG_NAME=poseidon-net -f Dockerfile.dpkg .
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,7 @@ sudo apt-get install poseidon

If you prefer a lightweight package that downloads the images from the latest build at install time, you can alternatively install: `sudo apt-get install poseidon-net`

> Note: The installer has a `Demo` option in the installation wizard that will deploy and configure the full Poseidon package, the Faucet
controller (and related components like Grafana and Prometheus), mininet, and openvswitch. We suggest the demo install as a starting point if much of this is new to you.
> Note: The installer has a `Demo` option in the installation wizard that will deploy and configure the full Poseidon package, the Faucet controller (and related components like Grafana and Prometheus), mininet, and openvswitch. We suggest the demo install as a starting point if much of this is new to you.

## SDN Controller Configuration
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.7.5
0.7.6
2 changes: 1 addition & 1 deletion bin/poseidon
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ function check_args()
check_files
echo "Starting Poseidon..."
rm -rf /opt/vent_files/.vent/vent.init
docker run -dit --rm -v /var/run/docker.sock:/var/run/docker.sock -v /opt/vent_files:/opt/vent_files -v /opt/poseidon/.plugin_config.yml:/root/.plugin_config.yml -v /opt/poseidon/.vent_startup.yml:/root/.vent_startup.yml -v /opt/vent_files/.vent:/root/.vent --env-file /etc/poseidon/default.conf --name vent cyberreboot/vent:v0.9.13
docker run -dit --rm -v /var/run/docker.sock:/var/run/docker.sock -v /opt/vent_files:/opt/vent_files -v /opt/poseidon/.plugin_config.yml:/root/.plugin_config.yml -v /opt/poseidon/.vent_startup.yml:/root/.vent_startup.yml -v /opt/vent_files/.vent:/root/.vent --env-file /etc/poseidon/default.conf --name vent cyberreboot/vent:v0.9.14
until [ "$(docker ps -q -f name=-poseidon-)" ] && [ "$(docker ps -q -f name=-poseidon- | head -1 | xargs docker container inspect -f \{\{.State.Health.Status\}\})" = "healthy" ]
do
# TODO do more checks and be verbose in here
Expand Down
2 changes: 1 addition & 1 deletion installers/debian/control
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Package: poseidon
Version: 0.7.5
Version: 0.7.6
Section: base
Priority: optional
Architecture: all
Expand Down
24 changes: 12 additions & 12 deletions installers/debian/postinst
Original file line number Diff line number Diff line change
Expand Up @@ -239,52 +239,52 @@ if db_go; then

# load or pull required images
if [ ! -f /opt/poseidon/dist/cyberreboot-vent.tar ]; then
docker pull cyberreboot/vent:v0.9.13
docker pull cyberreboot/vent:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-file-drop.tar ]; then
docker pull cyberreboot/vent-file-drop:v0.9.13
docker pull cyberreboot/vent-file-drop:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-file-drop.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-network-tap.tar ]; then
docker pull cyberreboot/vent-network-tap:v0.9.13
docker pull cyberreboot/vent-network-tap:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-network-tap.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-rabbitmq.tar ]; then
docker pull cyberreboot/vent-rabbitmq:v0.9.13
docker pull cyberreboot/vent-rabbitmq:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-rabbitmq.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-redis.tar ]; then
docker pull cyberreboot/vent-redis:v0.9.13
docker pull cyberreboot/vent-redis:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-redis.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-rq-dashboard.tar ]; then
docker pull cyberreboot/vent-rq-dashboard:v0.9.13
docker pull cyberreboot/vent-rq-dashboard:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-rq-dashboard.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-rq-worker.tar ]; then
docker pull cyberreboot/vent-rq-worker:v0.9.13
docker pull cyberreboot/vent-rq-worker:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-rq-worker.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-vent-syslog.tar ]; then
docker pull cyberreboot/vent-syslog:v0.9.13
docker pull cyberreboot/vent-syslog:v0.9.14
else
docker load -i /opt/poseidon/dist/cyberreboot-vent-syslog.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-poseidon.tar ]; then
docker pull cyberreboot/poseidon:v0.7.5
docker pull cyberreboot/poseidon:v0.7.6
else
docker load -i /opt/poseidon/dist/cyberreboot-poseidon.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-poseidon-api.tar ]; then
docker pull cyberreboot/poseidon-api:v0.7.5
docker pull cyberreboot/poseidon-api:v0.7.6
else
docker load -i /opt/poseidon/dist/cyberreboot-poseidon-api.tar
fi
Expand All @@ -304,12 +304,12 @@ if db_go; then
docker load -i /opt/poseidon/dist/cyberreboot-vent-plugins-tcprewrite-dot1q.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-crviz.tar ]; then
docker pull cyberreboot/crviz:v0.3.12
docker pull cyberreboot/crviz:v0.3.13
else
docker load -i /opt/poseidon/dist/cyberreboot-crviz.tar
fi
if [ ! -f /opt/poseidon/dist/cyberreboot-networkml.tar ]; then
docker pull cyberreboot/networkml:v0.3.9
docker pull cyberreboot/networkml:v0.4.0
else
docker load -i /opt/poseidon/dist/cyberreboot-networkml.tar
fi
Expand Down
3 changes: 2 additions & 1 deletion release/templates/bin_poseidon
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,8 @@ function check_args()
echo "Checking volumes..."
check_files
echo "Starting Poseidon..."
docker run -dit --rm -v /var/run/docker.sock:/var/run/docker.sock -v /opt/vent_files:/opt/vent_files -v /opt/poseidon/.plugin_config.yml:/root/.plugin_config.yml -v /opt/poseidon/.vent_startup.yml:/root/.vent_startup.yml --env-file /etc/poseidon/default.conf --name vent $VENT_SLUG
rm -rf /opt/vent_files/.vent/vent.init
docker run -dit --rm -v /var/run/docker.sock:/var/run/docker.sock -v /opt/vent_files:/opt/vent_files -v /opt/poseidon/.plugin_config.yml:/root/.plugin_config.yml -v /opt/poseidon/.vent_startup.yml:/root/.vent_startup.yml -v /opt/vent_files/.vent:/root/.vent --env-file /etc/poseidon/default.conf --name vent $VENT_SLUG
until [ "$$(docker ps -q -f name=-poseidon-)" ] && [ "$$(docker ps -q -f name=-poseidon- | head -1 | xargs docker container inspect -f \{\{.State.Health.Status\}\})" = "healthy" ]
do
# TODO do more checks and be verbose in here
Expand Down
3 changes: 1 addition & 2 deletions release/templates/make
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@ build_debian:
cp installers/debian/poseidon.service installers/debian/$$(TAG)-$$(VERSION)/etc/systemd/system/
cp installers/debian/default.conf installers/debian/$$(TAG)-$$(VERSION)/etc/poseidon/
cp -R !(installers|dist) installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .dockerignore installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .plugin_config.yml installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .vent_startup.yml installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp -R .git installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp -R bin/* installers/debian/$$(TAG)-$$(VERSION)/usr/bin/
$VENT_COMMAND
$TOOL_COMMANDS
mkdir -p dist
rm -rf dist/*
docker build -t poseidon-dpkg -f Dockerfile.dpkg .
docker run --rm poseidon-dpkg > dist/$$(TAG)-$$(VERSION).deb
rm -rf installers/debian/$$(TAG)-$$(VERSION)
Expand All @@ -56,7 +56,6 @@ build_debian_net:
cp installers/debian/poseidon.service installers/debian/$$(TAG)-$$(VERSION)/etc/systemd/system/
cp installers/debian/default.conf installers/debian/$$(TAG)-$$(VERSION)/etc/poseidon/
cp -R !(installers|dist) installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .dockerignore installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .plugin_config.yml installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp .vent_startup.yml installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
cp -R .git installers/debian/$$(TAG)-$$(VERSION)/opt/poseidon/
Expand Down
8 changes: 4 additions & 4 deletions release/templates/readme
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ The Poseidon project originally began as an experiment to test the merits of lev

### Permissions for Docker

To simplify the using commands with Docker, we recommend allowing the user that will be executing Poseidon commands be part of the `docker` group so they can execut Docker commands without `sudo`. Typically this can be done with:
To simplify the using commands with Docker, we recommend allowing the user that will be executing Poseidon commands be part of the `docker` group so they can execute Docker commands without `sudo`. Typically, this can be done with:
```
sudo usermod -aG docker $$USER
```
Expand All @@ -60,14 +60,14 @@ On Ubuntu, this will download and install our `.deb` package from [Cloudsmith](h
```
sudo apt-get install -y apt-transport-https curl
curl -sLf "https://dl.cloudsmith.io/public/cyberreboot/poseidon/cfg/gpg/gpg.F9E23875C98A1F72.key" | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://dl.cloudsmith.io/public/cyberreboot/poseidon/deb/ubuntu $$(lsb_release -cs) main"
sudo add-apt-repository "deb [arch=amd64] https://dl.cloudsmith.io/public/cyberreboot/poseidon/deb/ubuntu $(lsb_release -cs) main"
sudo apt-get update
sudo apt-get install poseidon
```

If you prefer a lightweight package that downloads the images from the latest build at install time, you can alternatively install: `sudo apt-get install poseidon-net`

> Note: The installer has a `Demo` option in the installation wizard that will deploy and configure the full Poseidon package, the Faucet SDN contoller (and related components like Grafana and Prometheus), mininet, and openvswitch. We suggest the demo install as a starting point if much of this is new to you.
> Note: The installer has a `Demo` option in the installation wizard that will deploy and configure the full Poseidon package, the Faucet controller (and related components like Grafana and Prometheus), mininet, and openvswitch. We suggest the demo install as a starting point if much of this is new to you.


## SDN Controller Configuration
Expand Down Expand Up @@ -103,7 +103,7 @@ interface-group <interface-group>
member switch YOUR_LEAF_SWITCH interface YOUR_INTERFACE_WHERE_VENT_WILL_RECORD_TRAFFIC_FROM
```

Poseidon will connect to the BCF controller using its REST API, so you will also need the BCF API hostname or IP address and credentials for the controller. If your controller is an HA pair and has a virtual IP address, we recommend using that virtual address. Also, because Poseidon will be making dynamic `filter` rule changes we will need an account that has administrative priveleges. (Poseidon only modifies the filter rules of the defined span-fabric, but until BigSwitch has more granular access control options this means admin privs!) Bringing the above configuration requirements together, below is an example of what the relevant parts of your BCF configuration could look like where the span-fabric is called 'poseidon', the user 'poseidon' is defined for API access, and the egress interface is interface '48' on switch 'leaf04' and labelled as interface group 'ig1':
Poseidon will connect to the BCF controller using its REST API, so you will also need the BCF API hostname or IP address and credentials for the controller. If your controller is an HA pair and has a virtual IP address, we recommend using that virtual address. Also, because Poseidon will be making dynamic `filter` rule changes we will need an account that has administrative privileges. (Poseidon only modifies the filter rules of the defined span-fabric, but until BigSwitch has more granular access control options this means admin privs!) Bringing the above configuration requirements together, below is an example of what the relevant parts of your BCF configuration could look like where the span-fabric is called 'poseidon', the user 'poseidon' is defined for API access, and the egress interface is interface '48' on switch 'leaf04' and labelled as interface group 'ig1':

```
! user
Expand Down

0 comments on commit 6015123

Please sign in to comment.