Skip to content

Commit

Permalink
[frinx-machine] Frinx Machie 6.1 (#395)
Browse files Browse the repository at this point in the history
Co-authored-by: Jozef Volak <[email protected]>
  • Loading branch information
Jozefiel and Jozef Volak authored Jul 11, 2024
1 parent 9bbbb68 commit ba1f40c
Show file tree
Hide file tree
Showing 8 changed files with 432 additions and 183 deletions.
1 change: 1 addition & 0 deletions .github/workflows/linter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
VALIDATE_JSCPD: false
VALIDATE_NATURAL_LANGUAGE : false
VALIDATE_MARKDOWN: false
VALIDATE_GITLEAKS: false
FILTER_REGEX_EXCLUDE: .*config/.*.json
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand Down
67 changes: 0 additions & 67 deletions .github/workflows/trigger-argowf.yaml

This file was deleted.

74 changes: 47 additions & 27 deletions charts/frinx-machine/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,17 @@
apiVersion: v2
name: frinx-machine
description: Kubernetes deployment of FRINX-machine
description: |
FRINX Machine is a dockerized deployment of multiple elements. The FRINX Machine enables large scale automation of network devices, services and retrieval of operational state data from a network.
User specific workflows are designed through the use of OpenConfig NETCONF & YANG models, vendor native models, and the CLI.
The FRINX Machine uses dockerized containers that are designed and tested to work together to create a user specific solution.
Further information is available on [docs.frinx.io](https://docs.frinx.io/frinx-machine/getting-started/).
icon: https://avatars.githubusercontent.com/u/23452093?s=200&v=4
type: application
version: 8.0.1
appVersion: 6.0.0
version: 9.0.0
appVersion: 6.1.0
maintainers:
- name: FRINX
dependencies:
# Local DBS

- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 11.9.13
condition: postgresql.enabled

- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 11.9.13
alias: uniconfig-postgresql
condition: uniconfig-postgresql.enabled

# Monitoring

- name: grafana
Expand Down Expand Up @@ -55,46 +46,59 @@ dependencies:

# Frinx Machine Core

## Databases
- name: cloud-native-pg
alias: workflow-manager-postgres
version: 0.0.2
repository: https://FRINXio.github.io/helm-charts
version: 0.0.2
condition: workflow-manager-postgres.enabled

- name: cloud-native-pg
alias: uniconfig-postgres
repository: https://FRINXio.github.io/helm-charts
version: 0.0.2
condition: uniconfig-postgres.enabled
repository: https://FRINXio.github.io/helm-charts

- name: frinx-arango-config
repository: https://FRINXio.github.io/helm-charts
version: 4.1.0
version: 4.2.0
condition: frinx-arango-config.enabled

- name: kafka
repository: https://charts.bitnami.com/bitnami
version: 25.2.0
condition: kafka.enabled

- name: postgresql
alias: timescale-db
repository: https://charts.bitnami.com/bitnami
version: 11.x.x
condition: timescale-db.enabled

## Services
- name: krakend
repository: https://FRINXio.github.io/helm-charts
version: ~3.2.0
version: 4.0.0
condition: krakend.enabled

- name: frinx-frontend
repository: https://FRINXio.github.io/helm-charts
version: 4.0.1
version: 4.1.0
condition: frinx-frontend.enabled

- name: resource-manager
repository: https://FRINXio.github.io/helm-charts
version: 2.0.0
version: 2.1.0
condition: resource-manager.enabled

- name: workflow-manager
repository: https://FRINXio.github.io/helm-charts
version: 3.0.0
version: 3.1.1
condition: workflow-manager.enabled

- name: inventory
repository: https://FRINXio.github.io/helm-charts
version: ~5.0.1
version: 6.0.0
condition: inventory.enabled

- name: traefik
Expand All @@ -105,15 +109,31 @@ dependencies:

- name: uniconfig
repository: https://FRINXio.github.io/helm-charts
version: 7.1.0
version: 8.0.0
condition: uniconfig.enabled

- name: topology-discovery
version: 3.0.0
repository: https://FRINXio.github.io/helm-charts
version: 3.1.0
condition: topology-discovery.enabled

- name: performance-monitor
repository: https://FRINXio.github.io/helm-charts
version: 0.1.3
condition: performance-monitor.enabled

- name: swagger-ui
repository: https://FRINXio.github.io/helm-charts
version: 0.1.1
condition: swagger-ui.enabled

- name: worker
alias: device-induction
repository: https://FRINXio.github.io/helm-charts
version: 4.0.0
condition: device-induction.enabled

- name: oauth2-proxy
repository: https://oauth2-proxy.github.io/manifests
version: 6.24.1
version: 7.7.4
condition: oauth2-proxy.enabled
90 changes: 54 additions & 36 deletions charts/frinx-machine/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# frinx-machine

FRINX Machine is a dockerized deployment of multiple elements. The FRINX Machine enables large scale automation of network devices, services and retrieval of operational state data from a network.
User specific workflows are designed through the use of OpenConfig NETCONF & YANG models, vendor native models, and the CLI.
The FRINX Machine uses dockerized containers that are designed and tested to work together to create a user specific solution.
FRINX Machine is a dockerized deployment of multiple elements. The FRINX Machine enables large scale automation of network devices, services and retrieval of operational state data from a network.
User specific workflows are designed through the use of OpenConfig NETCONF & YANG models, vendor native models, and the CLI.
The FRINX Machine uses dockerized containers that are designed and tested to work together to create a user specific solution.
Further information is available on [docs.frinx.io](https://docs.frinx.io/frinx-machine/getting-started/).

![Version: 9.0.0](https://img.shields.io/badge/Version-9.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 6.1.0](https://img.shields.io/badge/AppVersion-6.1.0-informational?style=flat-square)

## Prerequisites

* Kubernetes 1.19+
* Kubernetes 1.27+
* Helm 3.2.0+

## Get Repo Info
Expand All @@ -31,12 +33,6 @@ helm install [RELEASE_NAME]-operators frinx/frinx-machine-operators
helm install [RELEASE_NAME] frinx/frinx-machine
```

To access UI, port-forward KrakenD service

```console
kubectl port-forward -n frinx svc/krakend 8080:8080
```

## Upgrading Chart

```console
Expand All @@ -55,41 +51,63 @@ helm uninstall [RELEASE_NAME]
helm uninstall [RELEASE_NAME]-operators
```

## Dependencies

| Chart | Documentation |
|-----------|-------------|
| `krakend` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/krakend) |
| `frinx-frontend` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/frinx-frontend) |
| `postgresql` | [ArtifactHub](https://artifacthub.io/packages/helm/bitnami/postgresql) |
| `resource-manager` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/resource-manager) |
| `workflow-manager` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/workflow-manager) |
| `inventory` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/inventory) |
| `uniconfig-postgresql` | [ArtifactHub](https://artifacthub.io/packages/helm/bitnami/postgresql) |
| `uniconfig` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/uniconfig) |
| `kube-arangodb` | [Github](https://github.com/arangodb/kube-arangodb) |
| `frinx-arango-config` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/frinx-arango-config) |
| `topology-discovery` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/topology-discovery) |
| `grafana` | [ArtifactHub](https://artifacthub.io/packages/helm/grafana/grafana) |
| `frinx-grafana-configs` | [ArtifactHub](https://artifacthub.io/packages/helm/frinx-helm-charts/frinx-grafana-configs) |
| `influxdb` | [ArtifactHub](https://artifacthub.io/packages/helm/influxdata/influxdb2) |
| `telegraf-ds` | [ArtifactHub](https://artifacthub.io/packages/helm/influxdata/telegraf-ds) |
| `loki` | [ArtifactHub](https://artifacthub.io/packages/helm/grafana/loki) |
| `promtail` | [ArtifactHub](https://artifacthub.io/packages/helm/grafana/promtail) |
| `cloudnative-pg` | [ArtifactHub](https://artifacthub.io/packages/helm/cloudnative-pg/cloudnative-pg) |
| `oauth2-proxy` | [ArtifactHub](https://artifacthub.io/packages/helm/oauth2-proxy/oauth2-proxy) |
## Uninstall Operators CRDs

```
kubectl delete -f https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/release-1.23/releases/cnpg-1.23.2.yaml
kubectl delete -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.41/manifests/arango-crd.yaml
```

## UI access

To access UI, enable ingress for KrakenD service

```console
helm install [RELEASE_NAME] frinx/frinx-machine --set krakend.ingress.enabled=true
```
Then from browser access: `krakend.127.0.0.1.nip.io`

Frinx Machine can be deployed with Oauth2-Proxy. Example of configuration can be found in values.yaml

## Requirements

| Repository | Name | Version |
|------------|------|---------|
| https://FRINXio.github.io/helm-charts | workflow-manager-postgres(cloud-native-pg) | 0.0.2 |
| https://FRINXio.github.io/helm-charts | uniconfig-postgres(cloud-native-pg) | 0.0.2 |
| https://FRINXio.github.io/helm-charts | frinx-arango-config | 4.2.0 |
| https://FRINXio.github.io/helm-charts | frinx-frontend | 4.1.0 |
| https://FRINXio.github.io/helm-charts | frinx-grafana-configs | 1.x.x |
| https://FRINXio.github.io/helm-charts | inventory | 6.0.0 |
| https://FRINXio.github.io/helm-charts | krakend | 4.0.0 |
| https://FRINXio.github.io/helm-charts | performance-monitor | 0.1.3 |
| https://FRINXio.github.io/helm-charts | resource-manager | 2.1.0 |
| https://FRINXio.github.io/helm-charts | swagger-ui | 0.1.1 |
| https://FRINXio.github.io/helm-charts | topology-discovery | 3.1.0 |
| https://FRINXio.github.io/helm-charts | uniconfig | 8.0.0 |
| https://FRINXio.github.io/helm-charts | device-induction(worker) | 4.0.0 |
| https://FRINXio.github.io/helm-charts | workflow-manager | 3.1.1 |
| https://charts.bitnami.com/bitnami | kafka | 25.2.0 |
| https://charts.bitnami.com/bitnami | timescale-db(postgresql) | 11.x.x |
| https://grafana.github.io/helm-charts | grafana | 7.3.1 |
| https://grafana.github.io/helm-charts | loki | 2.16.0 |
| https://grafana.github.io/helm-charts | promtail | 6.15.5 |
| https://helm.influxdata.com | influxdb2 | 2.1.2 |
| https://helm.influxdata.com | telegraf-ds | 1.1.24 |
| https://oauth2-proxy.github.io/manifests | oauth2-proxy | 7.7.4 |
| https://traefik.github.io/charts | uc-zone-lb(traefik) | 27.0.2 |

## Hardware requirements

| **Minimal hardware requirements for production** | |
|--------------------------------------------------|----------------------|
| Compute (vCores) | 12 |
| Memory (RAM) | 32 GB |
| Compute (vCores) | 16 |
| Memory (RAM) | 40 GB |
| Storage | 300 GB |

| **Minimal hardware requirements for development** | |
|---------------------------------------------------|----------------------|
| Compute (vCores) | 8 |
| Compute (vCores) | 12 |
| Memory (RAM) | 24 GB |
| Storage | 100 GB |

Expand Down
Loading

0 comments on commit ba1f40c

Please sign in to comment.