Skip to content

Commit a0f7679

Browse files
authored
misc: basic stuff: README, docker-compose, dependabot, workflow (#1)
Signed-off-by: Stephan Renatus <stephan@styra.com>
1 parent 32c668a commit a0f7679

File tree

6 files changed

+101
-0
lines changed

6 files changed

+101
-0
lines changed

.github/dependabot.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "npm"
4+
directory: "."
5+
schedule:
6+
interval: "daily"
7+
open-pull-requests-limit: 10
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: CI
2+
3+
on:
4+
workflow_dispatch: {}
5+
pull_request: {}
6+
push:
7+
branches:
8+
- main
9+
10+
env:
11+
NODE_VERSION: '20.x'
12+
13+
# When a new revision is pushed to a PR, cancel all in-progress CI runs for that
14+
# PR. See https://docs.github.com/en/actions/using-jobs/using-concurrency
15+
concurrency:
16+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
17+
cancel-in-progress: true
18+
19+
jobs:
20+
checks:
21+
runs-on: ubuntu-22.04
22+
steps:
23+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
24+
with:
25+
fetch-depth: 0
26+
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
27+
with:
28+
node-version: ${{ env.NODE_VERSION }}
29+
- name: Install dependencies
30+
run: npm ci
31+
- name: docker compose up (smoke test)
32+
run: |
33+
docker compose up --build --quiet-pull --wait --wait-timeout 300

Caddyfile

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
debug
3+
}
4+
:3000 {
5+
# proxy API requests to EOPA (managed via docker-compose)
6+
handle /v1/* {
7+
reverse_proxy http://eopa:8181
8+
}
9+
10+
handle {
11+
root * /usr/share/caddy
12+
try_files {path} /
13+
file_server
14+
}
15+
}

Dockerfile

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
FROM node:20-slim AS base
2+
COPY . /app
3+
WORKDIR /app
4+
5+
FROM base AS build
6+
COPY --from=datacatering/duckdb:v1.1.3 /duckdb /usr/local/bin/duckdb
7+
RUN --mount=type=cache,id=npm-data-playground,target=/npm/store npm ci
8+
ENV OBSERVABLE_TELEMETRY_DISABLE=true
9+
RUN npm run build
10+
11+
FROM caddy:latest
12+
EXPOSE 3000
13+
COPY --from=build /app/dist /usr/share/caddy
14+
COPY Caddyfile /etc/caddy/Caddyfile

README.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Rego Data Filtering Playground
2+
3+
This is a simple dashboard to demonstrate the data filtering capabilities
4+
we're working on in the Enterprise OPA Platform.
5+
6+
7+
## Getting started
8+
9+
1. Clone the repo
10+
2. `docker compose up --build` (expects an EOPA_LICENSE_KEY env var)
11+
3. Go to http://localhost:3000

docker-compose.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
services:
2+
playground:
3+
build: .
4+
ports:
5+
- "3000:3000"
6+
depends_on:
7+
- eopa
8+
9+
eopa:
10+
image: ghcr.io/styrainc/enterprise-opa:edge
11+
pull_policy: always # better when using :edge
12+
ports:
13+
- "8181:8181"
14+
command:
15+
- run
16+
- --server
17+
- --addr=:8181
18+
- --log-level=debug
19+
- --no-license-fallback
20+
environment:
21+
EOPA_LICENSE_KEY: ${EOPA_LICENSE_KEY}

0 commit comments

Comments
 (0)