Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support web apps installation #749

Merged
merged 4 commits into from
Oct 8, 2024
Merged

support web apps installation #749

merged 4 commits into from
Oct 8, 2024

Conversation

wkloucek
Copy link
Contributor

@wkloucek wkloucek commented Sep 13, 2024

Description

support web app installation via initContainers

Related Issue

Motivation and Context

There are now Web apps that need to be somehow installable on the oCIS Helm Chart

How Has This Been Tested?

  • see the newly introduced deployment example

https://ocis.kube.owncloud.test/config.json

{
   "server":"https://ocis.kube.owncloud.test",
   "theme":"https://ocis.kube.owncloud.test/themes/owncloud/theme.json",
   "openIdConnect":{
      "metadata_url":"https://ocis.kube.owncloud.test/.well-known/openid-configuration",
      "authority":"https://ocis.kube.owncloud.test",
      "client_id":"web",
      "response_type":"code",
      "scope":"openid profile email"
   },
   "apps":[
      "files",
      "search",
      "text-editor",
      "pdf-viewer",
      "external",
      "admin-settings",
      "epub-reader",
      "preview",
      "app-store"
   ],
   "external_apps":[
      {
         "id":"external-sites",
         "path":"/assets/apps/external-sites/external-sites.js",
         "config":{
            "sites":[
               {
                  "color":"#0D856F",
                  "icon":"cloud",
                  "name":"ownCloud",
                  "priority":50,
                  "target":"external",
                  "url":"https://www.owncloud.com"
               }
            ]
         }
      }
   ],
   "options":{
      "contextHelpersReadMore":true,
      "tokenStorageLocal":true,
      "embed":{
         
      },
      "concurrentRequests":{
         "shares":{
            
         }
      }
   }
}

Screenshots (if appropriate):

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Technical debt
  • Tests only (no source changes)

Checklist:

  • Code changes
  • Unit tests added
  • Acceptance tests added
  • Documentation generated (make docs) and committed
  • Documentation ticket raised:
  • Documentation PR created:

@wkloucek wkloucek force-pushed the web-apps branch 6 times, most recently from ed42131 to 2d2f4d8 Compare September 13, 2024 06:24
d7oc
d7oc previously approved these changes Sep 13, 2024
@wkloucek wkloucek marked this pull request as draft September 13, 2024 09:26
@wkloucek wkloucek marked this pull request as draft September 13, 2024 09:26
@wkloucek wkloucek dismissed d7oc’s stale review September 13, 2024 09:27

I need to change something...

@wkloucek
Copy link
Contributor Author

@kulmann what I found out:

  • external_apps cannot be used to configure apps from the asset path because something is broken in the merge logic. apps.yaml can be used for it
  • uppy companion cannot be configured via apps.yaml but needs to be configure via external_apps

We're running out of names and descriptions for those app thingies, see:

https://github.com/owncloud/ocis-charts/pull/749/files#diff-8c842c719bd4d586188397f163f81a453a91b973b98b05e09a8cbe8132e269c2R2230-R2234

Am I doing something wrong?

@wkloucek
Copy link
Contributor Author

@d7oc could you take over please with @kulmann ?

@kulmann
Copy link
Member

kulmann commented Sep 13, 2024

@kulmann what I found out:

  • external_apps cannot be used to configure apps from the asset path because something is broken in the merge logic. apps.yaml can be used for it
  • uppy companion cannot be configured via apps.yaml but needs to be configure via external_apps

We're running out of names and descriptions for those app thingies, see:

https://github.com/owncloud/ocis-charts/pull/749/files#diff-8c842c719bd4d586188397f163f81a453a91b973b98b05e09a8cbe8132e269c2R2230-R2234

Am I doing something wrong?

Maybe the easiest solution is to extract the importer app from the web monorepo to the web-extensions repo. 🤔 anyway not a core functionality.... and that way you wouldn't need to use the external_apps config for it but could use the apps.yaml mechanism instead. thoughts @JammingBen ?

Copy link
Member

@kulmann kulmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for bycs you probably don't want the app-store app being enabled

charts/ocis/docs/values.adoc.yaml Show resolved Hide resolved
charts/ocis/docs/values.adoc.yaml Outdated Show resolved Hide resolved
@d7oc
Copy link
Contributor

d7oc commented Sep 13, 2024

@d7oc could you take over please with @kulmann ?

Yes, but this might need to wait until Monday.

@kulmann
Copy link
Member

kulmann commented Sep 30, 2024

Had a short call with @d7oc with the following outcome:

  • we remove the option to configure the external_apps in the config.json directly
  • only apps (string array for providing the list of enabled web-monorepo-apps) and apps.yaml (the new ocis mechanism to configure external apps) is to be used
  • I'll ask @fschade what makes more sense:
    • a) either move the importer-app to the web-extensions repo and provide docker images with its assets or
    • b) keep the importer app in the web monorepo (= ocis provides the assets) but make it possible in ocis to configure the app via apps.yaml

@kulmann
Copy link
Member

kulmann commented Oct 1, 2024

  • a) either move the importer-app to the web-extensions repo and provide docker images with its assets or
  • b) keep the importer app in the web monorepo (= ocis provides the assets) but make it possible in ocis to configure the app via apps.yaml

Discussed with @tbsbdr and @fschade and decided that we'll do a) because the app is anyway not sufficiently important for the web monorepo.

@d7oc
Copy link
Contributor

d7oc commented Oct 2, 2024

@kulmann do you already have some timeframe when this change will be done? So we can plan the work on this PR accordingly.

@kulmann
Copy link
Member

kulmann commented Oct 7, 2024

@kulmann do you already have some timeframe when this change will be done? So we can plan the work on this PR accordingly.

done 😅 You can find the readme about config here: https://github.com/owncloud/web-extensions/tree/main/packages/web-app-importer
and the docker image is published here: https://hub.docker.com/layers/owncloud/web-extensions/importer-0.1.0/images/sha256-ac42019ba67cfbec7413a85a664fcbdb1172ea7bd272cae37b83094f96564ad8?context=explore

@wkloucek
Copy link
Contributor Author

wkloucek commented Oct 8, 2024

we remove the option to configure the external_apps in the config.json directly

this was already done in this PR, so it's ready to be reviewed now.

@wkloucek wkloucek requested review from d7oc and kulmann October 8, 2024 06:48
@wkloucek wkloucek marked this pull request as ready for review October 8, 2024 06:48
Copy link
Contributor

@d7oc d7oc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@wkloucek wkloucek merged commit 7128a4c into owncloud:main Oct 8, 2024
1 check passed
@wkloucek wkloucek deleted the web-apps branch October 8, 2024 07:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Web extension / plugin installation mechanism
3 participants