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

Adding pagination for installation list result using skip and limit option #2136

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
415 commits
Select commit Hold shift + click to select a range
f137e59
Fix GetBuilder
carolynvs Nov 18, 2021
db17b3a
Fix branch deploys of website
carolynvs Nov 18, 2021
bb7e8e5
Merge pull request #1837 from getporter/fix/branch-deploys
carolynvs Nov 18, 2021
450ac34
Merge pull request #1835 from carolynvs/fix-get-builder
carolynvs Nov 18, 2021
786738a
Use a distroless base image (#1656)
carolynvs Nov 22, 2021
e6fedf1
Merge branch 'main' into release/v1
carolynvs Nov 23, 2021
fdeebb9
Merge pull request #1840 from carolynvs/sync-v1
carolynvs Jan 3, 2022
631831f
Use structured logs and export traces
carolynvs Sep 27, 2021
824cb73
Fix setting --driver with env variables
carolynvs Jan 5, 2022
43642e3
Link to the stable docs from v1 site
carolynvs Jan 6, 2022
bef31c1
Merge pull request #1849 from carolynvs/link-main-docs
carolynvs Jan 7, 2022
151d9b9
Allow mixins to ignore a failed command (#1846)
carolynvs Jan 7, 2022
b728634
Add package for mixins magefile targets
carolynvs Jan 7, 2022
41f2f7d
Change default registry where bundle is published
mahendrabishnoi2 Jan 8, 2022
93e31d5
Update CONTRIBUTORS.md file
mahendrabishnoi2 Jan 8, 2022
68f0e50
Merge pull request #1855 from mahendrabishnoi2/change-default-registry
carolynvs Jan 10, 2022
aa7500e
Fix call to Porter
carolynvs Jan 10, 2022
b48237d
Do not edit gitconfig when committing as a bot
carolynvs Jan 10, 2022
2039788
Merge pull request #1848 from carolynvs/fix-driver-binding
carolynvs Jan 10, 2022
82d88c3
Fix getting repo version when no tags exist
carolynvs Jan 10, 2022
174c160
Split out publish into two targets
carolynvs Jan 10, 2022
76f07b6
Porter triggers autobuild when detecting that invocation image does n…
joshuabezaleel Jan 11, 2022
3ddefb4
Merge pull request #1831 from carolynvs/structured-logging
carolynvs Jan 11, 2022
61473b0
Pass context from integration tests
carolynvs Jan 12, 2022
698fb43
Add help text to mage TestPublish
carolynvs Jan 12, 2022
f881421
Merge pull request #1859 from carolynvs/fix-panic
carolynvs Jan 12, 2022
d7d2341
Merge pull request #1852 from carolynvs/common-magefile-functions
carolynvs Jan 12, 2022
9bece06
Use porter from the bin or the PATH
carolynvs Jan 12, 2022
ef3ab34
Merge pull request #1860 from carolynvs/fix-release
carolynvs Jan 12, 2022
957ed9f
pkg/config: fix Telemetry struct tag
VinozzZ Jan 14, 2022
93f27d3
Merge pull request #1863 from VinozzZ/release/v1
carolynvs Jan 18, 2022
63a9f6b
Add back lost docker network logic to magefile
carolynvs Jan 19, 2022
6115787
Print the porter version from the agent
carolynvs Jan 20, 2022
fb15bd9
Merge pull request #1866 from carolynvs/fix-local-registry
carolynvs Jan 25, 2022
99c8ddd
Merge pull request #1865 from carolynvs/agent-print-version
carolynvs Jan 26, 2022
4d688d2
pkg/{porter,tracing}, cmd/porter: add tracing instrumentation for lis…
VinozzZ Jan 26, 2022
e955679
Support uninstall through the installation apply command (#1851)
carolynvs Jan 26, 2022
3eff7bc
Fix bad merge
carolynvs Jan 26, 2022
d4c1ddd
Merge pull request #1872 from carolynvs/fix-build
carolynvs Jan 26, 2022
32d69fe
fix typo in /referrence/file-formats.md
VinozzZ Jan 26, 2022
2c1a4a2
Merge pull request #1874 from VinozzZ/doc-typos
carolynvs Jan 26, 2022
550a56a
Consolidate rootLogger and scopedLogger (#1878)
carolynvs Jan 28, 2022
01ff3a7
Standardize table printing (#1876)
carolynvs Jan 28, 2022
65fa0e6
Only include required install params in explain command
carolynvs Jan 27, 2022
79ee7c3
Merge pull request #1875 from carolynvs/fix-explain-install-cmd
carolynvs Jan 31, 2022
2a6b1e9
Fix the mixin install target
carolynvs Jan 31, 2022
40ae7e3
Merge pull request #1883 from carolynvs/fix-mixin-install
carolynvs Feb 1, 2022
a93a44a
Add templating to porter config file (#1879)
carolynvs Feb 1, 2022
ff22659
Use Go 1.17
carolynvs Feb 1, 2022
f7767d0
Merge pull request #1885 from carolynvs/go-1.17
carolynvs Feb 7, 2022
5d045c5
Merge branch 'main' into release/v1
carolynvs Feb 7, 2022
84e1983
Document our airgap example
carolynvs Feb 7, 2022
6783074
Merge pull request #1893 from carolynvs/sync
carolynvs Feb 8, 2022
0cc8e4f
Merge pull request #1895 from carolynvs/airgap-docs
carolynvs Feb 8, 2022
adcd221
pkg/{cnab, manifest, runtime}: remove deprecated tag field from bundle
VinozzZ Feb 9, 2022
9ca4e22
Merge pull request #1902 from VinozzZ/remove-dependency-tag
carolynvs Feb 10, 2022
ea70fe2
Pin liquid to 1.3.0
carolynvs Feb 14, 2022
12e9af1
Merge pull request #1904 from carolynvs/pin-liquid
carolynvs Feb 14, 2022
c78bb30
pkg/{config/context}: set log correltaion id through env variable
VinozzZ Feb 14, 2022
6b5f76a
Merge branch 'main' into 'release/v1'
carolynvs Feb 15, 2022
a765934
Merge pull request #1909 from carolynvs/sync
carolynvs Feb 15, 2022
6b211cf
Update install prerelease instructions
carolynvs Feb 16, 2022
df5c7ab
Merge pull request #1910 from carolynvs/bump-install-prerelease
carolynvs Feb 16, 2022
4f1036b
pkg: push invocation image under the same repo as the bundle (#1901)
VinozzZ Feb 17, 2022
3630827
Switch from a fork of cnab-go to main
carolynvs Feb 19, 2022
2920521
Merge branch 'main' into release/v1
carolynvs Feb 22, 2022
8a03ae7
Merge pull request #1924 from carolynvs/sync
carolynvs Feb 22, 2022
a803f29
Sync generated cli docs
carolynvs Feb 22, 2022
2ac13d3
Merge pull request #1925 from carolynvs/sync-docs
carolynvs Feb 22, 2022
a952495
Merge pull request #1920 from carolynvs/use-official-cnabgo-release
carolynvs Feb 22, 2022
d18c5c5
Porter explain warns for docker host access (#1868)
joshuabezaleel Feb 22, 2022
55c8542
Fix close issues workflow
carolynvs Feb 22, 2022
69ffccf
Merge pull request #1927 from carolynvs/fix-close-issue-action
carolynvs Feb 22, 2022
9618e9e
pkg/{porter, cnab},cmd,docs: remove the capability to pass a file pat…
VinozzZ Feb 23, 2022
2dcb560
Revert "Merge pull request #1927 from carolynvs/fix-close-issue-action"
carolynvs Feb 23, 2022
a49e381
Merge pull request #1929 from carolynvs/revert-close-issue
carolynvs Feb 23, 2022
d8bb030
Prevent bad config from causing trouble
carolynvs Feb 23, 2022
7134ca9
Merge pull request #1907 from VinozzZ/set-correlation-id
carolynvs Feb 24, 2022
49a42a9
pkg/context: add function to construct user agent string for porter (…
VinozzZ Feb 24, 2022
ecedc49
pkg/schema, doc: improve doc for schema and bundle image reference (#…
VinozzZ Feb 25, 2022
65f914c
Add porter credentials create command (#1838)
joshuabezaleel Feb 28, 2022
15a3d8f
Merge pull request #1938 from carolynvs/fix-test-completion
carolynvs Feb 28, 2022
3ac290b
Move created/modified to status for params/creds
carolynvs Feb 14, 2022
bf375ad
Bump magex dep to fix a copy bug
carolynvs Mar 2, 2022
a0cfe5e
Build invocation images that run as nonroot user (#1930)
carolynvs Mar 3, 2022
9c049fd
pkg/version: make user-agent more unique
VinozzZ Mar 2, 2022
6819e92
Merge pull request #1958 from VinozzZ/unique-user-agent
carolynvs Mar 4, 2022
02aaca9
enable steps to define environment variables (#1918)
devigned Mar 4, 2022
b699de4
Merge pull request #1957 from carolynvs/move-timestamps
carolynvs Mar 4, 2022
8399d08
mage: add checksum for published assets (#1950)
VinozzZ Mar 4, 2022
ddd78b0
Assign (none) for empty schemaVersion on applying installation
joshuabezaleel Mar 10, 2022
ff1f75c
Add (none) value for schemaVersion for credentialSet and parameterSet…
joshuabezaleel Mar 11, 2022
1791f2b
Merge pull request #1963 from joshuabezaleel/1960-schemaversion-error…
carolynvs Mar 11, 2022
67c9f38
Fix close issue workflow
carolynvs Mar 11, 2022
4feb486
Merge pull request #1965 from carolynvs/fix-close-issue
carolynvs Mar 11, 2022
38b8d18
Add schemaVersion to porter.yaml (#1946)
carolynvs Mar 11, 2022
106075a
Fix docs for the secrets protocol
carolynvs Mar 11, 2022
11dc49d
Merge pull request #1968 from carolynvs/link-correct-protocol
carolynvs Mar 14, 2022
b23bac8
Merge branch 'main' into release/v1
carolynvs Mar 14, 2022
4c3b1df
Merge pull request #1969 from carolynvs/sync
carolynvs Mar 14, 2022
7b283c6
Remove porter manifest from the bundle cache
carolynvs Mar 15, 2022
0f14eac
Remove Porter.Manifest
carolynvs Mar 15, 2022
9302eb6
Fix failing unit test
carolynvs Mar 16, 2022
824d2c5
Merge pull request #1974 from carolynvs/remove-manifest-from-cache
carolynvs Mar 16, 2022
f09fe2b
Use latest operator docs during netlify build (#1975)
carolynvs Mar 18, 2022
4eefc85
Bump cnab-go, cnab-to-oci, docker, containerd
carolynvs Mar 15, 2022
4aea9d1
Fix unit test
carolynvs Mar 22, 2022
ce2eafe
Merge pull request #1973 from carolynvs/bump-deps
carolynvs Mar 22, 2022
8254402
Use Go 1.17.8 in build
carolynvs Mar 23, 2022
ebf4118
Merge pull request #1977 from carolynvs/go-1.17.8
carolynvs Mar 23, 2022
74018ec
Fix setting GitHub action env vars
carolynvs Mar 24, 2022
40dfc92
Merge pull request #1981 from carolynvs/fix-append-github-action-env
carolynvs Mar 25, 2022
43ea81f
Move magefile helpers into github.com/getporter/magefiles
carolynvs Mar 25, 2022
7268397
Only publish to ghcr.io
carolynvs Mar 7, 2022
8fffa58
Update version on example bundles
carolynvs Mar 28, 2022
aa3e429
Extend the hello example
carolynvs Mar 28, 2022
3b33003
Use localhost:5000 for test bundle registry value
carolynvs Mar 28, 2022
2818eb9
Rename context package to portercontext
carolynvs Mar 17, 2022
7ce6040
Add godoc for the portercontext package
carolynvs Mar 17, 2022
9bc5881
Merge pull request #1985 from carolynvs/publish-updated-examples
carolynvs Mar 28, 2022
b46a22c
Merge pull request #1987 from carolynvs/rename-context
carolynvs Mar 29, 2022
fbc4f21
Merge pull request #1983 from carolynvs/magefiles
carolynvs Mar 29, 2022
f16e712
Update to go 1.18 (#1990)
VinozzZ Mar 29, 2022
3c5cc06
Bump magefiles to fix integration tests
carolynvs Mar 29, 2022
cbce26d
Use go 1.17 on netlify
carolynvs Mar 29, 2022
8eae561
Merge pull request #1991 from carolynvs/fix-integration-tests
carolynvs Mar 30, 2022
934af58
Bump magefiles library
carolynvs Mar 30, 2022
389ead2
Merge pull request #1993 from carolynvs/fix-cut-release
carolynvs Mar 30, 2022
02eee36
Add gh action to scan porter agent with trivy
carolynvs Mar 30, 2022
8850286
Scan codebase with CodeQL
carolynvs Mar 30, 2022
80bad30
Merge pull request #1994 from carolynvs/trivy
carolynvs Mar 30, 2022
36c398f
Fix duplicate error message when command fails
carolynvs Mar 30, 2022
ff1351a
Merge pull request #1995 from carolynvs/duplicate-error
carolynvs Mar 31, 2022
09cb6ab
Support stringArray cobra flag type
carolynvs Apr 1, 2022
b5b2e43
Merge pull request #1998 from carolynvs/stringArray
carolynvs Apr 1, 2022
fe0146b
Check manifest schemaVersion in Porter commands before executing (#1997)
carolynvs Apr 1, 2022
b306e98
Fix website BASEURL
carolynvs Apr 4, 2022
0a5cfb5
Merge pull request #2003 from getporter/fix-baseurl
carolynvs Apr 4, 2022
3affbb1
Make runtime manifest log output debug messages
carolynvs Apr 4, 2022
4e10c4d
Support additional docker flags and remove legacy docker build driver…
carolynvs Apr 5, 2022
2b5dbe7
Add installation.namespace template var
jemgoss Apr 1, 2022
2ec8f55
Add PORTER_INSTALLATION_NAME* env for runtime
jemgoss Apr 5, 2022
dbea000
Merge pull request #2005 from carolynvs/debug-statements
carolynvs Apr 5, 2022
00e7f8d
Merge pull request #2001 from Jemgoss/installation.namespace
carolynvs Apr 5, 2022
44877fe
Skip security scan when a PR is only doc changes
carolynvs Apr 5, 2022
39a5cbe
Merge pull request #2008 from carolynvs/skip-scan-for-docs
carolynvs Apr 6, 2022
ad685e6
Pass context.Context through to package client
carolynvs Apr 6, 2022
b170646
Fallback to amd64 on M1 when installing binaries
carolynvs Apr 6, 2022
884a3d7
Sync cli docs
carolynvs Apr 6, 2022
8f690f4
Use a newer version of magefiles with arm support
carolynvs Apr 6, 2022
b7e76e8
Fix log message when falling back to amd64 binaries on darwin
carolynvs Apr 7, 2022
5ca26b5
Merge pull request #2010 from carolynvs/fix-build-on-arm
carolynvs Apr 7, 2022
ca023f9
Use upstream close issues github action
carolynvs Apr 14, 2022
3204d38
Move examples into example-bundles repository (#2015)
carolynvs Apr 14, 2022
4aae9ff
Merge pull request #2022 from carolynvs/bump-close-issues-action
carolynvs Apr 14, 2022
ab6b7b1
Fix typo of close issues gh action
carolynvs Apr 14, 2022
9d4c067
Merge pull request #2023 from carolynvs/typo
carolynvs Apr 14, 2022
1d49ea9
Merge pull request #2007 from carolynvs/doc-buildkit
carolynvs Apr 22, 2022
b92be41
Complete sentence on manage installation doc
joshuabezaleel Apr 23, 2022
e99cdb1
Add key config param flag for object parameter and escape string for …
joshuabezaleel Apr 23, 2022
6d12b10
Save sensitive params into secret store (#1992)
VinozzZ Apr 25, 2022
74bbcc1
increment installation schema version
VinozzZ Apr 26, 2022
81dfafb
add documentation for storing sensitive data into secret store (#2033)
VinozzZ Apr 26, 2022
63ab36d
Fix file name misspell on pkg/cnab/parameter_sources_test.go
joshuabezaleel Apr 27, 2022
b1369e4
Merge pull request #2028 from joshuabezaleel/2027-incomplete-sentence…
carolynvs Apr 27, 2022
feb67e7
Merge pull request #2036 from VinozzZ/increment-schema-version-instal…
carolynvs Apr 27, 2022
7670165
Merge pull request #2039 from joshuabezaleel/misspell-parameter-sourc…
carolynvs Apr 27, 2022
1a25074
Merge pull request #2030 from joshuabezaleel/2029-missing-key-param-o…
carolynvs Apr 27, 2022
74e8b14
Only call Close() when db is running
VinozzZ Apr 27, 2022
d885d2e
Merge pull request #2042 from VinozzZ/fix-db-close-error
carolynvs Apr 27, 2022
4a7fd67
Add mixin version when building the bundle (#1952)
joshuabezaleel Apr 28, 2022
62435ad
Enable setting custom values during porter build. (#1900)
joshuabezaleel Apr 28, 2022
ce0fb4d
Gracefully handle non-string custom values
carolynvs Apr 28, 2022
d7a7995
add quickstart doc for porter configuration file (#2038)
VinozzZ Apr 28, 2022
8ba9ade
Instrument plugins (#2026)
carolynvs Apr 29, 2022
cba074a
test for parameters with space (#1931)
Simpcyclassy Apr 29, 2022
4a3c3af
Gracefully handle non-string custom values (#2043)
carolynvs May 2, 2022
7a2bcbc
Bump cnab-go to v0.23.2
carolynvs May 4, 2022
26dd6d5
Merge pull request #2054 from carolynvs/bump-cnab-go
carolynvs May 5, 2022
3cc71a7
Merge pull request #2052 from carolynvs/consolidate-storage-packages
carolynvs May 5, 2022
5b68034
pkg/storage: add dash when formating sensitive data's key
VinozzZ May 6, 2022
1574f59
Merge pull request #2056 from VinozzZ/change-sensitive-data-key-format
carolynvs May 6, 2022
36dac80
pkg/storage: fix connection leak
VinozzZ May 6, 2022
aa36a19
Merge pull request #2061 from carolynvs/fix-tracing
carolynvs May 6, 2022
2201f7f
Merge pull request #2060 from VinozzZ/fix-plugin-connection-leak
carolynvs May 6, 2022
699cc38
Merge pull request #2053 from carolynvs/rename-claims-to-installations
carolynvs May 6, 2022
6bcaabd
update azure plugins documentation
VinozzZ May 13, 2022
ce62d9f
Handle error when resolving config file secrets
carolynvs May 17, 2022
f4304a7
Do not load config for the bash completion command
carolynvs May 16, 2022
7ed92af
Fix plugin load recursion
carolynvs May 16, 2022
83d684d
Merge pull request #2069 from carolynvs/handle-secret-error-during-load
carolynvs May 17, 2022
adfbf23
Merge pull request #2070 from carolynvs/skip-load-for-completion
carolynvs May 17, 2022
53d4202
Merge pull request #2071 from carolynvs/fix-plugin-recursion
carolynvs May 17, 2022
f9e0476
Add documentation for Create Porter's Configuration file under Task …
VinozzZ May 18, 2022
191aa1c
Fix plugin tracing again 😭
carolynvs May 18, 2022
f2c8f3a
Bump secrets plugin protocol version to 2
carolynvs May 18, 2022
efc68ef
Bump secrets plugin protocol version to 2 (#2077)
carolynvs May 19, 2022
7abff58
Add context.Context to a bunch of functions
carolynvs May 17, 2022
9c5614f
Always use a context when running commands
carolynvs May 17, 2022
7dc7bbc
Support the interrupt signal SIGINT
carolynvs May 17, 2022
825e5a0
Check if canceled before running a bundle
carolynvs May 18, 2022
7f29813
Move plugin logic into PluginConnection
carolynvs May 19, 2022
1327474
Merge pull request #2073 from carolynvs/fix-plugin-tracing-again-help-me
carolynvs May 19, 2022
2eaeb41
Merge branch 'release/v1' into context-cancellation
carolynvs May 19, 2022
23393bf
Merge pull request #2068 from carolynvs/fix-context-hierarchy-during-…
carolynvs May 19, 2022
481df19
Close the tracer before closing the trace file
carolynvs May 19, 2022
1904db3
Test if the plugin process is leaking
carolynvs May 19, 2022
94e0c5d
Merge pull request #2078 from carolynvs/context-cancellation
carolynvs May 20, 2022
2fd6239
Only print out tools used for Porter bundle and with the amount of mi…
joshuabezaleel May 21, 2022
513be2e
Merge pull request #2088 from joshuabezaleel/1892-explain-non-porter-…
carolynvs May 23, 2022
772f8ee
Update plugins overview
carolynvs May 23, 2022
da65f4e
Fix bson.D conversion in GRPC (#2083)
VinozzZ May 23, 2022
9c25d97
Merge pull request #2092 from carolynvs/plugin-docs
carolynvs May 23, 2022
3614ca7
Merge pull request #2064 from VinozzZ/update-azure-plugin-doc
carolynvs May 24, 2022
1e69cf2
Trace the integration and smoke tests
carolynvs May 6, 2022
99272d8
Move tracer.Close to the RootTraceLogger
carolynvs May 6, 2022
5115e6e
Make the temelemtry start timeout configurable
carolynvs May 19, 2022
f8416ae
Merge branch 'main' into sync-from-main
carolynvs May 25, 2022
06e040a
Update docs/content/configuration.md
carolynvs May 25, 2022
00b8518
Include the schema versions in migration errors
carolynvs May 25, 2022
084f212
Merge pull request #2058 from carolynvs/trace-gaps
carolynvs May 25, 2022
a034ec1
Do not include plugin config in error
carolynvs May 26, 2022
ef7cc53
Merge branch 'release/v1' into improve-migration-error
carolynvs May 26, 2022
df3b28c
Merge pull request #2103 from carolynvs/improve-migration-error
carolynvs May 26, 2022
d24e8d5
Remove structured-logs experimental flag
carolynvs May 26, 2022
1682ac9
Add NoopFeature flag for testing
carolynvs May 26, 2022
f7638da
Add setting for the console log format
carolynvs May 26, 2022
b189c85
Merge pull request #2101 from carolynvs/sync-from-main
carolynvs May 26, 2022
de79cc3
update kubernetes-plugins doc (#2104)
VinozzZ May 27, 2022
d652486
Rename logs.enabled to logs.log-to-file
carolynvs May 26, 2022
fdaa0fa
Add registry.ListTags
carolynvs May 27, 2022
10e1b8d
Pass porter config to the bundle converter
carolynvs May 27, 2022
1642956
Update hashicorp plugin page with temp fork (#2108)
carolynvs May 27, 2022
221ce97
Add context.Context to the bundle adapter
carolynvs May 27, 2022
c68e8ef
Do not include plugin config in error (#2105)
carolynvs May 31, 2022
9e1ca35
Cleanup build-driver config setting
carolynvs May 26, 2022
539645a
Merge pull request #2096 from carolynvs/cleanup-list
carolynvs May 31, 2022
8537b46
Fix log messages from mongodb-docker
carolynvs May 31, 2022
058e161
Merge pull request #2109 from carolynvs/list-tags
carolynvs May 31, 2022
452632d
Merge pull request #2114 from carolynvs/cleanup-build-driver
carolynvs May 31, 2022
27960ce
Merge branch 'main' into release/v1
carolynvs May 31, 2022
aec8e5f
Merge pull request #2110 from carolynvs/converter-refactor
carolynvs May 31, 2022
60230b5
Merge pull request #2116 from carolynvs/fix-mongo-docker-logs
carolynvs May 31, 2022
612604f
Merge pull request #2118 from carolynvs/sync-main
carolynvs May 31, 2022
f02e6de
Correct StorageProtocol.FindOptions
carolynvs May 31, 2022
1d61827
Merge pull request #2113 from carolynvs/remove-structured-logs-exp-flag
carolynvs Jun 1, 2022
eeb3d07
Correct StorageProtocol.FindOptions (#2120)
carolynvs Jun 3, 2022
a13b349
change dependency schema in porter (#2117)
VinozzZ Jun 3, 2022
23dd9bc
Fix race condition in plugin logs routine (#2126)
carolynvs Jun 3, 2022
0fc6fa1
Add pagination option for installation list command using skip and li…
joshuabezaleel Jun 6, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
*

!bin/dev/porter-linux-amd64
!bin/dev/agent-linux-amd64
!bin/mixins/exec/dev/exec-linux-amd64
6 changes: 3 additions & 3 deletions .github/workflows/close-issues.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
name: Close Completed Issues

on:
pull_request:
pull_request_target:
types: [closed]
branches:
- release/*

jobs:
closeIssueOnPrMergeTrigger:
closeIssue:
runs-on: ubuntu-latest
steps:
- name: Closes issues related to a merged pull request.
uses: ldez/gha-mjolnir@v1.0.3
uses: ldez/gha-mjolnir@v1.1.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
51 changes: 51 additions & 0 deletions .github/workflows/security-scan.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: Security Scan
on:
# always do a security scan when a change is merged
push: {}
# Only do a security scan on a PR when there are non-doc changes to save time
pull_request_target:
paths-ignore:
- 'docs/**'

jobs:
scan:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0 # Get all git history
- name: Set up Go
uses: actions/setup-go@v3
with:
go-version: 1.18
check-latest: true
- name: Set up Cache
uses: actions/cache@v3
with:
path: ~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
- name: Configure Agent
run: go run mage.go ConfigureAgent
- name: Build Porter
run: mage -v XBuildAll
- name: Build PorterAgent Image
run: mage -v BuildImages
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Scan PorterAgent with Trivy
uses: aquasecurity/trivy-action@master
with:
image-ref: "localhost:5000/porter-agent:${{ env.VERSION }}"
format: sarif
output: trivy-results.sarif
- name: Upload Trivy scan results to GitHub Security tab
uses: github/codeql-action/upload-sarif@v1
with:
sarif_file: trivy-results.sarif
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
/docs/public/
/docs/content/operator
/docs/sources/
/bin
/porter
*-packr.go
.DS_Store
/build/git_askpass.sh
tests/smoke/mybuns/
.env
trivy-results.sarif

.cnab
examples/**/Dockerfile
Expand Down
150 changes: 112 additions & 38 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
* [Makefile explained](#makefile-explained)
* [Install mixins](#install-mixins)
* [Preview documentation](#preview-documentation)
* [View a trace of a Porter command](#view-a-trace-of-a-porter-command)
* [Write a blog post](#write-a-blog-post)
* [Code structure and practices](#code-structure-and-practices)
* [What is the general code layout?](#what-is-the-general-code-layout)
* [Logging](#logging)
* [Breaking Changes](#breaking-changes)
* [Infrastructure](#infrastructure)
* [CDN Setup](#cdn-setup)
* [Releases](#releases)
Expand Down Expand Up @@ -113,13 +115,13 @@ example output
We recommend running the following every time:

```
make verify build test-unit
mage Build TestUnit
```

If your test modified anything related to running a bundle, also run:

```
make test-integration
mage TestIntegration
```

If you want to know _all_ the targets that the CI runs, look at
Expand Down Expand Up @@ -248,13 +250,14 @@ maintainer.

## Initial setup

We have a [tutorial] that walks you through how to setup your developer
We have a [tutorial] that walks you through how to set up your developer
environment, make a change and test it.

Here are the key steps, if you run into trouble, the tutorial has more details:

1. Install Go version 1.17 or higher.
1. Clone this repository with `git clone https://github.com/getporter/porter.git ~/go/src/get.porter.sh/porter`.
1. Run `make build install` from within the newly cloned repository.
1. Run `mage Build Install` from within the newly cloned repository.

If you are planning on contributing back to the project, you'll need to
[fork](https://guides.github.com/activities/forking/) and clone your fork. If
Expand All @@ -276,53 +279,45 @@ Mage targets are not case-sensitive, but in our docs we use camel case to make
it easier to read. You can run either `mage TestSmoke` or `mage testsmoke` for
example.

* **Build** builds all binaries, porter and internal mixins.
* **BuildClient** just builds the porter client for your operating system.
It does not build the porter-runtime binary. Useful when you just want to do a
build and don't remember the proper way to call `go build` yourself.
* **BuildPorter** builds both the porter client and runtime.
* **Clean** removes artifacts from previous builds and test runs.
* **TestSmoke** runs a small suite of tests using the Porter CLI to validate
that Porter is (mostly) working.
* **TestIntegration** runs our integration tests, which run the bundles
against a test KIND cluster.
* **UpdateTestfiles** updates the "golden" test files to match the latest test output.
This is mostly useful for when you change the schema of porter.yaml which will
break TestPorter_PrintManifestSchema. Run this target to fix it.
Learn more about [golden files].

* **Test** runs all the tests.
* **TestUnit** runs the unit tests
* **TestSmoke** runs a small suite of tests using the Porter CLI to validate
that Porter is (mostly) working.
* **TestIntegration** runs our integration tests, which run the bundles
against a test KIND cluster.
* **Install** installs porter _and_ the mixins from source into **$(HOME)/.porter/**.
* **DocsPreview** hosts the docs site. See [Preview Documentation](#preview-documentation).
* **DocsGen** generates the CLI documentation for the website. This is run automatically by build.

[golden files]: https://ieftimov.com/post/testing-in-go-golden-files/

### Make Targets

Below are the most common developer tasks. Run a target with `make TARGET`, e.g.
`make build`.

* `build` builds all binaries, porter and internal mixins.
* `build-porter-client` just builds the porter client for your operating system.
It does not build the porter-runtime binary. Useful when you just want to do a
build and don't remember the proper way to call `go build` yourself.
* `build-porter` builds both the porter client and runtime. It does not clean up
generated files created by packr, so you usually want to also run
`clean-packr`.
* `install-porter` installs porter from source into your home directory **$(HOME)/.porter**.
* `install-mixins` installs the mixins from source into **$(HOME)/.porter/**.
This is useful when you are working on the exec or kubernetes mixin.
* `install` installs porter _and_ the mixins from source into **$(HOME)/.porter/**.
* `test-unit` runs the unit tests.
* `docs-preview` hosts the docs site. See [Preview
Documentation](#preview-documentation).
* `test` runs all the tests.
* `clean-packr` removes extra packr files that were a side-effect of the build.
Normally this is run automatically but if you run into issues with packr,
run this command.
`make setup-dco`.

* `setup-dco` installs a git commit hook that automatically signsoff your commit
messages per the DCO requirement.

## Test Porter

We have a few different kinds of tests in Porter. You can run all tests types
with `make test`.
with `mage test`.

### Unit Tests

```
make test-unit
mage TestUnit
```

Should not rely on Docker, or try to really run bundles without key components
Expand All @@ -334,7 +329,7 @@ Fast! 🏎💨 This takes about 15s - 3 minutes, depending on your computer hard
### Integration Tests

```
make test-integration
mage TestIntegration
```

These tests run parts of Porter, using the Porter structs instead of the cli.
Expand All @@ -351,7 +346,7 @@ when you push commits to your pull request instead.
When I am troubleshooting an integration test, I will run just the single test
locally by using `go test -run TESTNAME ./...`. If the test needs infrastructure,
we have scripts that you can use, like `mage StartDockerRegistry` or
`make -f Makefile.kind install-kind create-kind-cluster`.
`mage EnsureTestCluster`.

Slow! 🐢 This takes between 8-16 minutes, depending on your computer hardware.

Expand All @@ -368,7 +363,7 @@ Short! We want this to always be something you can run in under 3 minutes.

## Install mixins

When you run `make build`, the canary\* build of mixins are automatically
When you run `mage build`, the canary\* build of mixins are automatically
installed into your bin directory in the root of the repository. You can use
`porter mixin install NAME` to install the latest released version of a mixin.

Expand Down Expand Up @@ -402,7 +397,7 @@ We use [Hugo](https://gohugo.io) to build our documentation site, and it is host
[Netlify](https://netlify.com). You don't have to install Hugo locally because the
preview happens inside a docker container.

1. Run `make docs-preview` to start serving the docs. It will watch the file
1. Run `mage DocsPreview` to start serving the docs. It will watch the file
system for changes.
1. Our make rule should open <http://localhost:1313/docs> to preview the
site/docs.
Expand Down Expand Up @@ -447,12 +442,75 @@ a new blog post and then preview it:
Our pull request preview and the live site will not show posts with a date in
the future. If you don't see your post, change the date to today's date.

## View a trace of a Porter command

Porter can send trace data about the commands run to an OpenTelemetry backend.
It can be very helpful when figuring out why a command failed because you can see the values of variables and stack traces.

In development, you can use the [otel-jaeger bundle] to set up a development instance of Jaeger, which gives you a nice website to see each command run.

```
porter install --reference ghcr.io/getporter/examples/otel-jaeger:v0.1.0 --allow-docker-host-access
```

Then to turn on tracing in Porter, set the following environment variables.
This tells Porter to turn on tracing, and connect to OpenTelemetry server that you just installed.

**Posix**
```bash
export PORTER_TELEMETRY_ENABLED="true"
export OTEL_EXPORTER_OTLP_PROTOCOL="grpc"
export OTEL_EXPORTER_OTLP_INSECURE="true"
```

**Powershell**
```powershell
$env:PORTER_TELEMETRY_ENABLED="true"
$env:OTEL_EXPORTER_OTLP_PROTOCOL="grpc"
$env:OTEL_EXPORTER_OTLP_INSECURE="true"
```

Next run a Porter command to generate some trace data, such as `porter list`.
Then go to the Jaeger website to see your data: http://localhost:16686.
On the Jaeger dashboard, select "porter" from the service drop down, and click "Find Traces".

The smoke and integration tests will run with telemetry enabled when the PORTER_TEST_TELEMETRY_ENABLED environment variable is true.

[otel-jaeger bundle]: https://getporter.org/examples/src/otel-jaeger

## Command Documentation

Our commands are documented at <https://porter.sh/cli> and that documentation is
generated by our CLI. You should regenerate that documentation when you change
any files in **cmd/porter** by running `make docs-gen` which is run every time
you run `make build`.
any files in **cmd/porter** by running `mage DocsGen` which is run every time
you run `mage build`.

## Work on the Porter Operator

Instructions for building the Porter Operator from source are located in its repository: https://github.com/getporter/operator.
Sometimes you may need to make changes to Porter and work on the Operator at the same time.
Here's how to build porter so that you can use it locally:

1. You must be on a feature branch. Not release/v1 or main. This matters because it affects the generated
docker image tag.
1. Deploy the operator to a KinD cluster by running `mage deploy` from inside the operator repository.
That cluster has a local registry running that you can publish to, and it will pull images from it,
running on localhost:5000.
1. Run the following command from the porter repository to build the Porter Agent image, and publish it
to the test cluster's registry. `mage XBuildAll LocalPorterAgentBuild`.
1. Edit your AgentConfig in the Porter Operator and set it to use your local build of the porter-agent.

```yaml
apiVersion: porter.sh/v1
kind: AgentConfig
metadata:
name: porter
namespace: test # You may need to change this depending on what you are testing
spec:
porterRepository: localhost:5000/porter-agent
porterVersion: canary-dev
serviceAccount: porter-agent
```

# Code structure and practices

Expand Down Expand Up @@ -487,7 +545,9 @@ dependency injection and testing strategies.
* **provider**: handles communicating with mixins
* **porter**: the implementation of the porter commands. Every command in Porter
has a corresponding function in here.
* **version**: reusable library used by all the mixins for implementing their
* **version**: reusable library used by all the mixins for implementing a mixin
* **secrets**: used to access porter's secret store through plugins.
* **storage**: used to access porter's data store through plugins.
* **templates**: files that need to be compiled into the porter binary with
version command.
* **scripts**:
Expand Down Expand Up @@ -521,6 +581,20 @@ we send regular command output to `Out` and debug information to `Err`. It
allows us to then run the command and see the debug output separately, like so
`porter schema --debug 2> err.log`.

## Breaking Changes

Some changes in Porter break our compatibility with previous versions of Porter.
When that happens, we need to release that change with a new major version number to indicate to users that it contains breaking changes.
When you realize that you may need to make a breaking change, discuss it with a maintainer on the issue or pull request and we'll come up with a plan for how it should be released.
Here are some examples of breaking changes:

* The schema of porter.yaml changed.
* The schema of Porter's [file formats](https://release-v1.porter.sh/reference/file-formats) changed.
* The schema of Porter's [config file](https://release-v1.porter.sh/configuration/#config-file) changed.
* Flags or behavior of a CLI command changed, such as removing a flag or adding a validation that can result in a hard error, preventing the command from running.

All of Porter's documents have a schemaVersion field and when the schema of the document is changed, the version number should be incremented as well in the default set on new documents, the supported schema version constant in the code, and in the documentation for that document.

# Infrastructure

This section includes overviews of infrastructure Porter relies on, mostly intended
Expand Down
7 changes: 7 additions & 0 deletions CONTRIBUTORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,13 @@ and we will add you. **All** contributors belong here. 💯
* [Om More](https://github.com/thisisommore)
* [Avinash Upadhyaya](https://github.com/avinashupadhya99)
* [Mike Barkas](https://github.com/mikebarkas)
* [Joshua Bezaleel Abednego](https://github.com/joshuabezaleel)
* [Avinash Upadhyaya](https://github.com/avinashupadhya99)
* [Mahendra Bishnoi](https://github.com/mahendrabishnoi2)
* [Yingrong Zhao](https://github.com/VinozzZ)
* [Saksham Sharma](https://github.com/sakkshm26)
* [Jeremy Goss](https://github.com/Jemgoss)
* [Chioma Onyekpere](https://github.com/Simpcyclassy)
* [Saksham Sharma](https://github.com/sakkshm26)
* [Quentin Petraroia](https://github.com/qpetraroia)
* [Tamir Kamara](https://github.com/tamirkamara)
Expand Down
Loading