Promote gpco49 to main#193
Open
f0086 wants to merge 21 commits into
Open
Conversation
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
# Conflicts: # cmd/node/change_rescue_mode.go # cmd/project/_network_create.go # go.mod # go.sum # pkg/generator/definition.go
Generated by 🚫 Danger |
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.