Skip to content

Release#191

Closed
f0086 wants to merge 20 commits into
mainfrom
next
Closed

Release#191
f0086 wants to merge 20 commits into
mainfrom
next

Conversation

@f0086

@f0086 f0086 commented Jun 9, 2026

Copy link
Copy Markdown
Contributor

No description provided.

f0086 and others added 20 commits March 2, 2026 13:36
Signed-off-by: Aaron Fischer <aaron.fischer@g-portal.cloud>
Signed-off-by: Aaron Fischer <aaron.fischer@g-portal.cloud>
…ions

Ticket: TV-1092
Signed-off-by: Aaron Fischer <aaron.fischer@g-portal.cloud>
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.46.0 to 0.47.0.
- [Commits](golang/crypto@v0.46.0...v0.47.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.47.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Update Go from 1.25.5 to 1.26.0 and all dependencies to latest versions.
Improve cobra command configuration with flag mutual exclusivity, completion
options, and shell completion functions for enum-typed flags. Remove unused
tools.go file and update all YAML definitions with missing fields.

Key changes:
- Update Go version and all dependencies
- Add flag mutual exclusivity for json/csv output
- Disable default file completions globally
- Implement shell completion for enum-typed flags
- Remove tools.go and clean up unused code
- Update workflow action versions

Ticket: GPCO-8
The node update action was missing the required 'id' parameter in its
definition. This fix adds the id parameter (Node UUID) as a required field
to the node.yaml definition, ensuring the update action can properly
identify which node to update.

Ticket: GPCO-8
…nerator enum handling

Make description and environment optional in project create/update since
they are deprecated in the proto (removal date 2025/03/01 already passed).
Fix generator bug where non-required enum params incorrectly used pointer
semantics for plain proto3 enum fields. Add explicit 'optional' YAML flag
for proto oneof/optional pointer fields.

- Mark project description/environment as deprecated and optional
- Fix generator enum pointer handling in sub_command.go
- Add Optional field to Param struct in definition.go
- Mark image cloud_provider_type as optional (oneof pointer field)

Ticket: GPCO-8
…nt available

The network create command has been disabled because the ListSubnets endpoint
is missing from the gRPC API. This endpoint is required to resolve subnet IDs
provided by users. The command will be re-enabled once the admin.ListSubnets
endpoint becomes available in the gRPC API.

Key changes:
- Replaced full implementation with documentation comments
- Added TODO for re-enabling once ListSubnets is available
- Noted the flag name fix needed (subnet-ids vs subnets)

Ticket: GPCO-8
Correct misleading flag descriptions and defaults in several commands.

- Fix network-arp mac_address description from "IP address" to "MAC address"
- Make node reinstall user_data optional with empty default
- Remove false "(required)" from rescue mode enabled/password descriptions

Ticket: GPCO-8
Update all dependencies to their latest versions including:
- buf.build/gen/go/gportal/gpcore packages
- charmbracelet/log to v1.0.0
- go-pretty/v6 to v6.7.10
- zalando/go-keyring to v0.2.8
- golang.org/x/crypto to v0.50.0
- google.golang.org/grpc to v1.80.0

Also bump Go version from 1.26.0 to 1.26.2 in go.mod and update
GitHub Actions workflows to use the new Go version.

Ticket: GPCO-8
…mment

Improve enum value completion by filtering suggestions based on user input
and sorting results alphabetically. This provides better UX when completing
enum values. Also clarified the comment explaining why Cobra's default
completion subcommand is disabled in favor of a custom implementation.

Ticket: GPCO-8
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.80.0 to 1.81.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](grpc/grpc-go@v1.80.0...v1.81.0)

---
updated-dependencies:
- dependency-name: google.golang.org/grpc
  dependency-version: 1.81.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
The preview branch is now 'next' (the GitHub default), not the unused 'dev'
branch which no longer exists. Configure semantic-release so 'main' cuts
production releases and 'next' cuts prereleases for testing before going to
production.
Bump buf.build gpcore grpc/go to v1.6.2-20260601154410 and
protocolbuffers/go to v1.36.11-20260601154410 (pulls grpc v1.81.0).
The new schema adds the AdminService ServerIssues/ValidateServer RPCs
used by later commits.

GPCO-49
Generator changes that let project-scoped commands accept either an
explicit --project-id flag or the project selected via "project use":

- Add Param.Source ("session.CurrentProject"): makes a flag optional and
  falls back to the session project, erroring if neither is set.
- Auto-expose an optional --project-id override on actions whose identifier
  is session.CurrentProject (with the same fallback/erroring), via the new
  resolveIdentifier helper.
- Fix defaultValue panic for optional enum flags without a default (emit "").
- parameterDescription hints session-sourced flags instead of "(required)".
- Document intentional API coverage gaps on the APICall type.

GPCO-49
Resolve the duplicated/mandatory --project-id flag so project-scoped
commands work with either an explicit --project-id or the project selected
via "project use":

- node (get/create/destroy/reinstall/power-action/change-billing-period)
  and project-image (get/delete/delete-version): project_id is now a
  session-sourced optional param instead of a required flag.
- change-rescue-mode (manual): same optional --project-id fallback.
- Drop node root PersistentPreRunE that forced a selected project, so a
  command can run by passing --project-id without "project use" first.

Identifier-based commands (project, project-cloudprovider, node list, ...)
gain the optional --project-id override automatically via the generator.

GPCO-49
Full review of every command's params against the latest gRPC request
messages. Add missing, non-deprecated fields and fix a real bug:

- flavour list-project / project flavours: include_sold_out
- image update: contains_spla_license
- ip history, log admin, network-switch list, node list: search (+ admin
  log admin_user_id / user_id filters)
- project images: only_available; project logs: search, user_id
- server update: autofix, maintenance, maintenance_reason (is_broken left
  out, deprecated); server delete: skip_clean
- spla get: year, month; user unlock: reason
- project-cloudprovider delete-image: add missing cloud_provider_image_id
  (previously impossible to target the image)
- operating-systems update / flavour update: document fields that cannot be
  expressed as flags (File / repeated nested messages)

No stale params were found; all pre-existing params map to real fields.

GPCO-49
Expand CLI coverage toward parity with the gRPC API:

- admin-project (new resource): list/get/nodes (generated) and update
  (manual; nested BillingProfile). Kept separate from the user-facing
  "project" command to avoid colliding with the cloud.* endpoints.
- server: issues (ListServerIssues), server-issues (GetServerIssues),
  validate (ValidateServer), search-options (GetServerSearchOptions), and a
  manual "filter" command using ListServers ExtendedSearch.
- network-arp: search-options (GetArpEntriesSearchOptions).
- user: stats (GetUserStats); billing-profile: update/delete.
- notifications (manual): cloud.SubscribeNotifications, sharing the stream
  loop with livelog via the new api.StreamMessages helper.
- Add FormatServerIssueSource formatter.

Intentionally excluded: payment credit-card/plan-code, auth client mgmt,
admin GetDashboard, and internal network/metadata/gateway/readiness RPCs.

GPCO-49
The active project ("project use") is per user/impersonation context and
must not leak across context switches:

- impersonate: clear CurrentProject when entering impersonation.
- logout: also clear a lingering CurrentProject when not impersonating
  (e.g. after an expired impersonation / agent restart).
- project use: now selects (arg), shows the active project (no arg, with a
  GetProject lookup that self-heals a stale selection), or clears it
  (--clear).
- Add FormatCommandError with actionable hints (used by the agent) and make
  the NotFound hint generic instead of referencing flags that not every
  command has.

GPCO-49
The command was a disabled placeholder blocked on a missing ListSubnets
gRPC endpoint. The intentional exclusion is now documented on the APICall
type in the generator.

GPCO-49
@f0086 f0086 closed this Jun 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant