Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,3 +42,24 @@ jobs:

- name: Build renku-dev-utils
run: make rdu

lint:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v5

- name: Install Go
uses: actions/setup-go@v6
with:
go-version: '1.24.2'
check-latest: true

- name: Install libraries for ubuntu
run: |
sudo apt install libx11-dev

- name: golangci-lint
uses: golangci/golangci-lint-action@v8
with:
version: v2.1
2 changes: 1 addition & 1 deletion pkg/cmd/cleanupdeployment.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,5 +144,5 @@ func askForConfirmation(question string) (response bool, err error) {
case "no":
return false, nil
}
return false, fmt.Errorf("Invalid answer, aborting.")
return false, fmt.Errorf("invalid answer, aborting")
}
4 changes: 1 addition & 3 deletions pkg/helm/release.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,7 @@ type helmListOutput struct {

func (cli *HelmCLI) UninstallReleases(ctx context.Context, namespace string, releases []string) error {
args := []string{"uninstall", "--wait", "--namespace", namespace}
for _, release := range releases {
args = append(args, release)
}
args = append(args, releases...)

out, err := cli.RunCmd(ctx, args...)
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions pkg/k8s/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
func GetClientset() (*kubernetes.Clientset, error) {
home := homedir.HomeDir()
if home == "" {
return nil, fmt.Errorf("Could not determine home directory")
return nil, fmt.Errorf("could not determine home directory")
}

kubeconfig := filepath.Join(home, ".kube", "config")
Expand All @@ -28,7 +28,7 @@ func GetClientset() (*kubernetes.Clientset, error) {
func GetDynamicClient() (client *dynamic.DynamicClient, err error) {
home := homedir.HomeDir()
if home == "" {
return nil, fmt.Errorf("Could not determine home directory")
return nil, fmt.Errorf("could not determine home directory")
}

kubeconfig := filepath.Join(home, ".kube", "config")
Expand Down
7 changes: 5 additions & 2 deletions pkg/keycloak/admin.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func (client *KeycloakClient) FindUser(ctx context.Context, realm string, email
}
}

return "", fmt.Errorf("Could not find user '%s' in Keycloak", email)
return "", fmt.Errorf("could not find user '%s' in Keycloak", email)
}

func (client *KeycloakClient) GetAdminUsersURL(realm string) *url.URL {
Expand Down Expand Up @@ -75,11 +75,14 @@ func (client *KeycloakClient) findRenkuAdminRole(ctx context.Context, realm stri
return role, err
}
}
return roleMapping{}, fmt.Errorf("Could not find role '%s' in Keycloak", renkuAdminRole)
return roleMapping{}, fmt.Errorf("could not find role '%s' in Keycloak", renkuAdminRole)
}

func (client *KeycloakClient) AddRenkuAdminRoleToUser(ctx context.Context, realm string, userID string) error {
role, err := client.findRenkuAdminRole(ctx, realm, userID)
if err != nil {
return err
}

postURL := client.GetAdminRolesURL(realm, userID)

Expand Down
12 changes: 8 additions & 4 deletions pkg/keycloak/rest.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func (client *KeycloakClient) GetJSON(ctx context.Context, url string, result an
if resp.Header.Get("Content-Type") == jsonContentType {
parseErr = tryParseResponse(resp, result)
} else {
return resp, fmt.Errorf("Expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
return resp, fmt.Errorf("expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
}
if resp.StatusCode >= 200 && resp.StatusCode < 300 && parseErr != nil {
return resp, parseErr
Expand Down Expand Up @@ -67,7 +67,7 @@ func (client *KeycloakClient) PostJSON(ctx context.Context, url string, body any
// No content
return resp, nil
} else {
return resp, fmt.Errorf("Expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
return resp, fmt.Errorf("expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
}
if resp.StatusCode >= 200 && resp.StatusCode < 300 && parseErr != nil {
return resp, parseErr
Expand Down Expand Up @@ -95,7 +95,7 @@ func (client *KeycloakClient) PostForm(ctx context.Context, url string, data url
if resp.Header.Get("Content-Type") == jsonContentType {
parseErr = tryParseResponse(resp, result)
} else {
return resp, fmt.Errorf("Expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
return resp, fmt.Errorf("expected '%s' but got response with content type '%s'", jsonContentType, resp.Header.Get("Content-Type"))
}
if resp.StatusCode >= 200 && resp.StatusCode < 300 && parseErr != nil {
return resp, parseErr
Expand All @@ -105,7 +105,11 @@ func (client *KeycloakClient) PostForm(ctx context.Context, url string, data url
}

func tryParseResponse(resp *http.Response, result any) error {
defer resp.Body.Close()
defer func() {
if err := resp.Body.Close(); err != nil {
fmt.Printf("Warning, could not close HTTP response: %s", err.Error())
}
}()

outBuf := new(bytes.Buffer)
_, err := outBuf.ReadFrom(resp.Body)
Expand Down
6 changes: 5 additions & 1 deletion pkg/renkuapi/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -370,7 +370,11 @@ func (auth *RenkuApiAuth) postForm(ctx context.Context, url string, data url.Val
}

func tryParseResponse(resp *http.Response, result any) error {
defer resp.Body.Close()
defer func() {
if err := resp.Body.Close(); err != nil {
fmt.Printf("Warning, could not close HTTP response: %s", err.Error())
}
}()

outBuf := new(bytes.Buffer)
_, err := outBuf.ReadFrom(resp.Body)
Expand Down
Loading