Skip to content

NOD-I/apps

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

79 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nodi Store Apps

Description

Apps is a repository that contain all the applications available for an owner of a nodi.

Pipeline

The pipeline is defined in .github/workflows and it's scripts are in .github/scripts. It will run if a push is done on main or with when a for all new tag pushed matching v[0-9]+.*.

Job

It is composed of only one job that will:

  • configure ssh to connect to nodi server
  • update the database with the new version of each applications in this repository
  • clean the server of unwanted files that were needed for the update

The update of the database will:

  • update or insert all the application's information
  • add the developers that don't already exist
  • copy all the images for them to be accessible from the public
  • remove all the previews and news
  • add all news and previews for each applications

Secrets required

For the job to run correctly there must be some secrets and variables setup in github. With the organization plan free, the secrets and variables can only be made on the repository.

A secret is an environmental variable saved encrypted in github. It can only be used inside github pipelines with the decrypted value. It won't be logged in plain text, github search a matching pattern and replace it by ***, so if you really want to display it you need to alter it. When you want to change one, the old value won't be displayed. Secrets needed:

  • SSH_HOST -> hostname of the server that will contain nodi store
  • SSH_KEY -> the private ssh key that have access to the user root without password (ssh-copy-id need to be performed with it)
  • SSH_PORT -> the port of the server that will contain nodi store

Application requirement

For the job to run correctly, the applications that we want to update or add must follow some guidelines.

All directory in this repository will be considered as an application except for tor and nginx. The directory of an application must follow this architecture:

  • image
    • previews
      • <[0-9]*name.ext>
      • ...
    • <.logo..ext>
  • data.json

Schema of the data.json file:

{
  "id": "",
  "name": "",
  "description": "",
  "summary": "",
  "version": "",
  "installer": "",
  "developer": "",
  "news": [
    {
      "version": "",
      "content": ""
    }
  ]
}

Stay in touch

License

MIT License - see LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors