feat: add miniflux tofu app

This commit is contained in:
cătălin 2024-03-25 08:48:20 +01:00
commit fe4e8da22a
No known key found for this signature in database
12 changed files with 50 additions and 23 deletions

View file

@ -3,4 +3,4 @@
- giteas - giteas
roles: roles:
- role: roles/gitea - role: roles/gitea

View file

@ -20,4 +20,4 @@
ansible.builtin.systemd_service: ansible.builtin.systemd_service:
state: restarted state: restarted
daemon_reload: true daemon_reload: true
name: gitea name: gitea

View file

@ -12,4 +12,4 @@ GITEA_MAILER_HOST=mail.fukurokuju.dev:587
GITEA_MAILER_FROM=git@fukurokuju.dev GITEA_MAILER_FROM=git@fukurokuju.dev
GITEA_MAILER_USER= GITEA_MAILER_USER=
GITEA_MAILER_PASSWORD= GITEA_MAILER_PASSWORD=
GITEA_NO_REPLY_ADDRESS=git@fukurokuju.dev GITEA_NO_REPLY_ADDRESS=git@fukurokuju.dev

View file

@ -23,4 +23,4 @@ ansible_user=ci
gitea.fuku gitea.fuku
[giteas:vars] [giteas:vars]
ansible_user=root ansible_user=root

View file

@ -90,11 +90,11 @@ spec:
- job_name: 'argocd-notifications-controller-metrics' - job_name: 'argocd-notifications-controller-metrics'
static_configs: static_configs:
- targets: ["argocd-notifications-controller-metrics.argocd:9001"] - targets: ["argocd-notifications-controller-metrics.argocd:9001"]
- job_name: 'miniflux' - job_name: 'miniflux'
static_configs: static_configs:
- targets: ["miniflux-service.apps-roboces:8888"] - targets: ["miniflux-service.apps-roboces:8888"]
- job_name: 'authentik' - job_name: 'authentik'
static_configs: static_configs:
- targets: ["authentik-server-metrics.apps-fuku:9300"] - targets: ["authentik-server-metrics.apps-fuku:9300"]

View file

@ -28,4 +28,4 @@ metadata:
namespace: argo-workflows namespace: argo-workflows
annotations: annotations:
kubernetes.io/service-account.name: admin-user kubernetes.io/service-account.name: admin-user
type: kubernetes.io/service-account-token type: kubernetes.io/service-account-token

View file

@ -29,4 +29,4 @@ spec:
- https://kubernetes-sigs.github.io/descheduler/ - https://kubernetes-sigs.github.io/descheduler/
- https://github.com/rancher/system-upgrade-controller.git - https://github.com/rancher/system-upgrade-controller.git
- https://charts.bitnami.com/bitnami - https://charts.bitnami.com/bitnami
- https://argoproj.github.io/argo-helm - https://argoproj.github.io/argo-helm

View file

@ -5,4 +5,4 @@ metadata:
name: skipverify-authentik name: skipverify-authentik
namespace: apps-fuku namespace: apps-fuku
spec: spec:
insecureSkipVerify: true insecureSkipVerify: true

View file

@ -69,3 +69,18 @@ module "gitea" {
app_url = "https://git.roboces.dev/user/oauth2/authentik" app_url = "https://git.roboces.dev/user/oauth2/authentik"
sub_mode = "hashed_user_id" sub_mode = "hashed_user_id"
} }
module "miniflux" {
source = "../modules/authentik"
app_name = "Miniflux"
app_slug = "miniflux"
client_id = var.miniflux_client_id
client_secret = var.miniflux_client_secret
app_access_group_id = ""
redirect_uris = ["https://feeds.roboces.dev/oauth2/oidc/callback"]
app_icon = "https://miniflux.app/favicon.ico"
app_description = "RSS aggregator"
app_publisher = "Miniflux"
app_url = "https://feeds.roboces.dev"
sub_mode = "hashed_user_id"
}

View file

@ -1,8 +1,10 @@
AUTHENTIK_URL=https://auth.fukurokuju.dev AUTHENTIK_URL=https://auth.fukurokuju.dev
AUTHENTIK_TOKEN= AUTHENTIK_TOKEN=
TF_VAR_argo_workflows_client_id= TF_VAR_argo_workflows_client_id=
TF_VAR_argo_workflows_client_secret= TF_VAR_argo_workflows_client_secret=
TF_VAR_firezone_client_id= TF_VAR_firezone_client_id=
TF_VAR_firezone_client_secret= TF_VAR_firezone_client_secret=
TF_VAR_gitea_client_id= TF_VAR_gitea_client_id=
TF_VAR_gitea_client_secret= TF_VAR_gitea_client_secret=
TF_VAR_miniflux_client_id=
TF_VAR_miniflux_client_secret=

View file

@ -27,3 +27,13 @@ variable "gitea_client_secret" {
description = "Client secret" description = "Client secret"
type = string type = string
} }
variable "miniflux_client_id" {
description = "Client ID"
type = string
}
variable "miniflux_client_secret" {
description = "Client secret"
type = string
}

View file

@ -37,15 +37,15 @@ resource "authentik_application" "app" {
slug = var.app_slug slug = var.app_slug
protocol_provider = authentik_provider_oauth2.provider_oidc.id protocol_provider = authentik_provider_oauth2.provider_oidc.id
open_in_new_tab = var.open_in_new_tab open_in_new_tab = var.open_in_new_tab
meta_icon = var.app_icon meta_icon = var.app_icon
meta_description = var.app_description meta_description = var.app_description
meta_publisher = var.app_publisher meta_publisher = var.app_publisher
meta_launch_url = var.app_url meta_launch_url = var.app_url
} }
resource "authentik_policy_binding" "app_access" { resource "authentik_policy_binding" "app_access" {
target = authentik_application.app.uuid target = authentik_application.app.uuid
group = var.app_access_group_id group = var.app_access_group_id
order = 0 order = 0
count = var.app_access_group_id != "" ? 1 : 0 count = var.app_access_group_id != "" ? 1 : 0 # only add it if the group's name exists
} }