Init!
parent
ea3b937184
commit
98e5da9990
@ -0,0 +1 @@
|
||||
*.iml
|
@ -0,0 +1 @@
|
||||
postgres_passsword.yaml
|
@ -0,0 +1,44 @@
|
||||
BEGIN;
|
||||
|
||||
DROP TABLE IF EXISTS picc_events;
|
||||
DROP TABLE IF EXISTS picc_locations;
|
||||
|
||||
CREATE TABLE picc_locations
|
||||
(
|
||||
id SERIAL PRIMARY KEY,
|
||||
location_name TEXT NOT NULL
|
||||
-- TODO: figure out PostGIS
|
||||
);
|
||||
|
||||
INSERT INTO picc_locations (id, location_name)
|
||||
VALUES (0, 'Unknown');
|
||||
INSERT INTO picc_locations (id, location_name)
|
||||
VALUES (1, 'Not Applicable');
|
||||
|
||||
DROP TABLE IF EXISTS picc_events;
|
||||
|
||||
CREATE TABLE picc_events
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY, -- ID
|
||||
log_time TIMESTAMP with time zone NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Time when event was logged
|
||||
event_time TIMESTAMP with time zone, -- Optional: time when event was generated, can be different than log_time
|
||||
event_location integer NOT NULL references picc_locations DEFAULT 0, -- Location associated with event
|
||||
-- sender text NOT NULL, -- Sender is implicit in whoever owns the endpoint
|
||||
endpoint text
|
||||
CONSTRAINT valid_endpoint CHECK ( endpoint ~ '^([A-Za-z0-9_-]+\.)*([A-Za-z0-9_-]+)$' ), -- Event endpoint
|
||||
body jsonb NOT NULL -- Event body content
|
||||
);
|
||||
|
||||
CREATE INDEX idx_picc_events_endpoint ON picc_events (endpoint);
|
||||
|
||||
-- DROP TABLE IF EXISTS mqtt;
|
||||
--
|
||||
-- CREATE TABLE picc_mqtt
|
||||
-- (
|
||||
-- id BIGSERIAL PRIMARY KEY,
|
||||
-- receive_time TIMESTAMP,
|
||||
-- routing_key TEXT,
|
||||
-- payload TEXT
|
||||
-- );
|
||||
|
||||
COMMIT;
|
@ -0,0 +1,51 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: postgres
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
selector:
|
||||
app: postgres
|
||||
ports:
|
||||
- protocol: TCP
|
||||
port: 5432
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: postgres
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: postgres
|
||||
serviceName: "postgres"
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: postgres
|
||||
spec:
|
||||
containers:
|
||||
- name: postgres
|
||||
image: docker.io/postgres:13
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
name: db
|
||||
env:
|
||||
- name: POSTGRES_DB
|
||||
value: picc
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: postgres-password
|
||||
key: password
|
||||
volumeMounts:
|
||||
- name: postgres-data
|
||||
mountPath: /var/lib/postgresql/data
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: postgres-data
|
||||
spec:
|
||||
accessModes: [ "ReadWriteOnce" ]
|
||||
resources:
|
||||
requests:
|
||||
storage: 100Mi
|
@ -0,0 +1,6 @@
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
name: postgres-password
|
||||
data:
|
||||
password: <encoded password; echo -n "password" | base64>
|
@ -0,0 +1 @@
|
||||
rabbitmq-config.yaml
|
@ -0,0 +1 @@
|
||||
[rabbitmq_management,rabbitmq_mqtt].
|
@ -0,0 +1,21 @@
|
||||
loopback_users.guest = false
|
||||
listeners.tcp.default = 5672
|
||||
management.tcp.port = 15672
|
||||
|
||||
#mqtt.listeners.tcp.default = 1883
|
||||
## Default MQTT with TLS port is 8883
|
||||
# mqtt.listeners.ssl.default = 8883
|
||||
|
||||
# anonymous connections, if allowed, will use the default
|
||||
# credentials specified here
|
||||
#mqtt.allow_anonymous = true
|
||||
#mqtt.default_user = guest
|
||||
#mqtt.default_pass = guest
|
||||
|
||||
#mqtt.vhost = /
|
||||
mqtt.exchange = mqtt
|
||||
# 24 hours by default
|
||||
#mqtt.subscription_ttl = 86400000
|
||||
#mqtt.prefetch = 10
|
||||
|
||||
load_definitions = /etc/rabbitmq/rmq_schema.json
|
@ -0,0 +1,40 @@
|
||||
{
|
||||
"rabbit_version": "3.8.9",
|
||||
"rabbitmq_version": "3.8.9",
|
||||
"product_name": "RabbitMQ",
|
||||
"product_version": "3.8.9",
|
||||
"users": [
|
||||
{
|
||||
"name": "guest",
|
||||
"password_hash": "KzhdT8G04Hon/5BEAasW4KF9NVBpwo3MIKGBs0nJjz8KLBvq",
|
||||
"hashing_algorithm": "rabbit_password_hashing_sha256",
|
||||
"tags": "administrator"
|
||||
}
|
||||
],
|
||||
"vhosts": [
|
||||
{
|
||||
"name": "/"
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
{
|
||||
"user": "guest",
|
||||
"vhost": "/",
|
||||
"configure": ".*",
|
||||
"write": ".*",
|
||||
"read": ".*"
|
||||
}
|
||||
],
|
||||
"policies": [],
|
||||
"exchanges": [
|
||||
{
|
||||
"name": "mqtt",
|
||||
"vhost": "/",
|
||||
"type": "topic",
|
||||
"durable": true,
|
||||
"auto_delete": false,
|
||||
"internal": false,
|
||||
"arguments": {}
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
{
|
||||
"rabbitmq-config.yaml":
|
||||
{
|
||||
"apiVersion" : "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {"name": "rabbitmq-config"},
|
||||
"data": {
|
||||
"enabled_plugins": importstr "etc/rabbitmq/enabled_plugins",
|
||||
"rabbitmq.conf": importstr "etc/rabbitmq/rabbitmq.conf",
|
||||
"rmq_schema.json": importstr "etc/rabbitmq/rmq_schema.json"
|
||||
}
|
||||
}}
|
@ -0,0 +1,53 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: rabbitmq
|
||||
spec:
|
||||
type: LoadBalancer
|
||||
selector:
|
||||
app: rabbitmq
|
||||
ports:
|
||||
- name: amqp
|
||||
port: 5672
|
||||
- name: web
|
||||
port: 15672
|
||||
- name: mqtt
|
||||
port: 1883
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: rabbitmq
|
||||
labels:
|
||||
app: rabbitmq
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: rabbitmq
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: rabbitmq
|
||||
spec:
|
||||
containers:
|
||||
- name: rabbitmq
|
||||
image: docker.io/rabbitmq:3
|
||||
ports:
|
||||
- containerPort: 5672
|
||||
- containerPort: 15672
|
||||
- containerPort: 1883
|
||||
volumeMounts:
|
||||
- mountPath: "/etc/rabbitmq"
|
||||
name: config
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: rabbitmq-config
|
||||
items:
|
||||
- key: "enabled_plugins"
|
||||
path: "enabled_plugins"
|
||||
- key: "rabbitmq.conf"
|
||||
path: "rabbitmq.conf"
|
||||
- key: "rmq_schema.json"
|
||||
path: "rmq_schema.json"
|
Loading…
Reference in New Issue