Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
osie
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
osie
Commits
d400872e
Commit
d400872e
authored
Oct 19, 2023
by
Ivan Tyagov
Browse files
Options
Browse Files
Download
Plain Diff
OPCUA to HTTP Gateway
See merge request
nexedi/osie!35
parents
5ca48d3b
dbbe322e
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
143 additions
and
0 deletions
+143
-0
slapos/software/opcua-to-http-gw/README.md
slapos/software/opcua-to-http-gw/README.md
+15
-0
slapos/software/opcua-to-http-gw/buildout.hash.cfg
slapos/software/opcua-to-http-gw/buildout.hash.cfg
+3
-0
slapos/software/opcua-to-http-gw/instance-input-schema.json
slapos/software/opcua-to-http-gw/instance-input-schema.json
+27
-0
slapos/software/opcua-to-http-gw/instance.cfg.in
slapos/software/opcua-to-http-gw/instance.cfg.in
+54
-0
slapos/software/opcua-to-http-gw/software.cfg
slapos/software/opcua-to-http-gw/software.cfg
+44
-0
No files found.
slapos/software/opcua-to-http-gw/README.md
0 → 100644
View file @
d400872e
# OPCUA to HTTP Gateway
## When instantiating OPCUA you can use the following example config:
```
release="https://lab.nexedi.com/nexedi/osie/blob/master/slapos/software/opcua-to-http-gw/software.cfg"
supply(release, "COMP-****")
partition_parameter_kw = {
"erp5-url": "<URL>",
"erp5-username": "<USERNAME>",
"erp5-password": "<PASSWORD>",
"opcua-port": <PORT>
}
filter_kw = { "computer_guid": "COMP-****" }
request(software_release=release, partition_reference="****", partition_parameter_kw=partition_parameter_kw, filter_kw=filter_kw)
```
slapos/software/opcua-to-http-gw/buildout.hash.cfg
0 → 100644
View file @
d400872e
[instance-profile]
filename = instance.cfg.in
md5sum = 6fbae8f850e2c38b9b9990bf9c087505
slapos/software/opcua-to-http-gw/instance-input-schema.json
0 → 100644
View file @
d400872e
{
"$schema"
:
"https://json-schema.org/draft/2019-09/schema"
,
"description"
:
"Parameters to instantiate OPCUA"
,
"type"
:
"object"
,
"configuration"
:
{
"erp5-url"
:
{
"description"
:
"The URL of the ERP5 server to connect to."
,
"type"
:
"string"
,
"default"
:
""
},
"erp5-username"
:
{
"description"
:
"The username for authentication to the ERP5 server."
,
"type"
:
"string"
,
"default"
:
""
},
"erp5-password"
:
{
"description"
:
"The password for authentication to the ERP5 server."
,
"type"
:
"string"
,
"default"
:
""
},
"opcua-port"
:
{
"description"
:
"The port for OPCUA server."
,
"type"
:
"int"
,
"default"
:
"4840"
}
}
}
slapos/software/opcua-to-http-gw/instance.cfg.in
0 → 100644
View file @
d400872e
[buildout]
parts =
promises
directory
opcua-to-http-gw-service
publish-connection-parameter
eggs-directory = {{ buildout["eggs-directory"] }}
develop-eggs-directory = {{ buildout["develop-eggs-directory"] }}
offline = true
[check-port-listening-promise]
recipe = slapos.cookbook:check_port_listening
path = ${directory:promise}/${:_buildout_section_name_}
[directory]
recipe = slapos.cookbook:mkdirectory
home = ${buildout:directory}
etc = ${:home}/etc
var = ${:home}/var
script = ${:etc}/run/
service = ${:etc}/service
promise = ${:etc}/promise/
log = ${:var}/log
bin = ${:home}/bin
[instance-parameter]
recipe = slapos.cookbook:slapconfiguration
computer = ${slap-connection:computer-id}
partition = ${slap-connection:partition-id}
url = ${slap-connection:server-url}
key = ${slap-connection:key-file}
cert = ${slap-connection:cert-file}
configuration.opcua-port = 4840
[opcua-to-http-gw-service]
recipe = slapos.cookbook:wrapper
command-line = {{ interpreter_location }}/py {{ osie_repository_location }}/opcua-to-http-gw/opcua-to-http-gw.py --xml {{ osie_repository_location }}/opcua-to-http-gw/opcua-server-config.xml --erp5-url ${instance-parameter:configuration.erp5-url} --erp5-username ${instance-parameter:configuration.erp5-username} --erp5-password ${instance-parameter:configuration.erp5-password} --port ${instance-parameter:configuration.opcua-port} --ip ${instance-parameter:ipv4-random}
wrapper-path = ${directory:service}/opcua-to-http-gw-service
output = $${:wrapper-path}
[opcua-to-http-gw-listen-promise-ipv4]
<= check-port-listening-promise
hostname = ${instance-parameter:ipv4-random}
port = ${instance-parameter:configuration.opcua-port}
[promises]
recipe =
instance-promises =
${opcua-to-http-gw-listen-promise-ipv4:path}
[publish-connection-parameter]
recipe = slapos.cookbook:publish
ipv4 = ${instance-parameter:ipv4-random}
slapos/software/opcua-to-http-gw/software.cfg
0 → 100644
View file @
d400872e
[buildout]
allow-picked-versions = true
extends =
buildout.hash.cfg
https://lab.nexedi.com/nexedi/slapos/raw/master/stack/monitor/buildout.cfg
https://lab.nexedi.com/nexedi/slapos/raw/master/stack/slapos.cfg
https://lab.nexedi.com/nexedi/slapos/raw/master/component/python3/buildout.cfg
https://lab.nexedi.com/nexedi/slapos/raw/master/component/git/buildout.cfg
parts =
interpreter
slapos-cookbook
osie-repository
instance-profile
[python]
part = python3
[interpreter]
recipe = zc.recipe.egg:scripts
interpreter = py
eggs =
requests
asyncua
[osie-repository]
recipe = slapos.recipe.build:gitclone
git-executable = ${git:location}/bin/git
repository = https://lab.nexedi.com/nexedi/osie.git
location = ${buildout:parts-directory}/osie
[versions]
aiosqlite = 0.17.0
aiofiles = 23.1.0
[instance-profile]
recipe = slapos.recipe.template:jinja2
template = ${:_profile_base_location_}/instance.cfg.in
rendered = ${buildout:directory}/instance.cfg
context =
section buildout buildout
key interpreter_location buildout:bin-directory
key osie_repository_location osie-repository:location
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment