Skip to content
Snippets Groups Projects
mongo-init.js 3.77 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":"",
    
                "name":"exampleTaskPolicy",
                "url":"",
    
                "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":""
            }
        ]
    );
    
    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"
                        ]
                    }
                ]
    
    
    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"