{% extends "base.html" %} {% import "webhooks_panel.html" as w %} {% import "assistants_panel.html" as ai %} {% import "variables_panel.html" as va %} {% import "secrets_panel.html" as se %} {% block title %}{{ org.name }} settings{% endblock %} {% block content %}

{{ org.name }} organisation settings · repositories

{% if let Some(n) = notice %}

{{ n }}

{% endif %} {% if let Some(e) = error %}

{{ e }}

{% endif %}

Backups

Copy every repository {{ org.name }} owns, with its issues, proposals and wiki, hourly to a bucket or directory you control. Set up backups

Members

{% for (a, r) in members %}{% endfor %}
{{ a.username }}{{ r }}

OxygenFlow priority

Runners take higher levels first; within a level, repositories take turns. A repository may set its own level, and a maintainer can expedite one run.

Storage

Where the organisation's new repositories may live. Repositories that exist stay where they are.

Listing the organisation's own buckets keeps its data where those buckets are: the provider, the region, the country.

Teams

{% for (t, ms) in teams %}

{{ t.name }}: {% for a in ms %}{{ a.username }}{% if !loop.last %}, {% endif %}{% endfor %}{% if ms.is_empty() %}nobody yet{% endif %}

{% endfor %}

Runners

The OxygenFlow runners that may take this organisation's jobs: the site's, the organisation's, and those of its repositories.

{% if let Some(t) = runner_token %}

Register a runner for the organisation with:

flow runner register {{ shell.base_url }} --token {{ t }} --name NAME
{% endif %} {% if runners.is_empty() %}

None yet: runs wait until a runner that serves them is added.

{% else %}
{% for (r, serves, own) in runners %}{% endfor %}
RunnerStatusServesMachine
{{ r.name }}{{ r.status() }}{{ serves }}{% if r.arch.is_empty() %}unknown{% else %}{{ r.arch }} · {{ r.os }}{% endif %} {% if *own %}
{% endif %}
{% endif %}
{% call w::panel("/orgs/" ~ org.name ~ "/settings", hooks, shell.csrf, "These hear every repository of the organisation, as well as each repository's own webhooks.") %} {% call va::panel("/orgs/" ~ org.name ~ "/settings", variables, shell.csrf, "Jobs of every repository of the organisation get these, beside the site's and each repository's own.") %} {% call se::panel("/orgs/" ~ org.name ~ "/settings", secrets, shell.csrf, "Jobs of every repository of the organisation may use these, beside the site's and each repository's own.") %} {% call ai::panel("/orgs/" ~ org.name ~ "/settings", assistants, shell.csrf, "Every repository of the organisation may ask these, beside the site's and its own.") %}
{% endblock %}