Compare commits

..

No commits in common. "main" and "cosmos-ops-2024-10-17-v11" have entirely different histories.

20 changed files with 41 additions and 829 deletions

View file

@ -1,2 +1,2 @@
tag="cosmos-ops"
repo=https://platform.sunet.se/streams/streams-ops.git
#repo=git://override-repo-URL

View file

@ -1,120 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
7v1IH773vIPgE9jkwaJa3j8PISO0JEJlbmVkaXRoIE11bG9uZ28gPGJlbmVkaXRo
QHN1bmV0LnNlPokCkgQTAQoAhgWCZ30rIAWJBbaZ9gMLCQcJEGLWi1hLSz6zRxQA
AAAAAB4AIHNhbHRAbm90YXRpb25zLnNlcXVvaWEtcGdwLm9yZ9ZFwkQxJYJVnmZO
4ogfWgIFN6Lky5GX1aoxYvGRUI0KAxUKCAKZAQKbAwIeARYhBMoD73GONP/3wVKN
22LWi1hLSz6zAABHOxAAl2waoQbnT96weVH6SaTDVfpD7dW1g2Ogrj8DpkMyzvS8
9G+3SHzDJSd/WP7Wx7fCcsAHLfka0MozkzH5lh3lr0009NtPl8+k1o7X0VHyDb+q
a/zrfvZHNgnpfjexwXrffN3y5kgzMQ6BO/pBPvHhFfgosAZinsfEcXl3y4F+N7fN
KsjQATUlSNM0j9mEbEuHxSwL8/lNMrR8KN2ShMtqQIyLr+he9V3Thl6vHKphAyzK
JrSktvojc4XqLpDGpNmePapMzGfTV61VHS2PIL2sgFinLecsvczPQ2FXM8NuHXBQ
vcEV4ToCR5NrMtNs7n5WxyJKXnD3tfoNZLHeCohBxw51ZWIZki7JJ8/Nya61Wna1
shByJkImmBpBLtFWHntU1ocfuW0uxg2rGxcrU8JNqSQ7ayBZ9RnarCnvX/IpVnbY
w2tzPkp6jojiP8/xLCvpKMewllCv/v734iuO1lBcKqf5OvfW2Ur/wG3mNqk05vTD
7veHqvbDo1eQUHHDw2948GEwfFnn3VTyuteI9X9SFcOMLIcb1nyjlksBhWjn0y1b
jZn7l3r/KsxsX1G76m/71aya87yZeLYEz4EY87mqjTCx3p+1Q/utCLS8Y6F2cbRP
3c3IJMyMQ4fTa3AhAso1AZWumCrfoeAGIVDwKt0+DxLCAQK/ihPbog63TclZF+iJ
ApIEEwEKAIYFgmWUCyoFiQHihQADCwkHCRBi1otYS0s+s0cUAAAAAAAeACBzYWx0
QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcIRENEjpo28V040bIxtqpmDJ7sPE8d
IditSFrRDbvPxAMVCggCmQECmwMCHgEWIQTKA+9xjjT/98FSjdti1otYS0s+swAA
szQQAKrJ/NiQzV6xQ6YspwzFrccH8DLdk0tCC/GikBjWfNzICPHBVTqzJWy8NjX6
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
=yMCF
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,99 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
dUUP1SI9AE9TBLNixv+L/Ic=
=epUM
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,65 +1,53 @@
.+:
sunet::nagios::nrpe:
checks:
- nrpe_check_apt
- nrpe_check_dynamic_disk
- nrpe_check_entropy
- nrpe_check_load
- nrpe_check_memory
- nrpe_check_ntp_time
- nrpe_check_reboot
- nrpe_check_scriptherder
- nrpe_check_total_procs_lax
- nrpe_check_uptime
- nrpe_check_users
- nrpe_check_zombie_procs
- nrpe_check_apt
- nrpe_check_dynamic_disk
- nrpe_check_entropy
- nrpe_check_load
- nrpe_check_memory
- nrpe_check_ntp_time
- nrpe_check_reboot
- nrpe_check_scriptherder
- nrpe_check_total_procs_lax
- nrpe_check_uptime
- nrpe_check_users
- nrpe_check_zombie_procs
sunet::server:
install_scriptherder: true
unattended_upgrades: true
fail2ban: true
streams:
sunet::invent::client:
export_endpoint: https://ni-frontend-test.sunet.se
invent_retention_days: 1
'^public-dco-test-mongodb-1.streams.sunet.se$':
sunet::dockerhost2:
streams::mongo_db:
allow_nets: [ "130.242.121.23", "130.242.121.26", "193.10.93.2/32", "89.47.190.80/23", "2001:6b0:7d:40::c1/128" ]
'^public-dco-test-collector-1.streams.sunet.se$':
sunet::dockerhost2:
streams::data_collector:
allow_nets: [ "130.242.121.23", "130.242.121.26", "193.10.93.2/32" ]
enable_mongo_output: true
enable_kafka_output: false
'^internal-dco-test-k8sc-[0-9].streams.sunet.se$':
sunet::microk8s::node:
sunet::microk8s::node:
channel: 1.28/stable
peers:
- internal-dco-test-k8sc-1.streams.sunet.se
- internal-dco-test-k8sc-2.streams.sunet.se
- internal-dco-test-k8sc-3.streams.sunet.se
- internal-dco-test-k8sw-1.streams.sunet.se
- internal-dco-test-k8sw-2.streams.sunet.se
- internal-dco-test-k8sw-3.streams.sunet.se
- internal-dco-test-k8sc-1.streams.sunet.se
- internal-dco-test-k8sc-2.streams.sunet.se
- internal-dco-test-k8sc-3.streams.sunet.se
- internal-dco-test-k8sw-1.streams.sunet.se
- internal-dco-test-k8sw-2.streams.sunet.se
- internal-dco-test-k8sw-3.streams.sunet.se
sunet::frontend::register_sites:
sites:
kubetest.streams.sunet.se:
frontends:
- tug-lb-1.sunet.se
- sthb-lb-1.sunet.se
- se-fre-lb-1.sunet.se
- se-tug-lb-1.sunet.se
port: '443'
sunet::otel::alloy:
otel_receiver: monitor-test.streams.sunet.se
'^internal-dco-test-k8sw-[0-9].streams.sunet.se$':
sunet::microk8s::node:
sunet::microk8s::node:
channel: 1.28/stable
peers:
- internal-dco-test-k8sc-1.streams.sunet.se
- internal-dco-test-k8sc-2.streams.sunet.se
- internal-dco-test-k8sc-3.streams.sunet.se
- internal-dco-test-k8sw-1.streams.sunet.se
- internal-dco-test-k8sw-2.streams.sunet.se
- internal-dco-test-k8sw-3.streams.sunet.se
- internal-dco-test-k8sc-1.streams.sunet.se
- internal-dco-test-k8sc-2.streams.sunet.se
- internal-dco-test-k8sc-3.streams.sunet.se
- internal-dco-test-k8sw-1.streams.sunet.se
- internal-dco-test-k8sw-2.streams.sunet.se
- internal-dco-test-k8sw-3.streams.sunet.se
sunet::otel::alloy:
otel_receiver: monitor-test.streams.sunet.se
'^internal-dco-test-monitor-[0-9].streams.sunet.se$':
@ -74,16 +62,16 @@
grafana_tag: latest
receive_otel: true
resolvers:
- 89.46.20.75
- 89.46.21.29
- 89.32.32.32
- 89.46.20.75
- 89.46.21.29
- 89.32.32.32
thruk_admins:
- benedith@sunet.se
- kano@sunet.se
- patlu@sunet.se
- benedith@sunet.se
- kano@sunet.se
- patlu@sunet.se
thruk_users:
- mariah@sunet.se
- jonas@sunet.se
- pahol@sunet.se
- thorslund@sunet.se
- mariah@sunet.se
- jonas@sunet.se
- pahol@sunet.se
- thorslund@sunet.se
nrpe_group: streams

View file

@ -1,176 +0,0 @@
# @summary Manages the configuration of the SRI v2 (NI) service for CNAAS.
#
class streams::data_collector(
$enable_mongo_output = false,
$enable_kafka_output = false,
Optional[Array[String]] $allow_nets = undef,
) {
# cli_app_name
$cli_app_name = safe_hiera('cli_app_name', 'datakeeper_cli')
# AIS
$ais_user = safe_hiera('ais_user', '')
$ais_user_password = safe_hiera('ais_user_password', '')
$ais_server_host = safe_hiera('ais_server_host', '')
$ais_server_port = safe_hiera('ais_server_port', '')
# MONGO
$mongo_url = safe_hiera('mongo_url', '')
$mongo_db = safe_hiera('mongo_db', '')
$mongo_collection = safe_hiera('mongo_collection', '')
# KAFKA
$kafka_bootstrap_servers = safe_hiera('kafka_bootstrap_servers', '')
$kafka_topic = safe_hiera('kafka_topic', '')
# Binary install
$repo_url = 'https://github.com/SUNET/datakeeper.git'
$clone_dir = '/tmp/repository'
$install_dir = "/opt/${cli_app_name}"
$bin_target = "/usr/local/bin/${cli_app_name}"
$release_url = 'https://github.com/SUNET/datakeeper/releases/download/v0.4.16/datakeeper-debian12-py3.11'
$release_bin = "${install_dir}/datakeeper"
sunet::misc::create_dir { '/opt/data_collector/': owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { '/opt/data_collector/compose/': owner => 'root', group => 'root', mode => '0755', }
# Create cli directory
sunet::misc::create_dir { "/opt/${cli_app_name}/": owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { "/opt/${cli_app_name}/database/": owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { "/opt/${cli_app_name}/plugins/": owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { "/opt/${cli_app_name}/logs/": owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { "/opt/${cli_app_name}/logs/system/": owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { "/opt/${cli_app_name}/logs/runtime/": owner => 'root', group => 'root', mode => '0755', }
package { 'python3.11-venv':
ensure => installed,
}
file { "/opt/${cli_app_name}/ais_router.service":
ensure => file,
content => template('streams/data_collector/ais_router.service.erb')
}
sunet::misc::create_cfgfile { '/opt/data_collector/nginx.conf':
content => template('streams/data_collector/nginx.conf.erb'),
group => 'root',
mode => '0644',
}
sunet::misc::create_cfgfile { '/opt/data_collector/config.ini':
content => template('streams/data_collector/config.ini.erb'),
group => 'root',
mode => '0644',
}
sunet::misc::create_cfgfile { '/opt/data_collector/.env':
content => template('streams/data_collector/.env.erb'),
group => 'root',
mode => '0644',
}
# TODO: Docker
# sunet::docker_compose {'data_collector_docker_compose':
# service_name => 'data_collector',
# description => 'data_collector application',
# compose_dir => '/opt/data_collector/compose',
# content => template('streams/data_collector/docker-compose.yml.erb'),
# }
sunet::nftables::allow { 'collector_allow_http' :
from => $allow_nets,
port => 80,
}
sunet::nftables::allow { 'collector_allow_https' :
from => $allow_nets,
port => 443,
}
# Install Binary
# Remove old clone directory if it exists
exec { 'cleanup_clone_dir':
command => "rm -rf ${clone_dir}",
onlyif => "test -d ${clone_dir}",
path => ['/bin', '/usr/bin'],
}
# Download datakeeper binary
exec { 'download_datakeeper_binary':
command => "wget -O ${release_bin} ${release_url}",
creates => $release_bin,
path => ['/usr/bin', '/bin'],
require => File[$install_dir],
}
# Make binary executable
file { $release_bin:
mode => '0755',
require => Exec['download_datakeeper_binary'],
}
# Clone the repo
exec { 'clone_repository':
command => "git clone --depth=1 ${repo_url} ${clone_dir}",
creates => "${clone_dir}/datakeeper",
path => ['/usr/bin', '/bin'],
require => Exec['cleanup_clone_dir'],
}
# # # Copy files from cloned repo
exec { 'copy_init_sql':
command => "cp ${clone_dir}/datakeeper/database/init.sql ${install_dir}/database/",
creates => "${install_dir}/database/init.sql",
path => ['/bin', '/usr/bin'],
require => Exec['clone_repository'],
}
exec { 'copy_policy_yaml':
command => "cp ${clone_dir}/datakeeper/config/policy.yaml ${install_dir}/",
creates => "${install_dir}/policy.yaml",
path => ['/bin', '/usr/bin'],
require => Exec['clone_repository'],
}
exec { 'copy_plugins':
command => "cp -r ${clone_dir}/datakeeper/policy_system/plugins/* ${install_dir}/plugins/",
path => ['/bin', '/usr/bin'],
require => Exec['clone_repository'],
unless => "ls ${install_dir}/plugins | grep .", # Don't run if plugins are already there
}
# # # Copy binary to system path
exec { 'install_binary':
command => "cp ${release_bin} ${bin_target}",
creates => $bin_target,
path => ['/bin', '/usr/bin'],
require => File[$release_bin],
}
# # # Cleanup cloned repo
exec { 'final_cleanup':
command => "rm -rf ${clone_dir}",
onlyif => "test -d ${clone_dir}",
path => ['/bin', '/usr/bin'],
require => Exec['copy_plugins'],
}
## Start ais-router service
file { '/etc/systemd/system/ais_router.service':
ensure => file,
content => template('streams/data_collector/ais_router.service.erb')
}
# Reload systemd daemon when unit file changes
exec { 'reload_systemd':
command => '/bin/systemctl daemon-reexec',
refreshonly => true,
}
# TODO: Enable and start the service
# service { 'ais_router':
# ensure => running,
# enable => true,
# require => File['/etc/systemd/system/ais_router.service'],
# subscribe => File['/etc/systemd/system/ais_router.service'],
# }
}

View file

@ -1,64 +0,0 @@
# @summary Manages the configuration of the SRI v2 (NI) service for CNAAS.
#
class streams::mongo_db(
$run_id = true,
Optional[Array[String]] $allow_nets = undef,
) {
$mongo_username = safe_hiera('mongo_username', 'mongo_admin_db')
$mongo_password = safe_hiera('mongo_password', 'f48f8')
$mongo_express_username = safe_hiera('mongo_express_username', 'mongo_admin_express')
$mongo_express_password = safe_hiera('mongo_express_password', 'f48f8')
$net_interfaces_keys = $facts['networking']['interfaces'].keys
# $me_config_mongodb_url = safe_hiera('mongo_express_username', 'mongodb://root:example@mongo:27017/')
$customer_hostname = $facts['networking']['hostname']
sunet::misc::create_dir { '/opt/mongo_db/': owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_dir { '/opt/mongo_db/compose/': owner => 'root', group => 'root', mode => '0755', }
sunet::misc::create_cfgfile { '/opt/mongo_db/.env':
content => template('streams/mongo_db/dotenv.erb'),
group => 'root',
mode => '0644',
}
file { '/opt/mongo_db/mongo-init.js':
ensure => file,
content => template('streams/mongo_db/mongo-init.js.erb')
}
sunet::misc::create_cfgfile { '/opt/mongo_db/nginx.conf':
content => template('streams/mongo_db/nginx.conf.erb'),
group => 'root',
mode => '0644',
}
sunet::docker_compose {'mongo_db_docker_compose':
service_name => 'mongo_db',
description => 'Mongo_db application',
compose_dir => '/opt/mongo_db/compose',
content => template('streams/mongo_db/docker-compose.yml.erb'),
}
sunet::nftables::allow { 'mongo_allow_http' :
from => $allow_nets,
port => 80,
}
sunet::nftables::allow { 'mongo_allow_https' :
from => $allow_nets,
port => 443,
}
sunet::nftables::allow { 'mongo_database_allow_access' :
from => $allow_nets,
port => 27017,
}
# if 'wg0' in $facts['networking']['interfaces'].keys {
# sunet::nftables::allow { 'firmware_http' :
# from => lookup({'name' => "cnaas_nets.${cnaas_instance}.service_nets", 'default_value' => []}),
# port => 80,
# }
# }
}

View file

@ -1,24 +0,0 @@
# DATAKEEPER
LOG_DIRECTORY = /opt/<%= @cli_app_name %>/logs/system
POLICY_PATH = /opt/<%= @cli_app_name %>/policy.yaml
DB_PATH = /opt/<%= @cli_app_name %>/database/database.sqlite
# PLUGIN_DIR = /opt/<%= @cli_app_name %>/plugins
# INIT_FILE_PATH = /opt/<%= @cli_app_name %>/database/init.sql
# AIS
AIS_USER=<%= @ais_user %>
AIS_USER_PASSWORD=<%= @ais_user_password %>
AIS_SERVER_HOST=<%= @ais_server_host %>
AIS_SERVER_PORT=<%= @ais_server_port %>
AIS_LOG_DIRECTORY=/opt/<%= @cli_app_name %>/logs/ais
# Mongo
MONGO_URL=<%= @mongo_url %>
MONGO_DB=<%= @mongo_db %>
MONGO_COLLECTION=<%= @mongo_collection %>
ENABLE_MONGO_OUTPUT=<%= @enable_mongo_output %>
# Kafka
BOOTSTRAP_SERVERS=<%= @kafka_bootstrap_servers %>
KAFKA_TOPIC=<%= @kafka_topic %>
ENABLE_KAFKA_OUTPUT=<%= @enable_kafka_output %>

View file

@ -1,31 +0,0 @@
[Unit]
Description=AIS Router Service
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/<%= @cli_app_name %> ais-router --config-path /opt/data_collector/config.ini
Restart=on-failure
# Logging configuration
StandardOutput=append:/opt/<%= @cli_app_name %>/logs/runtime/ais_router_service.log
StandardError=append:/opt/<%= @cli_app_name %>/logs/runtime/ais_router_service.log
# Set working directory
WorkingDirectory=/opt/<%= @cli_app_name %>
# Ensure the service has proper permissions
UMask=0002
ProtectSystem=full
ProtectHome=true
ReadWritePaths=/opt/<%= @cli_app_name %>/logs
# NoNewPrivileges=true
# PrivateTmp=true
# Resource limits (optional)
## LimitNOFILE=65536
## TimeoutStartSec=30
## TimeoutStopSec=15
[Install]
WantedBy=multi-user.target

View file

@ -1,28 +0,0 @@
[DATAKEEPER]
LOG_DIRECTORY = /opt/<%= @cli_app_name %>/logs/system
POLICY_PATH = /opt/<%= @cli_app_name %>/policy.yaml
DB_PATH = /opt/<%= @cli_app_name %>/database/database.sqlite
# PLUGIN_DIR = /opt/<%= @cli_app_name %>/plugins
# INIT_FILE_PATH = /opt/<%= @cli_app_name %>/database/init.sql
[API]
HOST = 0.0.0.0
PORT = 3000
[AIS]
AIS_USER=<%= @ais_user %>
AIS_USER_PASSWORD=<%= @ais_user_password %>
AIS_SERVER_HOST=<%= @ais_server_host %>
AIS_SERVER_PORT=<%= @ais_server_port %>
AIS_LOG_DIRECTORY=/opt/<%= @cli_app_name %>/logs/ais
[MONGO]
MONGO_URL=<%= @mongo_url %>
MONGO_DB=<%= @mongo_db %>
MONGO_COLLECTION=<%= @mongo_collection %>
ENABLE_MONGO_OUTPUT=<%= @enable_mongo_output %>
[KAFKA]
BOOTSTRAP_SERVERS=<%= @kafka_bootstrap_servers %>
KAFKA_TOPIC=<%= @kafka_topic %>
ENABLE_KAFKA_OUTPUT=<%= @enable_kafka_output %>

View file

@ -1,28 +0,0 @@
---
version: '3.8'
services:
nginx:
image: nginx:alpine
container_name: nginx
restart: unless-stopped
ports:
- "8011:80"
# volumes:
# - /opt/data_collector/nginx.conf:/etc/nginx/nginx.conf:ro
healthcheck:
test: ["CMD-SHELL", "wget --spider -S http://0.0.0.0 2>&1 | grep -q '200 OK\\|302 Found\\|401 Unauthorized' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
security_opt:
- no-new-privileges:true
networks:
- data_collector_network
volumes:
mongo_data:
networks:
data_collector_network:
driver: bridge

View file

@ -1,18 +0,0 @@
events {}
http {
server {
listen 80;
# s-> [public-dco-test-mongodb-1.streams.sunet.se, public-dco-test-collector-1.streams.sunet.se]
server_name _;
location / {
proxy_pass http://mongo-express:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}

View file

@ -1,83 +0,0 @@
---
version: '3.8'
services:
mongodb:
image: mongo:6.0.23
container_name: mongodb
# restart: unless-stopped
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
- /opt/mongo_db/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USERNAME:-<%= @mongo_username %>}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD:-<%= @mongo_password %>}
- MONGO_INITDB_DATABASE=admin
# - NEO4J_AUTH=neo4j/<%= scope.call_function('safe_hiera',['sri_neo4j_user_password']) %>
healthcheck:
test: ["CMD", "mongosh", "--eval", "db.runCommand('ping')"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
security_opt:
- no-new-privileges:true
networks:
- mongo_network
mongo-express:
image: mongo-express:1.0.2
container_name: mongo-express
# restart: unless-stopped
ports:
- "8081:8081"
environment:
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USERNAME:-<%= @mongo_username %>}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD:-<%= @mongo_password %>}
- ME_CONFIG_MONGODB_SERVER=mongodb
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_BASICAUTH_USERNAME=${MONGO_EXPRESS_USERNAME:-<%= @mongo_express_username %>}
- ME_CONFIG_BASICAUTH_PASSWORD=${MONGO_EXPRESS_PASSWORD:-<%= @mongo_express_password %>}
- ME_CONFIG_MONGODB_URL=${ME_CONFIG_MONGODB_URL:-mongodb://<%= @mongo_username %>:<%= @mongo_password %>@mongodb:27017/}
depends_on:
mongodb:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget --spider -S http://0.0.0.0:8081 2>&1 | grep -E 'HTTP/1.1 (200|401)' > /dev/null"]
interval: 30s
timeout: 10s
retries: 3
security_opt:
- no-new-privileges:true
networks:
- mongo_network
nginx:
image: nginx:alpine
container_name: nginx
# restart: unless-stopped
depends_on:
mongo-express:
condition: service_healthy
ports:
- "80:80"
volumes:
- /opt/mongo_db/nginx.conf:/etc/nginx/nginx.conf:ro
healthcheck:
test: ["CMD-SHELL", "wget --spider -S http://0.0.0.0 2>&1 | grep -q '200 OK\\|302 Found\\|401 Unauthorized' || exit 1"]
interval: 30s
timeout: 10s
retries: 3
security_opt:
- no-new-privileges:true
networks:
- mongo_network
volumes:
mongo_data:
networks:
mongo_network:
driver: bridge

View file

@ -1,9 +0,0 @@
# MongoDB Environment Variables
MONGO_ROOT_USERNAME=<%= @mongo_username %>
MONGO_ROOT_PASSWORD=<%= @mongo_password %>
# Mongo Express Environment Variables
MONGO_EXPRESS_USERNAME=<%= @mongo_express_username %>
MONGO_EXPRESS_PASSWORD=<%= @mongo_express_password %>
NET_INTERFACES_KEYS=<%= @net_interfaces_keys %>

View file

@ -1,21 +0,0 @@
db = db.getSiblingDB("aisdb");
db.vessels.createIndex({ "location": "2dsphere" });
// db.vessels.insertOne({
// mmsi: 123456789,
// location: {
// type: "Point",
// coordinates: [12.34, 56.78] // [lon, lat]
// },
// timestamp: new Date(),
// msg_type: 1
// });
// db.createUser({
// user: "admin",
// pwd: "adminpass",
// roles: [{ role: "readWrite", db: "mydb" }]
// });

View file

@ -1,31 +0,0 @@
events {}
http {
server {
listen 80;
server_name public-dco-test-mongodb-1.streams.sunet.se;
location / {
proxy_pass http://mongo-express:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
# Proxy /static/ requests (maps /static/* → /static/* in backend)
# location /static/ {
# proxy_pass http://api_service_sunet:5000;
# proxy_set_header Host $host;
# proxy_set_header X-Real-IP $remote_addr;
# proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# proxy_set_header X-Forwarded-Proto $scheme;
#
# # Optional: cache headers for static files
# expires 30d;
# add_header Cache-Control "public";
# }
}
}

View file

@ -1,29 +1,9 @@
---
microk8s_secrets:
keycloak:
keycloak-admin-secret:
- key: password
value: ENC[PKCS7,MIIDDQYJKoZIhvcNAQcDoIIC/jCCAvoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgAT9VuYNxFW07gnCc+ypD43nXhovvvjAaWO+glDxfl5GuYKYgV+GmSzo0mcQfKyOf/4c46U57feVXnuhHht2A+U5TuWdU5lPnq+Dfc2/M8MURYEvGmfMUJag67V34AyoQuYlseCcgnRuyr0D6IorYSJm61B4sszljMG5UafJtAy89NdW5+LuagzP/wb227US0lmqR7SPAxURcUbc+GnXAxIlPT14CbsF2F/KdQ0DdSGw8MUEfYbqr5bsDnJnBv1QJUQu9bnlGe3G0cUnDWAJrSN6NlKT2D3UHE4BL73HLFPZyDTGgA4h56/td34n0RhPCwKJdbyqyI9bnPjXAQqBC85odS9gVN64vQesnw5YWbTf2iR+QCkgwj0qrOnH/F1ELkcmhTl3DNcIu3VpZ79a/HutKPxE815GeFjsOSWrFXUx+syANuj1M7g9Qq2CG2HvKxfNl9mtePluvcjFcn2JAnbtjGVFF8w3Nn3kjxgaad0BXRRNJbqz1j8/U3CopXEJWDI3QfijakYGA078utpKdQd+f4kdvuh+6l3bDpMXmQp9WaLPYtnb+8zysRfY6f+VwHM+YCfZXs7VXW2unuInuiODRnV8I3W58mhCY6acCnCURibMAcz2HPBedFSr90rcpRlqup3zGHHJiAxVxeYmkv6yf21N8Fo8PVF1NQl1qy/XDBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBB8LDCHz1rVn95Op7KKegnJgDA8pbRnFuCO0XYXiCIAdHMN+q6n6VA4ajFX8QhJkbuAutlU2WEm6e3w3Q3ae8xyetM=]
jupyter:
jupyterhub-secrets:
- key: api-key
value: ENC[PKCS7,MIIDLQYJKoZIhvcNAQcDoIIDHjCCAxoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgAauG+j0aQVBlxmsTpgTDOy6GZcIPrsqgGL1jdEbr8xgBciYb4ibC1+Wk1JNJMPTfZfrn6Zs2TFmfnrfSDCuCuKi4WEGffHMVVJ0XBsnXoGMS757tXwDhc+LjEhKm+hHBX6BnGBCCDsugHH2UfnO9wpS1BpS6YSiIZlHa9TwZXp6146eLgZvLc+wtrkk3Orce5uqcm7v35TSIzhRLbAAr3OP82bxXi4RrVzdlAwZnOd9Se5O6TGAg503WrrnKgiKfzpDEE0hPjAA1pzrbE+ssgNoqnmkS4Gm9uo5Y0oW0jo3gkg6gXhFOE5KwDq0JjdxKf2e9I5AxtYlWza/nnbPJ6SHdhRuoOAFuHSI4dV7UanGBV4qh4l4/N9OPNQkshuSKjiscqpZruAMI5gcE9i0png7rqoPhbNtNQwNw4jr+b8S2REJgG3c18AFhRN0D3c/N0Q7Q56XKJG/KZm/pUsNMSHWxZcfPHJER5o5wEDFJDfW4H+1uu3B5j5gFiwXJq0w0HztJQlh++/BuIUB5VE1Dy5SZ1TTEDgabcFHnw1tAVNLjyy7mvTbcItVlERvvWtsnJs2vG80ooVyiCKBrAOy8i6PjmoHyNW8LwfqbU2mRTsmbFfjh7I4sV4dtv67w7u5ZUya9g7o9DEMxkYb0zGr3kprX+1N7/elOyFBco1iGxQVDB8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAwHD5JU9bCfjAw53/ZBvm7gFDHO256W5WahQnnLi7pw+COVNoijEGajkfqSsbiebGHawHE0peBqamKn16NBLhtoEYpZi7KRNyNHQAR1ZNjC4vD8MPCWiWq8tdaHKX9g7EnXA==]
- key: crypt-key
value: ENC[PKCS7,MIIDLQYJKoZIhvcNAQcDoIIDHjCCAxoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgArkvVOTXnSV95jSdds6YAQ2TJJCEyXQAyqxW6/ONOzDT7WGTrRPlQBJIBmbPbtbeMm8ZusTFa0lRlEZg1kLchINJeN3rr8/uc3y9bpXwpYbP5HHZXQLvhU3JEFE2t0DPJohsvW1Q8Swq7okvF8XNQ6tvnYAnq6VBWvzYQNU/ghxC4yhhXFYAAfou6BmLp+D5+JpfTbkFzaDxMtn4IYV/iauE2uKMii4EEcZekzWaD5yLUW8fwnMhtymnbIWdKhS+h5hnmHeKkfCpJV5QlhAYabkXvguOB8FXRy75B1/X+VTdTJOFT//s5J7hF4VaZrM28UfI6jO1pGwd3t94nAlvLg+RDmvsPGEHzyHAEctSOAs+APWKcoy9T2ZTrvkITdSMSaDgUMwZQfY0zOJbPryK+/YK57aU2qP2I2gzPSNho9Lgot/+09TNpKZCGqE0XucWTvzaaGuQPDFBXWiuSJ2fx3YWj2xSgfyWZuoQntpG0mkx6q7xbS+Av8jes20VEHXDzOfh+TuCKziZI8szQt1f1uHfb4WA2423sl5bwDby5kZqlWX4/O75tQa6QtQgaa18pV3+H7aVMO167aHr4UqH3HYMB0aNbxQZxF/ynEu0nnVSxSvb0heOWTYkStfNYMKRzkEvCEyGWQcDggQwc3ld67Mc7h0dVekhPwRs7mceztszB8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAfeHcP1lo9iSNI1Xb3BhbIgFBmrYuO808U9VIjAvFuB5s5R8kp8kFXhj4hIHqTs6xnhnTBRIIQNtsBnQYOunykbqoFZXtwvbf80K4eZBHzQAaqgCPI5RjE7EAiVcTg0Cx6qg==]
keycloak-oauth-secrets:
- key: client-id
value: ENC[PKCS7,MIIC7QYJKoZIhvcNAQcDoIIC3jCCAtoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgCG0/uUv1AQCXtRmMnW4doLjIqu7mbXSRk22BZkmEANfnMjywxV4YcpuDhs7VgdrVoPdgQlJmhTa1QxD1fg4Ieil0Mccimc2JwXRZJ5ouptZmvFUcGplM+dBuBHM6VD7MzF4x4pAeY8lv2x6Ncg0FvTmlKn8ilRmz96n501AmNdCBKco8wDDSL1Zz2ln+bGVXPi4DEfEstMG+Z26SH+1sCXGMu4/u64okusT6FHnDglx9oOJGAO2cTKGDBxAAf7fYEsNXWz/lyIlIXWkTbOgoQRqI3D1K1KwuV5mzHkIQh7VYWjprE7/wsvJ3uxia5G+If5CEue7N8nVYQAWhDiI71vC4MjugsUT7XdKvA/TK7EPTVTA+qxwbcTYSuhs6VB35jHqlN0QHVHsYf9ryp9dh5v1J8/Z22r2BwaZoF+W+/yNCy/Oi1rgaXvZX5PuZiSbGa2uWved30TfhyWkliRoQMEAimPNuyBO2dd6DFN96zhDNz17Iuu6n9G58U+PSXh1oTzqlbACLJ1kwD+2Dj8UzTQDec+X8LJN/Gq3y4Zw3GKW5JC4CJ1mjyemoc8pumj4Z9aFcSaJaNNnzdsTCb3m0+hC1TB5kbEhmA7bMkuNRuXOJJTdfIHq0sMhV67FxUPNaloKGmeBBhf060RN4F3wES3OnXZJAnkSRd+U8PJERazFDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBB8U17p/ui6yrhXLMF48jOVgBAR7O35IBnlm6fG1tlKmNI/]
- key: client-secret
value: ENC[PKCS7,MIIDDQYJKoZIhvcNAQcDoIIC/jCCAvoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgBeCd1kh4yCYiyldQ6vUxj7ykt29SFoGyIaoqCGh2sfSBrK9ztN9iv+EZEpyxA2pGv+v1U4okxsj0SreC1a5QDxUMIarwBF5Vo2ELfGbiWvmP4s2CXNhRqgUwCnQR7n+J5FbPZ/xYSYNbJKnUN9HRXWJp1v+JiyxtK4YdrCJejqkFFuRLPuaPTKQNGlgF5RWNFUy2okiPspmuJjktO5lslC6N03sJT5xBCWPQkiSRpRMk7n8wjLzhmDmE/UPvX2uHmUBOTkRdZxUb0HKUeC5XflJG7QAhkzyKmMxtA2QZwG71l8+Nj3G1NxiRk2Sp74oXTCkWKK3MLQkOG+1oK8ZzWg8xzl/PD8IwZsaOPOgA2elkNnIINvXt/IrhOIBGju1Z9kzWXjGGYirK1G0oxhPXIdo5a6gtYwV2IndtXl14MxJZ3rOU2dMsuTC4pgk1+dcpwDtBE8+yFtWaFZ7U7b5Ntq2ejSjx/k4XX6MN7cPfkwm9XIEbHACOq+dNXOELVUaABX1FALhrohns7tobyw61D/pDHk3KQ+k5EaCCGmrMh4ujLFUbemn43Y2ZAYCWPHectwBaKk99X8VzHhKBm5UFkvtk8pYx7dNHM4ckWRl2D2IcJru2KXQ2n2/3sNj/1BkygxuLBbGqGhwA5mByMs4gHeFgaszu7c9jbf5fkJGJiAYjBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBS4MnWGCdC1fqlbrutr2PdgDAHz0rPfa5B2IizMaeBckh8hx+LAX1QZtF5pdPhKAT/VVdKW3gNyTI9eC0qgk83Sqo=]
minio-credentials:
- key: MINIO_ACCESS_KEY
value: ENC[PKCS7,MIIDDQYJKoZIhvcNAQcDoIIC/jCCAvoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgBOiNvAkjxyDqVoU3Nz0kxw1AeSh5FKAg86W6I15Gqq+pu/GsEJkVFQ3fFgtbSLx6s0z5x2C9xnVeYwXRiIretL/8/yKQvPnnD4w4mTxLq06RbO4/nLhzyJkW4DZxvdPbu41b9N0xoeKHIFKISje42NTz1Cl6hXuL4INTTmscgWZSjQvv/v4Bno+gj36lB4SjiHLVojGRgXGcYMdAhBCngbtrcn3yudTpkawkkZ4QIa6KpaLhgfTC5s0ooPWL7oReCEE/YhuT/O+PoqIomrbwXQ3NZOfFcW7pYlqoaxKTk6Tj5pjx2MgAMoM9pDVNDPgPWFOaL7Vlt8Ht2qPc7/ncHduX5A9HanksK1lEF1D3ff9hr5U92dtgpHhz4C13MnD160WvyOaPYu5wT77I21IPHf3ODYoKiEv9mOnqhWosVUNeqC2LtxCFmbS5OQj/M80Zv4wbAJJVq674sYYXN3Q+0H03v6OtF8vocEQClRwVVxGTxna2sVk3uYwZ/GRbidgt2gJfe9WiZMMhyFm4GO8KiyjZL3+/9IPXtLNhxSaCk0A6cBj2X8FSq9vRzx1Q9F7KANH7zJ8ecp8HTmJ5jrrSYC1dnSZz2vHMP+7Lzc+4OkFyAuOpGLNpkGt4YB3MsdDzFDcKqFO/YGxKqQJY8EJHN+KkcftAdHsm8/zohN65N7ZDBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDD7+pqFAljTix4xkKJlYG3gDBsKSCnWsZxe6mkqDOPfovAgNlv7e3h+KPJnlMuyFzdhuh82WwOXjv0IT61Mmg8Gbo=]
- key: MINIO_SECRET_KEY
value: ENC[PKCS7,MIIDDQYJKoZIhvcNAQcDoIIC/jCCAvoCAQAxggKVMIICkQIBADB5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW1zLnN1bmV0LnNlAhR2ol1mOJxYnJBsqPN7ZsyetwyPtjANBgkqhkiG9w0BAQEFAASCAgAxHYlp3DYDBt46d/i0oM7uV8+v3A7tv8+np7yHtfoyxYAdBwmW5iz4vvqLzIm22huJ1R4GXwlSH0cIgCRLKM9wlF4vxAyFlUQ83GRFFs6g74Wg3w5H+NDWAEVYUYNjC4RHo1fcpgZM0qZrsnDy3+AaFXRjdKKblSgSqkYmVVoZSAsotnmM0RshSzbc4Uij6b1qvZAg4gSIqS06Tr4fkyttwMg+fYr6ut8uh/0aDnQwE0ViGXp1AnEJFzJMmXhweGEBt0laV5ePxaYTc7JftOUTtzO2+lLT4tyJdzUB2+ShqSxMMM5tu2ve1s1XMk2UO5pRnPihnCrj62S6oLLTpoPauyWEpIz5y8Dl9j5RBQDukWVB7q6LZ/oSx3p0hrLSupfyZccznM7izXl/Fo3U+Xp0bU5jYPD/dPUxQWr8iXy65sV4ZiPfyx1wQ6wrNdBjDwzFXFGblD0QOHUUvs7NyrOP4L6DplPezQYNrrb+09dHHpxumei59mtSlW10YXjXQETEykxllh8GaV1QR00r+kPK0aD/lAxtFaktdapNg9YDdONDWolZ3qiByqXBlJOorCq/miRKTPkjbP/2A2xChmVfLPT8/iQJng4hWIDgNd8lTiApFJYFtjJCzVYZ7YvWY0dt6JoiUJHxCPdekxtfGdZMvlNmr/Fs7g8Ca53MQ3Rp/zBcBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBOmeOonJ4a/0CvJDxE47ApgDDWwixaivSgMpo8d2DFfX8w4seoPzXXdxzLY6YyMxdvqURuZdo59azPrDgE8zR5/SM=]
kube-system:
cloud-config:
- key: cloud.conf
value: >
- key: cloud.conf
value: >
ENC[PKCS7,MIID8QYJKoZIhvcNAQcDoIID4jCCA94CAQAxggKVMIICkQIBAD
B5MGExCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRV
lBTUwxMjAwBgNVBAMMKWludGVybmFsLWRjby10ZXN0LWs4c2MtMS5zdHJlYW

View file

@ -1 +0,0 @@
../README

View file

@ -1,17 +0,0 @@
---
# AIS
ais_user: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgAkB/5EYU2+84yTLWzMAH6WamvTuDpvavhaydpZqkEHguJK6AFSyCkzYpFdfj2oACzyysTzyg7OFTD9lwE5RQPVycaMi3s1CWFur2OeKAtY2FdX/w2v2VKrpTM5+FtvfOTfqIze6dydBtatbJLuinXaHFGNYn4UtrJOEuZjc5avfo8ow30EX2C1pcnOTqhsLdJVPl37/2QwE/be0YtIeP6L+QQu8ehJu5BsFtXSFboXksQ2cifBmp1f84XzuVKf9G11kiIogowTUQhk8db2D1saJs+OfV1mb5ZiCGThvWtvo73PNcCTyEIVEEQs2N8zLSVBnXd0Q+O9VWmkHzbdTOfcLeQ1U6NFOU5u9uxbXLG8rusTHqN4C/CPwyr6KjUbtOT9ZjZynE2sdB0tK+yPI1vKklYCnvEEemJTT9ksVBtiKLWImxtDWoM89OotpNRT6PiXIzFjx/R3YQjioWhX0XisoA+COIdsYuO6PV+WeN7iiU7ccqZpy8z+R45TEY0wmh0EH/iNxj586T/B6Z1CHCDnQf5+LpMswo7caE8BeWK4kt5EkqBH3OYcyryfFgJp+/b+n5qFfccrPOC5A8xH1NR70PdiXBRY3JC+hys/7tfEvukn7TNc+M6sctF4DD06gGa94WxLUrDMiJyMbAvJv5Ka1+nnGxPjD9IdRL49Ur3H/jA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAgRL3FwwAhJ2L5rT2DFidBgBAzaIkeV8SeCHGrhSauSH1g]
ais_user_password: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgBdRURPL8SvTVgSa++1JJ8zug+E3MhaghBXZ66kPmLK8qQOQ90iVHIbEYpqtmePhLcpOinDThapcM0zVHpzAbqWyLqZ7LN8NTMvlBMZpk3Sl47IVMLbWgqz8IdnXeDxF0xgooolky4zTnXpQl4EzNfjIdffqiAP0MKCD/ZX8KdUfT8nzX+8pqlTre7QVbr7A4JXSZ3Bs+n+MvX7zKO/JgJ1Cowi7NQqikS+lOekSbn/NLqgerwLRkABdyir/3k7mmvt9HpSTfCVNNFUrrmGH6L3mZKYTpNzKndzCGXFCb3VqOOAOfp2OeTyYiAaQyCAGglsghW4Fbi/8rHguRc7cGwWph5tyUDplIW6Y6kzWLvNPZKk8GE9BuBupnA16wLfsfabugAzk5YeC3n45tGJfWkNdLu0E3qRgr+mQoQ9TQ7xkzo2oGO7jcdxscgJ6uTNoDKkikxWvDJQ8i8RWCUSDq8YW86svRCk8NU3X/EmwLNCJ6CvNeoYK/1HAdbhbhUjOgwVvFdv3x3m6nI6/cWQsf1f61IjxmVJj7NUrJ7UqpxHZRGHJrL7g00oEu2aIumJqMQY9rkiTMT4wi8LpAc+gys/RdysomJoxweU2FFLEdzyXHhbzfecsxJWBd6I84ovvqEHVOPvqhfqBoYHQcvD9pAl+mVG94sZGjLVgwvb+mfSMDA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBDIRxxr8vyAEBLLBcnUA70FgBDaQqr6a5nxSme1nSuT6nMs]
ais_server_host: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgCAtaXj21ZYquOeydAPFzSJUZG+hMrvSBJVNz6FTY3DaJZsp1qEnFJQMFitz9LP2GEtJL/oaM5alcZFeFYtVb5PvY50J09x4uR1NO1dGbg9E5YM2EPzPr6+wvsyCtVFZQjammZWMBcpuMKu7lNPinApSgM1kSNozt1O0nNcUpq/ddXLNry5rkXg2OH1a5AmDVAQgUQyfIGE103lMlQOtXHE2Xsz9yy+n2jGfdNYg3wZvrh/eINe9uGvFvHQlGrhkIr3Vj/zeejNh8ezo12VYPv7R3MzUKDmKQAtcUaRQX+T+g7ZgtDg6bB2sgultQtMKvY7ZiHp0KV4TL6kUoTNU47fTQrH4ULYEs7Oe/iacakhPFaEhuWTv8KTz+pm/9fqIVc2+aL3j5ksKveVeExvwDMenIxYwdSL1YnRYdwgFMMZpOXGCuGPLL3brmXWK+oZIKCT/o6RUMDRYrKuBhOhSA0h/j1GlGf1yeSeaqA3f22RTlkq42j8A/Hvr61+VXzW1WnjdOusO8bm/x3fMlh2JoP0BKvsQlU68OsE1psAyROxD+43ASwjLgbFbvF0FPhvile8tFgTb65hqv8z458enndxi9TXSONW3/RPrUPjBW2yeTA6lzV1lwvnVqNhWuq05bGb5PshNe48Zs5RloBZBHfgoooI8KopA4N6oDEcZhwF2zA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBAxVjdhta4XE2GlRn0ZTruMgBC6Clsi8RTCb/CmPE6iKP85]
ais_server_port: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgBTBd+olYXXQrkyYLSS5IpMwh1vmdUe/aKbgTQRIqxIR23tu1Fa22fLo8A7qT6ibKJPf5QmPJpGFuLykUOUZeXhJBpMf7wsFrlQEWS6N+X4wz/5lEdftJNwzI4KVtA9QQipAOCz+hsPSJf5pGgghBLleAgUycimPGkP1tvw0AWmcf+fIx9ZY0RMWC5IAgBlk1SRm+t4X4SokaR8lAmSXaa5INaap0QWAcPZKme4ksvZiVrLKRXc9mxPqmJAhlBRcHuweKGHCCbazNbsqETaRvm4iISG/lXISf2/vj/39GJf/6TflgBZQX8ZIRM3z1xLYDQPAOPLOf9a7Rw9q2D875kpU16HEOe25i02Z6OY0V3kPKSLE1UttaykSIAQlcDJUuiZ5TDF8/xqJ9pb2e5ECcufFWgWjsVlzeOifmWUQaJD0v2oBYDpU3HuC6ByNuIYwR9GZDdxtez+6ddHC9M14uJKhjdLWMtMeVTkdnx2azqW73fD29IadfHPaRDVgrRndsWg9gy5MX9p+mmS+VywFiTtUqdbfI0ntghJLIqMMmMviWnXYLuKdZiOf4aovKVVl4N4M2S1+peiKrm8a0qAV8qUN1TDkBIg+BC9DVf522ljYWoR/Ed4aozPyR7F/oKXfXMk5tGSoEs7y/U5/9zzHLhuk0opeQhtSdXsNwhO+nXJDTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBArtsG24zaa9Xi2OZxcNQtTgBCiA6q0Q533QKrQjqOrQRlF]
# Mongo
mongo_url: ENC[PKCS7,MIIDQQYJKoZIhvcNAQcDoIIDMjCCAy4CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgAzc22YQbSVCnVr6hBHCvbvS3A36lquITzbpUdf2MvwlOo3dekL4o6LIHjtG/9FemCf3U9oTM0MloaN8bP5T0//8nHl9fJ+bCxPYdiFyvOqJQNr+uRJ6IbtEEmTfCj3b4k810IdYPQDKqGPgwks+J9HNKvvUi1djXfKO5BwFrfVuerRcDr6BQK+cerjBbyC4ZiKnlu4LlrU2TqPxl/wSWmvFscLrtOrhNBVT0n0Yr5MLZxX8IY/KafyKxlTNbcpMKR+yweCT5prG2M5B+waClwA/DMJzgnNamKh4+bfcERl3amG4SByPnxCQvUuAY7OEeSjXLE7p8i/cuB+b2JY2S2nZgHOUnlrtfBwNxOPEyAPiqW9KPoVWvyfuCg/AbDaXknrvyC38lFM290YBxiEHf7NYW+Mcj4BTR8EdtqvK9YHnyqWnEaH49st1/+RoL4dp+Ri/g19QdytMuGNDRR1+yptZA46iYo/zQD8joi1ZvWqGqkqbN/yMOmw4yF1O9y3wucZqH4VMOue46JB9IgIWx9VsanhG3yOqJF5dt2jxEOVAKMojwoIYRYrBTDs4TM8jXV5PBv6bSmLx/D0ZqcynHuhJHrMz3nWP6xvv+7xkOvrHMzfsWFkGiss0vucPPkvr5RhANbMHlY8QUrgWySKPYPH2o1GtwAcAJ5AjEym2tQT8jCBjAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQ/aqsfxqr+KwxIn1TbeEaq4BgwruSUp9/Ljhz8SJ0G1YpEtvNc5Sc/bSrUJLDIn3MWvaeO8VuefWjZSevUHvE0UAPBAXCHrqwPVGCAYSKXCK4vLJiuQJCYMEaSYRONVmtSVIsokbxqc+gffPTESR0OD8f]
mongo_db: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgAujJ6xUAiOM85gaL0uWbvzFPp2y5T/Om5/4ganuiVuxqj2eN1u/E25GkTDCW99BtjUZHibGLx6Vl0gfOZf9IbthI1/FmhVStK0SGh8b+FSdgkofkXjVjiqPDd+WLf3T8UQXHULck7RXvfAYHRSVHvisvIy9ceZUBhDwtXVcVyxYIq7mjukymkhDvYlakKD9kR7aduh6PoAc/lpF6S9eY8e7A6LoMP19pi45fxWboLck5UThH3ozFHAwlEOHJLbK5fQJhj6Ho1R0AaXLgr25cket+yM39vvk8k6TVEhoHWSoBFHP/iQTYIpiSdEGXK8BmvxR0plZkwRcikSzNgXGKveCNVf3Fvwf56mWRFdrMnwZHYN02dyjI9xfPCBGBKxyCuoVIGd1T11FnHimiBVOI3DAJHtPz6XIJbzGTudVHpzHVFXWi7JvZMaQnbgp8F+Kutp5HZ8CyfPckSx6dmh2OJ2VZrAI2rH9woinbvdgEM3GzJfwxnvLhwtFXGhtCEv16f/7Ut++oNw+Hec2a11/5ahFcWEd8PFLDI0OUulHCiTsTSJTBHZgONUZSmAHGtounVM/bA8T6HBPt5A2KGuIuMBs1iaiZBrVE7bRtrFhV4bwgaTkTCBj3iYRcw6b/FjU9+7FMxqzaFToTQgAbQm7+8VrvCIg9UPjjzWNmRDr+H8vjA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBBTiVQCg62iya2XXkg+oBu9gBAbHq3SeO/6Y0z3WeM+pFRR]
mongo_collection: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgC3eZ7thbkm8W5/kBBgNbM8Qd2/KMmB1Takp2X1oCKyDslno0tv49AJLQlGAJPzPjTe15ekLqAPCM2WtyXGGJfGaFOf952TDTm6duXeJuGCDlRJjn1lTdG/+ZjV5+m2W60RyHlF2b7HxQ+O7Wc2XsZjSfQvqEQ+G6Nd6j7XXBIRY/GrGc8kf/0s/8YT8j8GWj06sQ9ty0XkXavugzrrnJpyMyGn5HL48mAbCauqhZsCp+0FetUTLE0H4d78zPCviWn3cR3C3N49ErtUXjH2nIGDDFGt8oB1mrOL9Kb83Gp7043VZQEmq0CkChON6j+Sff7YYfZlFL4qnxprt/7Hpj2C9LApXqXfMO4bXWgVYKL2m8ZNaavD4zBSw2gsUAfeiJzC3XU9UAYuNo/dCdhZX7FMLXrBh6UEyn41xia7rdF7ngfHM7pOqxZ0nSWm+HEnCHxdqfOCShVn+zHbwAmQxtIyYQlkXnLb1m8oSWiksDX4itCx0B4Cq6id5pTL/hzBjdr7UijDTCHyYVfxT3ZHxxMtMT7bfpDHeOBEuPCLLnm1lS0wunL6hfhHTQhPm1j5YwOgz2mBOK64V6+cH5JHccFMqBHe23j9Cc0UYSofXxWe2bjH38ArPtdUurxdi5sDzMZ3hGphMLDqvErw+eSXWT9oW0zd2XbYTGzaQt/eAUEBkTA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBCE2gL0mEbjM1Fay3FqCnKXgBC54jGkUKiUyD0+r6Wcsz5h]
# Kafka
kafka_bootstrap_servers: ENC[PKCS7,MIIDAAYJKoZIhvcNAQcDoIIC8TCCAu0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgChhzPIejX2vH2CuYxpBWgmdeJ2+EVIcHX8qXby8qdOmna31TSircWyKzmxaNR7zdxikv+yNYAADjQlV2SknJQUupy3F6Wk+Qj6sRbeJyVPEaoGbqggUDkOmP/Jk7+KohHZag/tkcVhceadjA5b5WFCKV4Deik2DSd9Uc6E779z9bYo+TrO2IpExD9ofg12RxZy/sESrQfxuqjNL5PbTRmsth0tz9VsrQqNGT8Y16lVEQxxjMoLxZVraNePKh13hiE1aMQMShVCAwG6AiElh/zoINEhj5FdrX3lkklxmuaK+BBWE0GxsxJ+NclXCpZJJK96iF4qr2zFjw0gSGA5iyat4bejiVDF7opJ4Xocr76L5VxC8TMTl/GG1m8C473ZBn/LYR4IaoacEiJzj70DAjDR+IyXE053DI4MQrhVbu5tS9Jy+//479YSQMpxW+oFCMCFYclYGbM7KbemaGZp4VXIDtkIjJQT1pPhXB8CCriVReIT4fuR1ZNHzDGo6sbJI4QBOzVYn1U9vjC+hJ70d8Zy50dTsCESWzkiBTEoxgpGhRzgOXqM2GPo/8DP35/MDeCzfIsxbEI5++rt5K49QKYgIhs9F3zVH7w7gohL2DOa6IBNcra2zIlO5K/5hbrP/NbgBt5RNH/23RqYzW1pAAyccA9fvTfxRIWWPAh6VBLNkjBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBA1LCUHLjtX/oxgXCk031YJgCATgykJvApCxV4HAG1LppgQ5c8SUhS4IhDzh9WK7aHzDw==]
kafka_topic: ENC[PKCS7,MIIC8AYJKoZIhvcNAQcDoIIC4TCCAt0CAQAxggKYMIIClAIBADB8MGQxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxNTAzBgNVBAMMLHB1YmxpYy1kY28tdGVzdC1jb2xsZWN0b3ItMS5zdHJlYW1zLnN1bmV0LnNlAhQG2bohqn4F2hjswgLPyO7WzPYlqjANBgkqhkiG9w0BAQEFAASCAgBwjC7R7TBDtr1PTt2vzN0cgkMuCn8d/dZWdzMiNtFT3RZzgOLNUdKz+OnouO9apkgIXAqHqL9LvYRqXWn5REgJnYS4D2AXr4Jm4RbrE9mgsBwipd+wGVhqbVYfzw3fIw3gjZ6884IGczZxCnsG6sIvfEbU52YLTz/9TCnQpy8ZvR54si0NcdLdWjpIoQ/mZ8T10KePZleQSNLZBdCzxSNSHUXolHczjU04ygB56bYxzoqcsll6t6piAi6p2tS2nzz/6hj8VIhG6IFAuIIMTB57UsQ453TrvD2B0DxSczabxNiZwWk0fSzVruLNKgkY4PQGJx2LrJnpmQBBuOm+a/mXd6B9wWpdaPRmAhBbUZYtnDnP9oraBt+R0QIX+AUu5DJ0OJCk8PbyMlSsfo6FsSjVMu5fnNMnNBpDv8b+MA9UCLmZy66FL7u0BEiDIdeayC3c90SE/Fa/aQwuJFXCqi9Tb0QwFVkPFk9qT/qbVO3LJgMmMacv+SDWrLp6bhCZVP1l5PPZHi6utYRfmIFwgBoBR0ApdVwXlgl3bOaSNQ0Ji5nDPFh9l2GX/Hp8lHZkcuAGaXp/WQ3Rtm+bLg37GZA8rVFYNnG8fZaP+Fmx/WsTD1jMNJ0JK8Ias3IuNLqRPdooE9iTlykie3BPm20wrl9IQ3+TCmexItSeBpZDLAAu9TA8BgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBC+63fXi0skQ3zc1BnuH54wgBDgsJ/eZv811ovbPxeA1f/r]

View file

@ -1 +0,0 @@
../README

View file

@ -1,5 +0,0 @@
---
mongo_password: ENC[PKCS7,MIIC7gYJKoZIhvcNAQcDoIIC3zCCAtsCAQAxggKWMIICkgIBADB6MGIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMzAxBgNVBAMMKnB1YmxpYy1kY28tdGVzdC1tb25nb2RiLTEuc3RyZWFtcy5zdW5ldC5zZQIUNQGOaYYmfTwiVnJUPEx8MbKWdBcwDQYJKoZIhvcNAQEBBQAEggIARvdBphGY8EVZNyQIrbraJzM49ct8GfJa7CgWKDEtxsHz0/JLOQGThJJzJgHu8gZCKFg4V775VmE9aMBIDJ+1lZdNw0jtbO9f32DA8JIpEhJes4wCxQheXTfH5PsHKYgGFld6YNbSj/QYis5iLQNlhVDX1YV3tBg5Tle/cHxrEeeJNLP75AUKAxel8iRiyTYbHjeQcJACMwyZ8jnwdeZGXnW5D7rhenG+5X6DG7iUgXUbgHv4/JT5pKC5Rct5BxrKuhq9kEE17cDACwh2lxE6DgNLegchH3Xm3sM/NWjUL7I+YFnCetnE1BDwkHUTVpjzUurnp8InoxRxHJjiagJaJFUWiVYbDZksUBEAtl5qeD05MmNo3qt41h7zS4YqjiJ+f3htE0MJmq+LC0YsL/qo0VgeDiq4sy7gm5/Xs22J9DEcywoo/jYnqumD1321BtoHSqI+PiKW4C3q8qTOGzHm6VtkB4k+D/kLx5ksh8eale8Z6GHnUcz8iGUjgl05xZAp1Mw4OBfWJRIyaKigH8erl/udmQBTS6RtWTRHrfY8wjznLt0HT79/4ThAfYu8m3fQ3Jjyo/StoKX5dUIghiUwcOgO7TLyNHkQYJR8pSOiYiZ4OrqADwa2t34sPniPOW1Fq5EK80l1BwxG6shgY/YiKLLI22d6GJIhvCwNxfdm0RgwPAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQm98NjFkHBradjBAvwuwbo4AQzmNmi9l8GzHTNxnP7eAHfQ==]
mongo_express_password: ENC[PKCS7,MIIC/gYJKoZIhvcNAQcDoIIC7zCCAusCAQAxggKWMIICkgIBADB6MGIxCzAJBgNVBAYTAlNFMQ4wDAYDVQQKDAVTVU5FVDEOMAwGA1UECwwFRVlBTUwxMzAxBgNVBAMMKnB1YmxpYy1kY28tdGVzdC1tb25nb2RiLTEuc3RyZWFtcy5zdW5ldC5zZQIUNQGOaYYmfTwiVnJUPEx8MbKWdBcwDQYJKoZIhvcNAQEBBQAEggIAX2/rJQAifuQ0I38rPTgj84U2+cdUH8u3AyXId3anRz0Vc2RtymWy2mlu9mnrPM6cgeEGYukphyoqYU6YWkAiRqH9epWusY2wKxK/FqeKDw0akSzwRm+AVW/VngCkW/7q3PwOf9DjwkTN2unK9kyGgiudjOxonSyLyoJBiYr0ydzqCHcMndnmFUOqwZ8YvNl1zaxuO/JxrZ9Aa5YSu/skLVsKs8UNxslHeybNODHdt9gldFujKPXyBns3xgezeu/FaZZ8OKB6iEPMwSx58ZVBxNZEv5CdOFBpX+TAKsuBsltKJNg+aAWc5FAVaf1DFhw9s0JOZIDxJK2phV4ZF3mVGjR17CRZB+o35shNlURkSDxS1eLiTFrxjmyoH+Tibm6G+PG9k2srp4hZpdSqSkf36WDO4bov8OMQZZzNoNPd0WuyGd8gqjCpAThWfcWc2pokas0jEaSFwsHjCS+fXp6IhH4yQgoZniTtDOymONdPXExRZiblScUwmT/U+rW1So493/PMxJ//kxnHSddiHkxSO4FLCMPR69KB2xNpYFdo81rmrvuen1qIXA4HWEdm8NtE94Og3u1ATqhkyHz2EsO63U96lpR14AIApMfXadsM5F45l9ZFxPp9mLc2D+NzMVIO3/5lze+E8+Yjw7rx5oSayieHZc4D3Pmbt3ng4c8LxqgwTAYJKoZIhvcNAQcBMB0GCWCGSAFlAwQBKgQQdV8vffeXAmPZ7hL0MTZbfoAgfXw50yUodXVnWqAluRo+1sDWMQnNG73HAl6TEX0s8O4=]