edgexfoundry / developer-scripts Goto Github PK
View Code? Open in Web Editor NEWLicense: Apache License 2.0
License: Apache License 2.0
OS version:N/A
EdgeX version:N/A
Environment details (virtual, physical, configuration details etc.):N/A
Steps to reproduce:
Execution of run-it.sh doesn't work as path of compose files is broken in line 21. Even after fixing that, while starting config service following URL is not reachable"curl -s http://localhost:8500/v1/kv/config/support-scheduler\;docker/app.open.msg" which ends up in a never ending while loop.
Actual results: services are not started
Expected results: All services should be up and running
With the addition of the new device service snmp included in the edgexfoundry repository a commented out section in the docker-compose needs to be included. This will enable users of the device-service-snmp to uncomment out the docker-compose section and execute the edgex stack with the device-service-snmp.
Clear export client configuration entries:
db=db.getSiblingDB('exportclient')
db.exportConfiguration.remove({});
Please add a LICENSE file to the root of this repo per https://wiki.edgexfoundry.org/pages/viewpage.action?pageId=21823866
Kong and Vault are not starting successfully when using the Edinburgh release versions of the compose files.
os : mac os x 10.13.2
command :
docker-compose -f docker-compose-preview-california-0.5.1.yml pull
docker version : Docker version 17.09.0-ce, build afdb6d4
details :
VINOYANG-MB0:compose-files vinoyang$ docker-compose -f docker-compose-preview-california-0.5.1.yml pull
Pulling volume (edgexfoundry/docker-edgex-volume:latest)...
latest: Pulling from edgexfoundry/docker-edgex-volume
Digest: sha256:a0d6460a73b9e73af64b4f33583d21ce1df7f4bd24e7ef58760eeaacd44c2d6e
Status: Image is up to date for edgexfoundry/docker-edgex-volume:latest
Pulling mongo (edgexfoundry/docker-edgex-mongo:0.2)...
0.2: Pulling from edgexfoundry/docker-edgex-mongo
Digest: sha256:b77d7021af150a2266cf5e21425b533e1d60e3d9f6a596e3f2f1beb9d25a8a7e
Status: Image is up to date for edgexfoundry/docker-edgex-mongo:0.2
Pulling config-seed (edgexfoundry/docker-core-config-seed:0.2.1)...
0.2.1: Pulling from edgexfoundry/docker-core-config-seed
Digest: sha256:59d0941780d1003eaa8d3f03f3ce28a8fddf6803ab17b1fed6cc8563e895b183
Status: Image is up to date for edgexfoundry/docker-core-config-seed:0.2.1
Pulling logging (nexus3.edgexfoundry.org:10004/docker-support-logging:0.5.0)...
ERROR: Get https://nexus3.edgexfoundry.org:10004/v2/docker-support-logging/manifests/0.5.0: no basic auth credentials
Per Edinburgh F2F, update Consul to use version 1.3.1. Changes will be made to the following:
These compose files are not specific to a release and are used for pulling images based on master
WIP
We should add docker-compose yaml files for arm64 here similar to the one for the IoTech demo dev kit at: https://github.com/edgexfoundry/demo-grove-pi/blob/master/docker-compose-demo-grove.yml
Affects the Dockerfile for every EdgeX service and may initially require workarounds or code changes for containers that do not support running as non-root.
Almost all of the EdgeX Docker containers run at root privilege. This is a scored item in the Docker CIS benchmark. Root user containers are dangerous because in the default docker installation (with user namespace remapping disabled), the root user in a container is the same root UID as a host. If a container were able to obtain read/write access to the host file system, such a container may be able to tamper with root-only files. Similarly, system calls also maintain root-level privilege.
Each EdgeX service should be assigned a unique non-root user ID and the respective service should run under the identity of that user ID. Note that it is not necessary that the user ID be mapped to a passwd entry on the host. However, if that is desired, systemd-based installations provide functionality, systemd-sysusers, to pre-create service accounts with fixed user IDs at system startup. (Only fixed UIDs make sense for Docker.)
I see that the Docker Compose file is version 2 (supporting Docker Engines 1.10.0+). See https://docs.docker.com/compose/compose-file/compose-versioning/#compatibility-matrix
The recommended Docker Compose file from Docker is version 3 (supporting Docker Engines 1.13.0+) which would allow also EdgeX to be deployed via Swarm.
I did a comparison between the changes in the syntax upgrading from 2 to 3 and it seems as the only deprecated command that was used in the EdgeX file is "volumes_from" (see https://docs.docker.com/compose/compose-file/compose-versioning/#upgrading)
Can we generate a Docker Compose version 3 file?
New system management agent service that serves as go between for micro services and management systems. Attached to developer scripts for now.
The docker-compose files for edinburgh were updated. Current set of links that reference old 1.0.0 versions are now broken (produce 404 errors) in this repository's README markdown.
Current docker-compose files for edinburgh are 1.0.1:
https://github.com/edgexfoundry/developer-scripts/blob/master/releases/edinburgh/compose-files/docker-compose-edinburgh-1.0.1.yml
docker-compose.yml does not work, because of no "edgexfoundry/docker-core-config-seed-go:latest" image. hub.docker.com has only "edgexfoundry/docker-core-config-seed-go:test" and "edgexfoundry/docker-core-config-seed-go:0.6.0". The same problem to other "-go" images.
In the same way that we split the consul and core-config-seed-go Docker containers for the California release, we need to do the same for Mongo. Right now, the Mongo platform is coupled in deployment with a population script in mongo-seed. These should run separately and the mongo image should come directly from mongo, rather than being wrapped in an "edgex" image.
The current nightly Nexus3 Docker compose file is out of date due to this merged PR and still use the old Docker image names from security-related Docker-image names.
Specifically,
edgexfoundry/docker-edgex-vault:1.1.0
should change to nexus3.edgexfoundry.org:10004/docker-edgex-secret-store-go:1.1.0
edgexfoundry/docker-edgex-vault-worker-go:1.1.0
should change to nexus3.edgexfoundry.org:10004/docker-edgex-security-secretstore-setup-go:1.1.0
edgexfoundry/docker-edgex-proxy-go:1.1.0
should change to nexus3.edgexfoundry.org:10004/docker-edgex-security-proxy-setup-go:1.1.0
As described in edgex-go/issues/1347 and the associated PR in edgex-go/pull/1359, the config-seed Dockerfile is set up to accept a path to the Redis config files.
This is the tracking issue to add the Compose files that use that path switch.
Bring large Samsung contribution(s) through the new contribution process, review/evaluate the code, make determination about where the code should rest and what additional work is needed to incorporate it into EdgeX or a vertical solution
Digest: sha256:f9acd95e9c4029e6e2d9c5b9ed34180c974faab53a6925e149fa7bf974f9be21
Status: Downloaded newer image for edgexfoundry/docker-support-rulesengine:0.7.0
Pulling vault (edgexfoundry/docker-edgex-vault:latest)...
ERROR: manifest for edgexfoundry/docker-edgex-vault:latest not found
Hi,
Docke-compose is unable to pull the consul micro-service. I tried several docker compose files but it remains the same.
Here is the error:
ERROR: for consul no matching manifest for unknown in the manifest entries
ERROR: no matching manifest for unknown in the manifest list entries
I am getting this error from docker on my ubuntu when running the command
docker-compose pull
yaml.scanner.ScannerError: mapping values are not allowed here
in "./docker-compose.yml", line 387, column 24
Ubuntu version: 18.04 server
docker Version: 17.06.2-
docker-compose version 1.16.1
docker-compose-nexus.yml maps port 8400, 8500, 8600 twice, in service consul and config-seed.
Apologies for logging this issue here - I was unsure of correct forum.
Could you update Pi HOWTO for MacOS. The dd
device is typically of=/dev/disk2
.
bash-3.2# ls
Bamarni-desktop-full64bit-pi3bplus-V2.img
bash-3.2# diskutil list
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 251.0 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS Container disk1 250.7 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +250.7 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 217.6 GB disk1s1
2: APFS Volume Preboot 22.5 MB disk1s2
3: APFS Volume Recovery 515.0 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *15.9 GB disk2
1: Windows_FAT_16 RECOVERY 1.5 GB disk2s1
2: Linux 33.6 MB disk2s5
3: DOS_FAT_32 BOOT 72.4 MB disk2s6
4: Linux 14.4 GB disk2s7
bash-3.2#
bash-3.2# diskutil unmountdisk /dev/disk2
Unmount of all volumes on disk2 was successful
bash-3.2# dd if=Bamarni-desktop-full64bit-pi3bplus-V2.img of=/dev/disk2 bs=2m
1476+1 records in
1476+1 records out
3096563712 bytes transferred in 153.621726 secs (20157069 bytes/sec)
wen I run "docker-compose up -d config-seed" by using compose-dev.yml, the following output is
Pulling config-seed (nexus3.edgexfoundry.org:10003/docker-core-config-seed:latest)...
ERROR: Get https://nexus3.edgexfoundry.org:10003/v2/docker-core-config-seed/manifests/latest: no basic auth credentials
Setup Github org for use for depositing contributions for review as part of the large contribution process.
Trying to integrate California release with device-modbus:0.6.0 (using docker-compose-california-0.6.0.yml) . It failed. No connection made to modbus simulator. If using docker-compmose-nexus.yml (commenting out duplicated port mapping in service config-seed), the modbus integration succeeds. It looks like the images in docker hub registry (hub.docker.com/edgexfoundry) are different from images in nexus (nexus3.edgexfoundry.org:10004).
docker-compose-edinburgh-1.0.0.yml currently contains references to non-existent images (all edgexfoundry/*:1.0.0). device-virtual has a reference that is inconsistent with the others (nexus3.edgexfoundry.org:10004/*:1.0.0).
Update docker-compose for Edinburgh with the device-snmp-go configuration
With logging support now verified for Mongo, we should include the ability to clear the logs as part of the "clean mongo" script. This became a need during the testing and verification of the following blackbox PR:
Although commented-out, the typo "device-fischetechnik" instead of device-fischertechnik does lead to failure when the docker image is pulled:
$ docker-compose up
Pulling device-fischetechnik (edgexfoundry/docker-device-fischetechnik:latest)...
ERROR: repository edgexfoundry/docker-device-fischetechnik not found: does not exist or no pull access
Does this need to be fixed in Jenkins also?
# device-fischetechnik:
# image: edgexfoundry/docker-device-fischetechnik
# ports:
# - "49985:49985"
# container_name: edgex-device-fischetechnik
# hostname: edgex-device-fischetechnik
# networks:
# - edgex-network
# volumes_from:
# - volume
# privileged: true
# depends_on:
# - volume
# - consul
# - config-seed
# - mongo
# - logging
# - metadata
# - data
# - command
In the linux_setup.sh file, the message in the step of Ask for a user passwd is wrong, it's as same as ask for a user name. I think you just copied the message and forgot to modify it.
This is a scored item on the CIS Docker benchmarks. Whenever possible, docker containers should be run with the "no-new-privileges" option. This option prevents SUID/SGID binaries in the container from obtaining additional privileges.
The option should be universally enabled for all containers in the Dockerfile and issues raised for exceptions.
When I attended the Edinburgh summit last month I drew this sketch for an automatic installer for EdgeXfoundry Developers. I remembered this today. Just wondering if there is interested in such a DevOps installer for edgexfoundary Developers.
Background
It would be hosted at https://github.com/saltstack-formulas/ and following a design pattern I used for OpenSDS (needs more work, testing) and OpenStack-Devstack.
Generic Architecture Diagram
If someone wanted to do the same in Ansible or some other IT automation tool, the architecture would be similar - only the box labels change.
Related PR:
In anticipation of doing this I raised a PR on MongoDB which stuck at the moment but once that gets merged then I could start an implementation. Everything else (eclipse, docker, etc) is covered by saltstack-formulas.
Hi,
When deploying edgex Edinburgh as a docker stack, hostname and container_name attributes are not supported, hence, the need of network aliases in every service is required.
Only some of them have network alias defined.
Adding consistency in network aliases in all services will ensure this docker-compose file works for docker stack and docker-compose.
Thanks,
Antonio
For issue EdgeX-Go #1286 we are adding functionality for Mongo to delete all readings associated with a specified device. Adding an index will allow this operation to be more effective by not performing a full scan on the collection.
Line 139 it linux_setup.sh, the word "oener " in the sentence "Change the oener of the DB dir" should be owner.
To avoid broken links to Docker Compose files in the various documents created for EdgeX, we need a fixed location where we can point users to obtain the latest Docker Compose file.
Once this is complete we can update the documents:
There might be more places, these are just the couple I am aware of.
In the official docker compose file, there are no opc ua service.
Opc ua device service is in the whole architecture block diagram
https://wiki.edgexfoundry.org/display/FA/Introduction+to+EdgeX+Foundry
Need to change the index in the Scheduler collection for both interval and intervalAction.
They are currently set to "slug1" those need to change to a real column or field in the schema. In this case it should be "name".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.