Promote gpco49 to main - #193
Open
f0086 wants to merge 15 commits into
Open
Conversation
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
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>
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
force-pushed
the
promote-gpco49-to-main
branch
from
August 17, 2026 13:10
4cfc0a2 to
2df4622
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.