Split up the main page into different parts.
This commit is contained in:
parent
fcfe8a6637
commit
8fd17ed75d
@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
"converge/pkg/templates"
|
||||
"github.com/a-h/templ"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
)
|
||||
@ -23,17 +24,21 @@ type Rendering struct {
|
||||
|
||||
func render(dir string, name string, params Params, render RenderFunc) {
|
||||
fname := filepath.Join(dir, name)
|
||||
log.Printf("Writing to %s", fname)
|
||||
f, err := os.Create(fname)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
render(params.secure, params.host, params.username).Render(context.Background(), f)
|
||||
err = render(params.secure, params.host, params.username).Render(context.Background(), f)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
func main() {
|
||||
dir := "html"
|
||||
dir := "html/docs"
|
||||
|
||||
params := Params{
|
||||
secure: "s",
|
||||
|
@ -3,42 +3,42 @@ package templates
|
||||
templ About() {
|
||||
<div>
|
||||
<h1>About</h1>
|
||||
<p>
|
||||
Converge is a utility for troubleshooting builds on continuous integration servers.
|
||||
It solves a common problem where the cause of job failure is difficult to determine.
|
||||
This is complicated further by the fact that build jobs are usually run on a build
|
||||
farm where there is no access to the build agents or in more modern envrionments when
|
||||
jobs are run in ephemeral containers.
|
||||
</p>
|
||||
<p>
|
||||
Converge is a utility for troubleshooting builds on continuous integration servers.
|
||||
It solves a common problem where the cause of job failure is difficult to determine.
|
||||
This is complicated further by the fact that build jobs are usually run on a build
|
||||
farm where there is no access to the build agents or in more modern envrionments when
|
||||
jobs are run in ephemeral containers.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
With Converge it is possible to get remote shell access to such jobs. This works
|
||||
by configuring the build job to connect to a Converge server using an agent program.
|
||||
The agent program can be downloaded from within the CI job using curl or wget.
|
||||
Next, an end-user can connect to the Converge server, a rendez-vous server, that connects
|
||||
the client and server together.
|
||||
</p>
|
||||
<p>
|
||||
With Converge it is possible to get remote shell access to such jobs. This works
|
||||
by configuring the build job to connect to a Converge server using an agent program.
|
||||
The agent program can be downloaded from within the CI job using curl or wget.
|
||||
Next, an end-user can connect to the Converge server, a rendez-vous server, that connects
|
||||
the client and server together.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The setup is such that the connection from client (end-user) to server (agent on CI job)
|
||||
is end-to-end encrypted. The Converge server itself is no more than a bitpipe which pumps
|
||||
data between client and agent.
|
||||
</p>
|
||||
<p>
|
||||
The setup is such that the connection from client (end-user) to server (agent on CI job)
|
||||
is end-to-end encrypted. The Converge server itself is no more than a bitpipe which pumps
|
||||
data between client and agent.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Both ssh and sftp are supported. Multiple shells are also allowed.
|
||||
</p>
|
||||
<p>
|
||||
Both ssh and sftp are supported. Multiple shells are also allowed.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
There is a timeout mechanism in the agent such that jobs do not hang indefinitely
|
||||
waiting for a connection. This mechanism is useful to make sure build agents do not keep
|
||||
build agents occupied for a long time. By default, the agent exits with status 0 when
|
||||
the first client exits after logging in. This behavior as well as general expiry can be
|
||||
controlled from within a shell session by touching a .hold file. After logging in, the
|
||||
user can control expiry of the session as instructed by messages in the ssh session.
|
||||
When the timeout of a session is near the user is informed about this with messages
|
||||
in the shell.
|
||||
</p>
|
||||
<p>
|
||||
There is a timeout mechanism in the agent such that jobs do not hang indefinitely
|
||||
waiting for a connection. This mechanism is useful to make sure build agents do not keep
|
||||
build agents occupied for a long time. By default, the agent exits with status 0 when
|
||||
the first client exits after logging in. This behavior as well as general expiry can be
|
||||
controlled from within a shell session by touching a .hold file. After logging in, the
|
||||
user can control expiry of the session as instructed by messages in the ssh session.
|
||||
When the timeout of a session is near the user is informed about this with messages
|
||||
in the shell.
|
||||
</p>
|
||||
</div>
|
||||
}
|
||||
|
||||
|
@ -18,7 +18,7 @@ templ Downloads() {
|
||||
<tr>
|
||||
<td>agent</td>
|
||||
<td>The agent to run inside aa CI job</td>
|
||||
<td><a href="docs/agent">agent</a></td>
|
||||
<td><a href="downloads/agent">agent</a></td>
|
||||
<td><a href="docs/agent.exe">agent.exe</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
@ -5,14 +5,14 @@ templ Index(secure string, host string, username string) {
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="css/bootstrap.min.css"
|
||||
<link rel="stylesheet" href="../css/bootstrap.min.css"
|
||||
crossorigin="anonymous">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<title>Converge</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<script src="js/bootstrap.bundle.min.js"
|
||||
<script src="../js/bootstrap.bundle.min.js"
|
||||
crossorigin="anonymous"></script>
|
||||
|
||||
<div class="container-fluid">
|
||||
|
Loading…
Reference in New Issue
Block a user