Skip to content

Instantly share code, notes, and snippets.

View sandromello's full-sized avatar

Sandro Mello sandromello

View GitHub Profile
@sandromello
sandromello / run_system_agent.sh
Last active July 11, 2024 18:41
System Agent
#!/bin/bash
SECRET_KEY=xagt-$(LC_ALL=C tr -dc A-Za-z0-9_ < /dev/urandom | head -c 43 | xargs)
set -eo pipefail
SECRET_KEY_HASH=$(echo -n $SECRET_KEY | sha256sum |awk {'print $1'})
psql -v ON_ERROR_STOP=1 "$POSTGRES_DB_URI" <<EOF
BEGIN;
DELETE FROM agents WHERE name = 'system';
INSERT INTO agents (id, org_id, name, mode, key_hash, status)
VALUES ('9A7C5A60-C910-4AD1-8A70-997E37123894', (SELECT id from private.orgs), 'system', 'standard', '$SECRET_KEY_HASH', 'DISCONNECTED')
ON CONFLICT DO NOTHING;
mkdir -p /opt/hoop/migrations
curl https://hoopartifacts.s3.amazonaws.com/release/1.22.22/hoopgateway_1.22.22-Linux_amd64.tar.gz -o hoopgateway.tar.gz && \
rm -rf /opt/hoop/migrations
tar --extract --file hoopgateway.tar.gz -C / --strip 1 && rm -f hoopgateway.tar.gz
chown -R root: /opt/hoop
mkdir -p /etc/hoopgateway.d
cat - > /etc/hoopgateway.d/config <<EOF
PLUGIN_AUDIT_PATH=/opt/hoop/sessions
PLUGIN_INDEX_PATH=/opt/hoop/sessions/indexes
mkdir -p /opt/hoop/pgdata
PGUSER=hoopdevuser
PGDATABASE=hoopdevdemo
PGPASSWORD="1a2b3c4d"
docker run -p 5432:5432 -d --rm --name hoopdevpg \
-e POSTGRES_USER=$PGUSER \
-e POSTGRES_DB=$PGDATABASE \
-e POSTGRES_PASSWORD=$PGPASSWORD \
-e PGUSER=$PGUSER \
@sandromello
sandromello / hoop-install-vm.md
Last active May 23, 2024 15:38
Hoop VM installation

Create database and permissions

CREATE DATABASE hoopdb;
CREATE USER hoopuser WITH ENCRYPTED PASSWORD 'my-secure-password' CREATEROLE;
-- switch to the created database
\c hoopdb
GRANT ALL PRIVILEGES ON DATABASE hoopdb TO hoopuser;
GRANT ALL PRIVILEGES ON SCHEMA public to hoopuser;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO hoopuser;
@sandromello
sandromello / target-to-connection.go
Last active July 4, 2024 19:43
Hoop Target to Connection
package main
import (
"bytes"
"encoding/json"
"flag"
"fmt"
"math/rand"
"os"
"strings"
@sandromello
sandromello / postgres-manifest.yaml
Created December 6, 2023 19:00
Postgres Deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
strategy:
@sandromello
sandromello / manifest.yaml
Created December 6, 2023 18:26
Hoop Self Hosted Yaml
---
# Source: hoop-chart/templates/secret-configs.yaml
apiVersion: v1
kind: Secret
metadata:
name: hoop-config
type: Opaque
stringData:
XTDB_ADDRESS: "http://127.0.0.1:3001"
POSTGRES_DB_URI: "postgresql://<user>:<pwd>@<host>:5432/<db>"
@sandromello
sandromello / hoop-gateway-helm.yaml
Last active September 18, 2023 19:13
Hoop Gateway Helm Template
# Source: hoop-chart/templates/secret-configs.yaml
apiVersion: v1
kind: Secret
metadata:
name: hoop-config
type: Opaque
stringData:
XTDB_ADDRESS: "http://127.0.0.1:3001"
POSTGRES_DB_URI: "postgresql://[PG_USER]:[PG_PASSWORD]@[PG_HOST]:[PG_PORT]/[PG_DB]"
API_URL: "[HOOP_GATEWAY_DNS_NAME]"
@sandromello
sandromello / hoopagent-secretsmanager.md
Last active July 18, 2023 14:09
hoopagent-secretsmanager.md

On a Linux VM

  1. Install the cli
curl -s -L https://releases.hoop.dev/release/install-cli.sh | sh
  1. Create the systemd unit
@sandromello
sandromello / hoop-as-a-lib.md
Last active June 9, 2023 20:22
Example how to load C lib from GO

Build the C Lib

go build -o agent.so -buildmode=c-shared main.go

Python

No dependencies required