Skip to content
Snippets Groups Projects
mongo-init.js 5.48 KiB
Newer Older
  • Learn to ignore specific revisions
  • db = db.getSiblingDB('policy');
    
    db.createCollection('policies');
    db.policies.insertMany(
        [
            {
    
                filename: "example/example/1.0/policy.rego",
    
                name: "example",
                group: "example",
                version: "1.0",
                locked: false,
                lastUpdate: new Date(),
    
                rego: `package example.example
    
                taskID := "0123456789abcdef"
                `
    
                filename: "example/example/2.0/policy.rego",
    
                name: "example",
                group: "example",
                version: "2.0",
                locked: false,
                lastUpdate: new Date(),
                rego: `package example.example
    		
                allow {
                    1 == 2
                }
                
                result := input
                `
    
    
    db = db.getSiblingDB('task');
    db.createCollection('taskTemplates');
    db.taskTemplates.insertMany(
        [
            {
    
                "name": "exampleTask",
                "url": "https://jsonplaceholder.typicode.com/todos/1",
                "method": "GET",
                "requestPolicy": "",
                "responsePolicy": "",
                "finalPolicy": "",
                "cacheNamespace": "",
                "cacheScope": ""
    
                "name": "exampleTaskPolicy",
                "url": "",
                "method": "GET",
                "requestPolicy": "example/example/1.0",
                "responsePolicy": "",
                "finalPolicy": "",
                "cacheNamespace": "",
                "cacheScope": ""
    
                "name": "exampleTask2",
                "url": "https://jsonplaceholder.typicode.com/todos/1",
                "method": "GET",
                "requestPolicy": "",
                "responsePolicy": "",
                "finalPolicy": "",
                "cacheNamespace": "",
                "cacheScope": ""
            },
            {
                "name": "didResolve",
                "url": "",
                "method": "GET",
                "requestPolicy": "example/resolve/1.0",
                "responsePolicy": "",
                "finalPolicy": "",
                "cacheNamespace": "",
                "cacheScope": ""
            },
            {
                "name": "failingTask",
                "url": "",
                "requestPolicy": "example",
                "method": null,
                "requestPolicy": "",
                "responsePolicy": "",
                "finalPolicy": "",
                "cacheNamespace": "",
                "cacheScope": ""
    
            }
        ]
    );
    
    db.createCollection('taskListTemplates');
    db.taskListTemplates.insertMany(
        [
            {
                "name": "sequentialTaskList",
                "cacheNamespace": "login",
                "cacheScope": "user",
                "groups": [
                    {
                        "execution": "sequential",
                        "tasks": [
                            "exampleTask",
                            "exampleTask2"
                        ]
                    }
                ]
            },
            {
                "name": "parallelTaskList",
                "cacheNamespace": "login",
                "cacheScope": "user",
                "groups": [
                    {
                        "execution": "parallel",
                        "tasks": [
                            "exampleTask",
                            "exampleTask2"
                        ]
                    }
                ]
            },
            {
                "name": "mixedTaskList",
                "cacheNamespace": "login",
                "cacheScope": "user",
                "groups": [
                    {
                        "execution": "parallel",
                        "tasks": [
                            "exampleTask",
                            "exampleTask2"
                        ]
                    },
                    {
                        "execution": "sequential",
                        "tasks": [
                            "exampleTask",
                            "exampleTask2"
                        ]
                    }
                ]
    
            },
            {
                "name": "failingList",
                "groups": [
                    {
                        "execution": "parallel",
                        "finalPolicy": "",
                        "tasks": ["failingTask", "exampleTask2"]
                    }
                ]
            },
            {
                "name": "testList",
                "groups": [
                    {
                        "execution": "sequential",
                        "finalPolicy": "",
                        "tasks": ["getKeyDID", "didResolve"]
                    }
                ]
            },
            {
                "name": "failTestListSync",
                "groups": [
                    {
                        "execution": "sequential",
                        "finalPolicy": "",
                        "tasks": ["getKeyDID", "failingTask", "exampleTask"]
                    }
                ]
            },
            {
                "name": "failTestListAsync",
                "groups": [
                    {
                        "execution": "parallel",
                        "finalPolicy": "",
                        "tasks": ["getKeyDID", "failingTask", "exampleTask"]
                    }
                ]
    
    
    db = db.getSiblingDB('infohub');
    db.createCollection('exports');
    db.exports.insertMany(
        [
            {
    
                "exportName": "testexport",
                "contexts": ["https://w3id.org/security/suites/jws-2020/v1"],
                "policies": {
                    "example/example/1.0": {},
                    "example/example/2.0": { "hello": "world" }
    
                "cacheTTL": 300,
                "key": "key1",
                "keyNamespace": "transit",
                "issuer": "did:web:example.com"