Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ef89f4fbb8 | |||
| e439e06ac4 | |||
| cbf32fff48 | |||
| 90691a5ec7 | |||
| a4210d08c4 | |||
| be080d7511 | |||
| cc8d599ce5 | |||
| a7d1cc3429 | |||
| 934f00d749 | |||
| 9e1686a78d |
31
README.md
31
README.md
@@ -1,3 +1,34 @@
|
|||||||
|
# RUN DOCKER DEMO
|
||||||
|
|
||||||
|
ADD a clean argo
|
||||||
|
```
|
||||||
|
./run_argo.sh
|
||||||
|
```
|
||||||
|
Verify with `kubectl get pods -n argo -w` -> all server are running and 1/1
|
||||||
|
Any problem with this, can be a top problem from your k3s or k8s (FIX IT BEFORE)
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo ./clone_opencloud_microservices.sh demo-alpr
|
||||||
|
cd ./docker
|
||||||
|
./start-demo.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
GO on localhost:8000, prefer a "chromium-browser --disable-web-security" chrome no CORS session to reach img.
|
||||||
|
|
||||||
|
Before launch or to stop properly
|
||||||
|
|
||||||
|
```
|
||||||
|
cd ./docker
|
||||||
|
./stop.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
if you want a linux app :
|
||||||
|
|
||||||
|
```
|
||||||
|
cd ../oc-front
|
||||||
|
./local_run_traefik.sh
|
||||||
|
```
|
||||||
|
|
||||||
# Purpose of this component
|
# Purpose of this component
|
||||||
|
|
||||||
The purpose of oc-deploy, is to deploy all the OC components over a Kubernetes cluster.
|
The purpose of oc-deploy, is to deploy all the OC components over a Kubernetes cluster.
|
||||||
|
|||||||
40
algos-demo/argo-workflow-chu.yaml
Normal file
40
algos-demo/argo-workflow-chu.yaml
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Workflow
|
||||||
|
metadata:
|
||||||
|
name: chu-pipeline
|
||||||
|
namespace: default
|
||||||
|
spec:
|
||||||
|
entrypoint: chu-steps
|
||||||
|
|
||||||
|
volumeClaimTemplates:
|
||||||
|
- metadata:
|
||||||
|
name: chu-data
|
||||||
|
spec:
|
||||||
|
accessModes: ["ReadWriteOnce"]
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 1Gi
|
||||||
|
|
||||||
|
templates:
|
||||||
|
- name: chu-steps
|
||||||
|
steps:
|
||||||
|
- - name: chu-statistics
|
||||||
|
template: chu-statistics
|
||||||
|
- - name: chu-analyzer
|
||||||
|
template: chu-analyzer
|
||||||
|
|
||||||
|
- name: chu-statistics
|
||||||
|
container:
|
||||||
|
image: opencloudregistry/chu-statistics:latest
|
||||||
|
command: ["chu-statistics"]
|
||||||
|
volumeMounts:
|
||||||
|
- name: chu-data
|
||||||
|
mountPath: /data
|
||||||
|
|
||||||
|
- name: chu-analyzer
|
||||||
|
container:
|
||||||
|
image: opencloudregistry/chu-analyzer:latest
|
||||||
|
command: ["chu-analyzer"]
|
||||||
|
volumeMounts:
|
||||||
|
- name: chu-data
|
||||||
|
mountPath: /data
|
||||||
12
algos-demo/chu-stats-analyzer/Dockerfile
Normal file
12
algos-demo/chu-stats-analyzer/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM golang:1.22-alpine AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
COPY go.mod .
|
||||||
|
COPY main.go .
|
||||||
|
RUN go build -o chu-analyzer .
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
RUN apk --no-cache add ca-certificates tzdata
|
||||||
|
RUN mkdir -p /data
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /app/chu-analyzer /usr/local/bin/chu-analyzer
|
||||||
|
ENTRYPOINT ["chu-analyzer"]
|
||||||
3
algos-demo/chu-stats-analyzer/go.mod
Normal file
3
algos-demo/chu-stats-analyzer/go.mod
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module chu-stats-analyzer
|
||||||
|
|
||||||
|
go 1.22
|
||||||
204
algos-demo/chu-stats-analyzer/main.go
Normal file
204
algos-demo/chu-stats-analyzer/main.go
Normal file
@@ -0,0 +1,204 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"math"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
const dataFile = "/data/chu_stats.json"
|
||||||
|
|
||||||
|
type CHUStats struct {
|
||||||
|
GeneratedAt time.Time `json:"generated_at"`
|
||||||
|
HospitalName string `json:"hospital_name"`
|
||||||
|
Date string `json:"date"`
|
||||||
|
BedsTotal int `json:"beds_total"`
|
||||||
|
BedsOccupied int `json:"beds_occupied"`
|
||||||
|
OccupancyRate float64 `json:"occupancy_rate"`
|
||||||
|
PatientsAdmitted int `json:"patients_admitted"`
|
||||||
|
PatientsDischarge int `json:"patients_discharged"`
|
||||||
|
EmergencyVisits int `json:"emergency_visits"`
|
||||||
|
AvgERWaitMinutes int `json:"avg_er_wait_minutes"`
|
||||||
|
SurgeriesPerformed int `json:"surgeries_performed"`
|
||||||
|
ICUBeds int `json:"icu_beds"`
|
||||||
|
ICUOccupied int `json:"icu_occupied"`
|
||||||
|
MortalityRate float64 `json:"mortality_rate"`
|
||||||
|
InfectionRate float64 `json:"infection_rate"`
|
||||||
|
StaffPresent int `json:"staff_present"`
|
||||||
|
StaffRequired int `json:"staff_required"`
|
||||||
|
PatientSatisfaction float64 `json:"patient_satisfaction"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Check struct {
|
||||||
|
Indicator string `json:"indicator"`
|
||||||
|
Value float64 `json:"value"`
|
||||||
|
Unit string `json:"unit"`
|
||||||
|
Threshold string `json:"threshold"`
|
||||||
|
Conformant bool `json:"conformant"`
|
||||||
|
Severity string `json:"severity"`
|
||||||
|
Message string `json:"message"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type Analysis struct {
|
||||||
|
AnalyzedAt time.Time `json:"analyzed_at"`
|
||||||
|
HospitalName string `json:"hospital_name"`
|
||||||
|
StatsDate string `json:"stats_date"`
|
||||||
|
Conformant bool `json:"conformant"`
|
||||||
|
Score int `json:"score"`
|
||||||
|
PassingChecks int `json:"passing_checks"`
|
||||||
|
TotalChecks int `json:"total_checks"`
|
||||||
|
CriticalAlerts int `json:"critical_alerts"`
|
||||||
|
WarningAlerts int `json:"warning_alerts"`
|
||||||
|
Checks []Check `json:"checks"`
|
||||||
|
Summary string `json:"summary"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func round2(v float64) float64 {
|
||||||
|
return math.Round(v*100) / 100
|
||||||
|
}
|
||||||
|
|
||||||
|
func analyze(s CHUStats) Analysis {
|
||||||
|
var checks []Check
|
||||||
|
|
||||||
|
occ := Check{Indicator: "Taux d'occupation des lits", Value: s.OccupancyRate, Unit: "%", Threshold: "< 85%"}
|
||||||
|
switch {
|
||||||
|
case s.OccupancyRate < 85:
|
||||||
|
occ.Conformant, occ.Severity, occ.Message = true, "ok", "Taux d'occupation normal"
|
||||||
|
case s.OccupancyRate < 95:
|
||||||
|
occ.Conformant, occ.Severity, occ.Message = false, "warning", "Taux d'occupation élevé, risque de saturation"
|
||||||
|
default:
|
||||||
|
occ.Conformant, occ.Severity, occ.Message = false, "critical", "Saturation critique des lits hospitaliers"
|
||||||
|
}
|
||||||
|
checks = append(checks, occ)
|
||||||
|
|
||||||
|
er := Check{Indicator: "Temps d'attente aux urgences", Value: float64(s.AvgERWaitMinutes), Unit: "min", Threshold: "< 60 min"}
|
||||||
|
switch {
|
||||||
|
case s.AvgERWaitMinutes < 60:
|
||||||
|
er.Conformant, er.Severity, er.Message = true, "ok", "Temps d'attente aux urgences acceptable"
|
||||||
|
case s.AvgERWaitMinutes < 120:
|
||||||
|
er.Conformant, er.Severity, er.Message = false, "warning", "Temps d'attente aux urgences trop long"
|
||||||
|
default:
|
||||||
|
er.Conformant, er.Severity, er.Message = false, "critical", "Saturation critique des urgences"
|
||||||
|
}
|
||||||
|
checks = append(checks, er)
|
||||||
|
|
||||||
|
icuRate := round2(float64(s.ICUOccupied) / float64(s.ICUBeds) * 100)
|
||||||
|
icu := Check{Indicator: "Taux d'occupation ICU", Value: icuRate, Unit: "%", Threshold: "< 85%"}
|
||||||
|
switch {
|
||||||
|
case icuRate < 85:
|
||||||
|
icu.Conformant, icu.Severity, icu.Message = true, "ok", "Capacité de réanimation suffisante"
|
||||||
|
case icuRate < 95:
|
||||||
|
icu.Conformant, icu.Severity, icu.Message = false, "warning", "Taux d'occupation ICU élevé"
|
||||||
|
default:
|
||||||
|
icu.Conformant, icu.Severity, icu.Message = false, "critical", "Réanimation en situation critique"
|
||||||
|
}
|
||||||
|
checks = append(checks, icu)
|
||||||
|
|
||||||
|
mort := Check{Indicator: "Taux de mortalité hospitalière", Value: s.MortalityRate, Unit: "%", Threshold: "< 2%"}
|
||||||
|
switch {
|
||||||
|
case s.MortalityRate < 2.0:
|
||||||
|
mort.Conformant, mort.Severity, mort.Message = true, "ok", "Taux de mortalité dans les normes"
|
||||||
|
case s.MortalityRate < 4.0:
|
||||||
|
mort.Conformant, mort.Severity, mort.Message = false, "warning", "Taux de mortalité supérieur au seuil recommandé"
|
||||||
|
default:
|
||||||
|
mort.Conformant, mort.Severity, mort.Message = false, "critical", "Taux de mortalité critique — investigation requise"
|
||||||
|
}
|
||||||
|
checks = append(checks, mort)
|
||||||
|
|
||||||
|
infect := Check{Indicator: "Taux d'infection nosocomiale", Value: s.InfectionRate, Unit: "%", Threshold: "< 5%"}
|
||||||
|
switch {
|
||||||
|
case s.InfectionRate < 5.0:
|
||||||
|
infect.Conformant, infect.Severity, infect.Message = true, "ok", "Taux d'infection nosocomiale acceptable"
|
||||||
|
case s.InfectionRate < 8.0:
|
||||||
|
infect.Conformant, infect.Severity, infect.Message = false, "warning", "Taux d'infection nosocomiale préoccupant"
|
||||||
|
default:
|
||||||
|
infect.Conformant, infect.Severity, infect.Message = false, "critical", "Risque infectieux critique — mesures d'urgence requises"
|
||||||
|
}
|
||||||
|
checks = append(checks, infect)
|
||||||
|
|
||||||
|
staffRate := round2(float64(s.StaffPresent) / float64(s.StaffRequired) * 100)
|
||||||
|
staff := Check{Indicator: "Taux de couverture du personnel", Value: staffRate, Unit: "%", Threshold: ">= 80%"}
|
||||||
|
switch {
|
||||||
|
case staffRate >= 80:
|
||||||
|
staff.Conformant, staff.Severity, staff.Message = true, "ok", "Personnel suffisant"
|
||||||
|
case staffRate >= 70:
|
||||||
|
staff.Conformant, staff.Severity, staff.Message = false, "warning", "Manque de personnel, vigilance requise"
|
||||||
|
default:
|
||||||
|
staff.Conformant, staff.Severity, staff.Message = false, "critical", "Sous-effectif critique"
|
||||||
|
}
|
||||||
|
checks = append(checks, staff)
|
||||||
|
|
||||||
|
sat := Check{Indicator: "Satisfaction des patients", Value: s.PatientSatisfaction, Unit: "/ 5", Threshold: ">= 3.5 / 5"}
|
||||||
|
switch {
|
||||||
|
case s.PatientSatisfaction >= 3.5:
|
||||||
|
sat.Conformant, sat.Severity, sat.Message = true, "ok", "Satisfaction des patients satisfaisante"
|
||||||
|
case s.PatientSatisfaction >= 3.0:
|
||||||
|
sat.Conformant, sat.Severity, sat.Message = false, "warning", "Satisfaction des patients insuffisante"
|
||||||
|
default:
|
||||||
|
sat.Conformant, sat.Severity, sat.Message = false, "critical", "Satisfaction des patients très mauvaise"
|
||||||
|
}
|
||||||
|
checks = append(checks, sat)
|
||||||
|
|
||||||
|
passing, critical, warning := 0, 0, 0
|
||||||
|
for _, c := range checks {
|
||||||
|
if c.Conformant {
|
||||||
|
passing++
|
||||||
|
}
|
||||||
|
switch c.Severity {
|
||||||
|
case "critical":
|
||||||
|
critical++
|
||||||
|
case "warning":
|
||||||
|
warning++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
total := len(checks)
|
||||||
|
score := passing * 100 / total
|
||||||
|
|
||||||
|
return Analysis{
|
||||||
|
AnalyzedAt: time.Now().UTC(),
|
||||||
|
HospitalName: s.HospitalName,
|
||||||
|
StatsDate: s.Date,
|
||||||
|
Conformant: passing == total,
|
||||||
|
Score: score,
|
||||||
|
PassingChecks: passing,
|
||||||
|
TotalChecks: total,
|
||||||
|
CriticalAlerts: critical,
|
||||||
|
WarningAlerts: warning,
|
||||||
|
Checks: checks,
|
||||||
|
Summary: fmt.Sprintf(
|
||||||
|
"%d/%d indicateurs conformes (score: %d%%) — %d alerte(s) critique(s), %d avertissement(s)",
|
||||||
|
passing, total, score, critical, warning,
|
||||||
|
),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
for i := range []int{0, 1} {
|
||||||
|
data, err := os.ReadFile(strings.ReplaceAll(dataFile, "stats", "stats"+fmt.Sprintf("%v", i)))
|
||||||
|
if err != nil {
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
log.Fatalf("stats file not found at %s — run chu-stats-generator first", dataFile)
|
||||||
|
}
|
||||||
|
log.Fatalf("failed to read stats file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var stats CHUStats
|
||||||
|
if err := json.Unmarshal(data, &stats); err != nil {
|
||||||
|
log.Fatalf("failed to parse stats file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
analysis := analyze(stats)
|
||||||
|
|
||||||
|
result, err := json.MarshalIndent(analysis, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("failed to marshal analysis: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Printf("Analysis complete: %s", analysis.Summary)
|
||||||
|
fmt.Println(string(result))
|
||||||
|
}
|
||||||
|
}
|
||||||
12
algos-demo/chu-stats-generator/Dockerfile
Normal file
12
algos-demo/chu-stats-generator/Dockerfile
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
FROM golang:1.22-alpine AS builder
|
||||||
|
WORKDIR /app
|
||||||
|
COPY go.mod .
|
||||||
|
COPY main.go .
|
||||||
|
RUN go build -o chu-statistics .
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
RUN apk --no-cache add ca-certificates tzdata
|
||||||
|
RUN mkdir -p /data
|
||||||
|
WORKDIR /app
|
||||||
|
COPY --from=builder /app/chu-statistics /usr/local/bin/chu-statistics
|
||||||
|
ENTRYPOINT ["chu-statistics"]
|
||||||
3
algos-demo/chu-stats-generator/go.mod
Normal file
3
algos-demo/chu-stats-generator/go.mod
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
module chu-stats-generator
|
||||||
|
|
||||||
|
go 1.22
|
||||||
96
algos-demo/chu-stats-generator/main.go
Normal file
96
algos-demo/chu-stats-generator/main.go
Normal file
@@ -0,0 +1,96 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"log"
|
||||||
|
"math"
|
||||||
|
"math/rand"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
const dataFile = "/data/chu_stats.json"
|
||||||
|
|
||||||
|
type CHUStats struct {
|
||||||
|
GeneratedAt time.Time `json:"generated_at"`
|
||||||
|
HospitalName string `json:"hospital_name"`
|
||||||
|
Date string `json:"date"`
|
||||||
|
BedsTotal int `json:"beds_total"`
|
||||||
|
BedsOccupied int `json:"beds_occupied"`
|
||||||
|
OccupancyRate float64 `json:"occupancy_rate"`
|
||||||
|
PatientsAdmitted int `json:"patients_admitted"`
|
||||||
|
PatientsDischarge int `json:"patients_discharged"`
|
||||||
|
EmergencyVisits int `json:"emergency_visits"`
|
||||||
|
AvgERWaitMinutes int `json:"avg_er_wait_minutes"`
|
||||||
|
SurgeriesPerformed int `json:"surgeries_performed"`
|
||||||
|
ICUBeds int `json:"icu_beds"`
|
||||||
|
ICUOccupied int `json:"icu_occupied"`
|
||||||
|
MortalityRate float64 `json:"mortality_rate"`
|
||||||
|
InfectionRate float64 `json:"infection_rate"`
|
||||||
|
StaffPresent int `json:"staff_present"`
|
||||||
|
StaffRequired int `json:"staff_required"`
|
||||||
|
PatientSatisfaction float64 `json:"patient_satisfaction"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func round2(v float64) float64 {
|
||||||
|
return math.Round(v*100) / 100
|
||||||
|
}
|
||||||
|
|
||||||
|
func generateStats() CHUStats {
|
||||||
|
rng := rand.New(rand.NewSource(time.Now().UnixNano()))
|
||||||
|
|
||||||
|
bedsTotal := 800 + rng.Intn(400)
|
||||||
|
occupancyPct := 0.65 + rng.Float64()*0.32
|
||||||
|
bedsOccupied := int(float64(bedsTotal) * occupancyPct)
|
||||||
|
|
||||||
|
icuBeds := 40 + rng.Intn(30)
|
||||||
|
icuOccupancyPct := 0.60 + rng.Float64()*0.38
|
||||||
|
icuOccupied := int(float64(icuBeds) * icuOccupancyPct)
|
||||||
|
|
||||||
|
staffRequired := 600 + rng.Intn(300)
|
||||||
|
staffCoverage := 0.65 + rng.Float64()*0.40
|
||||||
|
staffPresent := int(float64(staffRequired) * staffCoverage)
|
||||||
|
|
||||||
|
return CHUStats{
|
||||||
|
GeneratedAt: time.Now().UTC(),
|
||||||
|
HospitalName: "CHU Demo",
|
||||||
|
Date: time.Now().Format("2006-01-02"),
|
||||||
|
BedsTotal: bedsTotal,
|
||||||
|
BedsOccupied: bedsOccupied,
|
||||||
|
OccupancyRate: round2(occupancyPct * 100),
|
||||||
|
PatientsAdmitted: 50 + rng.Intn(120),
|
||||||
|
PatientsDischarge: 40 + rng.Intn(120),
|
||||||
|
EmergencyVisits: 80 + rng.Intn(150),
|
||||||
|
AvgERWaitMinutes: 15 + rng.Intn(130),
|
||||||
|
SurgeriesPerformed: 10 + rng.Intn(50),
|
||||||
|
ICUBeds: icuBeds,
|
||||||
|
ICUOccupied: icuOccupied,
|
||||||
|
MortalityRate: round2(0.3 + rng.Float64()*4.5),
|
||||||
|
InfectionRate: round2(0.5 + rng.Float64()*9.0),
|
||||||
|
StaffPresent: staffPresent,
|
||||||
|
StaffRequired: staffRequired,
|
||||||
|
PatientSatisfaction: round2(2.0 + rng.Float64()*3.0),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
for i, stats := range []CHUStats{generateStats(), generateStats()} {
|
||||||
|
data, err := json.MarshalIndent(stats, "", " ")
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalf("failed to marshal stats: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := os.MkdirAll("/data", 0755); err != nil {
|
||||||
|
log.Fatalf("failed to create data dir: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
if err := os.WriteFile(strings.ReplaceAll(dataFile, "stats", "stats"+fmt.Sprintf("%v", i)), data, 0644); err != nil {
|
||||||
|
log.Fatalf("failed to write stats file: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
log.Printf("Stats saved to %s", dataFile)
|
||||||
|
fmt.Println(string(data))
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
REPOS=(
|
|
||||||
"oc-auth"
|
|
||||||
"oc-catalog"
|
|
||||||
"oc-datacenter"
|
|
||||||
"oc-front"
|
|
||||||
"oc-monitord"
|
|
||||||
"oc-peer"
|
|
||||||
"oc-shared"
|
|
||||||
"oc-scheduler"
|
|
||||||
"oc-schedulerd"
|
|
||||||
"oc-workflow"
|
|
||||||
"oc-workspace"
|
|
||||||
)
|
|
||||||
|
|
||||||
# Function to clone repositories
|
|
||||||
clone_repo() {
|
|
||||||
local repo_url="https://cloud.o-forge.io/core/$1.git"
|
|
||||||
local repo_name=$(basename "$repo_url" .git)
|
|
||||||
local branche=$2
|
|
||||||
echo "Processing repository: $repo_name"
|
|
||||||
|
|
||||||
if [ ! -d "$repo_name" ]; then
|
|
||||||
echo "Cloning repository: $repo_name"
|
|
||||||
git clone "$repo_url"
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Error cloning $repo_url"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
echo "Check in $branche & pull"
|
|
||||||
ls
|
|
||||||
echo "Repository '$repo_name' already exists. Pulling latest changes..."
|
|
||||||
cd "$repo_name" && git checkout $branche && git pull
|
|
||||||
cd ..
|
|
||||||
}
|
|
||||||
|
|
||||||
cd ..
|
|
||||||
# Iterate through each repository in the list
|
|
||||||
for repo in "${REPOS[@]}"; do
|
|
||||||
clone_repo $repo ${1:-main}
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "All repositories processed successfully."
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
22
datas/add.sh
Normal file
22
datas/add.sh
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
DB="DC_myDC"
|
||||||
|
CONTAINER="mongo"
|
||||||
|
|
||||||
|
echo "📌 Dropping database '$DB'..."
|
||||||
|
docker exec -i $CONTAINER mongosh --eval "db.getSiblingDB('$DB').dropDatabase()"
|
||||||
|
|
||||||
|
echo "📌 Copying datas/ to container..."
|
||||||
|
docker cp ./datas $CONTAINER:/datas
|
||||||
|
|
||||||
|
echo "📌 Importing JSON files..."
|
||||||
|
for i in ./datas/*.json; do
|
||||||
|
filename=$(basename "$i")
|
||||||
|
collection="${filename%.json}"
|
||||||
|
|
||||||
|
echo "→ Importing '$filename' into collection '$collection'..."
|
||||||
|
docker exec -i $CONTAINER sh -c \
|
||||||
|
"mongoimport --jsonArray --db $DB --collection $collection --file /datas/$filename --drop"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "✔ Done!"
|
||||||
1
datas/demo-alpr/collaborative_area.json
Normal file
1
datas/demo-alpr/collaborative_area.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"0b6a375f-be3e-49a9-9827-3c2d5eddb057","abstractobject":{"id":"0b6a375f-be3e-49a9-9827-3c2d5eddb057","name":"test","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":{"$date":"2025-01-27T10:41:47.741Z"},"update_date":{"$date":"2025-01-27T10:41:47.741Z"},"updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":0},"description":"Proto Collaborative area example","collaborative_area":{},"workflows":["58314c99-c595-4ca2-8b5e-822a6774efed"],"allowed_peers_group":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"workspaces":[]}]
|
||||||
1
datas/demo-alpr/compute_resource.json
Normal file
1
datas/demo-alpr/compute_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
datas/demo-alpr/data_resource.json
Normal file
1
datas/demo-alpr/data_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
datas/demo-alpr/peer.json
Normal file
1
datas/demo-alpr/peer.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"c0cece97-7730-4c2a-8c20-a30944564106","failed_execution":null,"abstractobject":{"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,"id":"c0cece97-7730-4c2a-8c20-a30944564106","name":"local","is_draft":false,"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},"url":"http://localhost:8000","wallet_address":"my-wallet","public_key":"-----BEGIN RSA PUBLIC KEY-----\nMIICCgKCAgEAw2pdG6wMtuLcP0+k1LFvIb0DQo/oHW2uNJaEJK74plXqp4ztz2dR\nb+RQHFLeLuqk4i/zc3b4K3fKPXSlwnVPJCwzPrnyT8jYGOZVlWlETiV9xeJhu6s/\nBh6g1PWz75XjjwV50iv/CEiLNBT23f/3J44wrQzygqNQCiQSALdxWLAEl4l5kHSa\n9oMyV70/Uql94/ayMARZsHgp9ZvqQKbkZPw6yzVMfCBxQozlNlo315OHevudhnhp\nDRjN5I7zWmqYt6rbXJJC7Y3Izdvzn7QI88RqjSRST5I/7Kz3ndCqrOnI+OQUE5NT\nREyQebphvQfTDTKlRPXkdyktdK2DH28Zj6ZF3yjQvN35Q4zhOzlq77dO5IhhopI7\nct8dZH1T1nYkvdyCA/EVMtQsASmBOitH0Y0ACoXQK5Kb6nm/TcM/9ZSJUNiEMuy5\ngBZ3YKE9oa4cpTpPXwcA+S/cU7HPNnQAsvD3iJi8GTW9uJs84pn4/WhpQqmXd4rv\nhKWECCN3fHy01fUs/U0PaSj2jDY/kQVeXoikNMzPUjdZd9m816TIBh3v3aVXCH/0\niTHHAxctvDgMRb2fpvRJ/wwnYjFG9RpamVFDMvC9NffuYzWAA9IRIY4cqgerfHrV\nZ2HHiPTDDvDAIsvImXZc/h7mXN6m3RCQ4Qywy993wd9gUdgg/qnynHcCAwEAAQ==\n-----END RSA PUBLIC KEY-----\n","state":1}]
|
||||||
1
datas/demo-alpr/processing_resource.json
Normal file
1
datas/demo-alpr/processing_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
datas/demo-alpr/storage_resource.json
Normal file
1
datas/demo-alpr/storage_resource.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","name":"IRT risk database","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT risk database.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"env":[{"attr":"source","readonly":true}],"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,"partnerships":[{"resourcepartnership":{"namespace":"default","peer_groups":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"pricing_profiles":[{"pricing":{"price":50,"currency":"EUR","buying_strategy":0,"time_pricing_strategy":0}}]}}]},"source":"/mnt/vol","local":false,"security_level":"public","size":50,"size_type":3,"redundancy":"RAID5","throughput":"r:200,w:150"}]},"storage_type":5,"acronym":"DC_myDC"},{"_id":"e726020a-b68e-4abc-ab36-c3640ea3f557","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"e726020a-b68e-4abc-ab36-c3640ea3f557","name":"IRT local file storage","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT local file storage.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"resourceinstance":{"env":[{"attr":"source","readonly":true}],"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,"partnerships":[{"resourcepartnership":{"namespace":"default","peer_groups":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"pricing_profiles":[{"pricing":{"price":50,"currency":"EUR","buying_strategy":0,"time_pricing_strategy":0}}]}}]},"source":"/mnt/vol","local":true,"security_level":"public","size":500,"size_type":0,"encryption":true,"redundancy":"RAID5S","throughput":"r:300,w:350"}]},"storage_type":5,"acronym":"DC_myDC"}]
|
||||||
1
datas/demo-alpr/workflow.json
Normal file
1
datas/demo-alpr/workflow.json
Normal file
File diff suppressed because one or more lines are too long
19
deployed_config
Normal file
19
deployed_config
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
clusters:
|
||||||
|
- cluster:
|
||||||
|
certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJT0lhTzFqdnRET0F3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRFeE1UTXhNVFU0TVRaYUZ3MHpOVEV4TVRFeE1qQXpNVFphTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUNsVGxkUEozTkpON0wyblVtbDFLM3pNL21PV3VLN0FKZzBjNktJY01nZFhoaEF3Z0FPRzFuUnZhRG8KL3N3ODBweUFjbEJSbzg2bnlyM1d6UUVYa1hTTDY2bFV6LzJzaHh5QlliejJXTDlZeUZGVmxwSzlPY3BRQjVIegpURUNrNStIY28rK1NJVndXUHc0dCtQZXhsb2VpaHZhUUJvUE54d2lxWjhhWG50NUljd0lXU1ZqMVVsT1p1NmhwCnA3VUVuS0dhTWl3Zm5Zb2o4MmNvUVFEdFlEWi9MQS80L3V1UzVlUFZKaTBpb1dXMGduTWdzUm1IUzltY3cvZzkKK1hYVm5vN1lLekYvRjEyeTZPQ0YrOUpGd2JqWmFiVlJhc21rQjZyTFZ1N2FsMi9TQ3VyaitEWk5Mcys5WHVTYgpFb2I2UE8rQlhlNmJDdGp5aWZvZmJ2TExXREc5QWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTd2oyczRpUG9rV0FnSFlNQ1czZ2NxMEEzNlZ6QVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQWc3ZW9BTWRlZgpwN21IYVFnR1F2YnRQRHVQY2REa2J1NjVKWDI2ZzhNMy9WMlovaEp4MlpqVE0wdTZmNExuOUFnc1p0R3dhL1RRClp0aGRpQWdWdDRuNjZBZ1lLQS8yYlNBbVNWZ1R0cngyd29xN2VzbnJjc1VUcm5ISXptVS9TR01CVzNtTlZnd0sKWnpLN3ZuTm9jaHAzYzNDa0xmbWFXeWpMUjljVXVWejB0T3psa0p5SDB6OUNrQVVXdmVJZ3VTR2Y2WWtManRPZQpvdld3ZHJUcTlLaGQ2SEVXa0lIM241QjNDbTF0aXE0bGFuaVJERkhheWk1enRBSDBYME1UOUhaNGszR0ErdXA4CkZJZXdubDJXTmJoVGxraXdhMzRRTUhDelhpUXdGTThjODUwTnJGNXFOSEVTbUMzeWtGdjk3VlNqOW8wb3pPS3YKSWlERkRVSTZybG0rCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||||
|
server: https://127.0.0.1:36289
|
||||||
|
name: kind-opencloud
|
||||||
|
contexts:
|
||||||
|
- context:
|
||||||
|
cluster: kind-opencloud
|
||||||
|
user: kind-opencloud
|
||||||
|
name: kind-opencloud
|
||||||
|
current-context: kind-opencloud
|
||||||
|
kind: Config
|
||||||
|
users:
|
||||||
|
- name: kind-opencloud
|
||||||
|
user:
|
||||||
|
client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJVnpzcEVlN3Z2eFF3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRFeE1UTXhNVFU0TVRaYUZ3MHlOakV4TVRNeE1qQXpNVFphTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFEV2s3YlkKYWVYQjJGaUczSjc1Zk5iaGkxQkhkTTdrNk8yQ0p1WkJydzE0UldSNWZ2YnZUNHVBRm1LZ0VFWHk0angvaWdwOQpFUm9QUmFxUFoxQSs0N21HRUl0bjdSdFFuY0k2N3FMSUxnUUU4ZkhWTE9GU0hVRmV0S05tbGxZNEErWDVRejZmCjBHdExBZzNoMlc4bmtibGtzakNVQjR3SEF5ZnMrM1dtZmJRb0YzcmU5NUlKMDZCY2NtOTgyZTFVUUpsZ1YzaW4KN0pQdlRDYmp0bkR1UmV4VXpyazJsK1JHWjVHYitaZEs3Z1QvS2MvdFhONjVIYTRiTHc2aFR4RzdxZlB5dnlSdAphblVYcHQ5SVNSd3BPc2R6YjF1RkZTYUN6V1FBWUNJc3RpeWs1bkszVWJwL1ZLS2trTFlub2NVbjdKNUtOdDJFCjhTcTZ1N2RjRWNqZFBaUWhBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkxDUGF6aUkraVJZQ0FkZwp3SmJlQnlyUURmcFhNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUJjSUEyeE9rYXk4aTlLS3pRWUh5bmM5a2xyCmU4ZEN1aHpEUWhGbVhYK3pmeTk3dnRaSnlEWFp4TlN0MlRoS24xeE5KckNKVkxPWTAxV0FDU2JNZm5wRGdxVjgKUWZjRXVFUHdYSithMUV0ZmpsajZPTU41Q0RvYWJnRUllSkhxVkhrZkJzdE5icXFrTEppUThvZmh2VDc4TE1Bcwp2emJNTnd5L0ZXOVBVK0YvUGJkOEdEZkVPWHU3UFJzbmV5Q0JHVXhoNThOM2lmNFhnOXh6L3hwM2EvNE1hK28vClc2RklOUUNkNjVzcVFSWEx1U3VpRjlTTG9peUtYdmJUb1UxNU9YZTNOWFNWTjNOdUdRWmlZWDU4OTFyZGtpZFIKL1NuN3VTTzJDWXNPK3l4QWlqbUZhQmZIeWpNUlZKak51WnpSbStwTDdoODFmNFQ5dDJ1MWpQeVpPbGRiCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
||||||
|
client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcFFJQkFBS0NBUUVBMXBPMjJHbmx3ZGhZaHR5ZStYelc0WXRRUjNUTzVPanRnaWJtUWE4TmVFVmtlWDcyCjcwK0xnQlppb0JCRjh1SThmNG9LZlJFYUQwV3FqMmRRUHVPNWhoQ0xaKzBiVUozQ091Nml5QzRFQlBIeDFTemgKVWgxQlhyU2pacFpXT0FQbCtVTStuOUJyU3dJTjRkbHZKNUc1WkxJd2xBZU1Cd01uN1B0MXBuMjBLQmQ2M3ZlUwpDZE9nWEhKdmZObnRWRUNaWUZkNHAreVQ3MHdtNDdadzdrWHNWTTY1TnBma1JtZVJtL21YU3U0RS95blA3VnplCnVSMnVHeThPb1U4UnU2bno4cjhrYldwMUY2YmZTRWtjS1RySGMyOWJoUlVtZ3Mxa0FHQWlMTFlzcE9aeXQxRzYKZjFTaXBKQzJKNkhGSit5ZVNqYmRoUEVxdXJ1M1hCSEkzVDJVSVFJREFRQUJBb0lCQUFkSElhWldkU29DMEt5RwpVc2dMTEJpZ245dVo3U013enFRaG9LRllDQ0RDV0hBOGdRWHpPenZnRzlQcVZBMElaUWZvWW9jRkZrNnY5Mk1xCkhHWjlxbjhQRkVOZjlKTmlrOElVUjZZbGdCSm1NdzhldzJldkZxd0QwWFQ3SXJmVXFLOWJKZ1p5b2I1U0RBUW8KaFU5MkdhL1RmQTFSUjR1OHJOVXFDWlFEamN3OFFSQTQ4SDBzOTJkU252QkN1SmJrQ0VIYXVtQTYwQVlsNHNMOApzS0o0NytFc29WTWZhK1dCOCsybnRYMHFqQlhLM1Yvc1UyZWJTN0tYTGZhVkg5Z21oU01LMFd2dG9peDRRQzlEClViV3RaTCtoSGN6WWxmcjZaYWQxeEFsaHRXYnNDS3p3ZWdjOGxQbVBqSUJmMUU0bjRDQW1OMmJ5R00wUlRrT1QKWHdvdWdEOENnWUVBNGVISWQ0Zy9FV3k0dmx0NGxUN2FnOFJKaVhxMHBOQXVDdTRBL25tVWpnTVVVcFFPbmd6cAora3d6ZjFNSUJnVGR0ejlHNU1zNmd6UHgxaTlYblVOZ1hEUlRuWTRSZkZ3Q256NXVNcW5LZDd3Njhwem9acUxGCjJpSVZ6SmtGUmVoaTNVbXVLWnJmRnJKekYrOFArMGtmZmpjNjcvZkF1c2pnellFbWl5dGxmQnNDZ1lFQTh6QU0KdUh3VG1WMC9aRFlyUUYxLzA2R1ZqbzRtT2Z4S0loUVBxdDZleVNuWElySGlBbUVnTjFOWTc1UHRtMGVVdXF0bApDanU4dmp4aHd0UUF6NnUwNEptTldpTzdZL0ZiYlVKNnAxcHJYaURVWXYvUkRwK3FHa1I1SExsd0gvWENrYzIxCnpnREhJMlVXMzZCUk4wMFhydjdGWThxaHNqU0dlZU1Gei9pNXZITUNnWUVBcDhJSklZVmwyYW9XZHdIMlIxbWIKN2xxOGhzZEVIRmVrcW1kakE1d0dVWVpGOUtLVFRKeW90VVVjeGdaRG9qekE4ZFNqOFU1aVVZa2xwZjRaSXVvawpTYlp2RjBlcEF1Uk82amZ5bmR2dVRBalcrdEsvNDJJbWNULzVVcStlOC9HSVkzTFNUNEgvQjV0VzBVS3lhdDArCjczMVRYMTl3bXdpUHRQQ2pVSjdWUzFzQ2dZRUF3NWthSWlocCt5aXRIQVVWdEtkL2NOQytZZktqZkhBWGtHRmkKV0tUR1FqYU0rekxuL2RIdy80N2lNWkJoeEV0R3JQMitQd1RkUW9WK2ZCM1lxVEFLUTd3OW5RcXdaaXB5eHVaNQprTEdCT2l4ZHAyTHEyMEJBcU8vNkdjaHREc2UwdjJFZG9adXVrQ0YyekZjOSs2VGVMN3ByT1dCNXZjUFJoYWU3CnZSTHBFVkVDZ1lFQXAyREYyWlJFRlZmZ3ZGc2dtdHRwVjFMemd2Qi9Fb0lFMTFpMmFPelZGTzRLb3pabWpHVlAKaTB6T3VlaVBsZmNCYU5ZanRIbkxrRUpYeGVwYm9sSnlvQUdWV0o2b2grcFhON2I5TURJVUhVV0E3ZFArc1NlMwpvS29adS9TVGdJa1VQb2xwa2lJNjJrRXBFdXE4bjRYOFVhUWV5M1E4c1VWNHpYM0dSa3d2QkFZPQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
|
||||||
|
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
docker/db/datas_alpr/collaborative_area.json
Normal file
1
docker/db/datas_alpr/collaborative_area.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"0b6a375f-be3e-49a9-9827-3c2d5eddb057","abstractobject":{"id":"0b6a375f-be3e-49a9-9827-3c2d5eddb057","name":"test","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":{"$date":"2025-01-27T10:41:47.741Z"},"update_date":{"$date":"2025-01-27T10:41:47.741Z"},"updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":0},"description":"Proto Collaborative area example","collaborative_area":{},"workflows":["58314c99-c595-4ca2-8b5e-822a6774efed"],"allowed_peers_group":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"workspaces":[]}]
|
||||||
1
docker/db/datas_alpr/compute_resource.json
Normal file
1
docker/db/datas_alpr/compute_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
docker/db/datas_alpr/data_resource.json
Normal file
1
docker/db/datas_alpr/data_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
docker/db/datas_alpr/peer.json
Normal file
1
docker/db/datas_alpr/peer.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"c0cece97-7730-4c2a-8c20-a30944564106","failed_execution":null,"abstractobject":{"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,"id":"c0cece97-7730-4c2a-8c20-a30944564106","name":"local","is_draft":false,"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},"url":"http://localhost:8000","wallet_address":"my-wallet","public_key":"-----BEGIN RSA PUBLIC KEY-----\nMIICCgKCAgEAw2pdG6wMtuLcP0+k1LFvIb0DQo/oHW2uNJaEJK74plXqp4ztz2dR\nb+RQHFLeLuqk4i/zc3b4K3fKPXSlwnVPJCwzPrnyT8jYGOZVlWlETiV9xeJhu6s/\nBh6g1PWz75XjjwV50iv/CEiLNBT23f/3J44wrQzygqNQCiQSALdxWLAEl4l5kHSa\n9oMyV70/Uql94/ayMARZsHgp9ZvqQKbkZPw6yzVMfCBxQozlNlo315OHevudhnhp\nDRjN5I7zWmqYt6rbXJJC7Y3Izdvzn7QI88RqjSRST5I/7Kz3ndCqrOnI+OQUE5NT\nREyQebphvQfTDTKlRPXkdyktdK2DH28Zj6ZF3yjQvN35Q4zhOzlq77dO5IhhopI7\nct8dZH1T1nYkvdyCA/EVMtQsASmBOitH0Y0ACoXQK5Kb6nm/TcM/9ZSJUNiEMuy5\ngBZ3YKE9oa4cpTpPXwcA+S/cU7HPNnQAsvD3iJi8GTW9uJs84pn4/WhpQqmXd4rv\nhKWECCN3fHy01fUs/U0PaSj2jDY/kQVeXoikNMzPUjdZd9m816TIBh3v3aVXCH/0\niTHHAxctvDgMRb2fpvRJ/wwnYjFG9RpamVFDMvC9NffuYzWAA9IRIY4cqgerfHrV\nZ2HHiPTDDvDAIsvImXZc/h7mXN6m3RCQ4Qywy993wd9gUdgg/qnynHcCAwEAAQ==\n-----END RSA PUBLIC KEY-----\n","state":1}]
|
||||||
1
docker/db/datas_alpr/processing_resource.json
Normal file
1
docker/db/datas_alpr/processing_resource.json
Normal file
File diff suppressed because one or more lines are too long
1
docker/db/datas_alpr/storage_resource.json
Normal file
1
docker/db/datas_alpr/storage_resource.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{"_id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","name":"IRT risk database","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT risk database.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"env":[{"attr":"source","readonly":true}],"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,"partnerships":[{"resourcepartnership":{"namespace":"default","peer_groups":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"pricing_profiles":[{"pricing":{"price":50,"currency":"EUR","buying_strategy":0,"time_pricing_strategy":0}}]}}]},"source":"/mnt/vol","local":false,"security_level":"public","size":50,"size_type":3,"redundancy":"RAID5","throughput":"r:200,w:150"}]},"storage_type":5,"acronym":"DC_myDC"},{"_id":"e726020a-b68e-4abc-ab36-c3640ea3f557","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"e726020a-b68e-4abc-ab36-c3640ea3f557","name":"IRT local file storage","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT local file storage.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"resourceinstance":{"env":[{"attr":"source","readonly":true}],"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,"partnerships":[{"resourcepartnership":{"namespace":"default","peer_groups":{"c0cece97-7730-4c2a-8c20-a30944564106":["*"]},"pricing_profiles":[{"pricing":{"price":50,"currency":"EUR","buying_strategy":0,"time_pricing_strategy":0}}]}}]},"source":"/mnt/vol","local":true,"security_level":"public","size":500,"size_type":0,"encryption":true,"redundancy":"RAID5S","throughput":"r:300,w:350"}]},"storage_type":5,"acronym":"DC_myDC"}]
|
||||||
1
docker/db/datas_alpr/workflow.json
Normal file
1
docker/db/datas_alpr/workflow.json
Normal file
File diff suppressed because one or more lines are too long
@@ -1,4 +0,0 @@
|
|||||||
KUBERNETES_SERVICE_HOST=192.168.47.20
|
|
||||||
KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
|
||||||
KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
|
||||||
KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo="
|
|
||||||
@@ -1,11 +1,20 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
KUBERNETES_ENV_FILE=$(realpath ${1:-"./kube.exemple.env"})
|
server=$(grep 'server:' ~/.kube/config | awk '{print $2}')
|
||||||
|
|
||||||
|
host=$(ip -4 addr show $(ip route | awk '/default/ {print $5}') | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
|
port=6443
|
||||||
|
ca=$(kubectl config view --raw --minify -o jsonpath='{.clusters[0].cluster.certificate-authority-data}')
|
||||||
|
cert=$(kubectl config view --raw --minify -o jsonpath='{.users[0].user.client-certificate-data}')
|
||||||
|
key=$(kubectl config view --raw --minify -o jsonpath='{.users[0].user.client-key-data}')
|
||||||
|
|
||||||
HOST=${2:-"http://localhost:8000"}
|
HOST=${2:-"http://localhost:8000"}
|
||||||
docker network create oc | true
|
docker network create oc | true
|
||||||
|
|
||||||
docker compose down
|
docker compose down
|
||||||
cd ./tools && docker compose -f ./docker-compose.dev.yml up --force-recreate -d
|
|
||||||
docker compose -f ./docker-compose.traefik.yml up --force-recreate -d && cd ..
|
cd ./tools && docker compose -f ./docker-compose.dev.yml down --force-recreate -d && docker compose -f ./docker-compose.traefik.yml down --force-recreate -d
|
||||||
|
docker compose -f ./docker-compose.dev.yml up --force-recreate -d && docker compose -f ./docker-compose.traefik.yml up --force-recreate -d && cd ..
|
||||||
|
|
||||||
|
|
||||||
cd ./db && ./add.sh && cd ..
|
cd ./db && ./add.sh && cd ..
|
||||||
|
|
||||||
@@ -30,7 +39,18 @@ do
|
|||||||
docker kill $i | true
|
docker kill $i | true
|
||||||
docker rm $i | true
|
docker rm $i | true
|
||||||
cd ./$i
|
cd ./$i
|
||||||
cp $KUBERNETES_ENV_FILE ./env.env
|
cat <<EOT > ./env.env
|
||||||
docker build . -t $i --build-arg=HOST=$HOST && docker compose up -d
|
KUBERNETES_SERVICE_HOST=$host
|
||||||
|
KUBE_CA="$ca"
|
||||||
|
KUBE_CERT="$cert"
|
||||||
|
KUBE_DATA="$key"
|
||||||
|
EOT
|
||||||
|
|
||||||
|
|
||||||
|
docker build . -t $i --build-arg=HOST=$HOST --build-arg=KUBERNETES_SERVICE_HOST=$host \
|
||||||
|
--build-arg=KUBERNETES_SERVICE_PORT=$port --build-arg=KUBE_CA=$ca --build-arg=KUBE_CERT=$cert \
|
||||||
|
--build-arg=KUBE_DATA=$key && docker compose up -d
|
||||||
cd ..
|
cd ..
|
||||||
done
|
done
|
||||||
|
|
||||||
|
cd ./oc-deploy/docker/tools && docker compose -f ./docker-compose.dev.yml up hydra-client --force-recreate -d
|
||||||
|
|||||||
@@ -1,5 +1,12 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export KUBERNETES_ENV_FILE=$(realpath ${KUBERNETES_ENV_FILE=:-"./kube.exemple.env"})
|
server=$(grep 'server:' ~/.kube/config | awk '{print $2}')
|
||||||
|
|
||||||
|
host=$(ip -4 addr show $(ip route | awk '/default/ {print $5}') | awk '/inet / {print $2}' | cut -d/ -f1)
|
||||||
|
port=6443
|
||||||
|
ca=$(kubectl config view --raw --minify -o jsonpath='{.clusters[0].cluster.certificate-authority-data}')
|
||||||
|
cert=$(kubectl config view --raw --minify -o jsonpath='{.users[0].user.client-certificate-data}')
|
||||||
|
key=$(kubectl config view --raw --minify -o jsonpath='{.users[0].user.client-key-data}')
|
||||||
|
|
||||||
export HOST=${HOST:-"http://localhost:8000"}
|
export HOST=${HOST:-"http://localhost:8000"}
|
||||||
docker network create oc | true
|
docker network create oc | true
|
||||||
|
|
||||||
@@ -7,6 +14,7 @@ docker compose down
|
|||||||
cd ./tools && docker compose -f ./docker-compose.dev.yml up --force-recreate -d
|
cd ./tools && docker compose -f ./docker-compose.dev.yml up --force-recreate -d
|
||||||
docker compose -f ./docker-compose.traefik.yml up --force-recreate -d && cd ..
|
docker compose -f ./docker-compose.traefik.yml up --force-recreate -d && cd ..
|
||||||
|
|
||||||
|
|
||||||
cd ../..
|
cd ../..
|
||||||
|
|
||||||
REPOS=(
|
REPOS=(
|
||||||
@@ -28,7 +36,15 @@ do
|
|||||||
docker kill $i | true
|
docker kill $i | true
|
||||||
docker rm $i | true
|
docker rm $i | true
|
||||||
cd ./$i
|
cd ./$i
|
||||||
cp $KUBERNETES_ENV_FILE ./env.env
|
cat > ./env.env <<EOF
|
||||||
|
KUBERNETES_SERVICE_HOST=$hostdocker
|
||||||
|
KUBERNETES_SERVICE_PORT=$port
|
||||||
|
KUBE_CA="$ca"
|
||||||
|
KUBE_CERT="$cert"
|
||||||
|
KUBE_DATA="$key"
|
||||||
|
EOF
|
||||||
make run-docker
|
make run-docker
|
||||||
cd ..
|
cd ..
|
||||||
done
|
done
|
||||||
|
|
||||||
|
cd ./oc-deploy/docker/tools && docker compose -f ./docker-compose.dev.yml up hydra-client --force-recreate -d
|
||||||
@@ -90,6 +90,33 @@ services:
|
|||||||
deploy:
|
deploy:
|
||||||
restart_policy:
|
restart_policy:
|
||||||
condition: on-failure
|
condition: on-failure
|
||||||
|
ldap:
|
||||||
|
image: pgarrett/ldap-alpine
|
||||||
|
container_name: ldap
|
||||||
|
volumes:
|
||||||
|
- "./ldap.ldif:/ldif/ldap.ldif"
|
||||||
|
networks:
|
||||||
|
- oc
|
||||||
|
ports:
|
||||||
|
- "390:389"
|
||||||
|
deploy:
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
keto:
|
||||||
|
image: oryd/keto:v0.7.0-alpha.1-sqlite
|
||||||
|
ports:
|
||||||
|
- "4466:4466"
|
||||||
|
- "4467:4467"
|
||||||
|
command: serve -c /home/ory/keto.yml
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: .
|
||||||
|
target: /home/ory
|
||||||
|
container_name: keto
|
||||||
|
networks:
|
||||||
|
- oc
|
||||||
|
|
||||||
hydra-client:
|
hydra-client:
|
||||||
image: oryd/hydra:v2.2.0
|
image: oryd/hydra:v2.2.0
|
||||||
container_name: hydra-client
|
container_name: hydra-client
|
||||||
@@ -127,32 +154,6 @@ services:
|
|||||||
interval: 10s
|
interval: 10s
|
||||||
timeout: 10s
|
timeout: 10s
|
||||||
retries: 10
|
retries: 10
|
||||||
ldap:
|
|
||||||
image: pgarrett/ldap-alpine
|
|
||||||
container_name: ldap
|
|
||||||
volumes:
|
|
||||||
- "./ldap.ldif:/ldif/ldap.ldif"
|
|
||||||
networks:
|
|
||||||
- oc
|
|
||||||
ports:
|
|
||||||
- "390:389"
|
|
||||||
deploy:
|
|
||||||
restart_policy:
|
|
||||||
condition: on-failure
|
|
||||||
keto:
|
|
||||||
image: oryd/keto:v0.7.0-alpha.1-sqlite
|
|
||||||
ports:
|
|
||||||
- "4466:4466"
|
|
||||||
- "4467:4467"
|
|
||||||
command: serve -c /home/ory/keto.yml
|
|
||||||
restart: on-failure
|
|
||||||
volumes:
|
|
||||||
- type: bind
|
|
||||||
source: .
|
|
||||||
target: /home/ory
|
|
||||||
container_name: keto
|
|
||||||
networks:
|
|
||||||
- oc
|
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
oc-data:
|
oc-data:
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
version: '3.4'
|
version: '3.9'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: traefik:v2.10.4
|
image: traefik:v3.6
|
||||||
container_name: traefik
|
container_name: traefik
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
@@ -10,11 +10,13 @@ services:
|
|||||||
command:
|
command:
|
||||||
- "--api.insecure=true"
|
- "--api.insecure=true"
|
||||||
- "--providers.docker=true"
|
- "--providers.docker=true"
|
||||||
|
- "--providers.docker.exposedbydefault=false"
|
||||||
- "--entrypoints.web.address=:8000"
|
- "--entrypoints.web.address=:8000"
|
||||||
|
user: root
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000" # Expose Traefik on port 8000
|
- "8000:8000" # Expose Traefik on port 8000
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
oc-data:
|
oc-data:
|
||||||
|
|||||||
9
env.env
9
env.env
@@ -1,4 +1,5 @@
|
|||||||
KUBERNETES_SERVICE_HOST=192.168.1.169
|
KUBERNETES_SERVICE_HOST=127.0.0.1
|
||||||
KUBE_CA="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJkekNDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdGMyVnkKZG1WeUxXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRjMlZ5ZG1WeUxXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFTVlk3ZHZhNEdYTVdkMy9jMlhLN3JLYjlnWXgyNSthaEE0NmkyNVBkSFAKRktQL2UxSVMyWVF0dzNYZW1TTUQxaStZdzJSaVppNUQrSVZUamNtNHdhcnFvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVWtlUVJpNFJiODduME5yRnZaWjZHClc2SU55NnN3Q2dZSUtvWkl6ajBFQXdJRFNBQXdSUUlnRXA5ck04WmdNclRZSHYxZjNzOW5DZXZZeWVVa3lZUk4KWjUzazdoaytJS1FDSVFDbk05TnVGKzlTakIzNDFacGZ5ays2NEpWdkpSM3BhcmVaejdMd2lhNm9kdz09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
KUBERNETES_SERVICE_PORT=6443
|
||||||
KUBE_CERT="LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJrVENDQVRlZ0F3SUJBZ0lJWUxWNkFPQkdrU1F3Q2dZSUtvWkl6ajBFQXdJd0l6RWhNQjhHQTFVRUF3d1kKYXpOekxXTnNhV1Z1ZEMxallVQXhOekl6TVRFeU1ETTJNQjRYRFRJME1EZ3dPREV3TVRNMU5sb1hEVEkxTURndwpPREV3TVRNMU5sb3dNREVYTUJVR0ExVUVDaE1PYzNsemRHVnRPbTFoYzNSbGNuTXhGVEFUQmdOVkJBTVRESE41CmMzUmxiVHBoWkcxcGJqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQUJGQ2Q1MFdPeWdlQ2syQzcKV2FrOWY4MVAvSkJieVRIajRWOXBsTEo0ck5HeHFtSjJOb2xROFYxdUx5RjBtOTQ2Nkc0RmRDQ2dqaXFVSk92Swp3NVRPNnd5alNEQkdNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUtCZ2dyQmdFRkJRY0RBakFmCkJnTlZIU01FR0RBV2dCVFJkOFI5cXVWK2pjeUVmL0ovT1hQSzMyS09XekFLQmdncWhrak9QUVFEQWdOSUFEQkYKQWlFQTArbThqTDBJVldvUTZ0dnB4cFo4NVlMalF1SmpwdXM0aDdnSXRxS3NmUVVDSUI2M2ZNdzFBMm5OVWU1TgpIUGZOcEQwSEtwcVN0Wnk4djIyVzliYlJUNklZCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJlRENDQVIyZ0F3SUJBZ0lCQURBS0JnZ3Foa2pPUFFRREFqQWpNU0V3SHdZRFZRUUREQmhyTTNNdFkyeHAKWlc1MExXTmhRREUzTWpNeE1USXdNell3SGhjTk1qUXdPREE0TVRBeE16VTJXaGNOTXpRd09EQTJNVEF4TXpVMgpXakFqTVNFd0h3WURWUVFEREJock0zTXRZMnhwWlc1MExXTmhRREUzTWpNeE1USXdNell3V1RBVEJnY3Foa2pPClBRSUJCZ2dxaGtqT1BRTUJCd05DQUFRc3hXWk9pbnIrcVp4TmFEQjVGMGsvTDF5cE01VHAxOFRaeU92ektJazQKRTFsZWVqUm9STW0zNmhPeVljbnN3d3JoNnhSUnBpMW5RdGhyMzg0S0Z6MlBvMEl3UURBT0JnTlZIUThCQWY4RQpCQU1DQXFRd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBZEJnTlZIUTRFRmdRVTBYZkVmYXJsZm8zTWhIL3lmemx6Cnl0OWlqbHN3Q2dZSUtvWkl6ajBFQXdJRFNRQXdSZ0loQUxJL2dNYnNMT3MvUUpJa3U2WHVpRVMwTEE2cEJHMXgKcnBlTnpGdlZOekZsQWlFQW1wdjBubjZqN3M0MVI0QzFNMEpSL0djNE53MHdldlFmZWdEVGF1R2p3cFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K"
|
KUBE_CA=""
|
||||||
KUBE_DATA="LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSU5ZS1BFb1dhd1NKUzJlRW5oWmlYMk5VZlY1ZlhKV2krSVNnV09TNFE5VTlvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFVUozblJZN0tCNEtUWUx0WnFUMS96VS84a0Z2Sk1lUGhYMm1Vc25pczBiR3FZblkyaVZEeApYVzR2SVhTYjNqcm9iZ1YwSUtDT0twUWs2OHJEbE03ckRBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo="
|
KUBE_CERT=""
|
||||||
|
KUBE_DATA=""
|
||||||
|
|||||||
0
envs/cluster-1.env
Normal file
0
envs/cluster-1.env
Normal file
0
envs/cluster-2.env
Normal file
0
envs/cluster-2.env
Normal file
@@ -1,3 +1,12 @@
|
|||||||
|
## TO START DEMO
|
||||||
|
|
||||||
|
`./start-demo.sh <num of cluster>`
|
||||||
|
|
||||||
|
To navigate between clusters : `export KUBECONFIG=configCluster<n>`
|
||||||
|
|
||||||
|
After mongodb pod launch on every cluster:
|
||||||
|
|
||||||
|
`./add-datas-demo.sh <num of cluster>`
|
||||||
|
|
||||||
## Deploy the opencloud chart
|
## Deploy the opencloud chart
|
||||||
|
|
||||||
@@ -7,6 +16,11 @@
|
|||||||
|
|
||||||
Feel free to modify/create a new opencloud/dev-values.yaml. Provided setup should work out of the box, but is not suitable for production usage.
|
Feel free to modify/create a new opencloud/dev-values.yaml. Provided setup should work out of the box, but is not suitable for production usage.
|
||||||
|
|
||||||
|
## k8s deployment
|
||||||
|
|
||||||
|
- Pull oc-k8s file put it in /usr/local/bin
|
||||||
|
- oc-k8s create values <namespace>
|
||||||
|
|
||||||
## Hostname settings
|
## Hostname settings
|
||||||
|
|
||||||
Edit your /etc/hosts file, and add following line:
|
Edit your /etc/hosts file, and add following line:
|
||||||
|
|||||||
9
k8s/add-datas-demo.sh
Executable file
9
k8s/add-datas-demo.sh
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
start=1
|
||||||
|
end=${1:-1}
|
||||||
|
|
||||||
|
for ((i=start; i<=end; i++)); do
|
||||||
|
export KUBECONFIG=~/.kube/configCluster$i
|
||||||
|
oc-k8s upgrade db -d opencloud -r cluster-$i -n cluster-$i -f ./datas/cluster-$i
|
||||||
|
done
|
||||||
656
k8s/cluster-1-values.yaml
Normal file
656
k8s/cluster-1-values.yaml
Normal file
@@ -0,0 +1,656 @@
|
|||||||
|
env: cluster-1 # For storage class provisioning
|
||||||
|
clusterName: cluster-1
|
||||||
|
hostNetwork: true
|
||||||
|
host: beta.opencloud.com
|
||||||
|
hostPort: 9600
|
||||||
|
registryHost: opencloudregistry
|
||||||
|
scheme: http
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
keys:
|
||||||
|
enabled: true
|
||||||
|
name: libp2p-keys
|
||||||
|
mountPath: ./pem
|
||||||
|
psk:
|
||||||
|
enabled: true
|
||||||
|
name: libp2p-psk
|
||||||
|
mountPath: ./psk
|
||||||
|
|
||||||
|
mongo-express:
|
||||||
|
enabled: true
|
||||||
|
mongodbServer: "cluster-1-mongodb.cluster-1" # TO LOOK AFTER
|
||||||
|
mongodbPort: 27017
|
||||||
|
mongodbEnableAdmin: true
|
||||||
|
mongodbAdminUsername: admin
|
||||||
|
mongodbAdminPassword: admin
|
||||||
|
siteBaseUrl: /mongoexpress
|
||||||
|
basicAuthUsername: admin
|
||||||
|
basicAuthPassword: admin
|
||||||
|
mongodb:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
mongodb:
|
||||||
|
enabled: true
|
||||||
|
global:
|
||||||
|
defaultStorageClass: "standard"
|
||||||
|
storageClass: "standard"
|
||||||
|
architecture: standalone
|
||||||
|
useStatefulSet: false
|
||||||
|
auth:
|
||||||
|
enabled: true
|
||||||
|
rootUser: admin
|
||||||
|
rootPassword: admin
|
||||||
|
databases: [ opencloud ]
|
||||||
|
usernames: [ admin ]
|
||||||
|
passwords: [ admin ]
|
||||||
|
resourcesPreset: "small"
|
||||||
|
replicaCount: 1
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
create: false # do not auto-create
|
||||||
|
existingClaim: mongo-pvc
|
||||||
|
storageClassName: "standard"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
persistentVolumeClaimRetentionPolicy:
|
||||||
|
enabled: true
|
||||||
|
whenDeleted: Retain
|
||||||
|
whenScaled: Retain
|
||||||
|
arbiter:
|
||||||
|
enabled: false
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
nats:
|
||||||
|
enabled: true
|
||||||
|
extraEnv:
|
||||||
|
- name: NATS_MAX_FILE_DESCRIPTORS
|
||||||
|
value: "65536"
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: nats-config
|
||||||
|
mountPath: /etc/nats
|
||||||
|
config:
|
||||||
|
jetstream:
|
||||||
|
enabled: true
|
||||||
|
fileStore:
|
||||||
|
enabled: true
|
||||||
|
dir: /data/jetstream # mountPath used by template
|
||||||
|
# pvc block must live here
|
||||||
|
pvc:
|
||||||
|
enabled: true
|
||||||
|
# if you already created the claim, set existingClaim:
|
||||||
|
existingClaim: nats-pvc
|
||||||
|
# storageClassName: local-path or standard (use the SC in your cluster)
|
||||||
|
storageClassName: standard
|
||||||
|
size: 50Gi
|
||||||
|
# name is the volume name used in volumeMounts; keep it simple
|
||||||
|
name: nats-jetstream
|
||||||
|
|
||||||
|
openldap:
|
||||||
|
enabled: true
|
||||||
|
test:
|
||||||
|
enabled: false
|
||||||
|
ltb-passwd:
|
||||||
|
enabled: false
|
||||||
|
replicaCount: 1
|
||||||
|
image:
|
||||||
|
repository: osixia/openldap
|
||||||
|
tls:
|
||||||
|
enabled: false
|
||||||
|
env:
|
||||||
|
LDAP_ORGANISATION: Opencloud
|
||||||
|
LDAP_DOMAIN: opencloud.com
|
||||||
|
LDAP_BACKEND: "mdb"
|
||||||
|
LDAP_TLS: "false"
|
||||||
|
LDAP_TLS_ENFORCE: "false"
|
||||||
|
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
|
||||||
|
adminPassword: admin
|
||||||
|
configPassword: configadmin
|
||||||
|
phpldapadmin:
|
||||||
|
enabled: false
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
create: false # do not auto-create
|
||||||
|
existingClaim: openldap-pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 10Mi
|
||||||
|
storageClassName: ""
|
||||||
|
replication:
|
||||||
|
enabled: false
|
||||||
|
externalLDAP:
|
||||||
|
enabled: false
|
||||||
|
url: 389
|
||||||
|
bindDN: uid=admin,dc=opencloud,dc=com
|
||||||
|
bindPassword: admin
|
||||||
|
customLdifFiles:
|
||||||
|
01-schema.ldif: |-
|
||||||
|
dn: ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
ou: groups
|
||||||
|
|
||||||
|
dn: ou=users,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
ou: users
|
||||||
|
|
||||||
|
dn: cn=lastGID,dc=opencloud,dc=com
|
||||||
|
objectClass: device
|
||||||
|
objectClass: top
|
||||||
|
description: Records the last GID used to create a Posix group. This prevents the re-use of a GID from a deleted group.
|
||||||
|
cn: lastGID
|
||||||
|
serialNumber: 2001
|
||||||
|
|
||||||
|
dn: cn=lastUID,dc=opencloud,dc=com
|
||||||
|
objectClass: device
|
||||||
|
objectClass: top
|
||||||
|
serialNumber: 2001
|
||||||
|
description: Records the last UID used to create a Posix account. This prevents the re-use of a UID from a deleted account.
|
||||||
|
cn: lastUID
|
||||||
|
|
||||||
|
dn: cn=everybody,ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: top
|
||||||
|
objectClass: posixGroup
|
||||||
|
cn: everybody
|
||||||
|
memberUid: admin
|
||||||
|
gidNumber: 2003
|
||||||
|
|
||||||
|
02-ldapadmin.ldif : |-
|
||||||
|
dn: cn=ldapadmin,ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: top
|
||||||
|
objectClass: posixGroup
|
||||||
|
cn: ldapadmin
|
||||||
|
memberUid: ldapadmin
|
||||||
|
gidNumber: 2001
|
||||||
|
|
||||||
|
dn: uid=ldapadmin,ou=users,dc=opencloud,dc=com
|
||||||
|
givenName: ldap
|
||||||
|
sn: admin
|
||||||
|
uid: ldapadmin
|
||||||
|
cn: ldapadmin
|
||||||
|
mail: ldapadmin@example.com
|
||||||
|
objectClass: person
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
objectClass: posixAccount
|
||||||
|
userPassword: sai1yeiT
|
||||||
|
uidNumber: 2001
|
||||||
|
gidNumber: 2001
|
||||||
|
loginShell: /bin/bash
|
||||||
|
homeDirectory: /home/ldapadmin
|
||||||
|
|
||||||
|
03-opencloudadmin.ldif : |-
|
||||||
|
dn: uid=admin,ou=users,dc=opencloud,dc=com
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
cn: Admin
|
||||||
|
sn: Istrator
|
||||||
|
uid: admin
|
||||||
|
userPassword: {SSHA}HMWJO7XCw80he2lqMf0PHzvvF14p6aLE
|
||||||
|
mail: morgane.roques@irt-saintexupery.com
|
||||||
|
ou: users
|
||||||
|
|
||||||
|
dn: ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalunit
|
||||||
|
ou: AppRoles
|
||||||
|
description: AppRoles
|
||||||
|
|
||||||
|
dn: ou=Opencloud,ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalunit
|
||||||
|
ou: Opencloud
|
||||||
|
description: Opencloud
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
server:
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
size: 5Gi
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
# ldap user manager configuration
|
||||||
|
ldapUserManager:
|
||||||
|
enabled: true
|
||||||
|
env:
|
||||||
|
SERVER_HOSTNAME: ldap.opencloud.com
|
||||||
|
LDAP_BASE_DN: dc=opencloud,dc=com
|
||||||
|
LDAP_REQUIRE_STARTTLS: "false"
|
||||||
|
LDAP_ADMINS_GROUP: ldapadmin
|
||||||
|
LDAP_ADMIN_BIND_DN: cn=admin,dc=opencloud,dc=com
|
||||||
|
LDAP_ADMIN_BIND_PWD: "{SSHA}HMWJO7XCw80he2lqMf0PHzvvF14p6aLE"
|
||||||
|
LDAP_IGNORE_CERT_ERRORS: "true"
|
||||||
|
EMAIL_DOMAIN: ""
|
||||||
|
NO_HTTPS: "true"
|
||||||
|
SERVER_PATH: "/users"
|
||||||
|
ORGANISATION_NAME: Opencloud
|
||||||
|
LDAP_USER_OU: users
|
||||||
|
LDAP_GROUP_OU: groups
|
||||||
|
ACCEPT_WEAK_PASSWORDS: "true"
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
service:
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
nodePort: 30950
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
nodePort: 30951
|
||||||
|
ingressRoute:
|
||||||
|
dashboard:
|
||||||
|
enabled: true
|
||||||
|
matchRule: Host(`localhost`) && PathPrefix(`/api`) || PathPrefix(`/dashboard`)
|
||||||
|
entryPoints: [web]
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
nodePort: 30950
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
nodePort: 30951
|
||||||
|
|
||||||
|
hydra:
|
||||||
|
enabled: true
|
||||||
|
maester:
|
||||||
|
enabled: true
|
||||||
|
secret:
|
||||||
|
enabled: false
|
||||||
|
nameOverride: hydra-secret
|
||||||
|
hashSumEnabled: false
|
||||||
|
hydra:
|
||||||
|
dev: true
|
||||||
|
existingSecret: hydra-secret
|
||||||
|
config:
|
||||||
|
dsn: memory
|
||||||
|
urls:
|
||||||
|
# login: https://localhost-login/authentication/login
|
||||||
|
# consent: https://localhost-consent/consent/consent
|
||||||
|
# logout: https://localhost-logout/authentication/logout
|
||||||
|
self:
|
||||||
|
issuer: "http://cluster-1-hydra-public.cluster-1:4444/"
|
||||||
|
|
||||||
|
keto:
|
||||||
|
enabled: true
|
||||||
|
keto:
|
||||||
|
config:
|
||||||
|
serve:
|
||||||
|
read:
|
||||||
|
port: 4466
|
||||||
|
write:
|
||||||
|
port: 4467
|
||||||
|
metrics:
|
||||||
|
port: 4468
|
||||||
|
namespaces:
|
||||||
|
- id: 0
|
||||||
|
name: open-cloud
|
||||||
|
dsn: memory
|
||||||
|
|
||||||
|
|
||||||
|
loki:
|
||||||
|
enabled: true
|
||||||
|
loki:
|
||||||
|
auth_enabled: false
|
||||||
|
commonConfig:
|
||||||
|
replication_factor: 1
|
||||||
|
storage:
|
||||||
|
storageClassName: standard
|
||||||
|
type: filesystem
|
||||||
|
filesystem:
|
||||||
|
chunks_directory: /var/loki/chunks
|
||||||
|
rules_directory: /var/loki/rules
|
||||||
|
admin_api_directory: /var/loki/admin
|
||||||
|
storage_config:
|
||||||
|
boltdb_shipper:
|
||||||
|
active_index_directory: /var/loki/index
|
||||||
|
filesystem:
|
||||||
|
directory: /var/loki/chunks
|
||||||
|
limits_config:
|
||||||
|
allow_structured_metadata: false
|
||||||
|
schemaConfig:
|
||||||
|
configs:
|
||||||
|
- from: "2020-01-01"
|
||||||
|
store: boltdb-shipper
|
||||||
|
object_store: filesystem
|
||||||
|
schema: v11
|
||||||
|
index:
|
||||||
|
prefix: index_
|
||||||
|
period: 24h
|
||||||
|
ingester:
|
||||||
|
chunk_encoding: snappy
|
||||||
|
tracing:
|
||||||
|
enabled: true
|
||||||
|
querier:
|
||||||
|
max_concurrent: 2
|
||||||
|
|
||||||
|
deploymentMode: SingleBinary
|
||||||
|
singleBinary:
|
||||||
|
extraVolumes:
|
||||||
|
- name: loki-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: loki-pvc
|
||||||
|
persistence:
|
||||||
|
enabled: false # Deactivate loki auto provisioning, rely on existing PVC
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
storageClassName: standard
|
||||||
|
create: false
|
||||||
|
claimName: loki-pvc
|
||||||
|
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: loki-storage
|
||||||
|
mountPath: /var/loki
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 3
|
||||||
|
memory: 4Gi
|
||||||
|
requests:
|
||||||
|
cpu: 1
|
||||||
|
memory: 0.5Gi
|
||||||
|
extraEnv:
|
||||||
|
- name: GOMEMLIMIT
|
||||||
|
value: 3750MiB
|
||||||
|
|
||||||
|
chunksCache:
|
||||||
|
# default is 500MB, with limited memory keep this smaller
|
||||||
|
writebackSizeLimit: 10MB
|
||||||
|
|
||||||
|
# Enable minio for storage
|
||||||
|
minio:
|
||||||
|
enabled: false
|
||||||
|
# Zero out replica counts of other deployment modes
|
||||||
|
backend:
|
||||||
|
replicas: 0
|
||||||
|
read:
|
||||||
|
replicas: 0
|
||||||
|
write:
|
||||||
|
replicas: 0
|
||||||
|
ingester:
|
||||||
|
replicas: 0
|
||||||
|
querier:
|
||||||
|
replicas: 0
|
||||||
|
queryFrontend:
|
||||||
|
replicas: 0
|
||||||
|
queryScheduler:
|
||||||
|
replicas: 0
|
||||||
|
distributor:
|
||||||
|
replicas: 0
|
||||||
|
compactor:
|
||||||
|
replicas: 0
|
||||||
|
indexGateway:
|
||||||
|
replicas: 0
|
||||||
|
bloomCompactor:
|
||||||
|
replicas: 0
|
||||||
|
bloomGateway:
|
||||||
|
replicas: 0
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
enabled: true
|
||||||
|
adminUser: admin
|
||||||
|
adminPassword: admin
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
size: 1Gi
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
argo-workflows:
|
||||||
|
enabled: false
|
||||||
|
workflow:
|
||||||
|
serviceAccount:
|
||||||
|
create: false
|
||||||
|
name: argo-workflow
|
||||||
|
rbac:
|
||||||
|
create: false # Manual provisioning
|
||||||
|
controller:
|
||||||
|
workflowNamespaces: [] #All of them
|
||||||
|
controller:
|
||||||
|
workflowDefaults:
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argo-workflow
|
||||||
|
|
||||||
|
ocAuth:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-auth:latest
|
||||||
|
authType: hydra
|
||||||
|
keto:
|
||||||
|
adminRole: admin
|
||||||
|
hydra:
|
||||||
|
openCloudOauth2ClientSecretName: opencloud-oauth2-client-secret
|
||||||
|
ldap:
|
||||||
|
bindDn: cn=admin,dc=opencloud,dc=com
|
||||||
|
binPwd: admin
|
||||||
|
baseDn: dc=opencloud,dc=com
|
||||||
|
userBaseDn: ou=users,dc=opencloud,dc=com
|
||||||
|
roleBaseDn: ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocFront:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-front:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocWorkspace:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-workspace:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
|
||||||
|
ocShared:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-shared:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocWorkflow:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-workflow:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocCatalog:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-catalog:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocPeer:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-peer:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocDatacenter:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-datacenter:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocDiscovery:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-schedulerd:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocSchedulerd:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-schedulerd:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocScheduler:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-scheduler:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
docker-registry-ui:
|
||||||
|
enabled: true
|
||||||
|
ui:
|
||||||
|
title: "opencloud docker registry"
|
||||||
|
proxy: true
|
||||||
|
dockerRegistryUrl: "http://cluster-1-docker-registry-ui-registry-server.cluster-1.svc.cluster.local:5000"
|
||||||
|
registry:
|
||||||
|
secretName: regcred
|
||||||
|
enabled: true
|
||||||
|
dataVolume:
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: docker-registry-pvc
|
||||||
|
persistence:
|
||||||
|
create: false
|
||||||
|
existingClaim: docker-registry-pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
storage: 5Gi
|
||||||
|
storageClassName: "standard"
|
||||||
656
k8s/cluster-2-values.yaml
Normal file
656
k8s/cluster-2-values.yaml
Normal file
@@ -0,0 +1,656 @@
|
|||||||
|
env: cluster-2 # For storage class provisioning
|
||||||
|
clusterName: cluster-2
|
||||||
|
hostNetwork: true
|
||||||
|
host: beta.opencloud.com
|
||||||
|
hostPort: 9700
|
||||||
|
registryHost: opencloudregistry
|
||||||
|
scheme: http
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
keys:
|
||||||
|
enabled: true
|
||||||
|
name: libp2p-keys
|
||||||
|
mountPath: ./pem
|
||||||
|
psk:
|
||||||
|
enabled: true
|
||||||
|
name: libp2p-psk
|
||||||
|
mountPath: ./psk
|
||||||
|
|
||||||
|
mongo-express:
|
||||||
|
enabled: true
|
||||||
|
mongodbServer: "cluster-2-mongodb.cluster-2" # TO LOOK AFTER
|
||||||
|
mongodbPort: 27017
|
||||||
|
mongodbEnableAdmin: true
|
||||||
|
mongodbAdminUsername: admin
|
||||||
|
mongodbAdminPassword: admin
|
||||||
|
siteBaseUrl: /mongoexpress
|
||||||
|
basicAuthUsername: admin
|
||||||
|
basicAuthPassword: admin
|
||||||
|
mongodb:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
mongodb:
|
||||||
|
enabled: true
|
||||||
|
global:
|
||||||
|
defaultStorageClass: "standard"
|
||||||
|
storageClass: "standard"
|
||||||
|
architecture: standalone
|
||||||
|
useStatefulSet: false
|
||||||
|
auth:
|
||||||
|
enabled: true
|
||||||
|
rootUser: admin
|
||||||
|
rootPassword: admin
|
||||||
|
databases: [ opencloud ]
|
||||||
|
usernames: [ admin ]
|
||||||
|
passwords: [ admin ]
|
||||||
|
resourcesPreset: "small"
|
||||||
|
replicaCount: 1
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
create: false # do not auto-create
|
||||||
|
existingClaim: mongo-pvc
|
||||||
|
storageClassName: "standard"
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
size: 5Gi
|
||||||
|
persistentVolumeClaimRetentionPolicy:
|
||||||
|
enabled: true
|
||||||
|
whenDeleted: Retain
|
||||||
|
whenScaled: Retain
|
||||||
|
arbiter:
|
||||||
|
enabled: false
|
||||||
|
livenessProbe:
|
||||||
|
enabled: true
|
||||||
|
readinessProbe:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
nats:
|
||||||
|
enabled: true
|
||||||
|
extraEnv:
|
||||||
|
- name: NATS_MAX_FILE_DESCRIPTORS
|
||||||
|
value: "65536"
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: nats-config
|
||||||
|
mountPath: /etc/nats
|
||||||
|
config:
|
||||||
|
jetstream:
|
||||||
|
enabled: true
|
||||||
|
fileStore:
|
||||||
|
enabled: true
|
||||||
|
dir: /data/jetstream # mountPath used by template
|
||||||
|
# pvc block must live here
|
||||||
|
pvc:
|
||||||
|
enabled: true
|
||||||
|
# if you already created the claim, set existingClaim:
|
||||||
|
existingClaim: nats-pvc
|
||||||
|
# storageClassName: local-path or standard (use the SC in your cluster)
|
||||||
|
storageClassName: standard
|
||||||
|
size: 50Gi
|
||||||
|
# name is the volume name used in volumeMounts; keep it simple
|
||||||
|
name: nats-jetstream
|
||||||
|
|
||||||
|
openldap:
|
||||||
|
enabled: true
|
||||||
|
test:
|
||||||
|
enabled: false
|
||||||
|
ltb-passwd:
|
||||||
|
enabled: false
|
||||||
|
replicaCount: 1
|
||||||
|
image:
|
||||||
|
repository: osixia/openldap
|
||||||
|
tls:
|
||||||
|
enabled: false
|
||||||
|
env:
|
||||||
|
LDAP_ORGANISATION: Opencloud
|
||||||
|
LDAP_DOMAIN: opencloud.com
|
||||||
|
LDAP_BACKEND: "mdb"
|
||||||
|
LDAP_TLS: "false"
|
||||||
|
LDAP_TLS_ENFORCE: "false"
|
||||||
|
LDAP_REMOVE_CONFIG_AFTER_SETUP: "true"
|
||||||
|
adminPassword: admin
|
||||||
|
configPassword: configadmin
|
||||||
|
phpldapadmin:
|
||||||
|
enabled: false
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
create: false # do not auto-create
|
||||||
|
existingClaim: openldap-pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 10Mi
|
||||||
|
storageClassName: ""
|
||||||
|
replication:
|
||||||
|
enabled: false
|
||||||
|
externalLDAP:
|
||||||
|
enabled: false
|
||||||
|
url: 389
|
||||||
|
bindDN: uid=admin,dc=opencloud,dc=com
|
||||||
|
bindPassword: admin
|
||||||
|
customLdifFiles:
|
||||||
|
01-schema.ldif: |-
|
||||||
|
dn: ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
ou: groups
|
||||||
|
|
||||||
|
dn: ou=users,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalUnit
|
||||||
|
ou: users
|
||||||
|
|
||||||
|
dn: cn=lastGID,dc=opencloud,dc=com
|
||||||
|
objectClass: device
|
||||||
|
objectClass: top
|
||||||
|
description: Records the last GID used to create a Posix group. This prevents the re-use of a GID from a deleted group.
|
||||||
|
cn: lastGID
|
||||||
|
serialNumber: 2001
|
||||||
|
|
||||||
|
dn: cn=lastUID,dc=opencloud,dc=com
|
||||||
|
objectClass: device
|
||||||
|
objectClass: top
|
||||||
|
serialNumber: 2001
|
||||||
|
description: Records the last UID used to create a Posix account. This prevents the re-use of a UID from a deleted account.
|
||||||
|
cn: lastUID
|
||||||
|
|
||||||
|
dn: cn=everybody,ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: top
|
||||||
|
objectClass: posixGroup
|
||||||
|
cn: everybody
|
||||||
|
memberUid: admin
|
||||||
|
gidNumber: 2003
|
||||||
|
|
||||||
|
02-ldapadmin.ldif : |-
|
||||||
|
dn: cn=ldapadmin,ou=groups,dc=opencloud,dc=com
|
||||||
|
objectClass: top
|
||||||
|
objectClass: posixGroup
|
||||||
|
cn: ldapadmin
|
||||||
|
memberUid: ldapadmin
|
||||||
|
gidNumber: 2001
|
||||||
|
|
||||||
|
dn: uid=ldapadmin,ou=users,dc=opencloud,dc=com
|
||||||
|
givenName: ldap
|
||||||
|
sn: admin
|
||||||
|
uid: ldapadmin
|
||||||
|
cn: ldapadmin
|
||||||
|
mail: ldapadmin@example.com
|
||||||
|
objectClass: person
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
objectClass: posixAccount
|
||||||
|
userPassword: sai1yeiT
|
||||||
|
uidNumber: 2001
|
||||||
|
gidNumber: 2001
|
||||||
|
loginShell: /bin/bash
|
||||||
|
homeDirectory: /home/ldapadmin
|
||||||
|
|
||||||
|
03-opencloudadmin.ldif : |-
|
||||||
|
dn: uid=admin,ou=users,dc=opencloud,dc=com
|
||||||
|
objectClass: inetOrgPerson
|
||||||
|
cn: Admin
|
||||||
|
sn: Istrator
|
||||||
|
uid: admin
|
||||||
|
userPassword: {SSHA}HMWJO7XCw80he2lqMf0PHzvvF14p6aLE
|
||||||
|
mail: morgane.roques@irt-saintexupery.com
|
||||||
|
ou: users
|
||||||
|
|
||||||
|
dn: ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalunit
|
||||||
|
ou: AppRoles
|
||||||
|
description: AppRoles
|
||||||
|
|
||||||
|
dn: ou=Opencloud,ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
objectClass: organizationalunit
|
||||||
|
ou: Opencloud
|
||||||
|
description: Opencloud
|
||||||
|
|
||||||
|
prometheus:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
server:
|
||||||
|
persistentVolume:
|
||||||
|
enabled: true
|
||||||
|
size: 5Gi
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 500m
|
||||||
|
memory: 512Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
# ldap user manager configuration
|
||||||
|
ldapUserManager:
|
||||||
|
enabled: true
|
||||||
|
env:
|
||||||
|
SERVER_HOSTNAME: ldap.opencloud.com
|
||||||
|
LDAP_BASE_DN: dc=opencloud,dc=com
|
||||||
|
LDAP_REQUIRE_STARTTLS: "false"
|
||||||
|
LDAP_ADMINS_GROUP: ldapadmin
|
||||||
|
LDAP_ADMIN_BIND_DN: cn=admin,dc=opencloud,dc=com
|
||||||
|
LDAP_ADMIN_BIND_PWD: "{SSHA}HMWJO7XCw80he2lqMf0PHzvvF14p6aLE"
|
||||||
|
LDAP_IGNORE_CERT_ERRORS: "true"
|
||||||
|
EMAIL_DOMAIN: ""
|
||||||
|
NO_HTTPS: "true"
|
||||||
|
SERVER_PATH: "/users"
|
||||||
|
ORGANISATION_NAME: Opencloud
|
||||||
|
LDAP_USER_OU: users
|
||||||
|
LDAP_GROUP_OU: groups
|
||||||
|
ACCEPT_WEAK_PASSWORDS: "true"
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
traefik:
|
||||||
|
enabled: true
|
||||||
|
service:
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
nodePort: 30950
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
nodePort: 30951
|
||||||
|
ingressRoute:
|
||||||
|
dashboard:
|
||||||
|
enabled: true
|
||||||
|
matchRule: Host(`localhost`) && PathPrefix(`/api`) || PathPrefix(`/dashboard`)
|
||||||
|
entryPoints: [web]
|
||||||
|
ports:
|
||||||
|
web:
|
||||||
|
port: 80
|
||||||
|
nodePort: 30950
|
||||||
|
websecure:
|
||||||
|
port: 443
|
||||||
|
nodePort: 30951
|
||||||
|
|
||||||
|
hydra:
|
||||||
|
enabled: true
|
||||||
|
maester:
|
||||||
|
enabled: true
|
||||||
|
secret:
|
||||||
|
enabled: false
|
||||||
|
nameOverride: hydra-secret
|
||||||
|
hashSumEnabled: false
|
||||||
|
hydra:
|
||||||
|
dev: true
|
||||||
|
existingSecret: hydra-secret
|
||||||
|
config:
|
||||||
|
dsn: memory
|
||||||
|
urls:
|
||||||
|
# login: https://localhost-login/authentication/login
|
||||||
|
# consent: https://localhost-consent/consent/consent
|
||||||
|
# logout: https://localhost-logout/authentication/logout
|
||||||
|
self:
|
||||||
|
issuer: "http://cluster-2-hydra-public.cluster-2:4444/"
|
||||||
|
|
||||||
|
keto:
|
||||||
|
enabled: true
|
||||||
|
keto:
|
||||||
|
config:
|
||||||
|
serve:
|
||||||
|
read:
|
||||||
|
port: 4466
|
||||||
|
write:
|
||||||
|
port: 4467
|
||||||
|
metrics:
|
||||||
|
port: 4468
|
||||||
|
namespaces:
|
||||||
|
- id: 0
|
||||||
|
name: open-cloud
|
||||||
|
dsn: memory
|
||||||
|
|
||||||
|
|
||||||
|
loki:
|
||||||
|
enabled: true
|
||||||
|
loki:
|
||||||
|
auth_enabled: false
|
||||||
|
commonConfig:
|
||||||
|
replication_factor: 1
|
||||||
|
storage:
|
||||||
|
storageClassName: standard
|
||||||
|
type: filesystem
|
||||||
|
filesystem:
|
||||||
|
chunks_directory: /var/loki/chunks
|
||||||
|
rules_directory: /var/loki/rules
|
||||||
|
admin_api_directory: /var/loki/admin
|
||||||
|
storage_config:
|
||||||
|
boltdb_shipper:
|
||||||
|
active_index_directory: /var/loki/index
|
||||||
|
filesystem:
|
||||||
|
directory: /var/loki/chunks
|
||||||
|
limits_config:
|
||||||
|
allow_structured_metadata: false
|
||||||
|
schemaConfig:
|
||||||
|
configs:
|
||||||
|
- from: "2020-01-01"
|
||||||
|
store: boltdb-shipper
|
||||||
|
object_store: filesystem
|
||||||
|
schema: v11
|
||||||
|
index:
|
||||||
|
prefix: index_
|
||||||
|
period: 24h
|
||||||
|
ingester:
|
||||||
|
chunk_encoding: snappy
|
||||||
|
tracing:
|
||||||
|
enabled: true
|
||||||
|
querier:
|
||||||
|
max_concurrent: 2
|
||||||
|
|
||||||
|
deploymentMode: SingleBinary
|
||||||
|
singleBinary:
|
||||||
|
extraVolumes:
|
||||||
|
- name: loki-storage
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: loki-pvc
|
||||||
|
persistence:
|
||||||
|
enabled: false # Deactivate loki auto provisioning, rely on existing PVC
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
size: 1Gi
|
||||||
|
storageClassName: standard
|
||||||
|
create: false
|
||||||
|
claimName: loki-pvc
|
||||||
|
|
||||||
|
extraVolumeMounts:
|
||||||
|
- name: loki-storage
|
||||||
|
mountPath: /var/loki
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 3
|
||||||
|
memory: 4Gi
|
||||||
|
requests:
|
||||||
|
cpu: 1
|
||||||
|
memory: 0.5Gi
|
||||||
|
extraEnv:
|
||||||
|
- name: GOMEMLIMIT
|
||||||
|
value: 3750MiB
|
||||||
|
|
||||||
|
chunksCache:
|
||||||
|
# default is 500MB, with limited memory keep this smaller
|
||||||
|
writebackSizeLimit: 10MB
|
||||||
|
|
||||||
|
# Enable minio for storage
|
||||||
|
minio:
|
||||||
|
enabled: false
|
||||||
|
# Zero out replica counts of other deployment modes
|
||||||
|
backend:
|
||||||
|
replicas: 0
|
||||||
|
read:
|
||||||
|
replicas: 0
|
||||||
|
write:
|
||||||
|
replicas: 0
|
||||||
|
ingester:
|
||||||
|
replicas: 0
|
||||||
|
querier:
|
||||||
|
replicas: 0
|
||||||
|
queryFrontend:
|
||||||
|
replicas: 0
|
||||||
|
queryScheduler:
|
||||||
|
replicas: 0
|
||||||
|
distributor:
|
||||||
|
replicas: 0
|
||||||
|
compactor:
|
||||||
|
replicas: 0
|
||||||
|
indexGateway:
|
||||||
|
replicas: 0
|
||||||
|
bloomCompactor:
|
||||||
|
replicas: 0
|
||||||
|
bloomGateway:
|
||||||
|
replicas: 0
|
||||||
|
|
||||||
|
grafana:
|
||||||
|
enabled: true
|
||||||
|
adminUser: admin
|
||||||
|
adminPassword: admin
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
size: 1Gi
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
argo-workflows:
|
||||||
|
enabled: false
|
||||||
|
workflow:
|
||||||
|
serviceAccount:
|
||||||
|
create: false
|
||||||
|
name: argo-workflow
|
||||||
|
rbac:
|
||||||
|
create: false # Manual provisioning
|
||||||
|
controller:
|
||||||
|
workflowNamespaces: [] #All of them
|
||||||
|
controller:
|
||||||
|
workflowDefaults:
|
||||||
|
spec:
|
||||||
|
serviceAccountName: argo-workflow
|
||||||
|
|
||||||
|
ocAuth:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-auth:latest
|
||||||
|
authType: hydra
|
||||||
|
keto:
|
||||||
|
adminRole: admin
|
||||||
|
hydra:
|
||||||
|
openCloudOauth2ClientSecretName: opencloud-oauth2-client-secret
|
||||||
|
ldap:
|
||||||
|
bindDn: cn=admin,dc=opencloud,dc=com
|
||||||
|
binPwd: admin
|
||||||
|
baseDn: dc=opencloud,dc=com
|
||||||
|
userBaseDn: ou=users,dc=opencloud,dc=com
|
||||||
|
roleBaseDn: ou=AppRoles,dc=opencloud,dc=com
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocFront:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-front:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocWorkspace:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-workspace:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
|
||||||
|
ocShared:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-shared:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocWorkflow:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-workflow:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocCatalog:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-catalog:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocPeer:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-peer:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocDatacenter:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-datacenter:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocDiscovery:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-schedulerd:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocSchedulerd:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-schedulerd:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
ocScheduler:
|
||||||
|
enabled: true
|
||||||
|
enableTraefikProxyIntegration: true
|
||||||
|
image: opencloudregistry/oc-scheduler:latest
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
requests:
|
||||||
|
cpu: 128m
|
||||||
|
memory: 256Mi
|
||||||
|
replicas: 1
|
||||||
|
hpa:
|
||||||
|
enabled: true
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 5
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
|
||||||
|
docker-registry-ui:
|
||||||
|
enabled: true
|
||||||
|
ui:
|
||||||
|
title: "opencloud docker registry"
|
||||||
|
proxy: true
|
||||||
|
dockerRegistryUrl: "http://cluster-2-docker-registry-ui-registry-server.cluster-2.svc.cluster.local:5000"
|
||||||
|
registry:
|
||||||
|
secretName: regcred
|
||||||
|
enabled: true
|
||||||
|
dataVolume:
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: docker-registry-pvc
|
||||||
|
persistence:
|
||||||
|
create: false
|
||||||
|
existingClaim: docker-registry-pvc
|
||||||
|
accessMode: ReadWriteOnce
|
||||||
|
storage: 5Gi
|
||||||
|
storageClassName: "standard"
|
||||||
2
k8s/conf/cluster-1.conf
Normal file
2
k8s/conf/cluster-1.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CLUSTER_NAME=cluster-1
|
||||||
|
PORT=9600
|
||||||
2
k8s/conf/cluster-2.conf
Normal file
2
k8s/conf/cluster-2.conf
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
CLUSTER_NAME=cluster-2
|
||||||
|
PORT=9700
|
||||||
91
k8s/datas/cluster-1/compute_resource.json
Normal file
91
k8s/datas/cluster-1/compute_resource.json
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
[{
|
||||||
|
"_id":"7b989e97-c3e7-49d2-a3a7-f959da4870b5",
|
||||||
|
"abstractinstanciatedresource":{
|
||||||
|
"abstractresource":{
|
||||||
|
"type":"compute",
|
||||||
|
"abstractobject":{
|
||||||
|
"id":"7b989e97-c3e7-49d2-a3a7-f959da4870b5",
|
||||||
|
"name":"Mundi datacenter",
|
||||||
|
"is_draft":false,
|
||||||
|
"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"creation_date":"2021-09-30T14:00:00.000Z",
|
||||||
|
"update_date":"2021-09-30T14:00:00.000Z",
|
||||||
|
"updater_id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"access_mode":1
|
||||||
|
},
|
||||||
|
"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Mundi datacenter.png",
|
||||||
|
"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
|
||||||
|
"short_description":"Mundi Opencloud Instance",
|
||||||
|
"owners":[{"name":"IRT Saint Exupery"}]},
|
||||||
|
"instances":[{
|
||||||
|
"resourceinstance":{
|
||||||
|
"abstractobject":{
|
||||||
|
"id":"7b989e97-c3e7-49d2-a3a7-f959da4870b5",
|
||||||
|
"name":"Mundi datacenter Toulouse"},
|
||||||
|
"location":{"latitude":50.62925,"longitude":3.057256},
|
||||||
|
"country":250,
|
||||||
|
"partnerships":[
|
||||||
|
|
||||||
|
]},
|
||||||
|
"security_level":"public",
|
||||||
|
"annual_co2_emissions":1000,
|
||||||
|
"power_sources":["solaire","charbon"],
|
||||||
|
"cpus":{
|
||||||
|
"Intel Core i7-14700KF":{
|
||||||
|
"model":"Intel Core i7-14700KF","frequency":3.6,"cores":16,"architecture":"x86"
|
||||||
|
}},
|
||||||
|
"gpus":{
|
||||||
|
"RTX 3090 FE":{"cores":{"cuda":10496,"tensor":328},"model":"RTX 3090 FE","memory":24000}
|
||||||
|
},
|
||||||
|
"nodes":[
|
||||||
|
{"name":"default","quantity":1,"ram":{"size":16384},"cpus":{"Intel Core i7-14700KF":1},"gpus":{"RTX 3090 FE":8}},{"name":"special","quantity":2,"ram":{"size":16384},"cpus":{"Intel Core i7-14700KF":10},"gpus":{"RTX 3090 FE":10}}
|
||||||
|
]
|
||||||
|
}]
|
||||||
|
},
|
||||||
|
"architecture":"x86",
|
||||||
|
"infrastructure":0
|
||||||
|
},{
|
||||||
|
"_id":"0bb77206-371a-428e-8ae3-ff11575071e2",
|
||||||
|
"abstractinstanciatedresource":{
|
||||||
|
"abstractresource":{
|
||||||
|
"type":"compute",
|
||||||
|
"abstractobject":{
|
||||||
|
"id":"0bb77206-371a-428e-8ae3-ff11575071e2",
|
||||||
|
"name":"VM Target 2",
|
||||||
|
"is_draft":false,
|
||||||
|
"creator_id":"6a3fc74d-8c06-4dbb-ad11-d5c53562775b",
|
||||||
|
"creation_date":"2021-09-30T14:00:00.000Z",
|
||||||
|
"update_date":"2021-09-30T14:00:00.000Z",
|
||||||
|
"updater_id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"access_mode":1
|
||||||
|
},
|
||||||
|
"logo":"https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png",
|
||||||
|
"description":"IP Address 172.16.0.181",
|
||||||
|
"short_description":"VM created by pierre to test admiralty",
|
||||||
|
"owners":[{"name":"IRT Saint Exupery"}]},
|
||||||
|
"instances":[
|
||||||
|
{"resourceinstance":{
|
||||||
|
"abstractobject":{"id":"0bb77206-371a-428e-8ae3-ff11575071e2","name":"VM Proxmox Pierre 2"},
|
||||||
|
"location":{"latitude":50.62925,"longitude":3.057256},"country":250,"partnerships":[
|
||||||
|
|
||||||
|
]},
|
||||||
|
"security_level":"private",
|
||||||
|
"annual_co2_emissions":1000,
|
||||||
|
"power_sources":["Larmes d'alternant"],
|
||||||
|
"cpus":{
|
||||||
|
"Intel Core Ultra 9 285K":{
|
||||||
|
"model":"Intel Core Ultra 9 285K",
|
||||||
|
"frequency":3.6,
|
||||||
|
"cores":32,
|
||||||
|
"architecture":"x86"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nodes":[{"name":"default","quantity":1,"ram":{"size":16384},"cpus":{"Intel Core Ultra 9 285K":1}}]
|
||||||
|
}
|
||||||
|
]},
|
||||||
|
"architecture":"x86","infrastructure":0},
|
||||||
|
{"_id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","abstractinstanciatedresource":{"abstractresource":{"type":"compute","abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Meteo France datacenter","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Meteo France datacenter.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Meteo France Opencloud Instance","owners":[{"name":"Meteo France"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Meteo France datacenter Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"security_level":"sec num cloud","annual_co2_emissions":1000,"power_sources":["solaire","charbon"],"cpus":{"Intel Core i7-14700KF":{"model":"Intel Core i7-14700KF","frequency":3.6,"cores":16,"architecture":"x86"}},"gpus":{"RTX 3090 FE":{"cores":{"cuda":10496,"tensor":328},"model":"RTX 3090 FE","memory":24000}},"nodes":[{"name":"default","quantity":1,"ram":{"size":32786},"cpus":{"Intel Core i7-14700KF":1},"gpus":{"RTX 3090 FE":8}}]}]},"architecture":"x86","infrastructure":0},{"_id":"e22b8d96-d799-4f36-b921-982fc3c6952c","abstractinstanciatedresource":{"abstractresource":{"type":"compute","abstractobject":{"id":"e22b8d96-d799-4f36-b921-982fc3c6952c","name":"CNES datacenter","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/CNES datacenter.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Mundi Opencloud Instance","owners":[{"name":"IRT Saint Exupery"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"e22b8d96-d799-4f36-b921-982fc3c6952c","name":"CNES datacenter Toulouse"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"security_level":"private","annual_co2_emissions":1000,"power_sources":["solaire","charbon"],"cpus":{"Intel Core Ultra 9 285K":{"model":"Intel Core Ultra 9 285K","frequency":3.6,"cores":32,"architecture":"x86"}},"gpus":{"RTX 3090 FE":{"cores":{"cuda":10496,"tensor":328},"model":"RTX 3090 FE","memory":24000}},"nodes":[{"name":"default","quantity":1,"ram":{"size":16384},"cpus":{"Intel Core Ultra 9 285K":1}}]}]},"architecture":"x86","infrastructure":0},{"_id":"979776c3-9ae7-4e02-9138-7b30b25f22cc","abstractinstanciatedresource":{"abstractresource":{"type":"compute","abstractobject":{"id":"979776c3-9ae7-4e02-9138-7b30b25f22cc","name":"VM Target 1","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png","description":"IP Address 172.16.0.181","short_description":"VM created by pierre to test admiralty","owners":[{"name":"IRT Saint Exupery"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"979776c3-9ae7-4e02-9138-7b30b25f22cc","name":"VM Proxmox Pierre 1"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"security_level":"private","annual_co2_emissions":1000,"power_sources":["Larmes d'alternant"],"cpus":{"Intel Core Ultra 9 285K":{"model":"Intel Core Ultra 9 285K","frequency":3.6,"cores":32,"architecture":"x86"}},"nodes":[{"name":"default","quantity":1,"ram":{"size":16384},"cpus":{"Intel Core Ultra 9 285K":1}}]}]},"architecture":"x86","infrastructure":0},{"_id":"4222318f-660c-47ce-9d6b-67a4691a354e","abstractinstanciatedresource":{"abstractresource":{"type":"compute","abstractobject":{"id":"4222318f-660c-47ce-9d6b-67a4691a354e","name":"VM Target 3","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deprecated-oc-catalog/raw/branch/main/scripts/local_imgs/vm_logo.png","description":"IP Address 172.16.0.181","short_description":"VM created by pierre to test admiralty","owners":[{"name":"IRT Saint Exupery"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"4222318f-660c-47ce-9d6b-67a4691a354e","name":"VM Proxmox Pierre 3"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"security_level":"private","annual_co2_emissions":1000,"power_sources":["Larmes d'alternant"],"cpus":{"Intel Core Ultra 9 285K":{"model":"Intel Core Ultra 9 285K","frequency":3.6,"cores":32,"architecture":"x86"}},"nodes":[{"name":"default","quantity":1,"ram":{"size":16384},"cpus":{"Intel Core Ultra 9 285K":1}}]}]},"architecture":"x86","infrastructure":0}]
|
||||||
5
k8s/datas/cluster-1/data_resource.json
Normal file
5
k8s/datas/cluster-1/data_resource.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[{"_id":"292fb4c7-1ca8-4423-a969-d533b2ef3734","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"292fb4c7-1ca8-4423-a969-d533b2ef3734","name":"Mundi Sentienl 3 SRAL Images","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Mundi Sentienl 3 SRAL Images.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Mundi Sentinels 3 SAR Altiemter image","owners":[{"name":"Mundi Web"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mundi Sentienl 3 SRAL Images Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":false,"static":true,"size":0.59,"example":"tutut"},{"_id":"d573dc63-4de0-4e29-8a4e-c15cbb3aed06","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"d573dc63-4de0-4e29-8a4e-c15cbb3aed06","name":"Red Car","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"A casual red car","owners":[{"name":"Red Car"}]},"instances":[{"source":"http://plates.openalpr.com/h786poj.jpg","resourceinstance":{"env":[{"attr":"source","readonly":true}],"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Red Car"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":false,"static":true,"size":0.59,"example":"tutut"},{"_id":"811d4b6d-0170-400f-b4a5-9e1597dc7620","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"811d4b6d-0170-400f-b4a5-9e1597dc7620","name":"Meteo-France forecasts","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Meteo-France forecasts.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Meteo France weather forecasts","owners":[{"name":"Meteo France"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Meteo-France forecasts Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"medium","open_data":true,"static":true,"size":0.59,"example":"tutut"},{"_id":"fdfd135c-b0c1-4c34-89d5-0189b4b2bf2d","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"fdfd135c-b0c1-4c34-89d5-0189b4b2bf2d","name":"Mundi Sentienl 3 OLCI Images","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Mundi Sentienl 3 OLCI Images.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Mundi Sentinels 3 Ocean and land color Altiemter image","owners":[{"name":"Mundi Web"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mundi Sentienl 3 OLCI Images Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":true,"static":true,"size":0.59,"example":"tutut"}]
|
||||||
33
k8s/datas/cluster-1/peer.json
Normal file
33
k8s/datas/cluster-1/peer.json
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
[{
|
||||||
|
"_id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"failed_execution":null,
|
||||||
|
"abstractobject":{
|
||||||
|
"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,
|
||||||
|
"id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"name":"local","is_draft":false,
|
||||||
|
"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},
|
||||||
|
"api_url":"http://192.168.1.1",
|
||||||
|
"nats_address": "nats://nats:4222",
|
||||||
|
"stream_address":"/ip4/192.168.1.1/tcp/4001/p2p/QmXkKz9kE7pY3Yw4m6x9FhJ3JY5P2QJpX9C7Yz2T4H8WvA",
|
||||||
|
"wallet_address":"my-wallet",
|
||||||
|
"public_key":"MCowBQYDK2VwAyEAZ2nLJBL8a5opfa8nFeVj0SZToW8pl4+zgcSUkeZFRO4=",
|
||||||
|
"state":1,
|
||||||
|
"peer_id": "QmXkKz9kE7pY3Yw4m6x9FhJ3JY5P2QJpX9C7Yz2T4H8WvA",
|
||||||
|
"relation": 1
|
||||||
|
}, {
|
||||||
|
"_id":"6a3fc74d-8c06-4dbb-ad11-d5c53562775b",
|
||||||
|
"failed_execution":null,
|
||||||
|
"abstractobject":{
|
||||||
|
"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,
|
||||||
|
"id":"6a3fc74d-8c06-4dbb-ad11-d5c53562775b",
|
||||||
|
"name":"local","is_draft":false,
|
||||||
|
"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},
|
||||||
|
"api_url":"http://192.168.1.2",
|
||||||
|
"nats_address": "nats://nats:4222",
|
||||||
|
"stream_address":"/ip4/192.168.1.1/tcp/4002/p2p/QmTzQ1NwFz9bYH7Kp8Zs4XyJQk3E6C5R9H1m2A8L7V",
|
||||||
|
"peer_id": "QmTzQ1NwFz9bYH7Kp8Zs4XyJQk3E6C5R9H1m2A8L7V",
|
||||||
|
"wallet_address":"my-wallet",
|
||||||
|
"public_key":"MCowBQYDK2VwAyEAZ2nLJBL8a5opfa8nFeVj0SZToW8pl4+zgcSUkeZFRO4=",
|
||||||
|
"state":2,
|
||||||
|
"relation": 1
|
||||||
|
}]
|
||||||
11
k8s/datas/cluster-1/processing_resource.json
Normal file
11
k8s/datas/cluster-1/processing_resource.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[{"_id":"523c03fe-e2db-475c-93c6-82c5bc85ec3d","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"523c03fe-e2db-475c-93c6-82c5bc85ec3d","name":"SAR High points","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/SAR High points.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"SAR Altimeter High points extraction Software","owners":[{"name":"IRT"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"SAR High points Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"f463b2fe-0522-4382-b2ec-c82b97b9c8b0","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"f463b2fe-0522-4382-b2ec-c82b97b9c8b0","name":"Environment builder","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Environment builder.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"build simulated environment from real environmental data and fire mitigation rules","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Environment builder Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"f3c8346b-3536-4c99-8b11-1be9c01697de","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"f3c8346b-3536-4c99-8b11-1be9c01697de","name":"imagemagic","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/imagemagic-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"ImageMagick® is a free, open-source software suite, used for editing and manipulating digital images.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"dpokidov/imagemagick:7.1.0-62-2"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"imagemagic Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"1b762b65-479c-45e6-a5de-fe67fd9e0f1b","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"1b762b65-479c-45e6-a5de-fe67fd9e0f1b","name":"Long term fire risk mitigation planner","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Long term fire risk mitigation planner.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Long term fire risk mitigation planner : provides list of actions to be performed to mitigate fire propagation","owners":[{"name":"Gob.fr"}]},"instances":[{"processinginstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Long term fire risk mitigation planner Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"e518d7a4-426a-4900-94e5-300767b1bb31","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"e518d7a4-426a-4900-94e5-300767b1bb31","name":"Mosquito server","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/mosquitto-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"open source message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"eclipse-mosquitto:2.0.15"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mosquito server Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"0d565c87-50ae-4a73-843d-f8b2d4047772","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"0d565c87-50ae-4a73-843d-f8b2d4047772","name":"CURL","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/curl-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Transfer or retrieve information from or to a server","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"curlimages/curl:7.88.1"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"CURL Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"7cf24357-b272-4a4b-b2d8-479887e1c937","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"7cf24357-b272-4a4b-b2d8-479887e1c937","name":"Fire propagation simulator","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Fire propagation simulator.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Fire propagation simulator","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Fire propagation simulator Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":3,"scaling_model":"2"}},{"_id":"3041990c-5c5d-40c4-8329-c1df1b812dc3","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"3041990c-5c5d-40c4-8329-c1df1b812dc3","name":"alpr","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/alpr-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Open source Automatic License Plate Recognition library.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"openalpr/openalpr"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"alpr Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"2ce0323f-a85d-4b8b-a783-5280f48d634a","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"2ce0323f-a85d-4b8b-a783-5280f48d634a","name":"alpine","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/alpine-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"A minimal Docker image","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"alpine:3.7"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"alpine Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"8a78cecc-8222-40ed-9303-04e24d136f49","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"8a78cecc-8222-40ed-9303-04e24d136f49","name":"Flammable vegetation slicer","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Flammable vegetation slicer.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Analyze land cover and define optimum vegetation slices to prevent fire propagation","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Flammable vegetation slicer Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"Copyright","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}}]
|
||||||
3
k8s/datas/cluster-1/storage_resource.json
Normal file
3
k8s/datas/cluster-1/storage_resource.json
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[{"_id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"04bc70b5-8d7b-44e6-9015-fadfa0fb102d","name":"IRT risk database","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT risk database.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"env":[{"attr":"source","readonly":true}],"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"source":"/mnt/vol","local":false,"security_level":"public","size":50,"size_type":3,"redundancy":"RAID5","throughput":"r:200,w:150"}]},"storage_type":5,"acronym":"DC_myDC"},{"_id":"e726020a-b68e-4abc-ab36-c3640ea3f557","abstractinstanciatedresource":{"abstractresource":{"type":"storage","abstractobject":{"id":"e726020a-b68e-4abc-ab36-c3640ea3f557","name":"IRT local file storage","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/IRT local file storage.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"S3 compliant IRT file storage","owners":[{"name":"IRT"}]},"instances":[{"resourceinstance":{"env":[{"attr":"source","readonly":true}],"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"IRT local file storage Marseille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]},"source":"/mnt/vol","local":true,"security_level":"public","size":500,"size_type":0,"encryption":true,"redundancy":"RAID5S","throughput":"r:300,w:350"}]},"storage_type":5,"acronym":"DC_myDC"}]
|
||||||
6
k8s/datas/cluster-1/workflow.json
Normal file
6
k8s/datas/cluster-1/workflow.json
Normal file
File diff suppressed because one or more lines are too long
87
k8s/datas/cluster-2/compute_resource.json
Normal file
87
k8s/datas/cluster-2/compute_resource.json
Normal file
File diff suppressed because one or more lines are too long
5
k8s/datas/cluster-2/data_resource.json
Normal file
5
k8s/datas/cluster-2/data_resource.json
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
[{"_id":"292fb4c7-1ca8-4423-a969-d533b2ef3734","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"292fb4c7-1ca8-4423-a969-d533b2ef3734","name":"Mundi Sentienl 3 SRAL Images","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Mundi Sentienl 3 SRAL Images.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Mundi Sentinels 3 SAR Altiemter image","owners":[{"name":"Mundi Web"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mundi Sentienl 3 SRAL Images Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":false,"static":true,"size":0.59,"example":"tutut"},{"_id":"d573dc63-4de0-4e29-8a4e-c15cbb3aed06","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"d573dc63-4de0-4e29-8a4e-c15cbb3aed06","name":"Red Car","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://images.wondershare.com/repairit/article/guide-on-jpeg-repair-online-01.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"A casual red car","owners":[{"name":"Red Car"}]},"instances":[{"source":"http://plates.openalpr.com/h786poj.jpg","resourceinstance":{"env":[{"attr":"source","readonly":true}],"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Red Car"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":false,"static":true,"size":0.59,"example":"tutut"},{"_id":"811d4b6d-0170-400f-b4a5-9e1597dc7620","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"811d4b6d-0170-400f-b4a5-9e1597dc7620","name":"Meteo-France forecasts","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Meteo-France forecasts.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Meteo France weather forecasts","owners":[{"name":"Meteo France"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Meteo-France forecasts Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"medium","open_data":true,"static":true,"size":0.59,"example":"tutut"},{"_id":"fdfd135c-b0c1-4c34-89d5-0189b4b2bf2d","abstractinstanciatedresource":{"abstractresource":{"type":"data","abstractobject":{"id":"fdfd135c-b0c1-4c34-89d5-0189b4b2bf2d","name":"Mundi Sentienl 3 OLCI Images","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Mundi Sentienl 3 OLCI Images.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Mundi Sentinels 3 Ocean and land color Altiemter image","owners":[{"name":"Mundi Web"}],"source":"http://www.google.com"},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mundi Sentienl 3 OLCI Images Paris"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"quality":"low","open_data":true,"static":true,"size":0.59,"example":"tutut"}]
|
||||||
27
k8s/datas/cluster-2/peer.json
Normal file
27
k8s/datas/cluster-2/peer.json
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
[{
|
||||||
|
"_id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"failed_execution":null,
|
||||||
|
"abstractobject":{
|
||||||
|
"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,
|
||||||
|
"id":"c0cece97-7730-4c2a-8c20-a30944564106",
|
||||||
|
"name":"local","is_draft":false,
|
||||||
|
"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},
|
||||||
|
"url":"http://192.168.1.1",
|
||||||
|
"wallet_address":"my-wallet",
|
||||||
|
"public_key":"-----BEGIN RSA PUBLIC KEY-----\nMIICCgKCAgEAw2pdG6wMtuLcP0+k1LFvIb0DQo/oHW2uNJaEJK74plXqp4ztz2dR\nb+RQHFLeLuqk4i/zc3b4K3fKPXSlwnVPJCwzPrnyT8jYGOZVlWlETiV9xeJhu6s/\nBh6g1PWz75XjjwV50iv/CEiLNBT23f/3J44wrQzygqNQCiQSALdxWLAEl4l5kHSa\n9oMyV70/Uql94/ayMARZsHgp9ZvqQKbkZPw6yzVMfCBxQozlNlo315OHevudhnhp\nDRjN5I7zWmqYt6rbXJJC7Y3Izdvzn7QI88RqjSRST5I/7Kz3ndCqrOnI+OQUE5NT\nREyQebphvQfTDTKlRPXkdyktdK2DH28Zj6ZF3yjQvN35Q4zhOzlq77dO5IhhopI7\nct8dZH1T1nYkvdyCA/EVMtQsASmBOitH0Y0ACoXQK5Kb6nm/TcM/9ZSJUNiEMuy5\ngBZ3YKE9oa4cpTpPXwcA+S/cU7HPNnQAsvD3iJi8GTW9uJs84pn4/WhpQqmXd4rv\nhKWECCN3fHy01fUs/U0PaSj2jDY/kQVeXoikNMzPUjdZd9m816TIBh3v3aVXCH/0\niTHHAxctvDgMRb2fpvRJ/wwnYjFG9RpamVFDMvC9NffuYzWAA9IRIY4cqgerfHrV\nZ2HHiPTDDvDAIsvImXZc/h7mXN6m3RCQ4Qywy993wd9gUdgg/qnynHcCAwEAAQ==\n-----END RSA PUBLIC KEY-----\n",
|
||||||
|
"state":2,
|
||||||
|
"relation": 1
|
||||||
|
}, {
|
||||||
|
"_id":"6a3fc74d-8c06-4dbb-ad11-d5c53562775b",
|
||||||
|
"failed_execution":null,
|
||||||
|
"abstractobject":{
|
||||||
|
"update_date":{"$date":"2025-03-27T09:13:13.230Z"},"access_mode":0,
|
||||||
|
"id":"6a3fc74d-8c06-4dbb-ad11-d5c53562775b",
|
||||||
|
"name":"local","is_draft":false,
|
||||||
|
"creation_date":{"$date":"2025-03-27T09:13:13.230Z"}},
|
||||||
|
"url":"http://192.168.1.2",
|
||||||
|
"wallet_address":"my-wallet",
|
||||||
|
"public_key":"-----BEGIN RSA PUBLIC KEY-----\nMIICCgKCAgEAw2pdG6wMtuLcP0+k1LFvIb0DQo/oHW2uNJaEJK74plXqp4ztz2dR\nb+RQHFLeLuqk4i/zc3b4K3fKPXSlwnVPJCwzPrnyT8jYGOZVlWlETiV9xeJhu6s/\nBh6g1PWz75XjjwV50iv/CEiLNBT23f/3J44wrQzygqNQCiQSALdxWLAEl4l5kHSa\n9oMyV70/Uql94/ayMARZsHgp9ZvqQKbkZPw6yzVMfCBxQozlNlo315OHevudhnhp\nDRjN5I7zWmqYt6rbXJJC7Y3Izdvzn7QI88RqjSRST5I/7Kz3ndCqrOnI+OQUE5NT\nREyQebphvQfTDTKlRPXkdyktdK2DH28Zj6ZF3yjQvN35Q4zhOzlq77dO5IhhopI7\nct8dZH1T1nYkvdyCA/EVMtQsASmBOitH0Y0ACoXQK5Kb6nm/TcM/9ZSJUNiEMuy5\ngBZ3YKE9oa4cpTpPXwcA+S/cU7HPNnQAsvD3iJi8GTW9uJs84pn4/WhpQqmXd4rv\nhKWECCN3fHy01fUs/U0PaSj2jDY/kQVeXoikNMzPUjdZd9m816TIBh3v3aVXCH/0\niTHHAxctvDgMRb2fpvRJ/wwnYjFG9RpamVFDMvC9NffuYzWAA9IRIY4cqgerfHrV\nZ2HHiPTDDvDAIsvImXZc/h7mXN6m3RCQ4Qywy993wd9gUdgg/qnynHcCAwEAAQ==\n-----END RSA PUBLIC KEY-----\n",
|
||||||
|
"state":1,
|
||||||
|
"relation": 1
|
||||||
|
}]
|
||||||
11
k8s/datas/cluster-2/processing_resource.json
Normal file
11
k8s/datas/cluster-2/processing_resource.json
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
[{"_id":"523c03fe-e2db-475c-93c6-82c5bc85ec3d","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"523c03fe-e2db-475c-93c6-82c5bc85ec3d","name":"SAR High points","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/SAR High points.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"SAR Altimeter High points extraction Software","owners":[{"name":"IRT"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"SAR High points Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"f463b2fe-0522-4382-b2ec-c82b97b9c8b0","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"f463b2fe-0522-4382-b2ec-c82b97b9c8b0","name":"Environment builder","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Environment builder.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"build simulated environment from real environmental data and fire mitigation rules","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Environment builder Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"f3c8346b-3536-4c99-8b11-1be9c01697de","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"f3c8346b-3536-4c99-8b11-1be9c01697de","name":"imagemagic","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/imagemagic-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"ImageMagick® is a free, open-source software suite, used for editing and manipulating digital images.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"dpokidov/imagemagick:7.1.0-62-2"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"imagemagic Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"1b762b65-479c-45e6-a5de-fe67fd9e0f1b","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"1b762b65-479c-45e6-a5de-fe67fd9e0f1b","name":"Long term fire risk mitigation planner","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Long term fire risk mitigation planner.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Long term fire risk mitigation planner : provides list of actions to be performed to mitigate fire propagation","owners":[{"name":"Gob.fr"}]},"instances":[{"processinginstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Long term fire risk mitigation planner Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"e518d7a4-426a-4900-94e5-300767b1bb31","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"e518d7a4-426a-4900-94e5-300767b1bb31","name":"Mosquito server","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/mosquitto-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"open source message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"eclipse-mosquitto:2.0.15"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Mosquito server Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"0d565c87-50ae-4a73-843d-f8b2d4047772","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"0d565c87-50ae-4a73-843d-f8b2d4047772","name":"CURL","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/curl-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Transfer or retrieve information from or to a server","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"curlimages/curl:7.88.1"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"CURL Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"7cf24357-b272-4a4b-b2d8-479887e1c937","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"7cf24357-b272-4a4b-b2d8-479887e1c937","name":"Fire propagation simulator","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Fire propagation simulator.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Fire propagation simulator","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Fire propagation simulator Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":3,"scaling_model":"2"}},{"_id":"3041990c-5c5d-40c4-8329-c1df1b812dc3","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"3041990c-5c5d-40c4-8329-c1df1b812dc3","name":"alpr","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/alpr-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Open source Automatic License Plate Recognition library.","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"openalpr/openalpr"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"alpr Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv3","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"2ce0323f-a85d-4b8b-a783-5280f48d634a","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"2ce0323f-a85d-4b8b-a783-5280f48d634a","name":"alpine","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/alpine-logo.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"A minimal Docker image","owners":[{"name":"IRT"}]},"instances":[{"access":{"container":{"image":"alpine:3.7"}},"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"alpine Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"GPLv2","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}},{"_id":"8a78cecc-8222-40ed-9303-04e24d136f49","abstractinstanciatedresource":{"abstractresource":{"type":"processing","abstractobject":{"id":"8a78cecc-8222-40ed-9303-04e24d136f49","name":"Flammable vegetation slicer","is_draft":false,"creator_id":"c0cece97-7730-4c2a-8c20-a30944564106","creation_date":"2021-09-30T14:00:00.000Z","update_date":"2021-09-30T14:00:00.000Z","updater_id":"c0cece97-7730-4c2a-8c20-a30944564106","access_mode":1},"logo":"https://cloud.o-forge.io/core/deperecated-oc-catalog/raw/branch/main/scripts/local_imgs/Flammable vegetation slicer.png","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.","short_description":"Analyze land cover and define optimum vegetation slices to prevent fire propagation","owners":[{"name":"Gob.fr"}]},"instances":[{"resourceinstance":{"abstractobject":{"id":"7fdccb9c-7090-40a5-bacd-7435bc56c90d","name":"Flammable vegetation slicer Lille"},"location":{"latitude":50.62925,"longitude":3.057256},"country":250,
|
||||||
|
"partnerships":[]}}]},"license":"Copyright","infrastructure":0,"usage":{"storage":0.3,"scaling_model":"2"}}]
|
||||||
6
k8s/datas/cluster-2/workflow.json
Normal file
6
k8s/datas/cluster-2/workflow.json
Normal file
File diff suppressed because one or more lines are too long
30
k8s/start-demo.sh
Executable file
30
k8s/start-demo.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
mode=${2:-all}
|
||||||
|
branch=${3:-main}
|
||||||
|
path=${4:-.}
|
||||||
|
|
||||||
|
start=1
|
||||||
|
end=${1:-1}
|
||||||
|
|
||||||
|
curl -L -o oc-k8s https://cloud.o-forge.io/core/oc-k8s/raw/branch/main/cmd/oc-k8s
|
||||||
|
sudo cp ./oc-k8s /usr/local/bin
|
||||||
|
|
||||||
|
|
||||||
|
sudo sysctl fs.inotify.max_user_watches=524288
|
||||||
|
sudo sysctl fs.inotify.max_user_instances=512
|
||||||
|
|
||||||
|
echo "Install oc-k8s"
|
||||||
|
|
||||||
|
oc-k8s install
|
||||||
|
|
||||||
|
cp ~/.kube/config ~/.kube/config_past
|
||||||
|
|
||||||
|
for ((i=start; i<=end; i++)); do
|
||||||
|
echo "Run cluster-$i"
|
||||||
|
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
|
||||||
|
|
||||||
|
./start.sh $mode $branch "cluster-$i" $path
|
||||||
|
|
||||||
|
sudo cp ~/.kube/config ~/.kube/configCluster$i
|
||||||
|
sudo chown $(id -u):$(id -g) ~/.kube/configCluster$i
|
||||||
|
done
|
||||||
31
k8s/start.sh
31
k8s/start.sh
@@ -1,21 +1,22 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
mode=${1:-dev}
|
mode=${1:-all}
|
||||||
branch=${2:-main}
|
branch=${2:-main}
|
||||||
|
clustername=${3:-opencloud}
|
||||||
|
path=${4:-.}
|
||||||
|
|
||||||
cd ../..
|
echo "Create values for $clustername"
|
||||||
|
|
||||||
if [ ! -d "oc-k8s" ]; then
|
if [ -f "./conf/$clustername.conf" ]; then
|
||||||
echo "Cloning repository: $repo_name"
|
oc-k8s create values -n $clustername -r $clustername -f $path -c "./conf/$clustername.conf"
|
||||||
git clone "https://cloud.o-forge.io/core/oc-k8s.git"
|
else
|
||||||
if [ $? -ne 0 ]; then
|
oc-k8s create values -n $clustername -r $clustername -f $path
|
||||||
echo "Error cloning oc-k8s"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
echo "Repository 'oc-k8s' already exists. Pulling latest changes..."
|
|
||||||
cd "oc-k8s" && git checkout $branch && git pull
|
|
||||||
|
|
||||||
./create_kind_cluster.sh
|
echo "Start $clustername"
|
||||||
./clone_opencloud_microservices.sh $branch
|
|
||||||
./build_opencloud_microservices.sh
|
oc-k8s start -f $path -r $clustername -n $clustername -t $mode -b $branch
|
||||||
./install.sh $mode
|
|
||||||
|
#if [ -d "./datas/$clustername" ]; then
|
||||||
|
# echo "Import datas for $clustername"
|
||||||
|
# oc-k8s upgrade db -d opencloud -r $clustername -n $clustername -f ./datas/$clustername
|
||||||
|
#fi
|
||||||
@@ -2,8 +2,6 @@
|
|||||||
mode=${1:-dev}
|
mode=${1:-dev}
|
||||||
branch=${2:-main}
|
branch=${2:-main}
|
||||||
|
|
||||||
cd ../..
|
|
||||||
|
|
||||||
if [ ! -d "oc-k8s" ];
|
if [ ! -d "oc-k8s" ];
|
||||||
echo "Cloning repository: $repo_name"
|
echo "Cloning repository: $repo_name"
|
||||||
git clone "https://cloud.o-forge.io/core/oc-k8s.git"
|
git clone "https://cloud.o-forge.io/core/oc-k8s.git"
|
||||||
@@ -15,6 +13,5 @@ fi
|
|||||||
echo "Repository 'oc-k8s' already exists. Pulling latest changes..."
|
echo "Repository 'oc-k8s' already exists. Pulling latest changes..."
|
||||||
cd "oc-k8s" && git checkout $branch && git pull
|
cd "oc-k8s" && git checkout $branch && git pull
|
||||||
|
|
||||||
./uninstall.sh $mode
|
./oc-k8s.sh stop $mode
|
||||||
./delete_kind_cluster.sh
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user