Author SHA1 Message Date
uug4ai ac7d1506b7 A new public release - 1753886181 2025-07-30 14:36:23 +00:00
Cédric Verstraeten 0d68c7be84 Refactor workflow configurations to remove deprecated OS versions for k3d, kind, and microk8s deployments 2025-07-29 06:58:44 +00:00
Cédric Verstraeten 6de19cd487 Increase sleep duration for MongoDB Helm chart installation to ensure pods are ready 2025-07-29 06:57:31 +00:00
Cédric Verstraeten fb6bf6844d Enhance deployment workflows and Dockerfile
- Add Docker feature for running Docker outside of Docker in devcontainer.json
- Update pod status checks in k3d, kind, and microk8s workflows to target 'hub-frontend' instead of 'kerberos-hub'
- Improve Dockerfile to install 'kind' based on architecture
2025-05-20 11:27:38 +00:00
Cédric Verstraeten e3a835360e Add Dockerfile and devcontainer configuration for Go development environment 2025-05-20 11:09:54 +00:00
Cédric Verstraeten 15640363e2 Update hub chart version to 0.84.0 in kustomization files 2025-05-20 13:04:02 +02:00
Cédric Verstraeten 52da738fd3 Add GitHub Actions workflow for deploying on kind using Kustomize 2025-05-20 12:55:40 +02:00
Cédric Verstraeten 0843c80e22 Refactor SSD hostpath StorageClass configuration to use microk8s provisioner and simplify parameters 2025-05-20 12:52:49 +02:00
Cédric Verstraeten 93e3982c86 Add OpenEBS storage class configuration and update deployment workflow 2025-05-20 12:52:26 +02:00
Cédric Verstraeten cfee18b876 Update Minio pod status check to verify readiness state 2/2 2025-05-20 12:48:00 +02:00
Cédric Verstraeten 4d2211b92b Update Minio pod status check to reflect expected readiness state 2025-05-20 12:35:41 +02:00
Cédric Verstraeten f758c17cc5 Merge pull request #15 from kerberos-io/public-release-1747736737
A new public release - 1747736737
2025-05-20 12:33:17 +02:00
uug4ai 67672593da A new public release - 1747736737 2025-05-20 10:25:38 +00:00
Cédric Verstraeten e736f8dd72 Merge pull request #14 from kerberos-io/public-release-1743746495
A new public release - 1743746495
2025-04-09 08:37:21 +02:00
uug4ai 65628ed746 A new public release - 1743746495 2025-04-04 06:01:36 +00:00
Cédric Verstraeten 78cc37cbb9 Merge pull request #13 from kerberos-io/public-release-1742908520
A new public release - 1742908520
2025-03-26 08:32:07 +01:00
uug4ai 9ebdb11b34 A new public release - 1742908520 2025-03-25 13:15:21 +00:00
Cédric Verstraeten e8b4b72654 Merge pull request #12 from kerberos-io/fix/improve-documentation
Improve documentation for deployment
2025-03-25 09:23:44 +01:00
Cedric Verstraeten ec2ba23985 Update kustomization.yaml 2025-03-06 12:47:06 +01:00
Cedric Verstraeten d059c6a051 add documentdb template 2025-03-06 11:43:07 +01:00
Cedric Verstraeten ae9c09e342 overrride mongodb setting through kustomize 2025-03-06 11:19:54 +01:00
Cedric Verstraeten 5aac77dfbc Update README.kustomize.md 2025-03-06 11:18:06 +01:00
Cedric Verstraeten 8d23cb0946 Update kerberos-hub-import-database-job.yaml 2025-03-06 11:11:15 +01:00
Cedric Verstraeten c4197c4293 Update kerberos-hub-import-database-job.yaml 2025-03-06 11:04:25 +01:00
Cedric Verstraeten dc730670d8 Update README.kustomize.md 2025-03-06 11:00:57 +01:00
Cedric Verstraeten 647651082b Update kerberos-hub-import-database-job.yaml 2025-03-06 10:58:09 +01:00
Cedric Verstraeten 24b071418b Update kerberos-hub-import-database-job.yaml 2025-03-05 17:01:20 +01:00
Cedric Verstraeten 919ad7669a Update kerberos-hub-import-database-job.yaml 2025-03-05 16:52:53 +01:00
Cedric Verstraeten c240f1e83a Update kerberos-hub-import-database-job.yaml 2025-03-05 16:16:30 +01:00
Cédric Verstraeten 8a6a92155b Merge pull request #11 from kerberos-io/public-release-1740815636
A new public release - 1740815636
2025-03-05 14:48:10 +01:00
Cedric Verstraeten edf63802bc update configuration 2025-03-05 14:47:33 +01:00
Cedric Verstraeten cf12ce78d5 Update configure.sh 2025-03-05 14:40:36 +01:00
Cedric Verstraeten 9d0a6d4d71 Update kerberos-hub-import-database-job.yaml 2025-03-05 14:37:36 +01:00
Cedric Verstraeten 1e574ffbbf Adding docs Amazon document db 2025-03-05 14:26:26 +01:00
Cedric Verstraeten 3f8e104b3f Update README.configure.md 2025-03-05 14:20:15 +01:00
Cedric Verstraeten 03290c03c3 change installation 2025-03-05 11:04:23 +01:00
Cedric Verstraeten 36bc47a10c Merge branch 'main' of https://github.com/kerberos-io/deployment 2025-03-05 11:04:05 +01:00
Cedric Verstraeten 47fcb7cfd9 update kerberos hub deployment 2025-03-05 11:04:03 +01:00
uug4ai 1107c9509c A new public release - 1740815636 2025-03-01 07:53:58 +00:00
19 changed files with 448 additions and 113 deletions
+7
View File
@@ -0,0 +1,7 @@
FROM mcr.microsoft.com/devcontainers/go:1.24-bookworm
# Install helm and kubectl
RUN curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
RUN curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \
&& chmod +x ./kubectl \
&& sudo mv ./kubectl /usr/local/bin/kubectl
+22
View File
@@ -0,0 +1,22 @@
{
"name": "go:1.24-bookworm",
"dockerFile": "Dockerfile",
"runArgs": ["--privileged"],
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
},
"customizations": {
"vscode": {
"extensions": [
"ms-kubernetes-tools.vscode-kubernetes-tools",
"redhat.vscode-yaml",
"Tim-Koehler.helm-intellisense",
"ms-vscode.azurecli",
"ms-vscode-remote.remote-containers",
"GitHub.copilot",
"fabiospampinato.vscode-diff",
"ms-azuretools.vscode-docker"
]
}
}
}
+12 -8
View File
@@ -1,23 +1,23 @@
name: Deploy on k3d
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # This will run the workflow every day at midnight UTC
jobs:
deploy:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
os: [ubuntu-22.04, ubuntu-24.04]
#k3d: [v5.5.2, v5.6.0, v5.7.5]
k3d: [v5.7.5]
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: "Create single cluster"
uses: AbsaOSS/k3d-action@v2
with:
k3d-version: ${{ matrix.k3d }}
k3d-version: ${{ matrix.k3d }}
cluster-name: "k3d-cluster"
- name: Print Kubernetes Version
run: |
@@ -28,14 +28,18 @@ jobs:
kubectl get no
kubectl get pods -A -o wide
kubectl get sc
- name: Checkout repository
uses: actions/checkout@v2
- name: Install OpenEBS
run: |
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
echo "Sleeping for 60 seconds, give time for the operator to create the CRDs" && sleep 60
kubectl get sc
kubectl get po -A -o wide
- name: Create storage class
id: create-storage-class
run: |
kubectl apply -f ./base/ssd-hostpath-storageclass-openebs.yaml
echo "Sleeping for 30 seconds, give time for the storage class to be created" && sleep 30
kubectl get sc
- name: Install Prometheus operator
id: install-prometheus-operator
run: |
@@ -57,7 +61,7 @@ jobs:
helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace mongodb
helm install mongodb -n mongodb bitnami/mongodb --values ./base/mongodb/mongodb-values.yaml
echo "Sleeping for 250 seconds, give time for the helm chart to create the pods" && sleep 250
echo "Sleeping for 500 seconds, give time for the helm chart to create the pods" && sleep 500
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep mongodb | awk '{print $3}' | grep -q '1/1' && echo "mongodb pod is running with status 1/1" || (echo "mongodb pod is not running with status 1/1" && exit 1)
- name: Install RabbitMQ
@@ -112,4 +116,4 @@ jobs:
helm install hub kerberos/hub --values ./base/hub/kerberos-hub-values.yaml -n kerberos-hub --create-namespace
echo "Sleeping for 300 seconds, give time for the helm chart to create the pods" && sleep 300
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep kerberos-hub | awk '{print $3}' | grep -q '1/1' && echo "kerberos-hub pod is running with status 1/1" || (echo "kerberos-hub pod is not running with status 1/1" && exit 1)
kubectl get pods -A -o wide | grep hub-frontend- | awk '{print $3}' | grep -q '1/1' && echo "hub-frontend pod is running with status 1/1" || (echo "hub-frontend pod is not running with status 1/1" && exit 1)
+9 -5
View File
@@ -1,16 +1,14 @@
name: Deploy on kind
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # This will run the workflow every day at midnight UTC
jobs:
deploy:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
os: [ubuntu-22.04, ubuntu-24.04]
#kind: [v0.21.0, v0.22.0, v0.23.0, v0.24.0, v0.25.0]
kind: [v0.25.0]
steps:
@@ -34,6 +32,12 @@ jobs:
echo "Sleeping for 60 seconds, give time for the operator to create the CRDs" && sleep 60
kubectl get sc
kubectl get po -A -o wide
- name: Create storage class
id: create-storage-class
run: |
kubectl apply -f ./base/ssd-hostpath-storageclass-openebs.yaml
echo "Sleeping for 30 seconds, give time for the storage class to be created" && sleep 30
kubectl get sc
- name: Install Prometheus operator
id: install-prometheus-operator
run: |
@@ -55,7 +59,7 @@ jobs:
helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace mongodb
helm install mongodb -n mongodb bitnami/mongodb --values ./base/mongodb/mongodb-values.yaml
echo "Sleeping for 250 seconds, give time for the helm chart to create the pods" && sleep 250
echo "Sleeping for 500 seconds, give time for the helm chart to create the pods" && sleep 500
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep mongodb | awk '{print $3}' | grep -q '1/1' && echo "mongodb pod is running with status 1/1" || (echo "mongodb pod is not running with status 1/1" && exit 1)
- name: Install RabbitMQ
@@ -110,4 +114,4 @@ jobs:
helm install hub kerberos/hub --values ./base/hub/kerberos-hub-values.yaml -n kerberos-hub --create-namespace
echo "Sleeping for 300 seconds, give time for the helm chart to create the pods" && sleep 300
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep kerberos-hub | awk '{print $3}' | grep -q '1/1' && echo "kerberos-hub pod is running with status 1/1" || (echo "kerberos-hub pod is not running with status 1/1" && exit 1)
kubectl get pods -A -o wide | grep hub-frontend- | awk '{print $3}' | grep -q '1/1' && echo "hub-frontend pod is running with status 1/1" || (echo "hub-frontend pod is not running with status 1/1" && exit 1)
+30
View File
@@ -0,0 +1,30 @@
name: Deploy on kind using Kustmize
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *" # This will run the workflow every day at midnight UTC
jobs:
deploy:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
#kind: [v0.21.0, v0.22.0, v0.23.0, v0.24.0, v0.25.0]
kind: [v0.25.0]
steps:
- name: Create kind
uses: helm/kind-action@v1
with:
version: ${{ matrix.kind }}
- name: Print Kubernetes Version
run: |
kubectl version
- name: Test kind
run: |
kubectl get no
kubectl get pods -A -o wide
kubectl get sc
- name: Checkout repository
uses: actions/checkout@v2
+7 -7
View File
@@ -8,7 +8,7 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-20.04, ubuntu-22.04, ubuntu-24.04]
os: [ubuntu-22.04, ubuntu-24.04]
#microk8s: [1.29/stable, 1.30/stable, 1.31/stable, 1.32/stable]
microk8s: [1.32/stable]
steps:
@@ -26,12 +26,12 @@ jobs:
kubectl get pods -A -o wide
- name: Checkout repository
uses: actions/checkout@v2
- name: Install OpenEBS
- name: Create storage class
id: create-storage-class
run: |
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
echo "Sleeping for 60 seconds, give time for the operator to create the CRDs" && sleep 60
kubectl apply -f ./base/ssd-hostpath-storageclass.yaml
echo "Sleeping for 30 seconds, give time for the storage class to be created" && sleep 30
kubectl get sc
kubectl get po -A -o wide
- name: Install Prometheus operator
id: install-prometheus-operator
run: |
@@ -53,7 +53,7 @@ jobs:
helm repo add bitnami https://charts.bitnami.com/bitnami
kubectl create namespace mongodb
helm install mongodb -n mongodb bitnami/mongodb --values ./base/mongodb/mongodb-values.yaml
echo "Sleeping for 250 seconds, give time for the helm chart to create the pods" && sleep 250
echo "Sleeping for 500 seconds, give time for the helm chart to create the pods" && sleep 500
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep mongodb | awk '{print $3}' | grep -q '1/1' && echo "mongodb pod is running with status 1/1" || (echo "mongodb pod is not running with status 1/1" && exit 1)
- name: Install RabbitMQ
@@ -108,4 +108,4 @@ jobs:
helm install hub kerberos/hub --values ./base/hub/kerberos-hub-values.yaml -n kerberos-hub --create-namespace
echo "Sleeping for 300 seconds, give time for the helm chart to create the pods" && sleep 300
kubectl get pods -A -o wide
kubectl get pods -A -o wide | grep kerberos-hub | awk '{print $3}' | grep -q '1/1' && echo "kerberos-hub pod is running with status 1/1" || (echo "kerberos-hub pod is not running with status 1/1" && exit 1)
kubectl get pods -A -o wide | grep hub-frontend- | awk '{print $3}' | grep -q '1/1' && echo "hub-frontend pod is running with status 1/1" || (echo "hub-frontend pod is not running with status 1/1" && exit 1)
+15 -4
View File
@@ -1,8 +1,19 @@
FROM ubuntu:latest
LABEL maintainer="Cedric Verstraeten"
# Install dependencies
RUN apt-get update && apt-get install snapd snap-confine -y
# Install curl
RUN apt-get update && apt-get install -y curl
# Install microk8s
RUN snap install microk8s --classic --channel=1.32/stable
# Install kind (detect architecture)
RUN ARCH=$(uname -m) && \
if [ "$ARCH" = "x86_64" ]; then \
curl -Lo /usr/local/bin/kind https://kind.sigs.k8s.io/dl/v0.28.0/kind-linux-amd64; \
elif [ "$ARCH" = "aarch64" ]; then \
curl -Lo /usr/local/bin/kind https://kind.sigs.k8s.io/dl/v0.28.0/kind-linux-arm64; \
else \
echo "Unsupported architecture: $ARCH" && exit 1; \
fi && \
chmod +x /usr/local/bin/kind
# Create a cluster using kind
RUN kind create cluster
+58
View File
@@ -0,0 +1,58 @@
# Configuration
After completing the installation using one of the provided methods, you can proceed with the configuration and setup of the various components. Depending on your deployment method, refer to the appropriate README for detailed instructions:
- [Docker](./README.docker.md)
- [Kubernetes](./README.kubernetes.md)
- [MicroK8S](./README.microk8s.md)
- [Kustomize](./README.kustomize.md)
## Access through ingress or NodePort
Taking into account your installation you should be able to access the different applications using their relative `Ingress` or `NodePort`. For example when following the [Kustomize](./README.kustomize.md) installation
## Login to Vault
Once you have access to the Vault user interface, you should be able to login with a username and password. You will [find the username and password here](https://github.com/kerberos-io/deployment/blob/main/kerberos-vault-deployment.yaml#L36-L39).
- Username: [**view username**](https://github.com/kerberos-io/deployment/blob/main/kerberos-vault-deployment.yaml#L36-L37)
- Password: [**view password**](https://github.com/kerberos-io/deployment/blob/main/kerberos-vault-deployment.yaml#L38-L39)
### Configure the Vault
With the Vault installed, we can proceed to configure the various components. Currently, this must be done through the Vault UI, but we plan to make it configurable via environment variables, eliminating the need for manual UI configurations.
![Configure Vault](./assets/images/configure-vault.gif)
- Navigate to the `Storage Providers` menu and select the (+ Add Storage Provider) button. A modal will appear where you can input the required details. After entering the information, click the "Verify" button to ensure the configuration is valid. Once you receive a "Configuration is valid and working" message, click the "Add Storage Provider" button to complete the process. **_(!You are advised to generate more complex access and secret key for Minio, this is just for demo purposes, do not use this in production)_**
- Minio
- Enabled: true
- Provider name: minio
- Bucket name: mybucket
- Region: na
- Hostname: myminio-hl.minio-tenant:9000
- Access key: minio
- Secret key: minio123
- Navigate to the `Integrations` menu and select the (+ Add Integration) button. A modal will appear where you can input the required details. After entering the information, click the "Verify" button to ensure the configuration is valid. Once you receive a "Configuration is valid and working" message, click the "Add Integration" button to complete the process. **_(!You are advised to generate more complex username and password for RabbitMQ, this is just for demo purposes, do not use this in production)_**
- RabbitMQ
- Enabled: true
- Integration name: rabbitmq
- Broker: rabbitmq.rabbitmq:5672
- Exchange: <empty>
- Queue: data-filtering
- Username: yourusername
- Password: yourpassword
- Navigate to the `Accounts` menu and click the (+ Add Account) button. A modal will appear where you can input the required details. After entering the information, click the "Add Account" button to complete the process.
- Enabled: true
- Account name: myaccount
- Main provider: minio
- Day limit: 30
- Integration: rabbitmq
- Directory: \*
- Access key: XJoi2@bgSOvOYBy# (or generate new keys, but don't forget to update them in the next steps)
- Secret key: OGGqat4lXRpL@9XBYc8FUaId@5 (or generate new keys, but don't forget to update them in the next steps)
+42 -1
View File
@@ -114,7 +114,34 @@ cd deployment
In contrast to the detailed installation instructions, as mentioned here, an easier option to install is to use our Kustomize configure. This will allow you to specify and create your own overlays to install all the different components through a single command line.
Kustomize uses the concept of `bases` and `overlays`, allowing you to customize the base installation with different settings (an overlay). Before executing the `kustomize` command below, navigate to the `overlays/microk8s/kustomization.yaml` file and modify the `inlineValues` of the Hub to match the IP address of your node. Please note that when you use multipass, WSL or any other type of virtualisation, your IP address will be different than the IP address of your host machine. Verify your IP address using the `ifconfig` command.
Kustomize uses the concept of `bases` and `overlays`, allowing you to customize the base installation with different settings (an overlay). Before executing the `kustomize` command below, navigate to the `overlays/microk8s/kustomization.yaml` file and modify the `inlineValues` of the Hub to match the IP address of your node. Please note that when using Multipass, WSL, or any other type of virtualization, your IP address will differ from the IP address of your host machine. Verify your IP address using the `ifconfig` command.
To simplify the experience, we have created a `configure.sh` script to automate the installation. You can run the script as shown below by providing the IP address of the host machine (or virtualization) and the storage path on the host machine (or virtualization) to persist the state of the various containers.
### A. Scripted installation
To create a new deployment you can use following command.
```bash
ubuntu@xxxx:~/deployment$ ./configure.sh
Usage: ./configure.sh {apply|delete} [-s <storage_path>] [-i <ip_address>]
```
When looking into the `configure.sh` script, you will notice that `microk8s` is utilized. You are encouraged to adjust the overlay to suit your requirements or create a new overlay as needed.
```bash
ubuntu@xxxx:~/deployment$ ./configure.sh apply -i x.x.x.x -s /media/storage
```
To delete you can use the deletion argument.
```bash
ubuntu@xxxx:~/deployment$ ./configure.sh delete
```
### B. Native installation
If you prefer to use `kustomize` directly without the `configure.sh` script, that's perfectly fine. You can adjust an existing overlay or create a new one to suit your needs. By using the `kustomize` configuration mechanism, you can override our `base` directory settings.
```yaml
valuesInline:
@@ -207,6 +234,20 @@ sudo systemctl enable coturn
sudo systemctl restart coturn
```
## Custom layout
Once the installation is complete, you can customize the user interface with your own branding. A persistent volume claim (PVC) has been created and attached to the `hub-frontend` pod. To locate the persistent volume, navigate to your specified storage path. The volume will have a name starting with `kerberos-hub-custom-layout-claim-pvc`.
```bash
cp -r base/volume/* /media/storage/kerberos-hub-custom-layout-claim-pvc-.../
```
Once the files are copied, you should see the CSS override on the Hub landing page.
## Access and configuration
Todo
## Cleanup
If you consider to remove the complete stack you might just disable the Microk8s installation
+36 -14
View File
@@ -44,30 +44,52 @@ data:
db = conn.getDB('Kerberos');
// This will create a user with the following credentials.
// username: youruser
// password: yourpassword
// username: example-user
// password: example-password
db.users.updateOne(
{ '_id': ObjectId('57e1011e3178aa6c5cc774d1') },
{
$set: {
'username': 'youruser',
'email': 'your@email.com',
'password': '$2a$10$XS8XdjzgUCbvGHgt9KVHEuDBnmu1bfAhT/WFxcHCubJtHud8O8vSC',
'username': 'example-user',
'email': 'example-user@email.com',
'password': '$2a$10$jwLcD/.UT/1WLK7ct1XuHewI3GQXwW3zerPhCCs7QDrReEuIHbVYi',
'role': 'owner',
'google2fa_enabled': false,
'timezone': 'Europe/Brussels',
'isActive': NumberLong(1),
'registerToken': '',
'timezone': 'Europe/Brussels',
'updated_at': ISODate('2020-06-14T05:01:35.000Z'),
'created_at': ISODate('2016-09-20T09:27:58.811Z'),
'amazon_secret_access_key': 'K6rRLBI1xxxCk3C1H',
'amazon_access_key_id': 'AKIAxxxxxxG5Q',
'card_brand': 'MasterCard',
'card_last_four': '6888',
'sequence_first': 1510657836,
'card_brand': 'Visa',
'card_last_four': '0000',
'card_status': 'ok',
'card_status_message': null,
'role': 'owner',
'admin': true,
'google2fa_enabled': false
'card_status_message': null
}
},
{ upsert: true }
);
// This will create an application with the following credentials, which
// can be used to authenticate with the admin panel.
// username: example-application
// password: example-password
db.users.updateOne(
{ '_id': ObjectId('57e1011e3178aa6c5cc774d2') },
{
$set: {
'username': 'example-application',
'email': 'example-application@email.com',
'password': '$2a$10$jwLcD/.UT/1WLK7ct1XuHewI3GQXwW3zerPhCCs7QDrReEuIHbVYi',
'role': 'application',
'google2fa_enabled': false,
'timezone': 'Europe/Brussels',
'isActive': NumberLong(1),
'registerToken': '',
'updated_at': ISODate('2020-06-14T05:01:35.000Z'),
'created_at': ISODate('2016-09-20T09:27:58.811Z')
}
},
{ upsert: true }
@@ -218,4 +240,4 @@ data:
}
},
{ upsert: true }
);
);
+40 -28
View File
@@ -140,10 +140,22 @@ email:
# Following are all the different deployments needed to make
# Kerberos hub properly working.
kerberoshub:
admin:
repository: uugai/admin
pullPolicy: IfNotPresent
tag: "v1.0.2"
replicas: 1
resources:
requests:
memory: 100Mi
cpu: 100m
limits:
memory: 100Mi
cpu: 100m
api:
repository: uugai/hub-api
pullPolicy: IfNotPresent
tag: "v1.0.22"
tag: "v1.6.1"
replicas: 1
jwtSecret: "I1JcwzW3A0t_THIS-IS_NOT_A_SECRET_WJK9jnPkipbnVTpf0efMy" # change to a random value, this is for generating JWT tokens.
schema: "http"
@@ -226,7 +238,7 @@ kerberoshub:
frontend:
repository: uugai/hub-frontend
pullPolicy: IfNotPresent
tag: "v1.0.41"
tag: "v1.4.2"
replicas: 1
schema: "http"
url: "yourdomain.com"
@@ -336,17 +348,17 @@ kerberoshub:
organization: "github-organization"
team: "github-team"
cleanup:
repository: kerberos/hub-cleanup
repository: uugai/hub-cleanup
pullPolicy: IfNotPresent
tag: "1.0.6436406806"
tag: "v1.4.1"
resources:
requests:
memory: 50Mi
cpu: 50m
monitordevice:
repository: kerberos/hub-monitor-device
repository: uugai/hub-monitor-device
pullPolicy: IfNotPresent
tag: "1.0.6256190978"
tag: "v1.3.0"
resources:
requests:
memory: 50Mi
@@ -363,9 +375,9 @@ kerberoshub:
# persistentVolumeClaim:
# claimName: custom-layout-claim
reactivate:
repository: kerberos/hub-reactivate
repository: uugai/hub-reactivatesubscriptions
pullPolicy: IfNotPresent
tag: "1.0.6256184527"
tag: "v1.0.1"
resources:
requests:
memory: 50Mi
@@ -384,9 +396,9 @@ kerberoshub:
# cpu: 10m
# This proxy is legacy for the old agent, will be migrated in the new Hub API.
proxy:
repository: kerberos/vault-proxy
repository: uugai/hub-proxy
pullPolicy: IfNotPresent
tag: "1.0.2733724812"
tag: "v1.0.0"
resources:
requests:
memory: 50Mi
@@ -396,9 +408,9 @@ kerberoshub:
cpu: 50m
kerberospipeline:
event:
repository: kerberos/pipe-event
repository: uugai/hub-pipeline-event
pullPolicy: IfNotPresent
tag: "1.0.6256042211"
tag: "v1.0.1"
replicas: 1
resources:
requests:
@@ -410,7 +422,7 @@ kerberospipeline:
monitor:
repository: uugai/hub-pipeline-monitor
pullPolicy: IfNotPresent
tag: "v1.1.0"
tag: "v1.2.1"
replicas: 1
resources:
requests:
@@ -422,7 +434,7 @@ kerberospipeline:
sequence:
repository: uugai/hub-pipeline-sequence
pullPolicy: IfNotPresent
tag: "v1.0.1"
tag: "v1.5.0"
replicas: 1
resources:
requests:
@@ -432,9 +444,9 @@ kerberospipeline:
memory: 50Mi
cpu: 50m
throttler:
repository: kerberos/pipe-throttler
repository: uugai/hub-pipeline-throttler
pullPolicy: IfNotPresent
tag: "1.0.6256059962"
tag: "v1.1.0"
replicas: 1
resources:
requests:
@@ -446,7 +458,7 @@ kerberospipeline:
notify:
repository: uugai/hub-pipeline-notification
pullPolicy: IfNotPresent
tag: "v1.0.11"
tag: "v1.0.16"
replicas: 1
resources:
requests:
@@ -464,9 +476,9 @@ kerberospipeline:
# persistentVolumeClaim:
# claimName: custom-layout-claim
notifyTest:
repository: kerberos/pipe-notify-test
repository: uugai/hub-pipeline-notification-test
pullPolicy: IfNotPresent
tag: "1.0.6256094666"
tag: "v1.2.1"
replicas: 1
resources:
requests:
@@ -486,7 +498,7 @@ kerberospipeline:
analysis:
repository: uugai/hub-pipeline-analysis
pullPolicy: IfNotPresent
tag: "v1.0.1"
tag: "v1.4.0"
replicas: 1
resources:
requests:
@@ -496,9 +508,9 @@ kerberospipeline:
memory: 50Mi
cpu: 50m
dominantColor:
repository: kerberos/pipe-dominantcolor
repository: uugai/hub-pipeline-dominantcolors
pullPolicy: IfNotPresent
tag: "1.0.6971463620"
tag: "v1.1.2"
replicas: 1
resources:
requests:
@@ -508,9 +520,9 @@ kerberospipeline:
memory: 50Mi
cpu: 50m
thumbnail:
repository: kerberos/pipe-thumbnail
repository: uugai/hub-pipeline-thumbnail
pullPolicy: IfNotPresent
tag: "1.0.6962799851"
tag: "v1.1.6"
replicas: 1
quality: "1" # 1 (best) - 31 (worst)
width: "600"
@@ -525,9 +537,9 @@ kerberospipeline:
memory: 50Mi
cpu: 50m
counting:
repository: kerberos/pipe-counting
repository: uugai/hub-pipeline-counting
pullPolicy: IfNotPresent
tag: "1.0.6251572994"
tag: "v1.6.0"
replicas: 1
resources:
requests:
@@ -550,9 +562,9 @@ kerberospipeline:
memory: 50Mi
cpu: 50m
export:
repository: kerberos/pipe-export
repository: uugai/hub-pipeline-export
pullPolicy: IfNotPresent
tag: "1.0.6437127898"
tag: "v1.0.0"
replicas: 1
resources:
requests:
@@ -0,0 +1,14 @@
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: ssd-hostpath
annotations:
openebs.io/cas-type: local
cas.openebs.io/config: |
- name: StorageType
value: hostpath
- name: BasePath
value: /media/Storage
provisioner: openebs.io/local
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
+1 -1
View File
@@ -24,7 +24,7 @@ spec:
command: ["sh", "-c", "until nc -z mongodb.mongodb 27017 > /dev/null; do echo Waiting for master.; sleep 2; done;"]
containers:
- name: vault
image: uugai/vault:v1.0.14
image: uugai/vault:v1.1.3
resources:
requests:
memory: 128Mi
Executable
+64
View File
@@ -0,0 +1,64 @@
#!/bin/bash
# Function to get the current network interface IP
get_ip_address() {
ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -n 1
}
# Parse command line arguments
command=$1
shift
while getopts ":s:i:" opt; do
case $opt in
s) storage_path="$OPTARG"
;;
i) ip_address="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
esac
done
if [ "$command" == "apply" ]; then
if [ -z "$storage_path" ]; then
echo "Usage: $0 apply -s <storage_path> [-i <ip_address>]"
exit 1
fi
if [ -z "$ip_address" ]; then
ip_address=$(get_ip_address)
fi
# Make a local copy of kustomization.yaml
cp ./overlays/microk8s/kustomization.yaml ./kustomization.yaml
# Replace placeholders in the local copy of kustomization.yaml
sed -i "s|localhost|$ip_address|g" ./kustomization.yaml
sed -i "s|/media/Storage|$storage_path|g" ./kustomization.yaml
# Adjust the base path reference
sed -i "s|../../base|./base|g" ./kustomization.yaml
# Apply kustomize installation
kubectl kustomize ./ --enable-helm --load-restrictor LoadRestrictionsNone | kubectl apply -f -
# Clean up the local copy
rm ./kustomization.yaml
elif [ "$command" == "delete" ]; then
# Make a local copy of kustomization.yaml
cp ./overlays/microk8s/kustomization.yaml ./kustomization.yaml
# Adjust the base path reference
sed -i "s|../../base|./base|g" ./kustomization.yaml
# Delete kustomize installation
kubectl kustomize ./ --enable-helm --load-restrictor LoadRestrictionsNone | kubectl delete -f -
# Clean up the local copy
rm ./kustomization.yaml
else
echo "Usage: $0 {apply|delete} [-s <storage_path>] [-i <ip_address>]"
exit 1
fi
-43
View File
@@ -1,43 +0,0 @@
#!/bin/bash
# Function to get the current network interface IP
get_ip_address() {
ip -4 addr show | grep -oP '(?<=inet\s)\d+(\.\d+){3}' | head -n 1
}
# Parse command line arguments
while getopts ":s:i:" opt; do
case $opt in
s) storage_path="$OPTARG"
;;
i) ip_address="$OPTARG"
;;
\?) echo "Invalid option -$OPTARG" >&2
;;
esac
done
if [ -z "$storage_path" ]; then
echo "Usage: $0 -s <storage_path> [-i <ip_address>]"
exit 1
fi
if [ -z "$ip_address" ]; then
ip_address=$(get_ip_address)
fi
# Make a local copy of kustomization.yaml
cp ../overlays/microk8s/kustomization.yaml ./kustomization.yaml
# Replace placeholders in the local copy of kustomization.yaml
sed -i "s|localhost|$ip_address|g" ./kustomization.yaml
sed -i "s|/media/Storage|$storage_path|g" ./kustomization.yaml
# Adjust the base path reference
sed -i "s|../../base|../base|g" ./kustomization.yaml
# Apply kustomize installation
kubectl kustomize ./ --enable-helm --load-restrictor LoadRestrictionsNone | kubectl apply -f -
# Clean up the local copy
rm ./kustomization.yaml
+1
View File
@@ -0,0 +1 @@
# Amazon DocumentDB
+83
View File
@@ -0,0 +1,83 @@
metadata:
name: documentdb
resources:
- ../../base
patches:
- target:
kind: StorageClass
name: ssd-hostpath
patch: |-
- op: replace
path: /parameters/pvDir
value: /media/Storage
- target:
kind: Deployment
name: agent1
patch: |-
- op: replace
path: /spec/template/spec/containers/0/env/14/value
value: tcp://localhost:31883
- op: replace
path: /spec/template/spec/containers/0/env/17/value
value: turn:localhost:8443
- target:
kind: Job
name: hub-import-database-job
patch: |-
- op: replace
path: /spec/template/spec/initContainers/0/command
value: ["sh", "-c", "until nc -z docdb-x-x-x-x-x-x.xxx.xx-xx-x.docdb.amazonaws.com 27017 > /dev/null; do echo Waiting for master.; sleep 2; done;"]
- op: replace
path: /spec/template/spec/containers/0/command
value: ['sh', '-c', 'mongosh --host docdb-x-x-x-x-x-x.xxx.xx-xx-x.docdb.amazonaws.com:27017 --username xxxx --password "xxx" --authenticationDatabase admin --db Kerberos --file /data/hub-import.js']
helmCharts:
- name: hub
releaseName: hub
namespace: kerberos-hub
repo: https://charts.kerberos.io
version: 0.84.0
valuesFile: ../../base/hub/kerberos-hub-values.yaml
valuesInline:
license: "L/+FAwEBB2xpY2Vuc2UB/4YAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA/gMw/4YB/gEl/8wQACxnaXRodWIuY29tL3V1Zy1haS9odWItbGljZW5zZS9tb2RlbHMuTGljZW5zZf+BAwEBB0xpY2Vuc2UB/4IAAQwBAklkAf+EAAEDS2V5AQwAAQdDb21wYW55AQwAAQdFeHBUaW1lAQQAAQREYXlzAQQAAQdDYW1lcmFzAQQAAQVTaXRlcwEEAAEGVmF1bHRzAQQAAQpNZWRpYUxpbWl0AQQAAQlQZXJwZXR1YWwBAgABBkFjdGl2ZQECAAEJSXBBZGRyZXNzAQwAAAAY/4MBAQEIT2JqZWN0SUQB/4QAAQYBGAAAPf+COgEMAAAAAAAAAAAAAAAAAg9nZW5lcmljLWxpY2Vuc2UB+AJl6LAHsRMYAfoB0alKIAABEAEUARQDAQAB/gIAFlQqo9yJj1a3OH1+5iGjCPcz9VtrRuGfz/iuQEFohbCfSiZGAdHh16gEc59Z2kPaey+eJcwY0BQsBoipW7SwFRmcHkrWLuxt+Yzi2kvwmL4TN0quWqM4xxBzH1sejS6kZpPm7bw11JBsBuaNOYMbl5lgpPCFajWUH6GzfmuQlptNQKosocacI/9PaaqEUUM0ALjDZNSqqFwZPPsFh9WTeaHGbRbmwQRMPFDgaPCxiHnCCUagbvuVZeOQbKaR5gPTUfPQY/L4mrN9QnMxdzwUJgqm7FbTH4UhoZn6EEzNGTN6DbHhpx8lezzCRW8dzMNuK8R1igiORV5gdWOPzBMZlTgodIZRD07e8iAo2XqT/BWcqaJXutdqXltaiJKshh2QzStdv2WZUynVTguYIQJyBNhrXEkewKZA0UftcSemDPkCmp6VovMMveV4X3Cpzkm7ZHtE7j39At/kpuqY/icTEzRWYuQqEDtqXMVar84VOpgVhxeNrrqZniLq8o3ezRdwy0BJG5xT9cuMxq13ZB3Am9iqTSjx2mh5VZZeB33GjLVAtLscj8NoKWy7BThchXB9xwoiy2RLO8nE+EI8wPbg+ajb2Ta7AFyxHgJJU6cea+zEpiBMARwjPKqk2nn02xdfdqMzQ+E9e115sIqhotBM5RI7uBIf8DDwT93HLsJZRBAA"
mqtt:
host: "localhost"
port: "31080"
protocol: "ws"
username: "yourusername"
password: "yourpassword"
turn:
host: "turn:localhost:8443"
username: "username1"
password: "password1"
kerberoshub:
api:
url: "localhost:32081"
mongodb:
host: docdb-x-x-x-x-x-x.xxx.xx-xx-x.docdb.amazonaws.com:27017
adminDatabase: admin
authenticationMechanism: SCRAM-SHA-1
username: "xxx"
password: "xxx"
- name: mongodb
releaseName: mongodb
namespace: mongodb
repo: oci://registry-1.docker.io/bitnamicharts
valuesFile: ../../base/mongodb/mongodb-values.yaml
valuesInline:
global:
storageClass: "ssd-hostpath"
- name: rabbitmq
releaseName: rabbitmq
namespace: rabbitmq
repo: oci://registry-1.docker.io/bitnamicharts
valuesFile: ../../base/rabbitmq/rabbitmq-values.yaml
valuesInline:
global:
storageClass: "ssd-hostpath"
- name: vernemq
releaseName: vernemq
# For some reason it doesn't work with a namespace
#namespace: vernemq
repo: https://vernemq.github.io/docker-vernemq
valuesFile: ../../base/vernemq/vernemq-values.yaml
+6 -1
View File
@@ -26,7 +26,7 @@ helmCharts:
releaseName: hub
namespace: kerberos-hub
repo: https://charts.kerberos.io
version: 0.77.0
version: 0.84.0
valuesFile: ../../base/hub/kerberos-hub-values.yaml
valuesInline:
license: "L/+FAwEBB2xpY2Vuc2UB/4YAAQIBB1BheWxvYWQBCgABCVNpZ25hdHVyZQEKAAAA/gMw/4YB/gEl/8wQACxnaXRodWIuY29tL3V1Zy1haS9odWItbGljZW5zZS9tb2RlbHMuTGljZW5zZf+BAwEBB0xpY2Vuc2UB/4IAAQwBAklkAf+EAAEDS2V5AQwAAQdDb21wYW55AQwAAQdFeHBUaW1lAQQAAQREYXlzAQQAAQdDYW1lcmFzAQQAAQVTaXRlcwEEAAEGVmF1bHRzAQQAAQpNZWRpYUxpbWl0AQQAAQlQZXJwZXR1YWwBAgABBkFjdGl2ZQECAAEJSXBBZGRyZXNzAQwAAAAY/4MBAQEIT2JqZWN0SUQB/4QAAQYBGAAAPf+COgEMAAAAAAAAAAAAAAAAAg9nZW5lcmljLWxpY2Vuc2UB+AJl6LAHsRMYAfoB0alKIAABEAEUARQDAQAB/gIAFlQqo9yJj1a3OH1+5iGjCPcz9VtrRuGfz/iuQEFohbCfSiZGAdHh16gEc59Z2kPaey+eJcwY0BQsBoipW7SwFRmcHkrWLuxt+Yzi2kvwmL4TN0quWqM4xxBzH1sejS6kZpPm7bw11JBsBuaNOYMbl5lgpPCFajWUH6GzfmuQlptNQKosocacI/9PaaqEUUM0ALjDZNSqqFwZPPsFh9WTeaHGbRbmwQRMPFDgaPCxiHnCCUagbvuVZeOQbKaR5gPTUfPQY/L4mrN9QnMxdzwUJgqm7FbTH4UhoZn6EEzNGTN6DbHhpx8lezzCRW8dzMNuK8R1igiORV5gdWOPzBMZlTgodIZRD07e8iAo2XqT/BWcqaJXutdqXltaiJKshh2QzStdv2WZUynVTguYIQJyBNhrXEkewKZA0UftcSemDPkCmp6VovMMveV4X3Cpzkm7ZHtE7j39At/kpuqY/icTEzRWYuQqEDtqXMVar84VOpgVhxeNrrqZniLq8o3ezRdwy0BJG5xT9cuMxq13ZB3Am9iqTSjx2mh5VZZeB33GjLVAtLscj8NoKWy7BThchXB9xwoiy2RLO8nE+EI8wPbg+ajb2Ta7AFyxHgJJU6cea+zEpiBMARwjPKqk2nn02xdfdqMzQ+E9e115sIqhotBM5RI7uBIf8DDwT93HLsJZRBAA"
@@ -43,6 +43,11 @@ helmCharts:
kerberoshub:
api:
url: "localhost:32081"
mongodb:
host: mongodb.mongodb
adminDatabase: admin
username: "root"
password: "yourpassword"
- name: mongodb
releaseName: mongodb
namespace: mongodb
+1 -1
View File
@@ -8,7 +8,7 @@ helmCharts:
releaseName: hub
namespace: kerberos-hub
repo: https://charts.kerberos.io
version: 0.77.0
version: 0.84.0
valuesFile: ../../base/hub/kerberos-hub-values.yaml
valuesInline:
kerberoshub: