Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
Signed-off-by: Juan Cruz Viotti <jv@jviotti.com>
  • Loading branch information
jviotti committed Aug 6, 2024
0 parents commit 4b39b30
Show file tree
Hide file tree
Showing 553 changed files with 62,083 additions and 0 deletions.
13 changes: 13 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[Makefile]
indent_style = tab
72 changes: 72 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
name: Intelligence.AI SchemaHub

on:
push:
branches:
- main

concurrency:
group: ${{ github.workflow }}-${{ github.ref_type }}
cancel-in-progress: false

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
packages: read
deployments: write
contents: write
env:
KRAFTCLOUD_METRO: was1
KRAFTKIT_VERSION: 0.9.1
KRAFTKIT_NO_CHECK_UPDATES: true
SERVICE_DOMAIN: schemas.intelligence.ai
steps:
- uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.SCHEMAHUB_ACCESS_TOKEN }}

- uses: actions/checkout@v4

- uses: chrnorm/deployment-action@v2
id: deploy-github
with:
token: '${{ github.token }}'
environment-url: https://${{ env.SERVICE_DOMAIN }}
environment: production

- id: deploy
uses: unikraft/kraftkit@v0.9.1
with:
auths: |
github.com:
user: ${{ github.actor }}
token: ${{ secrets.SCHEMAHUB_ACCESS_TOKEN }}
run: |
set -o errexit
set -o nounset
kraft cloud service create --name schemas --domain ${{ env.SERVICE_DOMAIN }} 443:8000 || true
kraft cloud deploy --memory 64 --rollout remove --image schemas --service schemas --kraftfile Kraftfile --restart on-failure --replicas 4 .
kraft cloud service get schemas
kraft cloud instance logs "$(kraft cloud service get schemas --output json | jq --raw-output '.[0].instances | split(" ") | .[0]')"
curl --location --fail https://${{ env.SERVICE_DOMAIN }}
env:
KRAFTCLOUD_TOKEN: ${{ secrets.KRAFTCLOUD_TOKEN }}

# Update deployment status
- if: ${{ steps.deploy.outcome == 'success' }}
uses: chrnorm/deployment-status@v2
with:
token: '${{ github.token }}'
environment-url: '${{ steps.deploy-github.outputs.environment_url }}'
deployment-id: '${{ steps.deploy-github.outputs.deployment_id }}'
state: 'success'
- if: ${{ steps.deploy.outcome != 'success' }}
uses: chrnorm/deployment-status@v2
with:
token: '${{ github.token }}'
environment-url: '${{ steps.deploy-github.outputs.environment_url }}'
deployment-id: '${{ steps.deploy-github.outputs.deployment_id }}'
state: 'failure'
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
5 changes: 5 additions & 0 deletions DEPENDENCIES
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
vendorpull https://github.com/sourcemeta/vendorpull dea311b5bfb53b6926a4140267959ae334d3ecf4
krakend-schema https://github.com/krakend/krakend-schema c25c680cbd822c8ecf46f4e0d666506beb3cdbf7
nasa-gcn-4-1-0 https://github.com/nasa-gcn/gcn-schema v4.1.0
standard-library https://github.com/Intelligence-AI/standard-library 068b52b8619f6b0fc572a5f9c108a6384f56334d
osv-schema-1-6-3 https://github.com/ossf/osv-schema v1.6.3
20 changes: 20 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM ghcr.io/intelligence-ai/schemahub:v0.0.5 AS builder
COPY configuration.json /app/configuration.json
COPY vendor /app/vendor
RUN intelligence-schemahub-index /app/configuration.json /app/index

FROM scratch
COPY --from=builder /usr/share/schemahub/static /usr/share/schemahub/static
COPY --from=builder /usr/bin/intelligence-schemahub-serve \
/usr/bin/intelligence-schemahub-serve
COPY --from=builder /app/configuration.json /app/configuration.json
COPY --from=builder /app/index /app/index

# Linker
COPY --from=builder /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
COPY --from=builder /etc/ld.so.cache /etc/ld.so.cache
# Based on an ldd(1) output on Debian Bookworm
COPY --from=builder /lib/x86_64-linux-gnu/libstdc++.so.6 /lib/x86_64-linux-gnu/
COPY --from=builder /lib/x86_64-linux-gnu/libgcc_s.so.1 /lib/x86_64-linux-gnu/
COPY --from=builder /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/
COPY --from=builder /lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/
7 changes: 7 additions & 0 deletions Kraftfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
spec: v0.6
runtime: base:latest
rootfs: ./Dockerfile
labels:
cloud.unikraft.v1.instances/scale_to_zero.policy: "on"
cloud.unikraft.v1.instances/scale_to_zero.cooldown_time_ms: 5000
cmd: [ "/usr/bin/intelligence-schemahub-serve", "/app/configuration.json", "/app/index" ]
29 changes: 29 additions & 0 deletions README.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Welcome to Intelligence.AI Schemas
==================================

This repository manages the public deployment of
[https://schemas.intelligence.ai](https://schemas.intelligence.ai), a public
instance of Intelligence.AI's SchemaHub service offering a centralized and
superior experience when browsing the world schemas.

[**Visit Intelligence.AI Schemas**](https://schemas.intelligence.ai)

Feedback
--------

This project is currently on an alpha stage. Please give us star to show your
support report any oddities, errors, and ideas using [GitHub
Issues](https://github.com/Intelligence-AI/schemas.intelligence.ai/issues).

Adding Schemas
--------------

If you want any GitHub repository of schemas included, please open a [GitHub
Issue](https://github.com/Intelligence-AI/schemas.intelligence.ai/issues) and
we will get into it.

Private Instances
-----------------

If you are interested in hosting your own schema portal at your company, reach
out [over e-mail](mailto:juan@intelligence.ai).
67 changes: 67 additions & 0 deletions configuration.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
{
"url": "https://schemas.intelligence.ai",
"github": "intelligence-ai/schemas.intelligence.ai",
"help": "https://github.com/Intelligence-AI/schemas.intelligence.ai/issues",
"plausible": "schemas.intelligence.ai",
"description": "The universal JSON Schema index, bringing together and supercharging the world's schemas",
"pages": {
"nasa/gcn": {
"website": "https://github.com/nasa-gcn/gcn-schema",
"github": "nasa-gcn",
"title": "NASA General Coordinates Network",
"description": "Unified multi-mission schema for GCN Notices",
"email": "support@gcn.nasa.gov"
},
"krakend/schema": {
"website": "https://github.com/krakend/krakend-schema",
"description": "Schema definition to validate configuration files and offer autocomplete on IDEs"
},
"krakend": {
"title": "KrakenD",
"description": "KrakenD API Gateway",
"website": "https://www.krakend.io",
"github": "krakend",
"email": "hello@krakend.io"
},
"nasa": {
"title": "NASA",
"description": "The National Aeronautics and Space Administration",
"website": "https://www.nasa.gov",
"github": "nasa"
},
"std": {
"title": "Standard Concept Library",
"description": "A collection of schemas that come from standardised sources (i.e. IETF, ISO, etc) by Intelligence.AI",
"website": "https://github.com/Intelligence-AI/standard-library",
"github": "Intelligence-AI"
},
"ossf": {
"title": "Open Source Security Foundation (OpenSSF)",
"description": "OpenSSF is a community of software developers and security engineers who are working together to secure open source software for the greater public good",
"website": "https://openssf.org",
"github": "ossf"
},
"ossf/osv": {
"website": "https://ossf.github.io/osv-schema/",
"description": "Open Source Vulnerability schema"
}
},
"collections": {
"krakend/schema": {
"base": "https://www.krakend.io/schema",
"path": "./vendor/krakend-schema"
},
"nasa/gcn/v4.1.0": {
"base": "https://gcn.nasa.gov/schema/v4.1.0/gcn",
"path": "./vendor/nasa-gcn-4-1-0"
},
"std": {
"base": "https://schemas.intelligence.ai/std",
"path": "./vendor/standard-library"
},
"ossf/osv/v1.6.3": {
"base": "https://raw.githubusercontent.com/ossf/osv-schema/main/validation",
"path": "./vendor/osv-schema-1-6-3"
}
}
}
8 changes: 8 additions & 0 deletions vendor/krakend-schema.mask
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
test
e2e.json
flexible_config.json
Makefile
README.md
v3.json
v2.7/krakend.json
v2.7/_root.json
10 changes: 10 additions & 0 deletions vendor/krakend-schema/krakend.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://www.krakend.io/schema/krakend.json",
"title": "Schema validation for the latest version of KrakenD. Consider sticking to the specific version you are using.",
"allOf": [
{
"$ref": "v2.6/krakend.json"
}
]
}
Loading

0 comments on commit 4b39b30

Please sign in to comment.