Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
ssorj committed Jan 7, 2025
1 parent cbba0ed commit 5fb4c1d
Show file tree
Hide file tree
Showing 45 changed files with 616 additions and 367 deletions.
110 changes: 83 additions & 27 deletions config/commands/system.yaml
Original file line number Diff line number Diff line change
@@ -1,53 +1,109 @@
name: system
platforms: [Docker, Podman, Linux]
platforms: [Kubernetes, Docker, Podman, Linux]
related_concepts: [platform]
subcommands:
- name: install
related_commands: [system/uninstall]
description: |
Install the Skupper components.
Install local system infrastructure and configure the environment.
This creates the router configuration, TLS certificates, and
systemd unit file for the current namespace. On Docker or
Podman, it also creates containers for Skupper components.
include_options: [context/namespace, global/*]
It does the following:
- Checks the local environment for required resources and
configuration.
- In some instances, configures the local environment. On
Podman, it starts the Podman API service if it is not already
available.
**Note:** With a long-lived controller, this operation would
also start the controller as a user-scoped systemd service.
include_options: [global/*]
- name: uninstall
related_commands: [system/install]
description: |
Remove the Skupper components.
Remove local system infrastructure.
This removes the router configuration, TLS certificates, and
systemd unit file for the current namespace. On Docker or
Podman, it also removes the containers for Skupper components.
include_options: [context/namespace, global/*]
This operation fails if sites are present. Use the
`--force` option to override.
include_options: [global/*]
options:
- name: force
type: boolean
- name: start
related_commands: [system/stop]
description: |
Start up the Skupper components for the current site.
Start the Skupper router for the current site. This starts the
systemd service for the current namespace.
This starts the systemd service for the current namespace.
<!-- Maybe: If not installed yet, run install -->
**Note:** In the absence of a long-lived controller, this
operation first reads the input resources and updates the router
configuration. With a long-lived controller, that config update
would have already taken place.
include_options: [context/namespace, global/*]
- name: stop
related_commands: [system/start]
description: |
Shut down the Skupper components for the current site.
This stops the systemd service for the current namespace.
Stop the Skupper router for the current site. This stops the
systemd service for the current namespace.
include_options: [context/namespace, global/*]
- name: reload
description: |
Reload the site configuration.
Reload the site configuration. This restarts the systemd
service for the current namespace.
This restarts the systemd service for the current namespace.
# - name: apply
# description: |
# Apply resource configuration from files or standard input.
**Note:** This is currently equivalent to start then stop. With
a router adaptor service, we could avoid a router restart for some
config changes.
- name: apply
description: |
Create or update resources using files or standard input.
# <!-- File locations and names -->
# include_options: [context/namespace, global/*]
- name: status
<!-- File locations and names -->
<!-- Need to run reload after -->
include_options: [context/namespace, global/*]
options:
- name: filename
type: string
short_option: f
- name: delete
description: |
Delete resources using files or standard input.
<!-- File locations and names -->
<!-- Need to run reload after -->
include_options: [context/namespace, global/*]
options:
- name: filename
type: string
short_option: f
- name: generate-bundle
description: |
Display the status of the system.
Generate a self-contained site bundle for use on another
machine.
include_options: [context/namespace, global/*]
options:
- name: bundle-file
type: string
positional: true
required: true
description: |
The name of the bundle file to generate.
The command exits with an error if the file already exists.
- name: input
type: string
default: $HOME/.local/share/skupper/namespaces/<namespace>/input/resources
description: |
The location of the Skupper resources defining the site.
- name: type
type: string
default: tarball
choices:
- name: tarball
description: A gzipped tar file
- name: shell-script
description: A self-extracting shell script
# - name: status
# description: |
# Display the status of the system.
# include_options: [context/namespace, global/*]
14 changes: 7 additions & 7 deletions input/commands/connector/create.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ option is not specified. On Kubernetes, the name defines
the default pod selector if the `--selector` and
`--workload` options are not specified.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>

</div>
</div>
Expand All @@ -72,7 +72,7 @@ the default pod selector if the `--selector` and

The port on the target server to connect to.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
<table class="fields"><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand All @@ -91,7 +91,7 @@ remote listener and the local connector must have matching
routing keys.

<table class="fields"><tr><th>Default</th><td><p><em>Value of name</em></p>
</td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
</td><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand Down Expand Up @@ -149,7 +149,7 @@ This is an alternative to setting the `--selector` or
`--workload` options.

<table class="fields"><tr><th>Default</th><td><p><em>Value of name</em></p>
</td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
</td><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand Down Expand Up @@ -230,7 +230,7 @@ Set the path to the kubeconfig file.

Set the current namespace.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>

</div>
</div>
Expand All @@ -252,7 +252,7 @@ Set the Skupper platform.
</td></tr><tr><th><code>docker</code></th><td><p>Docker</p>
</td></tr><tr><th><code>podman</code></th><td><p>Podman</p>
</td></tr><tr><th><code>linux</code></th><td><p>Linux</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>
</td></tr></table></td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>

</div>
</div>
Expand All @@ -267,7 +267,7 @@ Set the Skupper platform.

Display help and exit.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>


</div>
</div>
8 changes: 4 additions & 4 deletions input/commands/connector/delete.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ Connector "database" is deleted.

The name of the resource to be deleted.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>

</div>
</div>
Expand Down Expand Up @@ -122,7 +122,7 @@ Set the path to the kubeconfig file.

Set the current namespace.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>

</div>
</div>
Expand All @@ -144,7 +144,7 @@ Set the Skupper platform.
</td></tr><tr><th><code>docker</code></th><td><p>Docker</p>
</td></tr><tr><th><code>podman</code></th><td><p>Podman</p>
</td></tr><tr><th><code>linux</code></th><td><p>Linux</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>
</td></tr></table></td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>

</div>
</div>
Expand All @@ -159,7 +159,7 @@ Set the Skupper platform.

Display help and exit.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>


</div>
</div>
16 changes: 8 additions & 8 deletions input/commands/connector/generate.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ $ skupper connector generate backend 8080 > backend.yaml

The name of the resource to be generated.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>

</div>
</div>
Expand All @@ -69,7 +69,7 @@ The name of the resource to be generated.

The port on the target server to connect to.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
<table class="fields"><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand All @@ -88,7 +88,7 @@ remote listener and the local connector must have matching
routing keys.

<table class="fields"><tr><th>Default</th><td><p><em>Value of name</em></p>
</td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
</td><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand Down Expand Up @@ -146,7 +146,7 @@ This is an alternative to setting the `--selector` or
`--workload` options.

<table class="fields"><tr><th>Default</th><td><p><em>Value of name</em></p>
</td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>Updatable</th><td>True</td></table>
</td><tr><th>Updatable</th><td>True</td></table>

</div>
</div>
Expand All @@ -164,7 +164,7 @@ Wait for the given status before exiting.
</td><tr><th>Choices</th><td><table class="choices"><tr><th><code>none</code></th><td><p><em>Do not wait</em></p>
</td></tr><tr><th><code>configured</code></th><td><p>Configured</p>
</td></tr><tr><th><code>ready</code></th><td><p>Ready</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>
</td></tr></table></td></table>

</div>
</div>
Expand All @@ -181,7 +181,7 @@ Select the output format.
<table class="fields"><tr><th>Default</th><td><p><code>yaml</code></p>
</td><tr><th>Choices</th><td><table class="choices"><tr><th><code>json</code></th><td><p>Produce JSON output</p>
</td></tr><tr><th><code>yaml</code></th><td><p>Produce YAML output</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>
</td></tr></table></td></table>

</div>
</div>
Expand All @@ -205,7 +205,7 @@ Set the Skupper platform.
</td></tr><tr><th><code>docker</code></th><td><p>Docker</p>
</td></tr><tr><th><code>podman</code></th><td><p>Podman</p>
</td></tr><tr><th><code>linux</code></th><td><p>Linux</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>
</td></tr></table></td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>

</div>
</div>
Expand All @@ -220,7 +220,7 @@ Set the Skupper platform.

Display help and exit.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>


</div>
</div>
10 changes: 5 additions & 5 deletions input/commands/connector/status.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Has matching listeners: 1
An optional resource name. If set, the status command reports
status for the named resource only.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/names/">Kubernetes object names</a></td></table>

</div>
</div>
Expand Down Expand Up @@ -90,7 +90,7 @@ Print status to the console in a structured output format.

<table class="fields"><tr><th>Choices</th><td><table class="choices"><tr><th><code>json</code></th><td><p>Produce JSON output</p>
</td></tr><tr><th><code>yaml</code></th><td><p>Produce YAML output</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>
</td></tr></table></td></table>

</div>
</div>
Expand Down Expand Up @@ -137,7 +137,7 @@ Set the path to the kubeconfig file.

Set the current namespace.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>
<table class="fields"><tr><th>See also</th><td><a href="https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/">Kubernetes namespaces</a>, <a href="{{site_prefix}}/topics/system-namespaces.html">System namespaces</a></td></table>

</div>
</div>
Expand All @@ -159,7 +159,7 @@ Set the Skupper platform.
</td></tr><tr><th><code>docker</code></th><td><p>Docker</p>
</td></tr><tr><th><code>podman</code></th><td><p>Podman</p>
</td></tr><tr><th><code>linux</code></th><td><p>Linux</p>
</td></tr></table></td><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>
</td></tr></table></td><tr><th>See also</th><td><a href="{{site_prefix}}/concepts/platform.html">Platform concept</a></td></table>

</div>
</div>
Expand All @@ -174,7 +174,7 @@ Set the Skupper platform.

Display help and exit.

<table class="fields"><tr><th>Platforms</th><td>Kubernetes, Docker, Podman, Linux</td></table>


</div>
</div>
Loading

0 comments on commit 5fb4c1d

Please sign in to comment.