Remove the requirement of setting a ssh key during serviceuser creation

You may not want use ssh with your serviceuser and if you do
you can always add the ssh key afterwards.

Change-Id: Ice70be870dc6811ab80b5f49b878e19ade85b64d
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
index 7e2e18a..a4ced57 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUser.java
@@ -132,11 +132,7 @@
       throw new BadRequestException("username must match URL");
     }
 
-    if (Strings.isNullOrEmpty(input.sshKey)) {
-      throw new BadRequestException("sshKey not set");
-    }
-
-    if (!SshKeyValidator.validateFormat(input.sshKey)) {
+    if (input.sshKey != null && !SshKeyValidator.validateFormat(input.sshKey)) {
       throw new BadRequestException("sshKey invalid.");
     }
 
diff --git a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
index 3f27975..4ee88ee 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/serviceuser/CreateServiceUserCommand.java
@@ -40,7 +40,7 @@
 
   @Option(
       name = "--ssh-key",
-      required = true,
+      required = false,
       metaVar = "-|KEY",
       usage = "public key for SSH authentication")
   private String sshKey;
diff --git a/web/gr-serviceuser-create.ts b/web/gr-serviceuser-create.ts
index 3ee2a70..eaf864b 100644
--- a/web/gr-serviceuser-create.ts
+++ b/web/gr-serviceuser-create.ts
@@ -58,9 +58,6 @@
   @query('#serviceUserEmailInput')
   serviceUserEmailInput!: HTMLInputElement;
 
-  @query('#serviceUserKeyInput')
-  serviceUserKeyInput!: HTMLInputElement;
-
   @property()
   plugin!: PluginApi;
 
@@ -94,9 +91,6 @@
   @property({type: String})
   email?: String;
 
-  @property({type: String})
-  key?: String;
-
   @property({type: Object})
   accountId?: AccountId;
 
@@ -141,20 +135,6 @@
           </section>
           ${this.renderEmailInputSection()}
         </fieldset>
-        <fieldset>
-          <section>
-            <span class="title">Public SSH key</span>
-            <span class="value">
-              <iron-autogrow-textarea
-                id="serviceUserKeyInput"
-                .bind-value="${this.key}"
-                placeholder="New SSH Key"
-                @bind-value-changed=${this.validateData}
-              >
-              </iron-autogrow-textarea>
-            </span>
-          </section>
-        </fieldset>
         <gr-button
           id="createButton"
           @click=${this.handleCreateServiceUser}
@@ -253,8 +233,7 @@
   private validateData() {
     this.dataValid =
       this.validateName(this.serviceUserNameInput.value) &&
-      this.validateEmail(this.serviceUserEmailInput?.value) &&
-      this.validateKey(this.serviceUserKeyInput.value);
+      this.validateEmail(this.serviceUserEmailInput?.value);
   }
 
   private validateName(username: String | undefined) {
@@ -275,19 +254,9 @@
     return false;
   }
 
-  private validateKey(key: String | undefined) {
-    if (!key?.trim()) {
-      return false;
-    }
-
-    this.key = key;
-    return true;
-  }
-
   private handleCreateServiceUser() {
     this.isAdding = true;
     const body: ServiceUserInput = {
-      ssh_key: this.key ? this.key.trim() : '',
       email: this.email ? this.email.trim() : '',
     };
     return this.plugin