Split up the main page into different parts.
This commit is contained in:
		
							parent
							
								
									a4d5060163
								
							
						
					
					
						commit
						92504f4130
					
				| @ -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