Skip to content

Commit b07ae66

Browse files
committed
first version that runs
1 parent 6d4f044 commit b07ae66

5 files changed

Lines changed: 14 additions & 7 deletions

File tree

cmd/root.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ func initConfig() {
8585
home, err := os.UserHomeDir()
8686
cobra.CheckErr(err)
8787

88-
// Search config in home directory with name ".courier" (without extension).
88+
// Search config in home directory with name ".vault-audit-filter" (without extension).
8989
viper.AddConfigPath(home)
9090
viper.SetConfigType("yaml")
9191
viper.SetConfigName(".vault-audit-filter")
@@ -108,4 +108,8 @@ func initConfig() {
108108
logger.Error("vault.token is required")
109109
os.Exit(1)
110110
}
111+
112+
if !viper.IsSet("rules") || len(viper.GetStringSlice("rules")) == 0 {
113+
logger.Info("No rules defined in configuration; all audit logs will be printed")
114+
}
111115
}

cmd/setup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ package cmd
1818
import (
1919
"os"
2020

21-
"github.com/ncode/courier/pkg/vault"
21+
"github.com/ncode/vault-audit-filter/pkg/vault"
2222
"github.com/spf13/cobra"
2323
"github.com/spf13/viper"
2424
)

configs/docker/docker-compose.yaml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,6 @@ services:
1616
container_name: vault-audit-filter_auditserver
1717
depends_on:
1818
- vault_primary
19-
- vault_replica_red
20-
- vault_replica_green
21-
- vault_replica_blue
2219
command: "auditServer --vault.token root --vault.audit_address vault-audit-filter_auditserver:1269"
2320

2421
vault-audit-filter_setup:

main.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ limitations under the License.
1515
*/
1616
package main
1717

18-
import "github.com/ncode/courier/cmd"
18+
import "github.com/ncode/vault-audit-filter/cmd"
1919

2020
func main() {
2121
cmd.Execute()

pkg/auditserver/server.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package auditserver
33
import (
44
"encoding/json"
55
"github.com/expr-lang/expr"
6+
"github.com/expr-lang/expr/vm"
67
"github.com/panjf2000/gnet"
78
"github.com/spf13/viper"
89
"log/slog"
@@ -46,7 +47,7 @@ type AuditLog struct {
4647
}
4748

4849
type CompiledRule struct {
49-
Program *expr.Program
50+
Program *vm.Program
5051
}
5152

5253
type AuditServer struct {
@@ -79,6 +80,11 @@ func (as *AuditServer) React(frame []byte, c gnet.Conn) (out []byte, action gnet
7980
}
8081

8182
func (as *AuditServer) shouldLog(auditLog *AuditLog) bool {
83+
// If no rules are defined, log all audit logs
84+
if len(as.compiledExpr) == 0 {
85+
return true
86+
}
87+
8288
for _, compiledRule := range as.compiledExpr {
8389
output, err := expr.Run(compiledRule.Program, auditLog)
8490
if err != nil {

0 commit comments

Comments
 (0)