FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
allstar-1/cmd/allstar/main.go at main · https-example-c/allstar-1 · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
https-example-c
/
allstar-1
Public template
forked from
https-example-c/allstar
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
0
Pull requests
0
Discussions
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Discussions
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
allstar-1
/
cmd
/
allstar
/
main.go
Copy path
More file actions
More file actions
Latest commit
History
History
History
86 lines (74 loc) · 2.12 KB
Breadcrumbs
allstar-1
/
cmd
/
allstar
/
main.go
Copy path
File metadata and controls
86 lines (74 loc) · 2.12 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
// Copyright 2021 Allstar Authors
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package
main
import
(
"context"
"flag"
"net/http"
"os"
"os/signal"
"sync"
"syscall"
"time"
"github.com/ossf/allstar/pkg/enforce"
"github.com/ossf/allstar/pkg/ghclients"
"github.com/rs/zerolog"
"github.com/rs/zerolog/log"
)
func
main
() {
setupLog
()
ctx
,
cf
:=
context
.
WithCancel
(
context
.
Background
())
ghc
,
err
:=
ghclients
.
NewGHClients
(
ctx
,
http
.
DefaultTransport
)
if
err
!=
nil
{
log
.
Fatal
().
Err
(
err
).
Msg
(
"Could not load app secret, shutting down"
)
}
boolArgPtr
:=
flag
.
Bool
(
"once"
,
false
,
"Run EnforceAll once, instead of in a contiuous loop."
)
flag
.
Parse
()
if
*
boolArgPtr
{
_
,
err
:=
enforce
.
EnforceAll
(
ctx
,
ghc
)
if
err
!=
nil
{
log
.
Fatal
().
Err
(
err
).
Msg
(
"Unexpected error enforcing policies."
)
}
}
else
{
var
wg
sync.
WaitGroup
// Kickoff webhook listener, delayed enforce, reconcile job...
wg
.
Add
(
1
)
go
func
() {
defer
wg
.
Done
()
log
.
Info
().
Err
(
enforce
.
EnforceJob
(
ctx
,
ghc
, (
5
*
time
.
Minute
))).
Msg
(
"Enforce job shutting down."
)
}()
sigs
:=
make
(
chan
os.
Signal
,
1
)
signal
.
Notify
(
sigs
,
syscall
.
SIGINT
,
syscall
.
SIGTERM
)
s
:=
<-
sigs
cf
()
log
.
Info
().
Str
(
"signal"
,
s
.
String
()).
Msg
(
"Signal received, shutting down gracefully"
)
wg
.
Wait
()
}
}
func
setupLog
() {
// Match expected values in GCP
zerolog
.
LevelFieldName
=
"severity"
zerolog
.
LevelTraceValue
=
"DEFAULT"
zerolog
.
LevelDebugValue
=
"DEBUG"
zerolog
.
LevelInfoValue
=
"INFO"
zerolog
.
LevelWarnValue
=
"WARNING"
zerolog
.
LevelErrorValue
=
"ERROR"
zerolog
.
LevelFatalValue
=
"CRITICAL"
zerolog
.
LevelPanicValue
=
"CRITICAL"
}
Back
|
FazBrowse Home
|
New Git URL