Skip to content

Add "For developers" section covering the SEPAL apps catalog#590

Merged
dfguerrerom merged 3 commits into
mainfrom
developers-section
May 28, 2026
Merged

Add "For developers" section covering the SEPAL apps catalog#590
dfguerrerom merged 3 commits into
mainfrom
developers-section

Conversation

@dfguerrerom

Copy link
Copy Markdown
Collaborator

Introduces a new top-level For developers section that consolidates developer-facing documentation. It groups the existing CLI pages with a new Develop apps track explaining the sepal-apps-catalog workflow.

New pages

  • Docker vs. Jupyter apps — endpoints, isolation, versioning, lifecycle.
  • Request a new app — catalog anatomy (identification + routing, docker-only fields, presentation, behaviour flags), the PR flow against apps.test.json, and promotion to apps.prod.json.
  • Request a new kernel — packaging a shared environment as a hidden jupyter app via sepal_environment.yml, with sepal-sam as the worked example.
  • Create a release — manual SHA bump (docker) and the bump-app repository_dispatch flow from a source repo.

Structure

A new umbrella page developers/index.rst pulls in cli/index and the new developers/apps/index. The CLI pages stay at their existing paths (cli/*.html) so all public URLs keep working — only navigation changes.

docs/source/
  developers/
    index.rst                      # umbrella (toctree -> cli + apps)
    apps/
      index.rst                    # landing + lifecycle graphviz
      app_types.rst                # docker vs jupyter (1st, foundational)
      app_catalog.rst              # request a new app
      kernels.rst                  # request a new kernel
      releases.rst                 # create a release

The top-level toctree in index.rst swaps the old CLI entry for the new Developers umbrella.

Linked catalog issues

Writing the docs surfaced two gaps in the catalog repo; tracking issues filed:

Verification

nox -s docs passes with zero warnings; check_warnings.py is green.

Introduces a new top-level section that consolidates developer-facing
documentation — the existing CLI pages plus a new "Develop apps" track
covering the sepal-apps-catalog workflow:

- Docker vs. Jupyter apps — endpoints, isolation, lifecycle
- Request a new app — catalog anatomy (id, label, endpoint, repository,
  branch, path, commit, port, presentation fields, behaviour flags),
  PR flow to apps.test.json, promotion to apps.prod.json
- Request a new kernel — packaging an environment as a hidden jupyter
  app via sepal_environment.yml, with sepal-sam as the worked example
- Create a release — manual SHA bump and the bump-app
  repository_dispatch flow from a source repo

The CLI pages stay at their existing paths (cli/*.html) and are
reached through the new umbrella, preserving all public URLs.
Updates app_catalog.rst to reflect dfguerrerom/sepal-apps-catalog#42
(merged), which closes #40 and #41:

- Promoting to production now leads with the self-service /promote
  comment flow (Promote app on /promote comment workflow) and explains
  the public-org-membership / repo-owner authorization rule. The
  "restricted to the catalog owner" caveat is gone.
- Port row notes that check-docker-rules.js enforces uniqueness across
  apps.test.json + apps.prod.json and prints "Next free port: N".
- Docker path row notes that the id↔path equality check is enforced
  by check-docker-rules.js (in addition to the schema-enforced prefix).
codespell read the escaped \n + own sequence in the label
"Docker app\nown container + port\npinned commit" as the typo
"nown". Rewording to "private container" reads better anyway and
keeps the hook green.
@dfguerrerom dfguerrerom merged commit 75cbda1 into main May 28, 2026
3 checks passed
@dfguerrerom dfguerrerom deleted the developers-section branch May 28, 2026 14:44
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.

1 participant