Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update the Go Quickstart README #1896

Merged
merged 3 commits into from
Nov 2, 2023

Conversation

feorlen
Copy link
Contributor

@feorlen feorlen commented Nov 1, 2023

Improve the Go Quickstart:

  • Update outdated installation command.
  • Clarify the steps to run the file uploader example.
  • Update text and formatting to more closely match the MinIO docs.

Since this repo doesn't use the Docs staging server, this direct link in GitHub is an easier way to see an overview of changes than reading the diff:
https://github.com/feorlen/minio-go/blob/update-readme-quickstart/README.md

Corresponding docs issue: minio/docs#1042

README.md Outdated
```sh
go get github.com/minio/minio-go/v7
go install github.com/minio/minio-go/v7@latest
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what worked for me, is @latest appropriate here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No libraries do go get not go install - go install is meant for binaries.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@harshavardhana is there more to know about how to use go get for the Go SDK? When I tried the original command, I got an error that said to use go install.

go-dev[feorlen]:~$ go get github.com/minio/minio-go/v7
go: go.mod file not found in current directory or any parent directory.
	'go get' is no longer supported outside a module.
	To build and install a command, use 'go install' with a version,
	like 'go install example.com/cmd@latest'
	For more information, see https://golang.org/doc/go-get-install-deprecation
	or run 'go help get' or 'go help install'.
go-dev[feorlen]:~/dev$ go install github.com/minio/minio-go/v7
go: 'go install' requires a version when current directory is not in a module
	Try 'go install github.com/minio/minio-go/v7@latest' to install the latest version

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need a project folder first i.e

mkdir myproject
go mod init
go get github.com/minio/minio-go/v7@latest
.. then you code

Copy link
Member

@harshavardhana harshavardhana Nov 1, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so if you are a Go developer you would know why this SDK says go get that is a pre-requisite we expect. We do not need to explain to them how to write Go or the tooling and ecosystem around it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you read the error message

go: go.mod file not found in current directory or any parent directory.

That is generally explaining what it is expecting when you do go get

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah ok so my issue is order of operations. 👍🏻

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
dd if=/dev/urandom of=/tmp/testdata bs=2048 count=10
```

**2. Run FileUploader with the following commands:**
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feedback on these commands very welcome, this is what worked for me. I'm not sure the usual Go way of referring to these operations.

For now, this is not intended to be a comprehensive discussion. Just the basics for someone generally familiar with the language and tools.

README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Outdated
```sh
go get github.com/minio/minio-go/v7
go install github.com/minio/minio-go/v7@latest
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No libraries do go get not go install - go install is meant for binaries.

README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
Copy link
Contributor

@djwfyi djwfyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't comment on the actual Go coding part, but some suggestions for wording other parts of it.

README.md Outdated Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
README.md Show resolved Hide resolved
README.md Outdated Show resolved Hide resolved
@feorlen
Copy link
Contributor Author

feorlen commented Nov 1, 2023

@harshavardhana Revised/clarified SDK install. I left a few of the potentially "unnecessary" commands so someone can copy/paste and run the sample code in their current directory. Let me know if there's anything else that could be improved.

Copy link
Contributor

@djwfyi djwfyi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@feorlen feorlen merged commit e0b6838 into minio:master Nov 2, 2023
7 checks passed
@feorlen feorlen deleted the update-readme-quickstart branch November 2, 2023 15:31
oguzhand95 referenced this pull request in cerbos/cerbos Nov 27, 2023
[![Mend Renovate logo
banner](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/aws/aws-sdk-go](https://togithub.com/aws/aws-sdk-go) |
require | patch | `v1.48.0` -> `v1.48.4` |
|
[github.com/cerbos/cerbos/api/genpb](https://togithub.com/cerbos/cerbos)
| require | digest | `7dd5d0c` -> `ce425d9` |
|
[github.com/cerbos/protoc-gen-jsonschema](https://togithub.com/cerbos/protoc-gen-jsonschema)
| require | patch | `v0.1.1` -> `v0.1.2` |
|
[github.com/doug-martin/goqu/v9](https://togithub.com/doug-martin/goqu)
| require | minor | `v9.18.0` -> `v9.19.0` |
| [github.com/minio/minio-go/v7](https://togithub.com/minio/minio-go) |
require | patch | `v7.0.63` -> `v7.0.64` |
| [github.com/pterm/pterm](https://togithub.com/pterm/pterm) | require |
patch | `v0.12.70` -> `v0.12.71` |
| [github.com/rivo/tview](https://togithub.com/rivo/tview) | require |
digest | `7c9e464` -> `33a1d27` |
| [github.com/vektra/mockery/v2](https://togithub.com/vektra/mockery) |
require | minor | `v2.37.1` -> `v2.38.0` |
|
[google.golang.org/genproto/googleapis/api](https://togithub.com/googleapis/go-genproto)
| require | digest | `bbf56f3` -> `83a465c` |
|
[google.golang.org/protobuf](https://togithub.com/protocolbuffers/protobuf-go)
| require | digest | `a8317fb` -> `9b87403` |

---

> [!WARNING]
> Some dependencies could not be looked up. Check the Dependency
Dashboard for more information.

---

### Release Notes

<details>
<summary>aws/aws-sdk-go (github.com/aws/aws-sdk-go)</summary>

###
[`v1.48.4`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1484-2023-11-27)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.48.3...v1.48.4)

\===

##### Service Client Updates

- `service/accessanalyzer`: Updates service API, documentation, and
paginators
- `service/amp`: Updates service API, documentation, waiters, and
paginators
-   `service/bcm-data-exports`: Adds new service
-   `service/cloudtrail`: Updates service API and documentation
- CloudTrail Lake now supports federating event data stores. giving
users the ability to run queries against their event data using Amazon
Athena.
- `service/codestar-connections`: Updates service API, documentation,
and paginators
-   `service/compute-optimizer`: Updates service API and documentation
-   `service/config`: Updates service API and documentation
- `service/controltower`: Updates service API, documentation, and
paginators
-   `service/cost-optimization-hub`: Adds new service
-   `service/detective`: Updates service API and documentation
-   `service/ecs`: Updates service API and documentation
- Adds a new 'type' property to the Setting structure. Adds a new
AccountSetting - guardDutyActivate for ECS.
-   `service/eks`: Updates service API, documentation, and paginators
- `service/eks-auth`: Updates service API, documentation, waiters,
paginators, and examples
- `service/elasticfilesystem`: Updates service API, documentation, and
paginators
    -   Adding support for EFS Archive lifecycle configuration.
- `service/elasticloadbalancingv2`: Updates service API, documentation,
and paginators
- `service/freetier`: Updates service API, documentation, paginators,
and examples
-   `service/fsx`: Updates service API and documentation
-   `service/guardduty`: Updates service API and documentation
    -   Add support for Runtime Monitoring for ECS and ECS-EC2.
-   `service/iotfleetwise`: Updates service API and documentation
-   `service/lakeformation`: Updates service API and documentation
-   `service/logs`: Updates service API, documentation, and paginators
- Added APIs to Create, Update, Get, List and Delete LogAnomalyDetectors
and List and Update Anomalies in Detector. Added LogGroupClass attribute
for LogGroups to classify loggroup as Standard loggroup with all
capabilities or InfrequentAccess loggroup with limited capabilities.
-   `service/managedblockchain`: Updates service API and documentation
- `service/models.lex.v2`: Updates service API, documentation, and
paginators
-   `service/personalize`: Updates service API and documentation
-   `service/personalize-events`: Updates service API and documentation
-   `service/personalize-runtime`: Updates service API and documentation
-   `service/quicksight`: Updates service API and documentation
- This release launches new APIs for trusted identity propagation setup
and supports creating datasources using trusted identity propagation as
authentication method for QuickSight accounts configured with IAM
Identity Center.
-   `service/redshift`: Updates service API and documentation
- This release adds support for multi-data warehouse writes through data
sharing.
-   `service/repostspace`: Adds new service
-   `service/runtime.lex.v2`: Updates service API and documentation
-   `service/s3`: Updates service API, documentation, and examples
- Adding new params - Key and Prefix, to S3 API operations for
supporting S3 Access Grants. Note - These updates will not change any of
the existing S3 API functionality.
- `service/s3control`: Updates service API, documentation, and
paginators
- Introduce Amazon S3 Access Grants, a new S3 access control feature
that maps identities in directories such as Active Directory, or AWS
Identity and Access Management (IAM) Principals, to datasets in S3.
- `service/secretsmanager`: Updates service API, documentation, and
paginators
- AWS Secrets Manager has released the BatchGetSecretValue API, which
allows customers to fetch up to 20 Secrets with a single request using a
list of secret names or filters.
- `service/securityhub`: Updates service API, documentation, and
examples
-   `service/states`: Updates service API and documentation
- Adds new TestState operation which accepts the definition of a single
state and executes it. You can test a state without creating a state
machine or updating an existing state machine.
-   `service/transcribe`: Updates service API and documentation
-   `service/workspaces`: Updates service API and documentation
- The release introduces Multi-Region Resilience one-way data
replication that allows you to replicate data from your primary
WorkSpace to a standby WorkSpace in another AWS Region.
DescribeWorkspaces now returns the status of data replication.
-   `service/workspaces-thin-client`: Adds new service

###
[`v1.48.3`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1483-2023-11-22)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.48.2...v1.48.3)

\===

##### Service Client Updates

-   `service/kinesis`: Updates service API and documentation
- This release adds support for resource based policies on streams and
consumers.
-   `service/s3control`: Updates service API and documentation
- Amazon S3 Batch Operations now manages buckets or prefixes in a single
step.
-   `service/sagemaker`: Updates service API and documentation
- This feature adds the end user license agreement status as a model
access configuration parameter.

###
[`v1.48.2`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1482-2023-11-21)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.48.1...v1.48.2)

\===

##### Service Client Updates

- `service/cloudfront`: Updates service API, documentation, paginators,
and examples
- This release adds support for CloudFront KeyValueStore, a globally
managed key value datastore associated with CloudFront Functions.
-   `service/cloudfront-keyvaluestore`: Adds new service
-   `service/ec2`: Updates service documentation
    -   Documentation updates for Amazon EC2.
-   `service/inspector-scan`: Adds new service
- `service/iotsitewise`: Updates service API, documentation, and
paginators
- `service/iottwinmaker`: Updates service API, documentation, and
paginators
-   `service/s3`: Updates service API, documentation, and examples
- Add support for automatic date based partitioning in S3 Server Access
Logs.

###
[`v1.48.1`](https://togithub.com/aws/aws-sdk-go/blob/HEAD/CHANGELOG.md#Release-v1481-2023-11-20)

[Compare
Source](https://togithub.com/aws/aws-sdk-go/compare/v1.48.0...v1.48.1)

\===

##### Service Client Updates

- `service/codestar-connections`: Updates service API, documentation,
and paginators
-   `service/docdb`: Updates service API and documentation
- Amazon DocumentDB updates for new cluster storage configuration:
Amazon DocumentDB I/O-Optimized.
-   `service/ec2`: Updates service API and documentation
- This release adds support for Security group referencing over Transit
gateways, enabling you to simplify Security group management and control
of instance-to-instance traffic across VPCs that are connected by
Transit gateway.

</details>

<details>
<summary>cerbos/protoc-gen-jsonschema
(github.com/cerbos/protoc-gen-jsonschema)</summary>

###
[`v0.1.2`](https://togithub.com/cerbos/protoc-gen-jsonschema/compare/v0.1.1...v0.1.2)

[Compare
Source](https://togithub.com/cerbos/protoc-gen-jsonschema/compare/v0.1.1...v0.1.2)

</details>

<details>
<summary>doug-martin/goqu (github.com/doug-martin/goqu/v9)</summary>

###
[`v9.19.0`](https://togithub.com/doug-martin/goqu/blob/HEAD/HISTORY.md#v9190)

[Compare
Source](https://togithub.com/doug-martin/goqu/compare/v9.18.0...v9.19.0)

- \[FEATURE] Add support for omitempty and omitnil struct tags
[#&#8203;309](https://togithub.com/doug-martin/goqu/pull/309) -
[@&#8203;randallmlough](https://togithub.com/randallmlough)

</details>

<details>
<summary>minio/minio-go (github.com/minio/minio-go/v7)</summary>

###
[`v7.0.64`](https://togithub.com/minio/minio-go/releases/tag/v7.0.64):
Bugfix release

[Compare
Source](https://togithub.com/minio/minio-go/compare/v7.0.63...v7.0.64)

#### What's Changed

- Added new supported Bucket Event types by
[@&#8203;bexsoft](https://togithub.com/bexsoft) in
[https://github.com/minio/minio-go/pull/1885](https://togithub.com/minio/minio-go/pull/1885)
- Support External Id and Session Token by
[@&#8203;ekristen](https://togithub.com/ekristen) in
[https://github.com/minio/minio-go/pull/1887](https://togithub.com/minio/minio-go/pull/1887)
- Link to godoc by [@&#8203;klauspost](https://togithub.com/klauspost)
in
[https://github.com/minio/minio-go/pull/1894](https://togithub.com/minio/minio-go/pull/1894)
- Bump golang.org/x/net from 0.14.0 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/minio/minio-go/pull/1889](https://togithub.com/minio/minio-go/pull/1889)
- Bump golang.org/x/net from 0.14.0 to 0.17.0 in /examples/minio by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/minio/minio-go/pull/1888](https://togithub.com/minio/minio-go/pull/1888)
- Update s3-endpoints.go: add il-central-1 by
[@&#8203;emaildanwilson](https://togithub.com/emaildanwilson) in
[https://github.com/minio/minio-go/pull/1886](https://togithub.com/minio/minio-go/pull/1886)
- Update the Go Quickstart README by
[@&#8203;feorlen](https://togithub.com/feorlen) in
[https://github.com/minio/minio-go/pull/1896](https://togithub.com/minio/minio-go/pull/1896)
- Add Expires to PutObject opts by
[@&#8203;vadmeste](https://togithub.com/vadmeste) in
[https://github.com/minio/minio-go/pull/1900](https://togithub.com/minio/minio-go/pull/1900)
- snowball: Support per object advanced PUT options by
[@&#8203;vadmeste](https://togithub.com/vadmeste) in
[https://github.com/minio/minio-go/pull/1901](https://togithub.com/minio/minio-go/pull/1901)

#### New Contributors

- [@&#8203;ekristen](https://togithub.com/ekristen) made their first
contribution in
[https://github.com/minio/minio-go/pull/1887](https://togithub.com/minio/minio-go/pull/1887)
- [@&#8203;dependabot](https://togithub.com/dependabot) made their first
contribution in
[https://github.com/minio/minio-go/pull/1889](https://togithub.com/minio/minio-go/pull/1889)
- [@&#8203;emaildanwilson](https://togithub.com/emaildanwilson) made
their first contribution in
[https://github.com/minio/minio-go/pull/1886](https://togithub.com/minio/minio-go/pull/1886)
- [@&#8203;feorlen](https://togithub.com/feorlen) made their first
contribution in
[https://github.com/minio/minio-go/pull/1896](https://togithub.com/minio/minio-go/pull/1896)

**Full Changelog**:
minio/minio-go@v7.0.63...v7.0.64

</details>

<details>
<summary>pterm/pterm (github.com/pterm/pterm)</summary>

### [`v0.12.71`](https://togithub.com/pterm/pterm/releases/tag/v0.12.71)

[Compare
Source](https://togithub.com/pterm/pterm/compare/v0.12.70...v0.12.71)

<!-- Release notes generated using configuration in .github/release.yml
at master -->

#### What's Changed

##### Fixes 🔧

- fix(BulletList): indentation does not work when the item has a
linebreak by [@&#8203;MarvinJWendt](https://togithub.com/MarvinJWendt)
in
[https://github.com/pterm/pterm/pull/589](https://togithub.com/pterm/pterm/pull/589)

**Full Changelog**:
pterm/pterm@v0.12.70...v0.12.71

</details>

<details>
<summary>vektra/mockery (github.com/vektra/mockery/v2)</summary>

###
[`v2.38.0`](https://togithub.com/vektra/mockery/releases/tag/v2.38.0)

[Compare
Source](https://togithub.com/vektra/mockery/compare/v2.37.1...v2.38.0)

#### Changelog

- [`446e0bf`](https://togithub.com/vektra/mockery/commit/446e0bf) Merge
pull request
[#&#8203;736](https://togithub.com/vektra/mockery/issues/736) from
mateusmarquezini/issue\_729
- [`445f73c`](https://togithub.com/vektra/mockery/commit/445f73c) added
new check for no return values
- [`8e778e0`](https://togithub.com/vektra/mockery/commit/8e778e0)
created a new test to cover the new condition when the test panics
[#&#8203;729](https://togithub.com/vektra/mockery/issues/729)
- [`d0fa1f9`](https://togithub.com/vektra/mockery/commit/d0fa1f9)
improvements after code review
[#&#8203;729](https://togithub.com/vektra/mockery/issues/729)
- [`432134c`](https://togithub.com/vektra/mockery/commit/432134c)
improvements after code review
[#&#8203;729](https://togithub.com/vektra/mockery/issues/729)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC),
Automerge - At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/cerbos/cerbos).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy41OS44IiwidXBkYXRlZEluVmVyIjoiMzcuNTkuOCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==-->

---------

Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Signed-off-by: Oğuzhan Durgun <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Oğuzhan Durgun <[email protected]>
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.

3 participants