From a038a857d91f2109246c4e2e3ce3dc66be3b92e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A2u=20Cao?= Date: Sun, 13 Aug 2023 17:23:57 +0200 Subject: [PATCH] Make Drone CI configurable --- .env.example | 2 ++ app/models/setting.rb | 10 ++++++++++ .../admin/settings/services/_droneci.html.erb | 16 ++++++++++++++++ .../_admin_sidenav_settings_services.html.erb | 7 +++++++ 4 files changed, 35 insertions(+) create mode 100644 app/views/admin/settings/services/_droneci.html.erb diff --git a/.env.example b/.env.example index 081d0ae..aa77727 100644 --- a/.env.example +++ b/.env.example @@ -22,6 +22,8 @@ WEBHOOKS_ALLOWED_IPS='10.1.1.163' DISCOURSE_PUBLIC_URL='https://community.kosmos.org' DISCOURSE_CONNECT_SECRET='discourse_connect_ftw' +DRONECI_PUBLIC_URL='https://drone.kosmos.org' + GITEA_PUBLIC_URL='https://gitea.kosmos.org' MASTODON_PUBLIC_URL='https://kosmos.social' MEDIAWIKI_PUBLIC_URL='https://wiki.kosmos.org' diff --git a/app/models/setting.rb b/app/models/setting.rb index bfa495f..0a13905 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -51,6 +51,16 @@ class Setting < RailsSettings::Base field :discourse_connect_secret, type: :string, default: ENV["DISCOURSE_CONNECT_SECRET"].presence + # + # Drone CI + # + + field :droneci_public_url, type: :string, + default: ENV["DRONECI_PUBLIC_URL"].presence + + field :droneci_enabled, type: :boolean, + default: (ENV["DRONECI_PUBLIC_URL"].present?.to_s || false) + # # ejabberd # diff --git a/app/views/admin/settings/services/_droneci.html.erb b/app/views/admin/settings/services/_droneci.html.erb new file mode 100644 index 0000000..a0d8ac5 --- /dev/null +++ b/app/views/admin/settings/services/_droneci.html.erb @@ -0,0 +1,16 @@ +

Drone CI

+ diff --git a/app/views/shared/_admin_sidenav_settings_services.html.erb b/app/views/shared/_admin_sidenav_settings_services.html.erb index 142f6fc..973777f 100644 --- a/app/views/shared/_admin_sidenav_settings_services.html.erb +++ b/app/views/shared/_admin_sidenav_settings_services.html.erb @@ -5,6 +5,13 @@ icon: Setting.discourse_enabled? ? "check" : "x", active: current_page?(admin_settings_services_path(params: { s: "discourse" })), ) %> +<%= render SidenavLinkComponent.new( + level: 2, + name: "Drone CI", + path: admin_settings_services_path(params: { s: "droneci" }), + icon: Setting.droneci_enabled? ? "check" : "x", + active: current_page?(admin_settings_services_path(params: { s: "droneci" })), +) %> <%= render SidenavLinkComponent.new( level: 2, name: "ejabberd",