├── .dockerignore ├── .gitignore ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── circle.yml ├── docs ├── Makefile ├── README.md ├── compliance │ ├── cis │ │ ├── docker_ce.md │ │ ├── docker_ee.md │ │ └── k8s.md │ ├── fedramp.md │ ├── fisma.md │ ├── images │ │ ├── atocontrolresponsibilities.svg │ │ └── nistrmf.png │ ├── index.md │ ├── nist │ │ ├── 800_190.md │ │ ├── 800_37.md │ │ ├── 800_53.md │ │ ├── fips140_2.md │ │ ├── itl_october2017.md │ │ └── nistir_8176.md │ ├── oscal.md │ └── reference │ │ └── 800-53 │ │ ├── ac.md │ │ ├── at.md │ │ ├── au.md │ │ ├── ca.md │ │ ├── cm.md │ │ ├── cp.md │ │ ├── ia.md │ │ ├── index.md │ │ ├── ir.md │ │ ├── ma.md │ │ ├── mp.md │ │ ├── pe.md │ │ ├── pl.md │ │ ├── pm.md │ │ ├── ps.md │ │ ├── ra.md │ │ ├── sa.md │ │ ├── sc.md │ │ └── si.md └── generator │ ├── Dockerfile │ ├── Gopkg.lock │ ├── Gopkg.toml │ ├── data │ └── 800-53-controls.xml │ ├── generator.go │ ├── generator_test.go │ ├── tmpl │ └── 80053.tmpl │ ├── types.go │ └── vendor │ ├── github.com │ ├── blang │ │ └── semver │ │ │ ├── .gx │ │ │ └── lastpubver │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── examples │ │ │ └── main.go │ │ │ ├── json.go │ │ │ ├── json_test.go │ │ │ ├── package.json │ │ │ ├── range.go │ │ │ ├── range_test.go │ │ │ ├── semver.go │ │ │ ├── semver_test.go │ │ │ ├── sort.go │ │ │ ├── sort_test.go │ │ │ ├── sql.go │ │ │ └── sql_test.go │ ├── go-forks │ │ └── fsnotify │ │ │ ├── .gitignore │ │ │ ├── AUTHORS │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── example_test.go │ │ │ ├── fsnotify.go │ │ │ ├── fsnotify_bsd.go │ │ │ ├── fsnotify_linux.go │ │ │ ├── fsnotify_open_bsd.go │ │ │ ├── fsnotify_open_darwin.go │ │ │ ├── fsnotify_symlink_test.go │ │ │ ├── fsnotify_test.go │ │ │ └── fsnotify_windows.go │ ├── go-utils │ │ └── ufs │ │ │ ├── README.md │ │ │ ├── _gob.gtxt │ │ │ ├── doc.go │ │ │ ├── fs.go │ │ │ ├── walker.go │ │ │ ├── watcher-default.go │ │ │ └── watcher-sandboxed.go │ ├── metaleap │ │ ├── go-util-misc │ │ │ ├── README.md │ │ │ ├── doc.go │ │ │ └── util.go │ │ ├── go-util-slice │ │ │ ├── -gen-sort.gt │ │ │ ├── -gen.gt │ │ │ ├── README.md │ │ │ ├── bool.gt.go │ │ │ ├── doc.go │ │ │ ├── f64.gt.go │ │ │ ├── int.gt.go │ │ │ └── str.gt.go │ │ └── go-util-str │ │ │ ├── README.md │ │ │ ├── buf.go │ │ │ ├── doc.go │ │ │ ├── matcher.go │ │ │ └── str.go │ ├── opencontrol │ │ └── compliance-masonry │ │ │ ├── .codeclimate.yml │ │ │ ├── .dockerignore │ │ │ ├── .gitignore │ │ │ ├── .goxc.json │ │ │ ├── CONTRIBUTING.md │ │ │ ├── Dockerfile │ │ │ ├── Gopkg.lock │ │ │ ├── Gopkg.toml │ │ │ ├── LICENSE.md │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── circle.yml │ │ │ ├── circleci │ │ │ ├── README.md │ │ │ └── coverage.sh │ │ │ ├── commands │ │ │ ├── diff │ │ │ │ ├── diff_suite_test.go │ │ │ │ ├── inventory.go │ │ │ │ └── inventory_test.go │ │ │ ├── docs │ │ │ │ ├── docs.go │ │ │ │ ├── docs_suite_test.go │ │ │ │ ├── docs_test.go │ │ │ │ └── gitbook │ │ │ │ │ ├── gitbook.go │ │ │ │ │ ├── gitbookCertification.go │ │ │ │ │ ├── gitbookCertification_test.go │ │ │ │ │ ├── gitbookComponents.go │ │ │ │ │ ├── gitbookComponents_test.go │ │ │ │ │ ├── gitbookSummaries.go │ │ │ │ │ ├── gitbookSummaries_test.go │ │ │ │ │ └── gitbook_test.go │ │ │ └── get │ │ │ │ ├── get.go │ │ │ │ └── resources │ │ │ │ ├── downloader.go │ │ │ │ ├── downloader_test.go │ │ │ │ ├── getter.go │ │ │ │ ├── getter_test.go │ │ │ │ ├── mocks │ │ │ │ ├── Downloader.go │ │ │ │ └── Getter.go │ │ │ │ └── resources_suite_test.go │ │ │ ├── compliance_masonry_go_suite_test.go │ │ │ ├── diff.go │ │ │ ├── diff_test.go │ │ │ ├── docs │ │ │ ├── README.md │ │ │ ├── assets │ │ │ │ ├── data_flow.png │ │ │ │ ├── workflow.png │ │ │ │ └── workflow.svg │ │ │ ├── development.md │ │ │ ├── gitbook.md │ │ │ ├── install.md │ │ │ ├── masonry-for-the-compliance-literate.md │ │ │ └── usage.md │ │ │ ├── exampleplugin │ │ │ ├── example.go │ │ │ ├── example_test.go │ │ │ ├── exampleplugin_suite_test.go │ │ │ └── opencontrol.yaml │ │ │ ├── fixtures │ │ │ ├── component_fixtures │ │ │ │ ├── common │ │ │ │ │ ├── EC2BrokenControl │ │ │ │ │ │ └── component.yaml │ │ │ │ │ ├── EC2UnsupportedVersion │ │ │ │ │ │ └── component.yaml │ │ │ │ │ ├── EC2VersionNotSemver │ │ │ │ │ │ └── component.yaml │ │ │ │ │ └── EC2_InvalidFieldTypeForVersion2_0 │ │ │ │ │ │ └── component.yaml │ │ │ │ ├── v2_0_0 │ │ │ │ │ ├── EC2 │ │ │ │ │ │ └── component.yaml │ │ │ │ │ └── EC2WithKey │ │ │ │ │ │ └── component.yaml │ │ │ │ ├── v3_0_0 │ │ │ │ │ ├── EC2 │ │ │ │ │ │ └── component.yaml │ │ │ │ │ └── EC2WithKey │ │ │ │ │ │ └── component.yaml │ │ │ │ └── v3_1_0 │ │ │ │ │ ├── EC2 │ │ │ │ │ └── component.yaml │ │ │ │ │ └── EC2WithKey │ │ │ │ │ └── component.yaml │ │ │ ├── exports_fixtures │ │ │ │ ├── complete_export │ │ │ │ │ ├── README.md │ │ │ │ │ ├── SUMMARY.md │ │ │ │ │ ├── components │ │ │ │ │ │ └── EC2.md │ │ │ │ │ └── standards │ │ │ │ │ │ ├── NIST-800-53-AC-2.md │ │ │ │ │ │ ├── NIST-800-53-AC-6.md │ │ │ │ │ │ ├── NIST-800-53-AC.md │ │ │ │ │ │ ├── NIST-800-53-CM-2.md │ │ │ │ │ │ ├── NIST-800-53-CM.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.1.1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-2.1.md │ │ │ │ │ │ └── PCI-DSS-MAY-2015-2.md │ │ │ │ ├── complete_export_with_markdown │ │ │ │ │ ├── README.md │ │ │ │ │ ├── SUMMARY.md │ │ │ │ │ ├── components │ │ │ │ │ │ └── EC2.md │ │ │ │ │ ├── standards │ │ │ │ │ │ ├── NIST-800-53-AC-2.md │ │ │ │ │ │ ├── NIST-800-53-AC-6.md │ │ │ │ │ │ ├── NIST-800-53-AC.md │ │ │ │ │ │ ├── NIST-800-53-CM-2.md │ │ │ │ │ │ ├── NIST-800-53-CM.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.1.1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.md │ │ │ │ │ │ ├── PCI-DSS-MAY-2015-2.1.md │ │ │ │ │ │ └── PCI-DSS-MAY-2015-2.md │ │ │ │ │ └── system_documentation │ │ │ │ │ │ └── about-the-ssp.md │ │ │ │ └── gitbook_exports │ │ │ │ │ ├── components_readme.md │ │ │ │ │ ├── general_readme.md │ │ │ │ │ ├── standards │ │ │ │ │ ├── NIST-800-53-AC.md │ │ │ │ │ ├── NIST-800-53-CM.md │ │ │ │ │ ├── PCI-DSS-MAY-2015-1.md │ │ │ │ │ └── PCI-DSS-MAY-2015-2.md │ │ │ │ │ └── standards_readme.md │ │ │ ├── opencontrol_fixtures │ │ │ │ ├── certifications │ │ │ │ │ └── LATO.yaml │ │ │ │ ├── components │ │ │ │ │ └── EC2 │ │ │ │ │ │ ├── artifact-ec2-1.png │ │ │ │ │ │ └── component.yaml │ │ │ │ └── standards │ │ │ │ │ ├── NIST-800-53.yaml │ │ │ │ │ └── PCI-DSS-MAY-2015.yaml │ │ │ ├── opencontrol_fixtures_complete │ │ │ │ ├── certifications │ │ │ │ │ └── LATO.yaml │ │ │ │ ├── components │ │ │ │ │ └── EC2 │ │ │ │ │ │ ├── artifact-ec2-1.png │ │ │ │ │ │ └── component.yaml │ │ │ │ └── standards │ │ │ │ │ ├── NIST-800-53.yaml │ │ │ │ │ └── PCI-DSS-MAY-2015.yaml │ │ │ ├── opencontrol_fixtures_with_markdown │ │ │ │ ├── certifications │ │ │ │ │ └── LATO.yaml │ │ │ │ ├── components │ │ │ │ │ └── EC2 │ │ │ │ │ │ ├── artifact-ec2-1.png │ │ │ │ │ │ └── component.yaml │ │ │ │ ├── markdowns │ │ │ │ │ ├── SUMMARY.md │ │ │ │ │ └── system_documentation │ │ │ │ │ │ └── about-the-ssp.md │ │ │ │ └── standards │ │ │ │ │ ├── NIST-800-53.yaml │ │ │ │ │ └── PCI-DSS-MAY-2015.yaml │ │ │ └── standards_fixtures │ │ │ │ └── BrokenStandard │ │ │ │ └── NIST-800-53.yaml │ │ │ ├── masonry-go.go │ │ │ ├── masonry-go_test.go │ │ │ ├── release.sh │ │ │ └── tools │ │ │ ├── certifications │ │ │ └── certifications.go │ │ │ ├── constants │ │ │ └── constants.go │ │ │ ├── fs │ │ │ ├── fs.go │ │ │ └── mocks │ │ │ │ └── Util.go │ │ │ ├── mapset │ │ │ ├── map.go │ │ │ ├── map_test.go │ │ │ └── mapset_suite_test.go │ │ │ └── vcs │ │ │ ├── manager.go │ │ │ ├── manager_test.go │ │ │ ├── mocks │ │ │ └── RepoManager.go │ │ │ └── vcs_suite_test.go │ └── rs │ │ └── xid │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── id.go │ │ └── id_test.go │ └── gopkg.in │ ├── fatih │ └── set.v0 │ │ ├── .travis.yml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── set.go │ │ ├── set_nots.go │ │ ├── set_nots_test.go │ │ ├── set_test.go │ │ ├── set_ts.go │ │ └── set_ts_test.go │ └── yaml.v2 │ ├── .travis.yml │ ├── LICENSE │ ├── LICENSE.libyaml │ ├── README.md │ ├── apic.go │ ├── decode.go │ ├── decode_test.go │ ├── emitterc.go │ ├── encode.go │ ├── encode_test.go │ ├── example_embedded_test.go │ ├── parserc.go │ ├── readerc.go │ ├── resolve.go │ ├── scannerc.go │ ├── sorter.go │ ├── suite_test.go │ ├── writerc.go │ ├── yaml.go │ ├── yamlh.go │ └── yamlprivateh.go ├── examples └── opencontrol │ └── DockerEE-Moderate-ATO │ ├── .dockerignore │ ├── Dockerfile │ ├── Makefile │ ├── README.md │ ├── markdowns │ └── README.md │ ├── opencontrol.yaml │ └── policies │ ├── AC │ └── component.yaml │ ├── AT │ └── component.yaml │ ├── AU │ └── component.yaml │ ├── CA │ └── component.yaml │ ├── CM │ └── component.yaml │ ├── CP │ └── component.yaml │ ├── IA │ └── component.yaml │ ├── IR │ └── component.yaml │ ├── MA │ └── component.yaml │ ├── MP │ └── component.yaml │ ├── PE │ └── component.yaml │ ├── PL │ └── component.yaml │ ├── PS │ └── component.yaml │ ├── RA │ └── component.yaml │ ├── SA │ └── component.yaml │ ├── SC │ └── component.yaml │ └── SI │ └── component.yaml ├── nlp ├── README.md ├── bot │ ├── PostDeployScripts │ │ └── runGulp.cmd │ ├── host.json │ └── messages │ │ ├── .dockerignore │ │ ├── Dockerfile │ │ ├── function.json │ │ ├── index.js │ │ ├── package.json │ │ └── tests │ │ ├── messages_spec.js │ │ └── mockResponse.js ├── luis │ └── DDCCompliance.json └── nlputil │ ├── .dockerignore │ ├── Dockerfile │ ├── Makefile │ ├── cli.go │ ├── cmd │ ├── analyze │ │ ├── analyze.go │ │ ├── keyphrases.go │ │ └── topics.go │ └── root.go │ ├── go.test.sh │ ├── parser │ ├── parser.go │ ├── parser_suite_test.go │ └── parser_test.go │ ├── textanalytics │ ├── client │ │ ├── operations │ │ │ ├── detect_language_parameters.go │ │ │ ├── detect_language_responses.go │ │ │ ├── detect_topics_parameters.go │ │ │ ├── detect_topics_responses.go │ │ │ ├── key_phrases_parameters.go │ │ │ ├── key_phrases_responses.go │ │ │ ├── operation_status_parameters.go │ │ │ ├── operation_status_responses.go │ │ │ ├── operations_client.go │ │ │ ├── sentiment_parameters.go │ │ │ └── sentiment_responses.go │ │ └── text_analytics_client.go │ ├── models │ │ ├── batch_input_v2.go │ │ ├── detected_language_v2.go │ │ ├── error_record_v2.go │ │ ├── error_response.go │ │ ├── input_v2.go │ │ ├── internal_error.go │ │ ├── key_phrase_batch_result_item_v2.go │ │ ├── key_phrase_batch_result_v2.go │ │ ├── language_batch_result_item_v2.go │ │ ├── language_batch_result_v2.go │ │ ├── multi_language_batch_input_v2.go │ │ ├── multi_language_input_v2.go │ │ ├── object.go │ │ ├── operation_processing_result.go │ │ ├── operation_result.go │ │ ├── sentiment_batch_result_item_v2.go │ │ ├── sentiment_batch_result_v2.go │ │ ├── topic_assignment_record_v2.go │ │ ├── topic_detection_input_v2.go │ │ ├── topic_detection_result_v2.go │ │ └── topic_info_record_v2.go │ ├── textanalyzer.go │ └── topicDetectionOperationPoller.go │ ├── types │ ├── component.go │ └── standard.go │ └── vendor │ ├── github.com │ ├── PuerkitoBio │ │ ├── purell │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── purell.go │ │ └── urlesc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── urlesc.go │ ├── Sirupsen │ │ └── logrus │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── alt_exit.go │ │ │ ├── doc.go │ │ │ ├── entry.go │ │ │ ├── exported.go │ │ │ ├── formatter.go │ │ │ ├── hooks.go │ │ │ ├── json_formatter.go │ │ │ ├── logger.go │ │ │ ├── logrus.go │ │ │ ├── terminal_appengine.go │ │ │ ├── terminal_bsd.go │ │ │ ├── terminal_linux.go │ │ │ ├── terminal_notwindows.go │ │ │ ├── terminal_solaris.go │ │ │ ├── terminal_windows.go │ │ │ ├── text_formatter.go │ │ │ └── writer.go │ ├── asaskevich │ │ └── govalidator │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── arrays.go │ │ │ ├── converter.go │ │ │ ├── error.go │ │ │ ├── numerics.go │ │ │ ├── patterns.go │ │ │ ├── types.go │ │ │ ├── utils.go │ │ │ ├── validator.go │ │ │ └── wercker.yml │ ├── fsnotify │ │ └── fsnotify │ │ │ ├── AUTHORS │ │ │ ├── CHANGELOG.md │ │ │ ├── CONTRIBUTING.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── fen.go │ │ │ ├── fsnotify.go │ │ │ ├── inotify.go │ │ │ ├── inotify_poller.go │ │ │ ├── kqueue.go │ │ │ ├── open_mode_bsd.go │ │ │ ├── open_mode_darwin.go │ │ │ └── windows.go │ ├── go-openapi │ │ ├── analysis │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── analyzer.go │ │ ├── errors │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── api.go │ │ │ ├── auth.go │ │ │ ├── headers.go │ │ │ ├── middleware.go │ │ │ ├── parsing.go │ │ │ └── schema.go │ │ ├── jsonpointer │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── pointer.go │ │ ├── jsonreference │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── reference.go │ │ ├── loads │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── spec.go │ │ ├── runtime │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bytestream.go │ │ │ ├── client │ │ │ │ ├── auth_info.go │ │ │ │ ├── request.go │ │ │ │ ├── response.go │ │ │ │ └── runtime.go │ │ │ ├── client_auth_info.go │ │ │ ├── client_operation.go │ │ │ ├── client_request.go │ │ │ ├── client_response.go │ │ │ ├── constants.go │ │ │ ├── discard.go │ │ │ ├── headers.go │ │ │ ├── interfaces.go │ │ │ ├── json.go │ │ │ ├── request.go │ │ │ ├── statuses.go │ │ │ ├── text.go │ │ │ ├── values.go │ │ │ └── xml.go │ │ ├── spec │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── bindata.go │ │ │ ├── contact_info.go │ │ │ ├── expander.go │ │ │ ├── external_docs.go │ │ │ ├── header.go │ │ │ ├── info.go │ │ │ ├── items.go │ │ │ ├── license.go │ │ │ ├── operation.go │ │ │ ├── parameter.go │ │ │ ├── path_item.go │ │ │ ├── paths.go │ │ │ ├── ref.go │ │ │ ├── response.go │ │ │ ├── responses.go │ │ │ ├── schema.go │ │ │ ├── security_scheme.go │ │ │ ├── spec.go │ │ │ ├── swagger.go │ │ │ ├── tag.go │ │ │ └── xml_object.go │ │ ├── strfmt │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── date.go │ │ │ ├── default.go │ │ │ ├── doc.go │ │ │ ├── duration.go │ │ │ ├── format.go │ │ │ └── time.go │ │ ├── swag │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── convert.go │ │ │ ├── convert_types.go │ │ │ ├── json.go │ │ │ ├── loading.go │ │ │ ├── net.go │ │ │ ├── path.go │ │ │ └── util.go │ │ └── validate │ │ │ ├── CODE_OF_CONDUCT.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── formats.go │ │ │ ├── object_validator.go │ │ │ ├── result.go │ │ │ ├── schema.go │ │ │ ├── schema_props.go │ │ │ ├── slice_validator.go │ │ │ ├── spec.go │ │ │ ├── type.go │ │ │ ├── update-fixtures.sh │ │ │ ├── validator.go │ │ │ └── values.go │ ├── hashicorp │ │ └── hcl │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── appveyor.yml │ │ │ ├── decoder.go │ │ │ ├── hcl.go │ │ │ ├── hcl │ │ │ ├── ast │ │ │ │ ├── ast.go │ │ │ │ └── walk.go │ │ │ ├── parser │ │ │ │ ├── error.go │ │ │ │ └── parser.go │ │ │ ├── scanner │ │ │ │ └── scanner.go │ │ │ ├── strconv │ │ │ │ └── quote.go │ │ │ └── token │ │ │ │ ├── position.go │ │ │ │ └── token.go │ │ │ ├── json │ │ │ ├── parser │ │ │ │ ├── flatten.go │ │ │ │ └── parser.go │ │ │ ├── scanner │ │ │ │ └── scanner.go │ │ │ └── token │ │ │ │ ├── position.go │ │ │ │ └── token.go │ │ │ ├── lex.go │ │ │ └── parse.go │ ├── magiconair │ │ └── properties │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── decode.go │ │ │ ├── doc.go │ │ │ ├── integrate.go │ │ │ ├── lex.go │ │ │ ├── load.go │ │ │ ├── parser.go │ │ │ ├── properties.go │ │ │ └── rangecheck.go │ ├── mailru │ │ └── easyjson │ │ │ ├── LICENSE │ │ │ ├── buffer │ │ │ └── pool.go │ │ │ ├── jlexer │ │ │ ├── error.go │ │ │ └── lexer.go │ │ │ └── jwriter │ │ │ └── writer.go │ ├── mitchellh │ │ └── mapstructure │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── decode_hooks.go │ │ │ ├── error.go │ │ │ └── mapstructure.go │ ├── onsi │ │ ├── ginkgo │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── config │ │ │ │ └── config.go │ │ │ ├── ginkgo_dsl.go │ │ │ ├── internal │ │ │ │ ├── codelocation │ │ │ │ │ └── code_location.go │ │ │ │ ├── containernode │ │ │ │ │ └── container_node.go │ │ │ │ ├── failer │ │ │ │ │ └── failer.go │ │ │ │ ├── leafnodes │ │ │ │ │ ├── benchmarker.go │ │ │ │ │ ├── interfaces.go │ │ │ │ │ ├── it_node.go │ │ │ │ │ ├── measure_node.go │ │ │ │ │ ├── runner.go │ │ │ │ │ ├── setup_nodes.go │ │ │ │ │ ├── suite_nodes.go │ │ │ │ │ ├── synchronized_after_suite_node.go │ │ │ │ │ └── synchronized_before_suite_node.go │ │ │ │ ├── remote │ │ │ │ │ ├── aggregator.go │ │ │ │ │ ├── forwarding_reporter.go │ │ │ │ │ ├── output_interceptor.go │ │ │ │ │ ├── output_interceptor_unix.go │ │ │ │ │ ├── output_interceptor_win.go │ │ │ │ │ ├── server.go │ │ │ │ │ ├── syscall_dup_linux_arm64.go │ │ │ │ │ ├── syscall_dup_solaris.go │ │ │ │ │ └── syscall_dup_unix.go │ │ │ │ ├── spec │ │ │ │ │ ├── index_computer.go │ │ │ │ │ ├── spec.go │ │ │ │ │ └── specs.go │ │ │ │ ├── specrunner │ │ │ │ │ ├── random_id.go │ │ │ │ │ └── spec_runner.go │ │ │ │ ├── suite │ │ │ │ │ └── suite.go │ │ │ │ ├── testingtproxy │ │ │ │ │ └── testing_t_proxy.go │ │ │ │ └── writer │ │ │ │ │ ├── fake_writer.go │ │ │ │ │ └── writer.go │ │ │ ├── reporters │ │ │ │ ├── default_reporter.go │ │ │ │ ├── fake_reporter.go │ │ │ │ ├── junit_reporter.go │ │ │ │ ├── reporter.go │ │ │ │ ├── stenographer │ │ │ │ │ ├── console_logging.go │ │ │ │ │ ├── fake_stenographer.go │ │ │ │ │ ├── stenographer.go │ │ │ │ │ └── support │ │ │ │ │ │ ├── go-colorable │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── colorable_others.go │ │ │ │ │ │ ├── colorable_windows.go │ │ │ │ │ │ └── noncolorable.go │ │ │ │ │ │ └── go-isatty │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── doc.go │ │ │ │ │ │ ├── isatty_appengine.go │ │ │ │ │ │ ├── isatty_bsd.go │ │ │ │ │ │ ├── isatty_linux.go │ │ │ │ │ │ ├── isatty_solaris.go │ │ │ │ │ │ └── isatty_windows.go │ │ │ │ └── teamcity_reporter.go │ │ │ └── types │ │ │ │ ├── code_location.go │ │ │ │ ├── synchronization.go │ │ │ │ └── types.go │ │ └── gomega │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── format │ │ │ └── format.go │ │ │ ├── gomega_dsl.go │ │ │ ├── internal │ │ │ ├── assertion │ │ │ │ └── assertion.go │ │ │ ├── asyncassertion │ │ │ │ └── async_assertion.go │ │ │ ├── oraclematcher │ │ │ │ └── oracle_matcher.go │ │ │ └── testingtsupport │ │ │ │ └── testing_t_support.go │ │ │ ├── matchers.go │ │ │ ├── matchers │ │ │ ├── and.go │ │ │ ├── assignable_to_type_of_matcher.go │ │ │ ├── be_a_directory.go │ │ │ ├── be_a_regular_file.go │ │ │ ├── be_an_existing_file.go │ │ │ ├── be_closed_matcher.go │ │ │ ├── be_empty_matcher.go │ │ │ ├── be_equivalent_to_matcher.go │ │ │ ├── be_false_matcher.go │ │ │ ├── be_identical_to.go │ │ │ ├── be_nil_matcher.go │ │ │ ├── be_numerically_matcher.go │ │ │ ├── be_sent_matcher.go │ │ │ ├── be_temporally_matcher.go │ │ │ ├── be_true_matcher.go │ │ │ ├── be_zero_matcher.go │ │ │ ├── consist_of.go │ │ │ ├── contain_element_matcher.go │ │ │ ├── contain_substring_matcher.go │ │ │ ├── equal_matcher.go │ │ │ ├── have_cap_matcher.go │ │ │ ├── have_key_matcher.go │ │ │ ├── have_key_with_value_matcher.go │ │ │ ├── have_len_matcher.go │ │ │ ├── have_occurred_matcher.go │ │ │ ├── have_prefix_matcher.go │ │ │ ├── have_suffix_matcher.go │ │ │ ├── match_error_matcher.go │ │ │ ├── match_json_matcher.go │ │ │ ├── match_regexp_matcher.go │ │ │ ├── match_yaml_matcher.go │ │ │ ├── not.go │ │ │ ├── or.go │ │ │ ├── panic_matcher.go │ │ │ ├── receive_matcher.go │ │ │ ├── succeed_matcher.go │ │ │ ├── support │ │ │ │ └── goraph │ │ │ │ │ ├── bipartitegraph │ │ │ │ │ ├── bipartitegraph.go │ │ │ │ │ └── bipartitegraphmatching.go │ │ │ │ │ ├── edge │ │ │ │ │ └── edge.go │ │ │ │ │ ├── node │ │ │ │ │ └── node.go │ │ │ │ │ └── util │ │ │ │ │ └── util.go │ │ │ ├── type_support.go │ │ │ └── with_transform.go │ │ │ └── types │ │ │ └── types.go │ ├── pelletier │ │ ├── go-buffruneio │ │ │ ├── README.md │ │ │ └── buffruneio.go │ │ └── go-toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── clean.sh │ │ │ ├── doc.go │ │ │ ├── example-crlf.toml │ │ │ ├── example.toml │ │ │ ├── keysparsing.go │ │ │ ├── lexer.go │ │ │ ├── match.go │ │ │ ├── parser.go │ │ │ ├── position.go │ │ │ ├── query.go │ │ │ ├── querylexer.go │ │ │ ├── queryparser.go │ │ │ ├── test.sh │ │ │ ├── token.go │ │ │ ├── toml.go │ │ │ └── tomltree_conversions.go │ ├── satori │ │ └── go.uuid │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── uuid.go │ └── spf13 │ │ ├── afero │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── afero.go │ │ ├── appveyor.yml │ │ ├── basepath.go │ │ ├── cacheOnReadFs.go │ │ ├── const_bsds.go │ │ ├── const_win_unix.go │ │ ├── copyOnWriteFs.go │ │ ├── httpFs.go │ │ ├── ioutil.go │ │ ├── mem │ │ │ ├── dir.go │ │ │ ├── dirmap.go │ │ │ └── file.go │ │ ├── memmap.go │ │ ├── memradix.go │ │ ├── os.go │ │ ├── path.go │ │ ├── readonlyfs.go │ │ ├── regexpfs.go │ │ ├── unionFile.go │ │ └── util.go │ │ ├── cast │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cast.go │ │ └── caste.go │ │ ├── cobra │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── bash_completions.go │ │ ├── bash_completions.md │ │ ├── cobra.go │ │ ├── command.go │ │ ├── command_notwin.go │ │ └── command_win.go │ │ ├── jwalterweatherman │ │ ├── LICENSE │ │ ├── README.md │ │ └── thatswhyyoualwaysleaveanote.go │ │ ├── pflag │ │ ├── LICENSE │ │ ├── README.md │ │ ├── bool.go │ │ ├── count.go │ │ ├── duration.go │ │ ├── flag.go │ │ ├── float32.go │ │ ├── float64.go │ │ ├── golangflag.go │ │ ├── int.go │ │ ├── int32.go │ │ ├── int64.go │ │ ├── int8.go │ │ ├── int_slice.go │ │ ├── ip.go │ │ ├── ipmask.go │ │ ├── ipnet.go │ │ ├── string.go │ │ ├── string_array.go │ │ ├── string_slice.go │ │ ├── uint.go │ │ ├── uint16.go │ │ ├── uint32.go │ │ ├── uint64.go │ │ └── uint8.go │ │ └── viper │ │ ├── LICENSE │ │ ├── README.md │ │ ├── flags.go │ │ ├── util.go │ │ └── viper.go │ ├── golang.org │ └── x │ │ ├── net │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── context │ │ │ ├── context.go │ │ │ ├── ctxhttp │ │ │ │ ├── ctxhttp.go │ │ │ │ └── ctxhttp_pre17.go │ │ │ ├── go17.go │ │ │ └── pre_go17.go │ │ └── idna │ │ │ ├── idna.go │ │ │ └── punycode.go │ │ ├── sys │ │ ├── LICENSE │ │ ├── PATENTS │ │ └── unix │ │ │ ├── asm.s │ │ │ ├── asm_darwin_386.s │ │ │ ├── asm_darwin_amd64.s │ │ │ ├── asm_darwin_arm.s │ │ │ ├── asm_darwin_arm64.s │ │ │ ├── asm_dragonfly_amd64.s │ │ │ ├── asm_freebsd_386.s │ │ │ ├── asm_freebsd_amd64.s │ │ │ ├── asm_freebsd_arm.s │ │ │ ├── asm_linux_386.s │ │ │ ├── asm_linux_amd64.s │ │ │ ├── asm_linux_arm.s │ │ │ ├── asm_linux_arm64.s │ │ │ ├── asm_linux_mips64x.s │ │ │ ├── asm_linux_mipsx.s │ │ │ ├── asm_linux_ppc64x.s │ │ │ ├── asm_linux_s390x.s │ │ │ ├── asm_netbsd_386.s │ │ │ ├── asm_netbsd_amd64.s │ │ │ ├── asm_netbsd_arm.s │ │ │ ├── asm_openbsd_386.s │ │ │ ├── asm_openbsd_amd64.s │ │ │ ├── asm_solaris_amd64.s │ │ │ ├── bluetooth_linux.go │ │ │ ├── constants.go │ │ │ ├── env_unix.go │ │ │ ├── env_unset.go │ │ │ ├── flock.go │ │ │ ├── flock_linux_32bit.go │ │ │ ├── gccgo.go │ │ │ ├── gccgo_c.c │ │ │ ├── gccgo_linux_amd64.go │ │ │ ├── gccgo_linux_sparc64.go │ │ │ ├── mkall.sh │ │ │ ├── mkerrors.sh │ │ │ ├── mkpost.go │ │ │ ├── mksyscall.pl │ │ │ ├── mksyscall_solaris.pl │ │ │ ├── mksysctl_openbsd.pl │ │ │ ├── mksysnum_darwin.pl │ │ │ ├── mksysnum_dragonfly.pl │ │ │ ├── mksysnum_freebsd.pl │ │ │ ├── mksysnum_linux.pl │ │ │ ├── mksysnum_netbsd.pl │ │ │ ├── mksysnum_openbsd.pl │ │ │ ├── race.go │ │ │ ├── race0.go │ │ │ ├── sockcmsg_linux.go │ │ │ ├── sockcmsg_unix.go │ │ │ ├── str.go │ │ │ ├── syscall.go │ │ │ ├── syscall_bsd.go │ │ │ ├── syscall_darwin.go │ │ │ ├── syscall_darwin_386.go │ │ │ ├── syscall_darwin_amd64.go │ │ │ ├── syscall_darwin_arm.go │ │ │ ├── syscall_darwin_arm64.go │ │ │ ├── syscall_dragonfly.go │ │ │ ├── syscall_dragonfly_amd64.go │ │ │ ├── syscall_freebsd.go │ │ │ ├── syscall_freebsd_386.go │ │ │ ├── syscall_freebsd_amd64.go │ │ │ ├── syscall_freebsd_arm.go │ │ │ ├── syscall_linux.go │ │ │ ├── syscall_linux_386.go │ │ │ ├── syscall_linux_amd64.go │ │ │ ├── syscall_linux_amd64_gc.go │ │ │ ├── syscall_linux_arm.go │ │ │ ├── syscall_linux_arm64.go │ │ │ ├── syscall_linux_mips64x.go │ │ │ ├── syscall_linux_mipsx.go │ │ │ ├── syscall_linux_ppc64x.go │ │ │ ├── syscall_linux_s390x.go │ │ │ ├── syscall_linux_sparc64.go │ │ │ ├── syscall_netbsd.go │ │ │ ├── syscall_netbsd_386.go │ │ │ ├── syscall_netbsd_amd64.go │ │ │ ├── syscall_netbsd_arm.go │ │ │ ├── syscall_no_getwd.go │ │ │ ├── syscall_openbsd.go │ │ │ ├── syscall_openbsd_386.go │ │ │ ├── syscall_openbsd_amd64.go │ │ │ ├── syscall_solaris.go │ │ │ ├── syscall_solaris_amd64.go │ │ │ ├── syscall_unix.go │ │ │ ├── syscall_unix_gc.go │ │ │ ├── types_darwin.go │ │ │ ├── types_dragonfly.go │ │ │ ├── types_freebsd.go │ │ │ ├── types_linux.go │ │ │ ├── types_netbsd.go │ │ │ ├── types_openbsd.go │ │ │ ├── types_solaris.go │ │ │ ├── zerrors_darwin_386.go │ │ │ ├── zerrors_darwin_amd64.go │ │ │ ├── zerrors_darwin_arm.go │ │ │ ├── zerrors_darwin_arm64.go │ │ │ ├── zerrors_dragonfly_amd64.go │ │ │ ├── zerrors_freebsd_386.go │ │ │ ├── zerrors_freebsd_amd64.go │ │ │ ├── zerrors_freebsd_arm.go │ │ │ ├── zerrors_linux_386.go │ │ │ ├── zerrors_linux_amd64.go │ │ │ ├── zerrors_linux_arm.go │ │ │ ├── zerrors_linux_arm64.go │ │ │ ├── zerrors_linux_mips.go │ │ │ ├── zerrors_linux_mips64.go │ │ │ ├── zerrors_linux_mips64le.go │ │ │ ├── zerrors_linux_mipsle.go │ │ │ ├── zerrors_linux_ppc64.go │ │ │ ├── zerrors_linux_ppc64le.go │ │ │ ├── zerrors_linux_s390x.go │ │ │ ├── zerrors_linux_sparc64.go │ │ │ ├── zerrors_netbsd_386.go │ │ │ ├── zerrors_netbsd_amd64.go │ │ │ ├── zerrors_netbsd_arm.go │ │ │ ├── zerrors_openbsd_386.go │ │ │ ├── zerrors_openbsd_amd64.go │ │ │ ├── zerrors_solaris_amd64.go │ │ │ ├── zsyscall_darwin_386.go │ │ │ ├── zsyscall_darwin_amd64.go │ │ │ ├── zsyscall_darwin_arm.go │ │ │ ├── zsyscall_darwin_arm64.go │ │ │ ├── zsyscall_dragonfly_amd64.go │ │ │ ├── zsyscall_freebsd_386.go │ │ │ ├── zsyscall_freebsd_amd64.go │ │ │ ├── zsyscall_freebsd_arm.go │ │ │ ├── zsyscall_linux_386.go │ │ │ ├── zsyscall_linux_amd64.go │ │ │ ├── zsyscall_linux_arm.go │ │ │ ├── zsyscall_linux_arm64.go │ │ │ ├── zsyscall_linux_mips.go │ │ │ ├── zsyscall_linux_mips64.go │ │ │ ├── zsyscall_linux_mips64le.go │ │ │ ├── zsyscall_linux_mipsle.go │ │ │ ├── zsyscall_linux_ppc64.go │ │ │ ├── zsyscall_linux_ppc64le.go │ │ │ ├── zsyscall_linux_s390x.go │ │ │ ├── zsyscall_linux_sparc64.go │ │ │ ├── zsyscall_netbsd_386.go │ │ │ ├── zsyscall_netbsd_amd64.go │ │ │ ├── zsyscall_netbsd_arm.go │ │ │ ├── zsyscall_openbsd_386.go │ │ │ ├── zsyscall_openbsd_amd64.go │ │ │ ├── zsyscall_solaris_amd64.go │ │ │ ├── zsysctl_openbsd.go │ │ │ ├── zsysnum_darwin_386.go │ │ │ ├── zsysnum_darwin_amd64.go │ │ │ ├── zsysnum_darwin_arm.go │ │ │ ├── zsysnum_darwin_arm64.go │ │ │ ├── zsysnum_dragonfly_amd64.go │ │ │ ├── zsysnum_freebsd_386.go │ │ │ ├── zsysnum_freebsd_amd64.go │ │ │ ├── zsysnum_freebsd_arm.go │ │ │ ├── zsysnum_linux_386.go │ │ │ ├── zsysnum_linux_amd64.go │ │ │ ├── zsysnum_linux_arm.go │ │ │ ├── zsysnum_linux_arm64.go │ │ │ ├── zsysnum_linux_mips.go │ │ │ ├── zsysnum_linux_mips64.go │ │ │ ├── zsysnum_linux_mips64le.go │ │ │ ├── zsysnum_linux_mipsle.go │ │ │ ├── zsysnum_linux_ppc64.go │ │ │ ├── zsysnum_linux_ppc64le.go │ │ │ ├── zsysnum_linux_s390x.go │ │ │ ├── zsysnum_linux_sparc64.go │ │ │ ├── zsysnum_netbsd_386.go │ │ │ ├── zsysnum_netbsd_amd64.go │ │ │ ├── zsysnum_netbsd_arm.go │ │ │ ├── zsysnum_openbsd_386.go │ │ │ ├── zsysnum_openbsd_amd64.go │ │ │ ├── zsysnum_solaris_amd64.go │ │ │ ├── ztypes_darwin_386.go │ │ │ ├── ztypes_darwin_amd64.go │ │ │ ├── ztypes_darwin_arm.go │ │ │ ├── ztypes_darwin_arm64.go │ │ │ ├── ztypes_dragonfly_amd64.go │ │ │ ├── ztypes_freebsd_386.go │ │ │ ├── ztypes_freebsd_amd64.go │ │ │ ├── ztypes_freebsd_arm.go │ │ │ ├── ztypes_linux_386.go │ │ │ ├── ztypes_linux_amd64.go │ │ │ ├── ztypes_linux_arm.go │ │ │ ├── ztypes_linux_arm64.go │ │ │ ├── ztypes_linux_mips.go │ │ │ ├── ztypes_linux_mips64.go │ │ │ ├── ztypes_linux_mips64le.go │ │ │ ├── ztypes_linux_mipsle.go │ │ │ ├── ztypes_linux_ppc64.go │ │ │ ├── ztypes_linux_ppc64le.go │ │ │ ├── ztypes_linux_s390x.go │ │ │ ├── ztypes_linux_sparc64.go │ │ │ ├── ztypes_netbsd_386.go │ │ │ ├── ztypes_netbsd_amd64.go │ │ │ ├── ztypes_netbsd_arm.go │ │ │ ├── ztypes_openbsd_386.go │ │ │ ├── ztypes_openbsd_amd64.go │ │ │ └── ztypes_solaris_amd64.go │ │ └── text │ │ ├── LICENSE │ │ ├── PATENTS │ │ ├── transform │ │ └── transform.go │ │ ├── unicode │ │ └── norm │ │ │ ├── composition.go │ │ │ ├── forminfo.go │ │ │ ├── input.go │ │ │ ├── iter.go │ │ │ ├── maketables.go │ │ │ ├── normalize.go │ │ │ ├── readwriter.go │ │ │ ├── tables.go │ │ │ ├── transform.go │ │ │ ├── trie.go │ │ │ └── triegen.go │ │ └── width │ │ ├── gen.go │ │ ├── gen_common.go │ │ ├── gen_trieval.go │ │ ├── kind_string.go │ │ ├── tables.go │ │ ├── transform.go │ │ ├── trieval.go │ │ └── width.go │ ├── gopkg.in │ └── yaml.v2 │ │ ├── LICENSE │ │ ├── LICENSE.libyaml │ │ ├── README.md │ │ ├── apic.go │ │ ├── decode.go │ │ ├── emitterc.go │ │ ├── encode.go │ │ ├── parserc.go │ │ ├── readerc.go │ │ ├── resolve.go │ │ ├── scannerc.go │ │ ├── sorter.go │ │ ├── writerc.go │ │ ├── yaml.go │ │ ├── yamlh.go │ │ └── yamlprivateh.go │ └── vendor.json ├── opencontrol.yaml ├── opencontrol └── components │ ├── DSS │ └── component.yaml │ ├── DTR │ └── component.yaml │ ├── Engine-EE │ └── component.yaml │ ├── UCP │ └── component.yaml │ └── eNZi │ └── component.yaml ├── requirements.txt ├── test_component_validity.py └── validation └── inspec ├── .dockerignore ├── Dockerfile ├── FedRAMP └── Moderate │ ├── controls │ └── ucp.rb │ ├── inspec.lock │ ├── inspec.yml │ └── libraries │ ├── .gitkeep │ ├── Gemfile │ ├── Gemfile.lock │ ├── inspec.lock │ └── ucp.rb ├── Makefile ├── README.md └── profile-attribute.example.yml /.dockerignore: -------------------------------------------------------------------------------- 1 | **/__pycache__ 2 | **/.cache 3 | **/.git 4 | nlp/* 5 | examples/* 6 | .dockerignore 7 | .gitignore 8 | circle.yml 9 | LICENSE 10 | README.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.5.2-alpine 2 | RUN apk --no-cache add openssl 3 | RUN mkdir /usr/src/compliance-opencontrol 4 | WORKDIR /usr/src/compliance-opencontrol 5 | COPY requirements.txt . 6 | RUN pip install -r requirements.txt 7 | ADD https://raw.githubusercontent.com/opencontrol/schemas/master/kwalify/component/v3.1.0.yaml . 8 | COPY . . 9 | CMD ["py.test"] -------------------------------------------------------------------------------- /circle.yml: -------------------------------------------------------------------------------- 1 | machine: 2 | services: 3 | - docker 4 | 5 | dependencies: 6 | override: 7 | - docker build --rm=false -t docker/compliance-opencontrol . 8 | - docker build --rm=false -t docker/compliance-nlputil nlp/nlputil 9 | 10 | test: 11 | override: 12 | - docker run docker/compliance-opencontrol 13 | - docker run -v "$(pwd)":/go/src/github.com/docker/compliance/nlptooling/nlputil -e TEXT_ANALYTICS_API_KEY --entrypoint '/bin/bash' docker/compliance-nlputil "./go.test.sh": 14 | pwd: nlp/nlputil 15 | - rm -rf exports/ opencontrols/: 16 | pwd: examples/opencontrol/DockerEE-Moderate-ATO 17 | - docker run -v "$(pwd)":/opencontrol -w /opencontrol opencontrolorg/compliance-masonry get: 18 | pwd: examples/opencontrol/DockerEE-Moderate-ATO 19 | - docker run -v "$(pwd)":/DockerEE-compliance -w /DockerEE-compliance -e TEXT_ANALYTICS_API_KEY docker/compliance-nlputil analyze keyphrases: 20 | pwd: examples/opencontrol/DockerEE-Moderate-ATO 21 | 22 | post: 23 | - bash <(curl -s https://codecov.io/bash) 24 | -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: vendor 2 | 3 | default: generate 4 | 5 | vendor: 6 | cd generator; \ 7 | dep ensure 8 | 9 | test: 10 | cd generator; \ 11 | go vet `go list ./... | grep -v /vendor/`; \ 12 | go test -v -race `go list ./... | grep -v /vendor/` 13 | 14 | build: 15 | cp -r ../opencontrol/components generator/ 16 | docker build -t docker/compliance-doc-generator:latest generator/ 17 | 18 | run: build 19 | docker run -it --rm -v "$$PWD/compliance/reference/800-53":/800-53 docker/compliance-doc-generator:latest 20 | rm -rf generator/components 21 | 22 | generate: run 23 | cp -r compliance $$HOME/Development/docker.github.io/ 24 | 25 | clean: 26 | docker rmi -f docker/compliance-doc-generator:latest 27 | rm -rf generator/components 28 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | The content in this folder is used to update the compliance documentation on docs.docker.com. -------------------------------------------------------------------------------- /docs/compliance/images/nistrmf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/compliance/images/nistrmf.png -------------------------------------------------------------------------------- /docs/compliance/nist/800_190.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: NIST SP 800-190 application container security guide 3 | keywords: standards, compliance, security 4 | title: NIST SP 800-190 application container security guide 5 | --- 6 | 7 | In September 2017, NIST released [Special Publication (SP) 8 | 800-190](https://csrc.nist.gov/publications/detail/sp/800-190/final), 9 | Application Container Security Guide. SP 800-190 includes guidance and 10 | recommendations for the secure use of containers, and incorporates elements of 11 | operating system and container runtime security. 12 | 13 | The publication merely serves as a guide and only calls out examples specific of 14 | the Docker container runtime where applicable. The intent of this publication is 15 | to help enhance your organizational standards and support your risk 16 | management processes as they pertain to container usage. 17 | -------------------------------------------------------------------------------- /docs/compliance/nist/800_53.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: NIST 800-53 compliance guidance for Docker Enterprise Edition 3 | keywords: standards, compliance, security 4 | title: NIST SP 800-53 5 | --- 6 | 7 | NIST Special Publication (SP) 800-53 contains a listing of security controls 8 | that organizations often reference for ensuring the security and validity of 9 | their information systems. The official listing of controls can be found on the 10 | [NIST website](https://nvd.nist.gov/800-53). 11 | 12 | Many of the NIST 800-53 controls are applicable to the components that make up 13 | Docker Enterprise Edition. This includes Docker EE Engine, Universal Control 14 | Plane and Docker Trusted Registry. Refer to the [NIST 800-53 15 | reference](/compliance/reference/800-53/) for more details. 16 | -------------------------------------------------------------------------------- /docs/compliance/nist/itl_october2017.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: NIST ITL October 2017 NIST Guidance on Application Container Security 3 | keywords: standards, compliance, security 4 | title: NIST ITL October 2017 guidance on application container security 5 | --- 6 | 7 | The NIST [Information Technology Laboratory (ITL) Bulletin dated October 8 | 2017](https://csrc.nist.gov/publications/detail/itl-bulletin/2017/10/application-container-security/final), 9 | *NIST Guidance on Application Container Security*, is a summarization of the 10 | content made available in [NIST SP 800-190](800_190.md) and [NISTIR 11 | 8176](nistir_8176.md). It provides a fundamental high-level starting point from 12 | which to evaluate the primary security enhancements that containers provide. It 13 | is not specific to any one container runtime. 14 | -------------------------------------------------------------------------------- /docs/compliance/nist/nistir_8176.md: -------------------------------------------------------------------------------- 1 | --- 2 | description: NISTIR 8176 3 | keywords: standards, compliance, security 4 | title: NISTIR 8176 security assurance requirements for linux application container deployments 5 | --- 6 | 7 | [NIST Interagency Report (NISTIR) 8 | 8176](https://csrc.nist.gov/publications/detail/nistir/8176/final), *Security 9 | Assurance Requiements for Linux Application Container Deployments*, is a 10 | detailed report that highlights the effectiveness of application container 11 | security on Linux-based infrastructure. It demonstrates the use of container 12 | security configurations at various layers of the stack; from hardware root of 13 | trust, to host OS kernel, container runtime configuration, and the containerized 14 | software supply chain. The report is a complement to [NIST SP 15 | 800-190](800_190.md) and [NIST ITL Bulletin October 2017](itl_october2017.md) 16 | and is not specific to any one container runtime. -------------------------------------------------------------------------------- /docs/generator/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:latest AS builder 2 | WORKDIR /go/src/github.com/docker/compliance/docs/generator 3 | COPY . . 4 | RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o generator . 5 | 6 | FROM scratch 7 | COPY --from=builder /go/src/github.com/docker/compliance/docs/generator . 8 | ENTRYPOINT ["/generator"] 9 | -------------------------------------------------------------------------------- /docs/generator/Gopkg.toml: -------------------------------------------------------------------------------- 1 | 2 | # Gopkg.toml example 3 | # 4 | # Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md 5 | # for detailed Gopkg.toml documentation. 6 | # 7 | # required = ["github.com/user/thing/cmd/thing"] 8 | # ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] 9 | # 10 | # [[constraint]] 11 | # name = "github.com/user/project" 12 | # version = "1.0.0" 13 | # 14 | # [[constraint]] 15 | # name = "github.com/user/project2" 16 | # branch = "dev" 17 | # source = "github.com/myfork/project2" 18 | # 19 | # [[override]] 20 | # name = "github.com/x/y" 21 | # version = "2.4.0" 22 | 23 | 24 | [[constraint]] 25 | branch = "master" 26 | name = "github.com/opencontrol/compliance-masonry" 27 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/.gx/lastpubver: -------------------------------------------------------------------------------- 1 | 3.4.0: QmZTgGMg34JKEvF1hjr7wwYESvFhg9Khv2WFibDAi5dhno 2 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/json.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // MarshalJSON implements the encoding/json.Marshaler interface. 8 | func (v Version) MarshalJSON() ([]byte, error) { 9 | return json.Marshal(v.String()) 10 | } 11 | 12 | // UnmarshalJSON implements the encoding/json.Unmarshaler interface. 13 | func (v *Version) UnmarshalJSON(data []byte) (err error) { 14 | var versionString string 15 | 16 | if err = json.Unmarshal(data, &versionString); err != nil { 17 | return 18 | } 19 | 20 | *v, err = Parse(versionString) 21 | 22 | return 23 | } 24 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "blang", 3 | "bugs": { 4 | "URL": "https://github.com/blang/semver/issues", 5 | "url": "https://github.com/blang/semver/issues" 6 | }, 7 | "gx": { 8 | "dvcsimport": "github.com/blang/semver" 9 | }, 10 | "gxVersion": "0.10.0", 11 | "language": "go", 12 | "license": "MIT", 13 | "name": "semver", 14 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 15 | "version": "3.4.0" 16 | } 17 | 18 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/sort.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "sort" 5 | ) 6 | 7 | // Versions represents multiple versions. 8 | type Versions []Version 9 | 10 | // Len returns length of version collection 11 | func (s Versions) Len() int { 12 | return len(s) 13 | } 14 | 15 | // Swap swaps two versions inside the collection by its indices 16 | func (s Versions) Swap(i, j int) { 17 | s[i], s[j] = s[j], s[i] 18 | } 19 | 20 | // Less checks if version at index i is less than version at index j 21 | func (s Versions) Less(i, j int) bool { 22 | return s[i].LT(s[j]) 23 | } 24 | 25 | // Sort sorts a slice of versions 26 | func Sort(versions []Version) { 27 | sort.Sort(Versions(versions)) 28 | } 29 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/sort_test.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "reflect" 5 | "testing" 6 | ) 7 | 8 | func TestSort(t *testing.T) { 9 | v100, _ := Parse("1.0.0") 10 | v010, _ := Parse("0.1.0") 11 | v001, _ := Parse("0.0.1") 12 | versions := []Version{v010, v100, v001} 13 | Sort(versions) 14 | 15 | correct := []Version{v001, v010, v100} 16 | if !reflect.DeepEqual(versions, correct) { 17 | t.Fatalf("Sort returned wrong order: %s", versions) 18 | } 19 | } 20 | 21 | func BenchmarkSort(b *testing.B) { 22 | v100, _ := Parse("1.0.0") 23 | v010, _ := Parse("0.1.0") 24 | v001, _ := Parse("0.0.1") 25 | b.ReportAllocs() 26 | b.ResetTimer() 27 | for n := 0; n < b.N; n++ { 28 | Sort([]Version{v010, v100, v001}) 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/sql.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "database/sql/driver" 5 | "fmt" 6 | ) 7 | 8 | // Scan implements the database/sql.Scanner interface. 9 | func (v *Version) Scan(src interface{}) (err error) { 10 | var str string 11 | switch src := src.(type) { 12 | case string: 13 | str = src 14 | case []byte: 15 | str = string(src) 16 | default: 17 | return fmt.Errorf("Version.Scan: cannot convert %T to string.", src) 18 | } 19 | 20 | if t, err := Parse(str); err == nil { 21 | *v = t 22 | } 23 | 24 | return 25 | } 26 | 27 | // Value implements the database/sql/driver.Valuer interface. 28 | func (v Version) Value() (driver.Value, error) { 29 | return v.String(), nil 30 | } 31 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/blang/semver/sql_test.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | type scanTest struct { 8 | val interface{} 9 | shouldError bool 10 | expected string 11 | } 12 | 13 | var scanTests = []scanTest{ 14 | {"1.2.3", false, "1.2.3"}, 15 | {[]byte("1.2.3"), false, "1.2.3"}, 16 | {7, true, ""}, 17 | {7e4, true, ""}, 18 | {true, true, ""}, 19 | } 20 | 21 | func TestScanString(t *testing.T) { 22 | for _, tc := range scanTests { 23 | s := &Version{} 24 | err := s.Scan(tc.val) 25 | if tc.shouldError { 26 | if err == nil { 27 | t.Fatalf("Scan did not return an error on %v (%T)", tc.val, tc.val) 28 | } 29 | } else { 30 | if err != nil { 31 | t.Fatalf("Scan returned an unexpected error: %s (%T) on %v (%T)", tc.val, tc.val, tc.val, tc.val) 32 | } 33 | if val, _ := s.Value(); val != tc.expected { 34 | t.Errorf("Wrong Value returned, expected %q, got %q", tc.expected, val) 35 | } 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-forks/fsnotify/.gitignore: -------------------------------------------------------------------------------- 1 | # Setup a Global .gitignore for OS and editor generated files: 2 | # https://help.github.com/articles/ignoring-files 3 | # git config --global core.excludesfile ~/.gitignore_global 4 | 5 | .vagrant 6 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-forks/fsnotify/AUTHORS: -------------------------------------------------------------------------------- 1 | # Names should be added to this file as 2 | # Name or Organization 3 | # The email address is not required for organizations. 4 | 5 | # You can update this list using the following command: 6 | # 7 | # $ git shortlog -se | awk '{print $2 " " $3 " " $4}' 8 | 9 | # Please keep the list sorted. 10 | 11 | Adrien Bustany 12 | Caleb Spare 13 | Case Nelson 14 | Chris Howey 15 | Christoffer Buchholz 16 | Dave Cheney 17 | Francisco Souza 18 | John C Barstow 19 | Kelvin Fo 20 | Nathan Youngman 21 | Paul Hammond 22 | Pursuit92 23 | Rob Figueiredo 24 | Travis Cline 25 | Tudor Golubenco 26 | bronze1man 27 | debrando 28 | henrikedwards 29 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-forks/fsnotify/example_test.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package fsnotify_test 6 | 7 | import ( 8 | "log" 9 | 10 | "github.com/howeyc/fsnotify" 11 | ) 12 | 13 | func ExampleNewWatcher() { 14 | watcher, err := fsnotify.NewWatcher() 15 | if err != nil { 16 | log.Fatal(err) 17 | } 18 | 19 | go func() { 20 | for { 21 | select { 22 | case ev := <-watcher.Event: 23 | log.Println("event:", ev) 24 | case err := <-watcher.Error: 25 | log.Println("error:", err) 26 | } 27 | } 28 | }() 29 | 30 | err = watcher.Watch("/tmp/foo") 31 | if err != nil { 32 | log.Fatal(err) 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-forks/fsnotify/fsnotify_open_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build freebsd openbsd netbsd 6 | 7 | package fsnotify 8 | 9 | import "syscall" 10 | 11 | const open_FLAGS = syscall.O_NONBLOCK | syscall.O_RDONLY 12 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-forks/fsnotify/fsnotify_open_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin 6 | 7 | package fsnotify 8 | 9 | import "syscall" 10 | 11 | const open_FLAGS = syscall.O_EVTONLY 12 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-utils/ufs/_gob.gtxt: -------------------------------------------------------------------------------- 1 | package uio 2 | 3 | /* 4 | import ( 5 | "compress/gzip" 6 | "encoding/gob" 7 | "os" 8 | 9 | // wot 10 | 11 | util "github.com/metaleap/go-util-misc" 12 | ) 13 | 14 | type AnyToAny func(src interface{}) interface{} 15 | 16 | func PtrVal(ptr interface{}) interface{} { 17 | return reflect.Indirect(reflect.ValueOf(ptr)).Interface() 18 | } 19 | 20 | func CreateGobsFile (targetFilePath string, recs []interface{}, getRecPtr util.AnyToAny, gzipped bool) (err error) { 21 | var file *os.File 22 | var gobber *gob.Encoder 23 | var gzipper *gzip.Writer 24 | if file, err = os.Create(targetFilePath); file != nil { 25 | defer file.Close() 26 | } 27 | if err != nil { return } 28 | if gzipped { 29 | if gzipper, err = gzip.NewWriterLevel(file, gzip.BestCompression); gzipper != nil { 30 | defer gzipper.Close() 31 | gobber = gob.NewEncoder(gzipper) 32 | } 33 | if err != nil { return } 34 | } else { 35 | gobber = gob.NewEncoder(file) 36 | } 37 | for _, rec := range recs { 38 | if err = gobber.Encode(util.PtrVal(getRecPtr(rec))); err != nil { return } 39 | } 40 | return 41 | } 42 | */ 43 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-utils/ufs/doc.go: -------------------------------------------------------------------------------- 1 | // Go programming helpers for common file-system needs. 2 | package ufs 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/go-utils/ufs/watcher-sandboxed.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package ufs 4 | 5 | import ( 6 | "path/filepath" 7 | 8 | "github.com/metaleap/go-util-str" 9 | ) 10 | 11 | // A convenient wrapper around `go-forks/fsnotify.Watcher`. 12 | // 13 | // **NOTE**: `godocdown` picked `watcher-sandboxed.go` shim instead of `watcher-default.go`: 14 | // Refer to http://godoc.org/github.com/metaleap/go-util-fs#Watcher for *actual* docs on `Watcher`. 15 | type Watcher struct { 16 | } 17 | 18 | // Returns a new `Watcher`, `err` is always nil. 19 | func NewWatcher() (me *Watcher, err error) { 20 | me = &Watcher{} 21 | return 22 | } 23 | 24 | // Closes the underlying `me.Watcher`. 25 | func (me *Watcher) Close() (err error) { 26 | return 27 | } 28 | 29 | func (me *Watcher) Go() { 30 | } 31 | 32 | func (me *Watcher) WatchIn(dirPath string, namePattern ustr.Pattern, runHandlerNow bool, handler WatcherHandler) (errs []error) { 33 | if runHandlerNow { 34 | errs = watchRunHandler(filepath.Clean(dirPath), namePattern, handler) 35 | } 36 | return 37 | } 38 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/metaleap/go-util-misc/doc.go: -------------------------------------------------------------------------------- 1 | // Go programming helpers for common miscellaneous needs. 2 | package ugo 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/metaleap/go-util-slice/-gen-sort.gt: -------------------------------------------------------------------------------- 1 | package gt 2 | 3 | import "sort" 4 | 5 | type sort__N__ struct { 6 | descending bool 7 | slice []__T__ 8 | } 9 | 10 | // Implements `sort.Interface.Len`. 11 | func (me *sort__N__) Len() int { return len(me.slice) } 12 | 13 | // Implements `sort.Interface.Less`. 14 | func (me *sort__N__) Less(i, j int) bool { 15 | if me.descending { 16 | return me.slice[j] < me.slice[i] 17 | } 18 | return me.slice[i] < me.slice[j] 19 | } 20 | 21 | // Implements `sort.Interface.Swap`. 22 | func (me *sort__N__) Swap(i, j int) { me.slice[i], me.slice[j] = me.slice[j], me.slice[i] } 23 | 24 | // Returns `sl` sorted by ascending order. 25 | func __N__SortAsc(sl []__T__) []__T__ { 26 | me := &sort__N__{descending: false, slice: sl} 27 | sort.Sort(me) 28 | return me.slice 29 | } 30 | 31 | // Returns `sl` sorted by decending order. 32 | func __N__SortDesc(sl []__T__) []__T__ { 33 | me := &sort__N__{descending: true, slice: sl} 34 | sort.Sort(me) 35 | return me.slice 36 | } 37 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/metaleap/go-util-slice/doc.go: -------------------------------------------------------------------------------- 1 | // Go programming helpers for common 'pseudo-generic' typed-slice needs. 2 | package uslice 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/metaleap/go-util-str/buf.go: -------------------------------------------------------------------------------- 1 | package ustr 2 | 3 | import ( 4 | "bytes" 5 | "fmt" 6 | ) 7 | 8 | // A convenient wrapper for `bytes.Buffer`. 9 | type Buffer struct { 10 | bytes.Buffer 11 | } 12 | 13 | 14 | // Convenience short-hand for `bytes.Buffer.WriteString(fmt.Sprintf(format, args...))` 15 | func (me *Buffer) Write(format string, args ...interface{}) { 16 | if len(args) > 0 { 17 | format = fmt.Sprintf(format, args...) 18 | } 19 | me.Buffer.WriteString(format) 20 | } 21 | 22 | // Convenience short-hand for `bytes.Buffer.WriteString(fmt.Sprintf(format+"\n", args...))` 23 | func (me *Buffer) Writeln(format string, args ...interface{}) { 24 | me.Write(format, args...) 25 | me.Buffer.WriteString("\n") 26 | } 27 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/metaleap/go-util-str/doc.go: -------------------------------------------------------------------------------- 1 | // Go programming helpers for common string-processing needs. 2 | package ustr 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/.codeclimate.yml: -------------------------------------------------------------------------------- 1 | engines: 2 | fixme: 3 | enabled: true 4 | gofmt: 5 | enabled: true 6 | golint: 7 | enabled: true 8 | exclude_paths: 9 | # Ginkgo/Gomega style aren't compatible 10 | - "**_test.go" 11 | govet: 12 | enabled: true 13 | ratings: 14 | paths: 15 | - "**.go" 16 | exclude_paths: 17 | - fixtures/ 18 | - vendor/ 19 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/.dockerignore: -------------------------------------------------------------------------------- 1 | circleci/ 2 | docs/ 3 | exampleplugin/ 4 | fixtures/ 5 | .codeclimate.yml 6 | .git 7 | .gitignore 8 | .goxc.json 9 | appveyor.yml 10 | circle.yml 11 | CONTRIBUTING.md 12 | release.sh -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/.gitignore: -------------------------------------------------------------------------------- 1 | .goxc.local.json 2 | /compliance-masonry 3 | *.swp 4 | *.out 5 | vendor 6 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/.goxc.json: -------------------------------------------------------------------------------- 1 | { 2 | "Tasks": [ 3 | "default", 4 | "publish-github" 5 | ], 6 | "TasksExclude": [ 7 | "go-test" 8 | ], 9 | "BuildConstraints": "linux,windows,darwin", 10 | "PackageVersion": "1.1.2", 11 | "TaskSettings": { 12 | "publish-github": { 13 | "owner": "opencontrol", 14 | "repository": "compliance-masonry" 15 | } 16 | }, 17 | "ConfigVersion": "0.9" 18 | } 19 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.8-alpine 2 | RUN apk add --no-cache git openssh 3 | WORKDIR /go/src/github.com/opencontrol/compliance-masonry 4 | ADD . . 5 | RUN go install 6 | ENTRYPOINT ["/go/bin/compliance-masonry"] 7 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: 1.0.{build} 2 | branches: 3 | only: 4 | - master 5 | clone_folder: c:\gopath\src\github.com\opencontrol\compliance-masonry 6 | environment: 7 | GOPATH: c:\gopath 8 | install: 9 | - cmd: >- 10 | echo %GOPATH% 11 | 12 | go version 13 | 14 | go env 15 | 16 | go get github.com/golang/dep/cmd/dep github.com/Masterminds/glide 17 | 18 | set PATH=%PATH%;%GOPATH%\bin 19 | 20 | dep ensure 21 | build_script: 22 | - cmd: go build 23 | test_script: 24 | - cmd: FOR /F %%A IN ('glide novendor') DO go test -v %%A || exit /b 1 25 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/circle.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | working_directory: /go/src/github.com/opencontrol/compliance-masonry 5 | docker: 6 | - image: golang:1.8-alpine 7 | steps: 8 | - run: 9 | name: Install Git 10 | command: apk add --no-cache bash gcc git musl-dev 11 | - checkout 12 | 13 | - run: 14 | name: Install dependencies 15 | command: | 16 | go get -u github.com/golang/dep/cmd/dep 17 | dep ensure 18 | - run: 19 | name: Build the program 20 | command: go build 21 | 22 | - run: 23 | name: Download test dependencies 24 | command: | 25 | go get -u \ 26 | github.com/golang/dep/cmd/dep \ 27 | github.com/axw/gocov/gocov \ 28 | github.com/kisielk/errcheck \ 29 | github.com/mattn/goveralls \ 30 | golang.org/x/tools/cmd/cover 31 | - run: 32 | name: Run tests 33 | command: ./circleci/coverage.sh 34 | - run: 35 | name: Check for unhandled errors 36 | command: errcheck 37 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/circleci/README.md: -------------------------------------------------------------------------------- 1 | ## Circle CI Scripts 2 | 3 | Call these scripts from the root of the repository 4 | - `circleci/coverage.sh # example` 5 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/circleci/coverage.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | cov_file=/tmp/coverage.txt 6 | 7 | # Get the list of packages. 8 | pkgs=`go list ./... | grep -v vendor` 9 | 10 | echo "mode: count" > $cov_file 11 | for pkg in $pkgs 12 | do 13 | go test -v -covermode=count $pkg -coverprofile=tmp.cov 14 | if [ -f tmp.cov ] 15 | then 16 | cat tmp.cov | tail -n +2 >> $cov_file 17 | rm tmp.cov 18 | fi 19 | done 20 | 21 | go tool cover -func $cov_file 22 | 23 | mv $cov_file . && bash <(curl -s https://codecov.io/bash) 24 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/diff/diff_suite_test.go: -------------------------------------------------------------------------------- 1 | package diff_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestDiff(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Diff Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/docs/docs.go: -------------------------------------------------------------------------------- 1 | package docs 2 | 3 | import ( 4 | "os" 5 | 6 | "github.com/opencontrol/compliance-masonry/commands/docs/gitbook" 7 | "github.com/opencontrol/compliance-masonry/tools/certifications" 8 | ) 9 | 10 | // MakeGitbook is the wrapper function that will create a gitbook for the specified certification. 11 | func MakeGitbook(config gitbook.Config) (string, []error) { 12 | warning := "" 13 | certificationPath, err := certifications.GetCertification(config.OpencontrolDir, config.Certification) 14 | if certificationPath == "" { 15 | return warning, err 16 | } 17 | if _, err := os.Stat(config.MarkdownPath); os.IsNotExist(err) { 18 | warning = "Warning: markdown directory does not exist" 19 | } 20 | config.Certification = certificationPath 21 | if err := config.BuildGitbook(); err != nil { 22 | return warning, err 23 | } 24 | return warning, nil 25 | } 26 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/docs/docs_suite_test.go: -------------------------------------------------------------------------------- 1 | package docs_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestDocs(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Docs Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/get/get.go: -------------------------------------------------------------------------------- 1 | package get 2 | 3 | import ( 4 | "github.com/opencontrol/compliance-masonry/commands/get/resources" 5 | "github.com/opencontrol/compliance-masonry/lib/common" 6 | "github.com/opencontrol/compliance-masonry/lib/opencontrol" 7 | ) 8 | 9 | // Get will retrieve all of the resources for the schemas and the resources for all the dependent schemas. 10 | func Get(destination string, configData []byte) error { 11 | // Check the data. 12 | if configData == nil || len(configData) == 0 { 13 | return common.ErrNoDataToParse 14 | } 15 | // Parse it. 16 | parser := opencontrol.YAMLParser{} 17 | configSchema, err := parser.Parse(configData) 18 | if err != nil { 19 | return err 20 | } 21 | // Get Resources 22 | getter := resources.NewVCSAndLocalGetter(parser) 23 | err = resources.GetResources("", destination, configSchema, getter) 24 | if err != nil { 25 | return err 26 | } 27 | return nil 28 | } 29 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/get/resources/downloader.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | "github.com/opencontrol/compliance-masonry/lib/common" 5 | "github.com/opencontrol/compliance-masonry/tools/vcs" 6 | ) 7 | 8 | // Downloader is a generic interface for how to download entries. 9 | type Downloader interface { 10 | DownloadRepo(common.RemoteSource, string) error 11 | } 12 | 13 | // NewVCSDownloader is a constructor for downloading entries using VCS methods. 14 | func NewVCSDownloader() Downloader { 15 | return vcsEntryDownloader{vcs.Manager{}} 16 | } 17 | 18 | type vcsEntryDownloader struct { 19 | manager vcs.RepoManager 20 | } 21 | 22 | // DownloadEntry is a implementation for downloading entries using VCS methods. 23 | func (v vcsEntryDownloader) DownloadRepo(entry common.RemoteSource, destination string) error { 24 | err := v.manager.Clone(entry.GetURL(), entry.GetRevision(), destination) 25 | if err != nil { 26 | return err 27 | } 28 | return nil 29 | } 30 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/get/resources/mocks/Downloader.go: -------------------------------------------------------------------------------- 1 | package mocks 2 | 3 | import "github.com/stretchr/testify/mock" 4 | 5 | import "github.com/opencontrol/compliance-masonry/lib/common" 6 | 7 | // Downloader is an autogenerated mock type for the Downloader type 8 | type Downloader struct { 9 | mock.Mock 10 | } 11 | 12 | // DownloadRepo provides a mock function with given fields: _a0, _a1 13 | func (_m *Downloader) DownloadRepo(_a0 common.RemoteSource, _a1 string) error { 14 | ret := _m.Called(_a0, _a1) 15 | 16 | var r0 error 17 | if rf, ok := ret.Get(0).(func(common.RemoteSource, string) error); ok { 18 | r0 = rf(_a0, _a1) 19 | } else { 20 | r0 = ret.Error(0) 21 | } 22 | 23 | return r0 24 | } 25 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/commands/get/resources/resources_suite_test.go: -------------------------------------------------------------------------------- 1 | package resources 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestResources(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Resources Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/compliance_masonry_go_suite_test.go: -------------------------------------------------------------------------------- 1 | package main_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestComplianceMasonryGo(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "ComplianceMasonryGo Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/docs/assets/data_flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/generator/vendor/github.com/opencontrol/compliance-masonry/docs/assets/data_flow.png -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/docs/assets/workflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/generator/vendor/github.com/opencontrol/compliance-masonry/docs/assets/workflow.png -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/exampleplugin/example.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "github.com/opencontrol/compliance-masonry/lib" 6 | "github.com/opencontrol/compliance-masonry/lib/common" 7 | "io" 8 | "os" 9 | ) 10 | 11 | type plugin struct { 12 | common.Workspace 13 | } 14 | 15 | func simpleDataExtract(p plugin) string { 16 | selectJustifications := p.GetAllVerificationsWith("NIST-800-53", "CM-2") 17 | if len(selectJustifications) == 0 { 18 | return "no data" 19 | } 20 | return selectJustifications[0].SatisfiesData.GetImplementationStatus() 21 | } 22 | 23 | func run(workspacePath, certPath string, writer io.Writer) { 24 | workspace, _ := lib.LoadData(workspacePath, certPath) 25 | sampleData := simpleDataExtract(plugin{workspace}) 26 | fmt.Fprint(writer, sampleData) 27 | } 28 | 29 | func main() { 30 | // in reality you would check the number of args. 31 | run(os.Args[1], os.Args[2], os.Stdout) 32 | } 33 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/exampleplugin/exampleplugin_suite_test.go: -------------------------------------------------------------------------------- 1 | package main_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestExampleplugin(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Exampleplugin Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/exampleplugin/opencontrol.yaml: -------------------------------------------------------------------------------- 1 | schema_version: "1.0.0" 2 | name: test-opencontrol-yaml 3 | metadata: 4 | description: "This opencontrol YAML is just used for showing various levels of testing. For more details refer to example_test.go" 5 | dependencies: 6 | standards: 7 | - url: https://github.com/opencontrol/NIST-800-53-Standards 8 | revision: master 9 | certifications: 10 | - url: https://github.com/opencontrol/FedRAMP-Certifications 11 | revision: master 12 | systems: 13 | - url: https://github.com/opencontrol/aws-compliance 14 | revision: master -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/component_fixtures/common/EC2UnsupportedVersion/component.yaml: -------------------------------------------------------------------------------- 1 | documentation_complete: false 2 | name: Amazon Elastic Compute Cloud 3 | references: 4 | - name: Reference 5 | path: http://VerificationURL.com 6 | type: URL 7 | satisfies: 8 | - control_key: CM-2 9 | covered_by: 10 | - verification_key: EC2_Verification_1 11 | - component_key: UAA 12 | system_key: CloudFoundry 13 | verification_key: UAA_Verification_1 14 | implementation_status: partial 15 | narrative: Justification in narrative form 16 | standard_key: NIST-800-53 17 | schema_version: 1.0.0 18 | verifications: 19 | - key: EC2_Verification_2 20 | name: EC2 Governor 2 21 | path: artifact-ec2-1.png 22 | type: Image 23 | - key: EC2_Verification_1 24 | name: EC2 Verification 1 25 | path: http://VerificationURL.com 26 | type: URL -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/component_fixtures/common/EC2VersionNotSemver/component.yaml: -------------------------------------------------------------------------------- 1 | documentation_complete: false 2 | name: Amazon Elastic Compute Cloud 3 | references: 4 | - name: Reference 5 | path: http://VerificationURL.com 6 | type: URL 7 | satisfies: 8 | - control_key: CM-2 9 | covered_by: 10 | - verification_key: EC2_Verification_1 11 | - component_key: UAA 12 | system_key: CloudFoundry 13 | verification_key: UAA_Verification_1 14 | implementation_status: partial 15 | narrative: Justification in narrative form 16 | standard_key: NIST-800-53 17 | schema_version: 1.0 18 | verifications: 19 | - key: EC2_Verification_2 20 | name: EC2 Governor 2 21 | path: artifact-ec2-1.png 22 | type: Image 23 | - key: EC2_Verification_1 24 | name: EC2 Verification 1 25 | path: http://VerificationURL.com 26 | type: URL -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/component_fixtures/common/EC2_InvalidFieldTypeForVersion2_0/component.yaml: -------------------------------------------------------------------------------- 1 | documentation_complete: false 2 | name: Amazon Elastic Compute Cloud 3 | references: 4 | - name: Reference 5 | path: http://VerificationURL.com 6 | type: URL 7 | satisfies: 8 | - control_key: CM-2 9 | covered_by: "wrong" 10 | implementation_status: partial 11 | narrative: "Justification in narrative form for CM-2" 12 | standard_key: NIST-800-53 13 | schema_version: 2.0 14 | verifications: 15 | - key: EC2_Verification_2 16 | name: EC2 Governor 2 17 | path: artifact-ec2-1.png 18 | type: Image 19 | - key: EC2_Verification_1 20 | name: EC2 Verification 1 21 | path: http://VerificationURL.com 22 | type: URL -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/README.md: -------------------------------------------------------------------------------- 1 | ## Standards 2 | * [AC](standards/NIST-800-53-AC.md) 3 | * [AC-2](standards/NIST-800-53-AC-2.md) 4 | * [AC-6](standards/NIST-800-53-AC-6.md) 5 | * [CM](standards/NIST-800-53-CM.md) 6 | * [CM-2](standards/NIST-800-53-CM-2.md) 7 | * [1](standards/PCI-DSS-MAY-2015-1.md) 8 | * [1.1](standards/PCI-DSS-MAY-2015-1.1.md) 9 | * [1.1.1](standards/PCI-DSS-MAY-2015-1.1.1.md) 10 | * [2](standards/PCI-DSS-MAY-2015-2.md) 11 | * [2.1](standards/PCI-DSS-MAY-2015-2.1.md) 12 | 13 | ## Components 14 | * [Amazon Elastic Compute Cloud](components/EC2.md) 15 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/SUMMARY.md: -------------------------------------------------------------------------------- 1 | ## Standards 2 | * [AC](standards/NIST-800-53-AC.md) 3 | * [AC-2](standards/NIST-800-53-AC-2.md) 4 | * [AC-6](standards/NIST-800-53-AC-6.md) 5 | * [CM](standards/NIST-800-53-CM.md) 6 | * [CM-2](standards/NIST-800-53-CM-2.md) 7 | * [1](standards/PCI-DSS-MAY-2015-1.md) 8 | * [1.1](standards/PCI-DSS-MAY-2015-1.1.md) 9 | * [1.1.1](standards/PCI-DSS-MAY-2015-1.1.1.md) 10 | * [2](standards/PCI-DSS-MAY-2015-2.md) 11 | * [2.1](standards/PCI-DSS-MAY-2015-2.1.md) 12 | 13 | ## Components 14 | * [Amazon Elastic Compute Cloud](components/EC2.md) 15 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/components/EC2.md: -------------------------------------------------------------------------------- 1 | # Amazon Elastic Compute Cloud 2 | ## References 3 | * [Reference](http://VerificationURL.com) 4 | ## Verifications 5 | * [EC2 Governor 2](artifact-ec2-1.png) 6 | * [EC2 Verification 1](http://VerificationURL.com) 7 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/NIST-800-53-AC-6.md: -------------------------------------------------------------------------------- 1 | #NIST-800-53-AC-6 2 | ##Least Privilege 3 | #### Description 4 | 'The organization employs the principle of least privilege, allowing only 5 | authorized accesses for users (or processes acting on behalf of users) which 6 | are necessary to accomplish assigned tasks in accordance with organizational 7 | missions and business functions.' 8 | 9 | No information found for the combination of standard NIST-800-53 and control AC-6 10 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/NIST-800-53-AC.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-AC 2 | * [AC-2: Account Management](NIST-800-53-AC-2.md) 3 | * [AC-6: Least Privilege](NIST-800-53-AC-6.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/NIST-800-53-CM-2.md: -------------------------------------------------------------------------------- 1 | #NIST-800-53-CM-2 2 | ##Baseline Configuration 3 | #### Description 4 | 'The organization develops, documents, and maintains under configuration 5 | control, a current baseline configuration of the information system.' 6 | 7 | #### Amazon Elastic Compute Cloud 8 | 9 | ##### Responsible Role: AWS Staff 10 | 11 | ##### Control Origin: shared 12 | 13 | ##### a 14 | Justification in narrative form A for CM-2 15 | 16 | ##### b 17 | Justification in narrative form B for CM-2 18 | Covered By: 19 | * [Amazon Elastic Compute Cloud - EC2 Verification 1](../components/EC2.md) 20 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/NIST-800-53-CM.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-CM 2 | * [CM-2: Baseline Configuration](NIST-800-53-CM-2.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/PCI-DSS-MAY-2015-1.1.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-1.1.1 2 | ##A formal process for approving and testing all network connections and changes to the firewall and router configurations 3 | 4 | No information found for the combination of standard PCI-DSS-MAY-2015 and control 1.1.1 5 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/PCI-DSS-MAY-2015-1.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-1.1 2 | ##Establish and implement firewall and router configuration standards. 3 | 4 | #### Amazon Elastic Compute Cloud 5 | 6 | ##### Responsible Role: AWS Staff 7 | 8 | ##### Parameters: 9 | 10 | ###### a 11 | Parameter A for 1.1 12 | 13 | ###### b 14 | Parameter B for 1.1 15 | 16 | ##### Control Origin: inherited 17 | 18 | No narrative found for the combination of standard PCI-DSS-MAY-2015 and control 1.1 19 | Covered By: 20 | * [Amazon Elastic Compute Cloud - EC2 Verification 1](../components/EC2.md) 21 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/PCI-DSS-MAY-2015-1.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-1 2 | * [1.1: Establish and implement firewall and router configuration standards.](PCI-DSS-MAY-2015-1.1.md) 3 | * [1.1.1: A formal process for approving and testing all network connections and changes to the firewall and router configurations](PCI-DSS-MAY-2015-1.1.1.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/PCI-DSS-MAY-2015-2.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-2.1 2 | ##Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network. 3 | 4 | #### Amazon Elastic Compute Cloud 5 | 6 | ##### Responsible Role: AWS Staff 7 | 8 | ##### Control Origin: inherited 9 | Justification in narrative form for 2.1 10 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export/standards/PCI-DSS-MAY-2015-2.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-2 2 | * [2.1: Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network.](PCI-DSS-MAY-2015-2.1.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/README.md: -------------------------------------------------------------------------------- 1 | ## Standards 2 | * [AC](standards/NIST-800-53-AC.md) 3 | * [AC-2](standards/NIST-800-53-AC-2.md) 4 | * [AC-6](standards/NIST-800-53-AC-6.md) 5 | * [CM](standards/NIST-800-53-CM.md) 6 | * [CM-2](standards/NIST-800-53-CM-2.md) 7 | * [1](standards/PCI-DSS-MAY-2015-1.md) 8 | * [1.1](standards/PCI-DSS-MAY-2015-1.1.md) 9 | * [1.1.1](standards/PCI-DSS-MAY-2015-1.1.1.md) 10 | * [2](standards/PCI-DSS-MAY-2015-2.md) 11 | * [2.1](standards/PCI-DSS-MAY-2015-2.1.md) 12 | 13 | ## Components 14 | * [Amazon Elastic Compute Cloud](components/EC2.md) 15 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/SUMMARY.md: -------------------------------------------------------------------------------- 1 | This is an SSP 2 | ## Standards 3 | * [AC](standards/NIST-800-53-AC.md) 4 | * [AC-2](standards/NIST-800-53-AC-2.md) 5 | * [AC-6](standards/NIST-800-53-AC-6.md) 6 | * [CM](standards/NIST-800-53-CM.md) 7 | * [CM-2](standards/NIST-800-53-CM-2.md) 8 | * [1](standards/PCI-DSS-MAY-2015-1.md) 9 | * [1.1](standards/PCI-DSS-MAY-2015-1.1.md) 10 | * [1.1.1](standards/PCI-DSS-MAY-2015-1.1.1.md) 11 | * [2](standards/PCI-DSS-MAY-2015-2.md) 12 | * [2.1](standards/PCI-DSS-MAY-2015-2.1.md) 13 | 14 | ## Components 15 | * [Amazon Elastic Compute Cloud](components/EC2.md) 16 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/components/EC2.md: -------------------------------------------------------------------------------- 1 | # Amazon Elastic Compute Cloud 2 | ## References 3 | * [Reference](http://VerificationURL.com) 4 | ## Verifications 5 | * [EC2 Governor 2](artifact-ec2-1.png) 6 | * [EC2 Verification 1](http://VerificationURL.com) 7 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/NIST-800-53-AC-2.md: -------------------------------------------------------------------------------- 1 | #NIST-800-53-AC-2 2 | ##Account Management 3 | 4 | No information found for the combination of standard NIST-800-53 and control AC-2 5 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/NIST-800-53-AC-6.md: -------------------------------------------------------------------------------- 1 | #NIST-800-53-AC-6 2 | ##Least Privilege 3 | 4 | No information found for the combination of standard NIST-800-53 and control AC-6 5 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/NIST-800-53-AC.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-AC 2 | * [AC-2: Account Management](NIST-800-53-AC-2.md) 3 | * [AC-6: Least Privilege](NIST-800-53-AC-6.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/NIST-800-53-CM-2.md: -------------------------------------------------------------------------------- 1 | #NIST-800-53-CM-2 2 | ##Baseline Configuration 3 | 4 | #### Amazon Elastic Compute Cloud 5 | 6 | ##### Responsible Role: AWS Staff 7 | 8 | ##### Control Origin: shared 9 | 10 | ##### a 11 | Justification in narrative form A for CM-2 12 | 13 | ##### b 14 | Justification in narrative form B for CM-2 15 | Covered By: 16 | * [Amazon Elastic Compute Cloud - EC2 Verification 1](../components/EC2.md) 17 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/NIST-800-53-CM.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-CM 2 | * [CM-2: Baseline Configuration](NIST-800-53-CM-2.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/PCI-DSS-MAY-2015-1.1.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-1.1.1 2 | ##A formal process for approving and testing all network connections and changes to the firewall and router configurations 3 | 4 | No information found for the combination of standard PCI-DSS-MAY-2015 and control 1.1.1 5 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/PCI-DSS-MAY-2015-1.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-1.1 2 | ##Establish and implement firewall and router configuration standards. 3 | 4 | #### Amazon Elastic Compute Cloud 5 | 6 | ##### Responsible Role: AWS Staff 7 | 8 | ##### Parameters: 9 | 10 | ###### a 11 | Parameter A for 1.1 12 | 13 | ###### b 14 | Parameter B for 1.1 15 | 16 | ##### Control Origin: inherited 17 | 18 | No narrative found for the combination of standard PCI-DSS-MAY-2015 and control 1.1 19 | Covered By: 20 | * [Amazon Elastic Compute Cloud - EC2 Verification 1](../components/EC2.md) 21 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/PCI-DSS-MAY-2015-1.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-1 2 | * [1.1: Establish and implement firewall and router configuration standards.](PCI-DSS-MAY-2015-1.1.md) 3 | * [1.1.1: A formal process for approving and testing all network connections and changes to the firewall and router configurations](PCI-DSS-MAY-2015-1.1.1.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/PCI-DSS-MAY-2015-2.1.md: -------------------------------------------------------------------------------- 1 | #PCI-DSS-MAY-2015-2.1 2 | ##Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network. 3 | 4 | #### Amazon Elastic Compute Cloud 5 | 6 | ##### Responsible Role: AWS Staff 7 | 8 | ##### Control Origin: inherited 9 | Justification in narrative form for 2.1 10 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/standards/PCI-DSS-MAY-2015-2.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-2 2 | * [2.1: Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network.](PCI-DSS-MAY-2015-2.1.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/complete_export_with_markdown/system_documentation/about-the-ssp.md: -------------------------------------------------------------------------------- 1 | About the System Security Plan 2 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/components_readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## Components 3 | * [Amazon Elastic Compute Cloud](components/EC2.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/general_readme.md: -------------------------------------------------------------------------------- 1 | ## Standards 2 | * [AC-2](standards/NIST-800-53-AC-2.md) 3 | * [AC-6](standards/NIST-800-53-AC-6.md) 4 | * [CM-2](standards/NIST-800-53-CM-2.md) 5 | * [1.1](standards/PCI-DSS-MAY-2015-1.1.md) 6 | * [1.1.1](standards/PCI-DSS-MAY-2015-1.1.1.md) 7 | * [2.1](standards/PCI-DSS-MAY-2015-2.1.md) 8 | 9 | ## Components 10 | * [Amazon Elastic Compute Cloud](components/EC2.md) 11 | * [User Account and Authentication (UAA) Server](components/UAA.md) 12 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/standards/NIST-800-53-AC.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-AC 2 | * [AC-2: Account Management](NIST-800-53-AC-2.md) 3 | * [AC-6: Least Privilege](NIST-800-53-AC-6.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/standards/NIST-800-53-CM.md: -------------------------------------------------------------------------------- 1 | ## NIST-800-53-CM 2 | * [CM-2: Baseline Configuration](NIST-800-53-CM-2.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/standards/PCI-DSS-MAY-2015-1.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-1 2 | * [1.1: Establish and implement firewall and router configuration standards.](PCI-DSS-MAY-2015-1.1.md) 3 | * [1.1.1: A formal process for approving and testing all network connections and changes to the firewall and router configurations](PCI-DSS-MAY-2015-1.1.1.md) 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/standards/PCI-DSS-MAY-2015-2.md: -------------------------------------------------------------------------------- 1 | ## PCI-DSS-MAY-2015-2 2 | * [2.1: Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network.](PCI-DSS-MAY-2015-2.1.md) 3 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/exports_fixtures/gitbook_exports/standards_readme.md: -------------------------------------------------------------------------------- 1 | ## Standards 2 | * [AC](standards/NIST-800-53-AC.md) 3 | * [AC-2: Account Management](standards/NIST-800-53-AC-2.md) 4 | * [AC-6: Least Privilege](standards/NIST-800-53-AC-6.md) 5 | * [CM](standards/NIST-800-53-CM.md) 6 | * [CM-2: Baseline Configuration](standards/NIST-800-53-CM-2.md) 7 | * [1](standards/PCI-DSS-MAY-2015-1.md) 8 | * [1.1: Establish and implement firewall and router configuration standards.](standards/PCI-DSS-MAY-2015-1.1.md) 9 | * [1.1.1: A formal process for approving and testing all network connections and changes to the firewall and router configurations](standards/PCI-DSS-MAY-2015-1.1.1.md) 10 | * [2](standards/PCI-DSS-MAY-2015-2.md) 11 | * [2.1: Always change vendor-supplied defaults and remove or disable unnecessary default accounts before installing a system on the network.](standards/PCI-DSS-MAY-2015-2.1.md) 12 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures/certifications/LATO.yaml: -------------------------------------------------------------------------------- 1 | name: LATO 2 | standards: 3 | NIST-800-53: 4 | AC-2: {} 5 | AC-6: {} 6 | CM-2: {} 7 | PCI-DSS-MAY-2015: 8 | 1.1: {} 9 | 1.1.1: {} 10 | 2.1: {} 11 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures/components/EC2/artifact-ec2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures/components/EC2/artifact-ec2-1.png -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_complete/certifications/LATO.yaml: -------------------------------------------------------------------------------- 1 | name: LATO 2 | standards: 3 | NIST-800-53: 4 | AC-2: {} 5 | AC-6: {} 6 | CM-2: {} 7 | PCI-DSS-MAY-2015: 8 | 1.1: {} 9 | 1.1.1: {} 10 | 2.1: {} 11 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_complete/components/EC2/artifact-ec2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_complete/components/EC2/artifact-ec2-1.png -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_with_markdown/certifications/LATO.yaml: -------------------------------------------------------------------------------- 1 | name: LATO 2 | standards: 3 | NIST-800-53: 4 | AC-2: {} 5 | AC-6: {} 6 | CM-2: {} 7 | PCI-DSS-MAY-2015: 8 | 1.1: {} 9 | 1.1.1: {} 10 | 2.1: {} 11 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_with_markdown/components/EC2/artifact-ec2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_with_markdown/components/EC2/artifact-ec2-1.png -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_with_markdown/markdowns/SUMMARY.md: -------------------------------------------------------------------------------- 1 | This is an SSP 2 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/opencontrol_fixtures_with_markdown/markdowns/system_documentation/about-the-ssp.md: -------------------------------------------------------------------------------- 1 | About the System Security Plan 2 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/fixtures/standards_fixtures/BrokenStandard/NIST-800-53.yaml: -------------------------------------------------------------------------------- 1 | broken non 2 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/release.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | # run `go test` outside of goxc since there wasn't a clean way to ignore the vendor/ directory otherwise 6 | # https://github.com/laher/goxc/issues/99 7 | go test $(go list ./... | grep -v vendor) 8 | $GOPATH/bin/goxc "$@" 9 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/tools/mapset/map_test.go: -------------------------------------------------------------------------------- 1 | package mapset 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/ginkgo/extensions/table" 6 | "github.com/stretchr/testify/assert" 7 | ) 8 | 9 | var _ = Describe("Map", func() { 10 | var ( 11 | m = Init() 12 | ) 13 | DescribeTable("Reserve", func(key, value string, expectedError error, expectedSuccess bool, expectedValue string) { 14 | res := m.Reserve(key, value) 15 | assert.Equal(GinkgoT(), expectedError, res.Error) 16 | assert.Equal(GinkgoT(), expectedSuccess, res.Success) 17 | assert.Equal(GinkgoT(), expectedValue, res.Value) 18 | }, 19 | Entry("Regular reservation", "key1", "value", nil, true, "value"), 20 | Entry("Repeat reservation", "key1", "value", nil, false, "value"), 21 | Entry("no key", "", "value", ErrEmptyInput, false, ""), 22 | Entry("no value", "key1", "", ErrEmptyInput, false, ""), 23 | ) 24 | 25 | }) 26 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/tools/mapset/mapset_suite_test.go: -------------------------------------------------------------------------------- 1 | package mapset_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestMapset(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Mapset Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/tools/vcs/mocks/RepoManager.go: -------------------------------------------------------------------------------- 1 | package mocks 2 | 3 | import "github.com/stretchr/testify/mock" 4 | 5 | // RepoManager is an autogenerated mock type for the RepoManager type 6 | type RepoManager struct { 7 | mock.Mock 8 | } 9 | 10 | // Clone provides a mock function with given fields: url, revision, dir 11 | func (_m *RepoManager) Clone(url string, revision string, dir string) error { 12 | ret := _m.Called(url, revision, dir) 13 | 14 | var r0 error 15 | if rf, ok := ret.Get(0).(func(string, string, string) error); ok { 16 | r0 = rf(url, revision, dir) 17 | } else { 18 | r0 = ret.Error(0) 19 | } 20 | 21 | return r0 22 | } 23 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/opencontrol/compliance-masonry/tools/vcs/vcs_suite_test.go: -------------------------------------------------------------------------------- 1 | package vcs_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestVcs(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Vcs Suite") 13 | } 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/rs/xid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.5 4 | - tip 5 | matrix: 6 | allow_failures: 7 | - go: tip 8 | -------------------------------------------------------------------------------- /docs/generator/vendor/github.com/rs/xid/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015 Olivier Poitrey 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/fatih/set.v0/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 1.2 3 | 4 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/fatih/set.v0/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2013 Fatih Arslan 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4 5 | - 1.5 6 | - 1.6 7 | - tip 8 | 9 | go_import_path: gopkg.in/yaml.v2 10 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/yaml.v2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/yaml.v2/example_embedded_test.go: -------------------------------------------------------------------------------- 1 | package yaml_test 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | 7 | "gopkg.in/yaml.v2" 8 | ) 9 | 10 | // An example showing how to unmarshal embedded 11 | // structs from YAML. 12 | 13 | type StructA struct { 14 | A string `yaml:"a"` 15 | } 16 | 17 | type StructB struct { 18 | // Embedded structs are not treated as embedded in YAML by default. To do that, 19 | // add the ",inline" annotation below 20 | StructA `yaml:",inline"` 21 | B string `yaml:"b"` 22 | } 23 | 24 | var data = ` 25 | a: a string from struct A 26 | b: a string from struct B 27 | ` 28 | 29 | func ExampleUnmarshal_embedded() { 30 | var b StructB 31 | 32 | err := yaml.Unmarshal([]byte(data), &b) 33 | if err != nil { 34 | log.Fatal("cannot unmarshal data: %v", err) 35 | } 36 | fmt.Println(b.A) 37 | fmt.Println(b.B) 38 | // Output: 39 | // a string from struct A 40 | // a string from struct B 41 | } 42 | -------------------------------------------------------------------------------- /docs/generator/vendor/gopkg.in/yaml.v2/suite_test.go: -------------------------------------------------------------------------------- 1 | package yaml_test 2 | 3 | import ( 4 | . "gopkg.in/check.v1" 5 | "testing" 6 | ) 7 | 8 | func Test(t *testing.T) { TestingT(t) } 9 | 10 | type S struct{} 11 | 12 | var _ = Suite(&S{}) 13 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/.dockerignore: -------------------------------------------------------------------------------- 1 | exports/ 2 | opencontrols/ 3 | README.md 4 | Makefile 5 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM opencontrolorg/compliance-masonry:latest AS builder 2 | WORKDIR /opencontrol 3 | COPY . . 4 | RUN compliance-masonry get && \ 5 | compliance-masonry docs gitbook FedRAMP-moderate 6 | 7 | FROM fellah/gitbook:2.6.7 8 | COPY --from=builder /opencontrol/exports /srv/gitbook/ 9 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: opencontrols exports 2 | 3 | default: serve 4 | 5 | clean: 6 | docker rmi -f dockereemoderatessp:17.06 7 | 8 | build: 9 | docker build -t dockereemoderatessp:17.06 . 10 | 11 | serve: build 12 | docker run --rm -it -p 4000:4000 dockereemoderatessp:17.06 13 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/markdowns/README.md: -------------------------------------------------------------------------------- 1 | # [Agency_Here] - Moderate SSP for Docker Enterprise Edition Deployment ATO 2 | 3 | This is a sample generated SSP. 4 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/opencontrol.yaml: -------------------------------------------------------------------------------- 1 | schema_version: "1.0.0" 2 | name: Moderate SSP for Docker Enterprise Edition Deployment ATO 3 | metadata: 4 | description: Moderate SSP for Docker Enterprise Edition Deployment ATO 5 | maintainers: 6 | - securitylead@agency.gov 7 | components: 8 | - ./policies/AC 9 | - ./policies/AT 10 | - ./policies/AU 11 | - ./policies/CA 12 | - ./policies/CM 13 | - ./policies/CP 14 | - ./policies/IA 15 | - ./policies/IR 16 | - ./policies/MA 17 | - ./policies/MP 18 | - ./policies/PE 19 | - ./policies/PL 20 | - ./policies/PS 21 | - ./policies/RA 22 | - ./policies/SA 23 | - ./policies/SC 24 | - ./policies/SI 25 | dependencies: 26 | standards: 27 | - url: https://github.com/opencontrol/NIST-800-53-Standards 28 | revision: master 29 | certifications: 30 | - url: https://github.com/opencontrol/FedRAMP-Certifications 31 | revision: master 32 | systems: 33 | - url: https://github.com/docker/compliance 34 | revision: master -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/policies/PL/component.yaml: -------------------------------------------------------------------------------- 1 | documentation_complete: false 2 | schema_version: 3.1.0 3 | name: Security Planning Policy for [Agency_Here] 4 | satisfies: 5 | - control_key: PL-1 6 | covered_by: [] 7 | implementation_status: none 8 | narrative: 9 | - key: a 10 | text: | 11 | [Agency's control implementation here] 12 | - key: b 13 | text: | 14 | [Agency's control implementation here] 15 | standard_key: NIST-800-53 16 | 17 | - control_key: PL-8 18 | covered_by: [] 19 | implementation_status: none 20 | narrative: 21 | - key: a 22 | text: | 23 | [Agency's control implementation here] 24 | - key: b 25 | text: | 26 | [Agency's control implementation here] 27 | - key: c 28 | text: | 29 | [Agency's control implementation here] 30 | standard_key: NIST-800-53 31 | -------------------------------------------------------------------------------- /examples/opencontrol/DockerEE-Moderate-ATO/policies/RA/component.yaml: -------------------------------------------------------------------------------- 1 | documentation_complete: false 2 | schema_version: 3.1.0 3 | name: Risk Assessment Policy for [Agency_Here] 4 | satisfies: 5 | - control_key: RA-1 6 | covered_by: [] 7 | implementation_status: none 8 | narrative: 9 | - text: | 10 | [Agency's control implementation here] 11 | standard_key: NIST-800-53 12 | 13 | - control_key: RA-5 14 | covered_by: [] 15 | implementation_status: none 16 | narrative: 17 | - key: a 18 | text: | 19 | [Agency's control implementation here] 20 | - key: b 21 | text: | 22 | [Agency's control implementation here] 23 | - key: c 24 | text: | 25 | [Agency's control implementation here] 26 | - key: d 27 | text: | 28 | [Agency's control implementation here] 29 | - key: e 30 | text: | 31 | [Agency's control implementation here] 32 | standard_key: NIST-800-53 33 | -------------------------------------------------------------------------------- /nlp/bot/PostDeployScripts/runGulp.cmd: -------------------------------------------------------------------------------- 1 | @echo off 2 | setlocal 3 | 4 | rem enumerate each folder under root and check for existence of gulpfile.cs 5 | rem if gulpfile exists, run the default gulp task 6 | for /d %%d in (..\wwwroot\*) do ( 7 | echo check %%d 8 | pushd %%d 9 | if exist package.json ( 10 | echo npm install --production 11 | call npm install --production 12 | ) else ( 13 | echo no package.json found 14 | ) 15 | 16 | if exist gulpfile.js ( 17 | echo run gulp 18 | gulp 19 | ) else ( 20 | echo no gulpfile.js found 21 | ) 22 | popd 23 | ) 24 | 25 | echo record deployment timestamp 26 | date /t >> ..\deployment.log 27 | time /t >> ..\deployment.log 28 | echo ---------------------- >> ..\deployment.log 29 | echo Deployment done 30 | 31 | -------------------------------------------------------------------------------- /nlp/bot/host.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /nlp/bot/messages/.dockerignore: -------------------------------------------------------------------------------- 1 | .vscode/ 2 | tests/ 3 | function.json -------------------------------------------------------------------------------- /nlp/bot/messages/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:7.3-alpine 2 | ARG NODE_ENV 3 | ENV NODE_ENV $NODE_ENV 4 | ARG TARGET_PORT 5 | ENV TARGET_PORT $TARGET_PORT 6 | WORKDIR /src 7 | EXPOSE $TARGET_PORT 8 | ENTRYPOINT ["npm", "start"] 9 | COPY . /src 10 | -------------------------------------------------------------------------------- /nlp/bot/messages/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "disabled": false, 3 | "bindings": [ 4 | { 5 | "authLevel": "function", 6 | "type": "httpTrigger", 7 | "direction": "in", 8 | "name": "req" 9 | }, 10 | { 11 | "type": "http", 12 | "direction": "out", 13 | "name": "res" 14 | } 15 | ] 16 | } -------------------------------------------------------------------------------- /nlp/bot/messages/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "luisbot", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "dependencies": { 7 | "botbuilder": "^3.4.2", 8 | "botbuilder-azure": "0.0.1", 9 | "js-yaml": "^3.7.0", 10 | "restify": "^4.1.1" 11 | }, 12 | "devDependencies": { 13 | "chai": "^3.5.0", 14 | "mocha": "^3.2.0", 15 | "nock": "^9.0.2", 16 | "sinon": "^1.17.7", 17 | "supertest": "^2.0.1" 18 | }, 19 | "scripts": { 20 | "test": "./node_modules/mocha/bin/mocha -R spec tests/*_spec.js", 21 | "start": "node index.js" 22 | }, 23 | "author": "Andrew Weiss " 24 | } 25 | -------------------------------------------------------------------------------- /nlp/bot/messages/tests/messages_spec.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var request = require('supertest'); 4 | describe('loading restify', function () { 5 | var server; 6 | beforeEach(function () { 7 | server = require('../index'); 8 | }); 9 | afterEach(function () { 10 | server.close(); 11 | }); 12 | 13 | 14 | }); -------------------------------------------------------------------------------- /nlp/bot/messages/tests/mockResponse.js: -------------------------------------------------------------------------------- 1 | class MockResponse { 2 | constructor(context) { 3 | this.context = context; 4 | } 5 | 6 | status(val) { 7 | if (val === undefined) { 8 | return this._status; 9 | } 10 | else { 11 | this._status = val; 12 | } 13 | } 14 | 15 | send(status, body) { 16 | if (body === undefined) { 17 | this._body = status; 18 | this.status(200); 19 | } 20 | else { 21 | this.status(status); 22 | this._body = body; 23 | } 24 | } 25 | 26 | end() { 27 | this.context.done(); 28 | } 29 | } 30 | 31 | module.exports = MockResponse; -------------------------------------------------------------------------------- /nlp/nlputil/.dockerignore: -------------------------------------------------------------------------------- 1 | Makefile -------------------------------------------------------------------------------- /nlp/nlputil/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM golang:1.7.3 2 | ADD . /go/src/github.com/docker/compliance/nlptooling/nlputil 3 | WORKDIR /go/src/github.com/docker/compliance/nlptooling/nlputil 4 | RUN go install 5 | ENTRYPOINT ["/go/bin/nlputil"] -------------------------------------------------------------------------------- /nlp/nlputil/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: vendor 2 | 3 | default: build 4 | 5 | vendor: 6 | govendor add +external 7 | govendor install 8 | 9 | test: vendor 10 | go vet `go list ./... | grep -v /vendor/` 11 | go test -v -race `go list ./... | grep -v /vendor/` 12 | 13 | build: test 14 | docker build -t docker/compliance-nlputil:latest . 15 | 16 | -------------------------------------------------------------------------------- /nlp/nlputil/cli.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "os" 5 | 6 | log "github.com/Sirupsen/logrus" 7 | "github.com/docker/compliance/nlptooling/nlputil/cmd" 8 | ) 9 | 10 | func main() { 11 | if err := cmd.RootCmd.Execute(); err != nil { 12 | log.Fatal(err) 13 | os.Exit(-1) 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/cmd/analyze/analyze.go: -------------------------------------------------------------------------------- 1 | package analyze 2 | 3 | import ( 4 | "github.com/docker/compliance/nlptooling/nlputil/textanalytics" 5 | "github.com/spf13/cobra" 6 | "github.com/spf13/viper" 7 | ) 8 | 9 | var ( 10 | AnalyzeCmd = &cobra.Command{ 11 | Use: "analyze", 12 | Short: "Run text analysis", 13 | Long: `Used for various text analysis operations`, 14 | } 15 | 16 | client *textanalytics.TextAnalyzer 17 | ) 18 | 19 | func init() { 20 | var textAnalyticsAPIKey string 21 | AnalyzeCmd.PersistentFlags().StringVar(&textAnalyticsAPIKey, "api-key", "", "Cognitive Services Text Analytics API Key") 22 | viper.BindEnv("apikey", "TEXT_ANALYTICS_API_KEY") 23 | viper.BindPFlag("apikey", AnalyzeCmd.PersistentFlags().Lookup("api-key")) 24 | 25 | AnalyzeCmd.AddCommand(topicsCmd, keyPhrasesCmd) 26 | } 27 | -------------------------------------------------------------------------------- /nlp/nlputil/cmd/root.go: -------------------------------------------------------------------------------- 1 | package cmd 2 | 3 | import ( 4 | "github.com/docker/compliance/nlptooling/nlputil/cmd/analyze" 5 | "github.com/spf13/cobra" 6 | ) 7 | 8 | var ( 9 | // RootCmd is the nlp command root 10 | RootCmd = &cobra.Command{ 11 | Use: "nlputil", 12 | Short: "nlp analyzes DDC component control text", 13 | Long: ` 14 | A tool to analyze DDC component control text and compare narrative content with 15 | NIST 800-53 and FedRAMP control definitions`, 16 | SilenceUsage: true, 17 | SilenceErrors: true, 18 | } 19 | ) 20 | 21 | func init() { 22 | RootCmd.AddCommand(analyze.AnalyzeCmd) 23 | } 24 | -------------------------------------------------------------------------------- /nlp/nlputil/go.test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -race -coverprofile=profile.out -covermode=atomic $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /nlp/nlputil/parser/parser_suite_test.go: -------------------------------------------------------------------------------- 1 | package parser_test 2 | 3 | import ( 4 | . "github.com/onsi/ginkgo" 5 | . "github.com/onsi/gomega" 6 | 7 | "testing" 8 | ) 9 | 10 | func TestParser(t *testing.T) { 11 | RegisterFailHandler(Fail) 12 | RunSpecs(t, "Parser Suite") 13 | } 14 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/detected_language_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // DetectedLanguageV2 detected language v2 13 | // swagger:model DetectedLanguageV2 14 | type DetectedLanguageV2 struct { 15 | 16 | // A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr). 17 | Iso6391Name string `json:"iso6391Name,omitempty"` 18 | 19 | // Long name of a detected language (e.g. English, French). 20 | Name string `json:"name,omitempty"` 21 | 22 | // A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. 23 | Score float64 `json:"score,omitempty"` 24 | } 25 | 26 | // Validate validates this detected language v2 27 | func (m *DetectedLanguageV2) Validate(formats strfmt.Registry) error { 28 | var res []error 29 | 30 | if len(res) > 0 { 31 | return errors.CompositeValidationError(res...) 32 | } 33 | return nil 34 | } 35 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/error_record_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // ErrorRecordV2 error record v2 13 | // swagger:model ErrorRecordV2 14 | type ErrorRecordV2 struct { 15 | 16 | // Input document unique identifier the error refers to. 17 | ID string `json:"id,omitempty"` 18 | 19 | // Error message. 20 | Message string `json:"message,omitempty"` 21 | } 22 | 23 | // Validate validates this error record v2 24 | func (m *ErrorRecordV2) Validate(formats strfmt.Registry) error { 25 | var res []error 26 | 27 | if len(res) > 0 { 28 | return errors.CompositeValidationError(res...) 29 | } 30 | return nil 31 | } 32 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/input_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // InputV2 input v2 13 | // swagger:model InputV2 14 | type InputV2 struct { 15 | 16 | // Unique, non-empty document identifier. 17 | ID string `json:"id,omitempty"` 18 | 19 | // text 20 | Text string `json:"text,omitempty"` 21 | } 22 | 23 | // Validate validates this input v2 24 | func (m *InputV2) Validate(formats strfmt.Registry) error { 25 | var res []error 26 | 27 | if len(res) > 0 { 28 | return errors.CompositeValidationError(res...) 29 | } 30 | return nil 31 | } 32 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/multi_language_input_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // MultiLanguageInputV2 multi language input v2 13 | // swagger:model MultiLanguageInputV2 14 | type MultiLanguageInputV2 struct { 15 | 16 | // Unique, non-empty document identifier. 17 | ID string `json:"id,omitempty"` 18 | 19 | // This is the 2 letter ISO 639-1 representation of a language. 20 | // For example, use "en" for English; "es" for Spanish etc., 21 | Language string `json:"language,omitempty"` 22 | 23 | // text 24 | Text string `json:"text,omitempty"` 25 | } 26 | 27 | // Validate validates this multi language input v2 28 | func (m *MultiLanguageInputV2) Validate(formats strfmt.Registry) error { 29 | var res []error 30 | 31 | if len(res) > 0 { 32 | return errors.CompositeValidationError(res...) 33 | } 34 | return nil 35 | } 36 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/object.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | // Object object 7 | // swagger:model Object 8 | type Object interface{} 9 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/sentiment_batch_result_item_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // SentimentBatchResultItemV2 sentiment batch result item v2 13 | // swagger:model SentimentBatchResultItemV2 14 | type SentimentBatchResultItemV2 struct { 15 | 16 | // Unique document identifier. 17 | ID string `json:"id,omitempty"` 18 | 19 | // A decimal number between 0 and 1 denoting the sentiment of the document. 20 | // A score above 0.7 usually refers to a positive document while a score below 0.3 normally has a negative connotation. 21 | // Mid values refer to neutral text. 22 | Score float64 `json:"score,omitempty"` 23 | } 24 | 25 | // Validate validates this sentiment batch result item v2 26 | func (m *SentimentBatchResultItemV2) Validate(formats strfmt.Registry) error { 27 | var res []error 28 | 29 | if len(res) > 0 { 30 | return errors.CompositeValidationError(res...) 31 | } 32 | return nil 33 | } 34 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/topic_assignment_record_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // TopicAssignmentRecordV2 topic assignment record v2 13 | // swagger:model TopicAssignmentRecordV2 14 | type TopicAssignmentRecordV2 struct { 15 | 16 | // Document-to-topic affiliation score between 0 and 1. The lower a distance score the stronger the topic affiliation is. 17 | Distance float64 `json:"distance,omitempty"` 18 | 19 | // Identifier for the document. Equates to the ID included in the input. 20 | DocumentID string `json:"documentId,omitempty"` 21 | 22 | // The topic ID which the document has been assigned to. 23 | TopicID string `json:"topicId,omitempty"` 24 | } 25 | 26 | // Validate validates this topic assignment record v2 27 | func (m *TopicAssignmentRecordV2) Validate(formats strfmt.Registry) error { 28 | var res []error 29 | 30 | if len(res) > 0 { 31 | return errors.CompositeValidationError(res...) 32 | } 33 | return nil 34 | } 35 | -------------------------------------------------------------------------------- /nlp/nlputil/textanalytics/models/topic_info_record_v2.go: -------------------------------------------------------------------------------- 1 | package models 2 | 3 | // This file was generated by the swagger tool. 4 | // Editing this file might prove futile when you re-run the swagger generate command 5 | 6 | import ( 7 | strfmt "github.com/go-openapi/strfmt" 8 | 9 | "github.com/go-openapi/errors" 10 | ) 11 | 12 | // TopicInfoRecordV2 topic info record v2 13 | // swagger:model TopicInfoRecordV2 14 | type TopicInfoRecordV2 struct { 15 | 16 | // A unique identifier for each topic. 17 | ID string `json:"id,omitempty"` 18 | 19 | // A summarizing word or phrase for the topic. 20 | KeyPhrase string `json:"keyPhrase,omitempty"` 21 | 22 | // Count of documents assigned to topic. 23 | Score float64 `json:"score,omitempty"` 24 | } 25 | 26 | // Validate validates this topic info record v2 27 | func (m *TopicInfoRecordV2) Validate(formats strfmt.Registry) error { 28 | var res []error 29 | 30 | if len(res) > 0 { 31 | return errors.CompositeValidationError(res...) 32 | } 33 | return nil 34 | } 35 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/PuerkitoBio/urlesc/README.md: -------------------------------------------------------------------------------- 1 | urlesc [![Build Status](https://travis-ci.org/PuerkitoBio/urlesc.png?branch=master)](https://travis-ci.org/PuerkitoBio/urlesc) [![GoDoc](http://godoc.org/github.com/PuerkitoBio/urlesc?status.svg)](http://godoc.org/github.com/PuerkitoBio/urlesc) 2 | ====== 3 | 4 | Package urlesc implements query escaping as per RFC 3986. 5 | 6 | It contains some parts of the net/url package, modified so as to allow 7 | some reserved characters incorrectly escaped by net/url (see [issue 5684](https://github.com/golang/go/issues/5684)). 8 | 9 | ## Install 10 | 11 | go get github.com/PuerkitoBio/urlesc 12 | 13 | ## License 14 | 15 | Go license (BSD-3-Clause) 16 | 17 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Simon Eskildsen 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package logrus is a structured logger for Go, completely API compatible with the standard library logger. 3 | 4 | 5 | The simplest way to use Logrus is simply the package-level exported logger: 6 | 7 | package main 8 | 9 | import ( 10 | log "github.com/Sirupsen/logrus" 11 | ) 12 | 13 | func main() { 14 | log.WithFields(log.Fields{ 15 | "animal": "walrus", 16 | "number": 1, 17 | "size": 10, 18 | }).Info("A walrus appears") 19 | } 20 | 21 | Output: 22 | time="2015-09-07T08:48:33Z" level=info msg="A walrus appears" animal=walrus number=1 size=10 23 | 24 | For a full guide visit https://github.com/Sirupsen/logrus 25 | */ 26 | package logrus 27 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package logrus 4 | 5 | // IsTerminal returns true if stderr's file descriptor is a terminal. 6 | func IsTerminal() bool { 7 | return true 8 | } 9 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine 3 | 4 | package logrus 5 | 6 | import "syscall" 7 | 8 | const ioctlReadTermios = syscall.TIOCGETA 9 | 10 | type Termios syscall.Termios 11 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_linux.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2013 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build !appengine 7 | 8 | package logrus 9 | 10 | import "syscall" 11 | 12 | const ioctlReadTermios = syscall.TCGETS 13 | 14 | type Termios syscall.Termios 15 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_notwindows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build linux darwin freebsd openbsd netbsd dragonfly 7 | // +build !appengine 8 | 9 | package logrus 10 | 11 | import ( 12 | "syscall" 13 | "unsafe" 14 | ) 15 | 16 | // IsTerminal returns true if stderr's file descriptor is a terminal. 17 | func IsTerminal() bool { 18 | fd := syscall.Stderr 19 | var termios Termios 20 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, uintptr(fd), ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 21 | return err == 0 22 | } 23 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris,!appengine 2 | 3 | package logrus 4 | 5 | import ( 6 | "os" 7 | 8 | "golang.org/x/sys/unix" 9 | ) 10 | 11 | // IsTerminal returns true if the given file descriptor is a terminal. 12 | func IsTerminal() bool { 13 | _, err := unix.IoctlGetTermios(int(os.Stdout.Fd()), unix.TCGETA) 14 | return err == nil 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/Sirupsen/logrus/terminal_windows.go: -------------------------------------------------------------------------------- 1 | // Based on ssh/terminal: 2 | // Copyright 2011 The Go Authors. All rights reserved. 3 | // Use of this source code is governed by a BSD-style 4 | // license that can be found in the LICENSE file. 5 | 6 | // +build windows,!appengine 7 | 8 | package logrus 9 | 10 | import ( 11 | "syscall" 12 | "unsafe" 13 | ) 14 | 15 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 16 | 17 | var ( 18 | procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 19 | ) 20 | 21 | // IsTerminal returns true if stderr's file descriptor is a terminal. 22 | func IsTerminal() bool { 23 | fd := syscall.Stderr 24 | var st uint32 25 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, uintptr(fd), uintptr(unsafe.Pointer(&st)), 0) 26 | return r != 0 && e == 0 27 | } 28 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/asaskevich/govalidator/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Alex Saskevich 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/asaskevich/govalidator/error.go: -------------------------------------------------------------------------------- 1 | package govalidator 2 | 3 | // Errors is an array of multiple errors and conforms to the error interface. 4 | type Errors []error 5 | 6 | // Errors returns itself. 7 | func (es Errors) Errors() []error { 8 | return es 9 | } 10 | 11 | func (es Errors) Error() string { 12 | var err string 13 | for _, e := range es { 14 | err += e.Error() + ";" 15 | } 16 | return err 17 | } 18 | 19 | // Error encapsulates a name, an error and whether there's a custom error message or not. 20 | type Error struct { 21 | Name string 22 | Err error 23 | CustomErrorMessageExists bool 24 | } 25 | 26 | func (e Error) Error() string { 27 | if e.CustomErrorMessageExists { 28 | return e.Err.Error() 29 | } 30 | return e.Name + ": " + e.Err.Error() 31 | } 32 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/asaskevich/govalidator/wercker.yml: -------------------------------------------------------------------------------- 1 | box: wercker/golang 2 | build: 3 | steps: 4 | - setup-go-workspace 5 | 6 | - script: 7 | name: go get 8 | code: | 9 | go version 10 | go get -t ./... 11 | 12 | - script: 13 | name: go test 14 | code: | 15 | go test -race ./... 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/fsnotify/fsnotify/fen.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build solaris 6 | 7 | package fsnotify 8 | 9 | import ( 10 | "errors" 11 | ) 12 | 13 | // Watcher watches a set of files, delivering events to a channel. 14 | type Watcher struct { 15 | Events chan Event 16 | Errors chan error 17 | } 18 | 19 | // NewWatcher establishes a new watcher with the underlying OS and begins waiting for events. 20 | func NewWatcher() (*Watcher, error) { 21 | return nil, errors.New("FEN based watcher not yet supported for fsnotify\n") 22 | } 23 | 24 | // Close removes all watches and closes the events channel. 25 | func (w *Watcher) Close() error { 26 | return nil 27 | } 28 | 29 | // Add starts watching the named file or directory (non-recursively). 30 | func (w *Watcher) Add(name string) error { 31 | return nil 32 | } 33 | 34 | // Remove stops watching the the named file or directory (non-recursively). 35 | func (w *Watcher) Remove(name string) error { 36 | return nil 37 | } 38 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build freebsd openbsd netbsd dragonfly 6 | 7 | package fsnotify 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | const openMode = unix.O_NONBLOCK | unix.O_RDONLY 12 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin 6 | 7 | package fsnotify 8 | 9 | import "golang.org/x/sys/unix" 10 | 11 | // note: this constant is not defined on BSD 12 | const openMode = unix.O_EVTONLY 13 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/analysis/README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI initiative analysis [![Build Status](https://ci.vmware.run/api/badges/go-openapi/analysis/status.svg)](https://ci.vmware.run/go-openapi/analysis) [![Coverage](https://coverage.vmware.run/badges/go-openapi/analysis/coverage.svg)](https://coverage.vmware.run/go-openapi/analysis) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/analysis/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/analysis?status.svg)](http://godoc.org/github.com/go-openapi/analysis) 4 | 5 | 6 | A foundational library to analyze an OAI specification document for easier reasoning about the content. -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/errors/README.md: -------------------------------------------------------------------------------- 1 | # OpenAPI errors [![Build Status](https://travis-ci.org/go-openapi/errors.svg?branch=master)](https://travis-ci.org/go-openapi/errors) [![codecov](https://codecov.io/gh/go-openapi/errors/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/errors) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/errors/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/errors?status.svg)](http://godoc.org/github.com/go-openapi/errors) 4 | 5 | Shared errors used throughout the various libraries for the go-openapi toolkit -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/errors/auth.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 go-swagger maintainers 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package errors 16 | 17 | // Unauthenticated returns an unauthenticated error 18 | func Unauthenticated(scheme string) Error { 19 | return New(401, "unauthenticated for %s", scheme) 20 | } 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/jsonpointer/README.md: -------------------------------------------------------------------------------- 1 | # gojsonpointer [![Build Status](https://travis-ci.org/go-openapi/jsonpointer.svg?branch=master)](https://travis-ci.org/go-openapi/jsonpointer) [![codecov](https://codecov.io/gh/go-openapi/jsonpointer/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonpointer) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonpointer/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonpointer?status.svg)](http://godoc.org/github.com/go-openapi/jsonpointer) 4 | An implementation of JSON Pointer - Go language 5 | 6 | ## Status 7 | Completed YES 8 | 9 | Tested YES 10 | 11 | ## References 12 | http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 13 | 14 | ### Note 15 | The 4.Evaluation part of the previous reference, starting with 'If the currently referenced value is a JSON array, the reference token MUST contain either...' is not implemented. 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/jsonreference/README.md: -------------------------------------------------------------------------------- 1 | # gojsonreference [![Build Status](https://travis-ci.org/go-openapi/jsonreference.svg?branch=master)](https://travis-ci.org/go-openapi/jsonreference) [![codecov](https://codecov.io/gh/go-openapi/jsonreference/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/jsonreference) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/jsonreference/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/jsonreference?status.svg)](http://godoc.org/github.com/go-openapi/jsonreference) 4 | An implementation of JSON Reference - Go language 5 | 6 | ## Status 7 | Work in progress ( 90% done ) 8 | 9 | ## Dependencies 10 | https://github.com/go-openapi/jsonpointer 11 | 12 | ## References 13 | http://tools.ietf.org/html/draft-ietf-appsawg-json-pointer-07 14 | 15 | http://tools.ietf.org/html/draft-pbryan-zyp-json-ref-03 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/loads/README.md: -------------------------------------------------------------------------------- 1 | # Loads OAI specs [![Build Status](https://ci.vmware.run/api/badges/go-openapi/loads/status.svg)](https://ci.vmware.run/go-openapi/loads) [![Coverage](https://coverage.vmware.run/badges/go-openapi/loads/coverage.svg)](https://coverage.vmware.run/go-openapi/loads) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/loads/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/loads?status.svg)](http://godoc.org/github.com/go-openapi/loads) 4 | 5 | Loading of OAI specification documents from local or remote locations. 6 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/runtime/README.md: -------------------------------------------------------------------------------- 1 | # runtime [![Build Status](https://travis-ci.org/go-openapi/runtime.svg?branch=client-context)](https://travis-ci.org/go-openapi/runtime) [![codecov](https://codecov.io/gh/go-openapi/runtime/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/runtime) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/runtime/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/runtime?status.svg)](http://godoc.org/github.com/go-openapi/runtime) 4 | 5 | The runtime component for use in codegeneration or as untyped usage. 6 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/runtime/discard.go: -------------------------------------------------------------------------------- 1 | package runtime 2 | 3 | import "io" 4 | 5 | // DiscardConsumer does absolutely nothing, it's a black hole. 6 | var DiscardConsumer = ConsumerFunc(func(_ io.Reader, _ interface{}) error { return nil }) 7 | 8 | // DiscardProducer does absolutely nothing, it's a black hole. 9 | var DiscardProducer = ProducerFunc(func(_ io.Writer, _ interface{}) error { return nil }) 10 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/runtime/values.go: -------------------------------------------------------------------------------- 1 | package runtime 2 | 3 | // Values typically represent parameters on a http request. 4 | type Values map[string][]string 5 | 6 | // GetOK returns the values collection for the given key. 7 | // When the key is present in the map it will return true for hasKey. 8 | // When the value is not empty it will return true for hasValue. 9 | func (v Values) GetOK(key string) (value []string, hasKey bool, hasValue bool) { 10 | value, hasKey = v[key] 11 | if !hasKey { 12 | return 13 | } 14 | if len(value) == 0 { 15 | return 16 | } 17 | hasValue = true 18 | return 19 | } 20 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/spec/README.md: -------------------------------------------------------------------------------- 1 | # OAI object model [![Build Status](https://travis-ci.org/go-openapi/spec.svg?branch=master)](https://travis-ci.org/go-openapi/spec) [![codecov](https://codecov.io/gh/go-openapi/spec/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/spec) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/spec/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/spec?status.svg)](http://godoc.org/github.com/go-openapi/spec) 4 | 5 | The object model for OpenAPI specification documents 6 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/spec/contact_info.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 go-swagger maintainers 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package spec 16 | 17 | // ContactInfo contact information for the exposed API. 18 | // 19 | // For more information: http://goo.gl/8us55a#contactObject 20 | type ContactInfo struct { 21 | Name string `json:"name,omitempty"` 22 | URL string `json:"url,omitempty"` 23 | Email string `json:"email,omitempty"` 24 | } 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/spec/external_docs.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 go-swagger maintainers 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package spec 16 | 17 | // ExternalDocumentation allows referencing an external resource for 18 | // extended documentation. 19 | // 20 | // For more information: http://goo.gl/8us55a#externalDocumentationObject 21 | type ExternalDocumentation struct { 22 | Description string `json:"description,omitempty"` 23 | URL string `json:"url,omitempty"` 24 | } 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/spec/license.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 go-swagger maintainers 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package spec 16 | 17 | // License information for the exposed API. 18 | // 19 | // For more information: http://goo.gl/8us55a#licenseObject 20 | type License struct { 21 | Name string `json:"name,omitempty"` 22 | URL string `json:"url,omitempty"` 23 | } 24 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/strfmt/README.md: -------------------------------------------------------------------------------- 1 | # Strfmt [![Build Status](https://travis-ci.org/go-openapi/strfmt.svg?branch=master)](https://travis-ci.org/go-openapi/strfmt) [![codecov](https://codecov.io/gh/go-openapi/strfmt/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/strfmt) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/strfmt/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/strfmt?status.svg)](http://godoc.org/github.com/go-openapi/strfmt) 4 | 5 | strfmt represents a well known string format such as credit card or email. The go toolkit for open api specifications knows how to deal with those. 6 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/strfmt/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 go-swagger maintainers 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package strfmt contains custom string formats 16 | // 17 | // TODO: add info on how to define and register a custom format 18 | package strfmt 19 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/swag/README.md: -------------------------------------------------------------------------------- 1 | # Swag [![Build Status](https://travis-ci.org/go-openapi/swag.svg?branch=master)](https://travis-ci.org/go-openapi/swag) [![codecov](https://codecov.io/gh/go-openapi/swag/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/swag) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/swag/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/swag?status.svg)](http://godoc.org/github.com/go-openapi/swag) 4 | 5 | Contains a bunch of helper functions: 6 | 7 | * convert between value and pointers for builtins 8 | * convert from string to builtin 9 | * fast json concatenation 10 | * search in path 11 | * load from file or http 12 | * name manglin -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/swag/net.go: -------------------------------------------------------------------------------- 1 | package swag 2 | 3 | import ( 4 | "net" 5 | "strconv" 6 | ) 7 | 8 | // SplitHostPort splits a network address into a host and a port. 9 | // The port is -1 when there is no port to be found 10 | func SplitHostPort(addr string) (host string, port int, err error) { 11 | h, p, err := net.SplitHostPort(addr) 12 | if err != nil { 13 | return "", -1, err 14 | } 15 | if p == "" { 16 | return "", -1, &net.AddrError{Err: "missing port in address", Addr: addr} 17 | } 18 | 19 | pi, err := strconv.Atoi(p) 20 | if err != nil { 21 | return "", -1, err 22 | } 23 | return h, pi, nil 24 | } 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/validate/README.md: -------------------------------------------------------------------------------- 1 | # Validation helpers [![Build Status](https://ci.vmware.run/api/badges/go-openapi/validate/status.svg)](https://ci.vmware.run/go-openapi/validate) [![Coverage](https://coverage.vmware.run/badges/go-openapi/validate/coverage.svg)](https://coverage.vmware.run/go-openapi/validate) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) 2 | 3 | [![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/validate/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/validate?status.svg)](http://godoc.org/github.com/go-openapi/validate) 4 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/go-openapi/validate/update-fixtures.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -eu -o pipefail 4 | dir=$(git rev-parse --show-toplevel) 5 | scratch=$(mktemp -d -t tmp.XXXXXXXXXX) 6 | 7 | function finish { 8 | rm -rf "$scratch" 9 | } 10 | trap finish EXIT SIGHUP SIGINT SIGTERM 11 | 12 | cd "$scratch" 13 | git clone https://github.com/json-schema-org/JSON-Schema-Test-Suite Suite 14 | cp -r Suite/tests/draft4/* "$dir/fixtures/jsonschema_suite" 15 | cp -a Suite/remotes "$dir/fixtures/jsonschema_suite" 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/Makefile: -------------------------------------------------------------------------------- 1 | TEST?=./... 2 | 3 | default: test 4 | 5 | fmt: generate 6 | go fmt ./... 7 | 8 | test: generate 9 | go get -t ./... 10 | go test $(TEST) $(TESTARGS) 11 | 12 | generate: 13 | go generate ./... 14 | 15 | updatedeps: 16 | go get -u golang.org/x/tools/cmd/stringer 17 | 18 | .PHONY: default generate test updatedeps 19 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: "build-{branch}-{build}" 2 | image: Visual Studio 2015 3 | clone_folder: c:\gopath\src\github.com\hashicorp\hcl 4 | environment: 5 | GOPATH: c:\gopath 6 | init: 7 | - git config --global core.autocrlf true 8 | install: 9 | - cmd: >- 10 | echo %Path% 11 | 12 | go version 13 | 14 | go env 15 | 16 | go get -t ./... 17 | 18 | build_script: 19 | - cmd: go test -v ./... 20 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/hcl.go: -------------------------------------------------------------------------------- 1 | // Package hcl decodes HCL into usable Go structures. 2 | // 3 | // hcl input can come in either pure HCL format or JSON format. 4 | // It can be parsed into an AST, and then decoded into a structure, 5 | // or it can be decoded directly from a string into a structure. 6 | // 7 | // If you choose to parse HCL into a raw AST, the benefit is that you 8 | // can write custom visitor implementations to implement custom 9 | // semantic checks. By default, HCL does not perform any semantic 10 | // checks. 11 | package hcl 12 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/hcl/parser/error.go: -------------------------------------------------------------------------------- 1 | package parser 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/hashicorp/hcl/hcl/token" 7 | ) 8 | 9 | // PosError is a parse error that contains a position. 10 | type PosError struct { 11 | Pos token.Pos 12 | Err error 13 | } 14 | 15 | func (e *PosError) Error() string { 16 | return fmt.Sprintf("At %s: %s", e.Pos, e.Err) 17 | } 18 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/lex.go: -------------------------------------------------------------------------------- 1 | package hcl 2 | 3 | import ( 4 | "unicode" 5 | "unicode/utf8" 6 | ) 7 | 8 | type lexModeValue byte 9 | 10 | const ( 11 | lexModeUnknown lexModeValue = iota 12 | lexModeHcl 13 | lexModeJson 14 | ) 15 | 16 | // lexMode returns whether we're going to be parsing in JSON 17 | // mode or HCL mode. 18 | func lexMode(v []byte) lexModeValue { 19 | var ( 20 | r rune 21 | w int 22 | offset int 23 | ) 24 | 25 | for { 26 | r, w = utf8.DecodeRune(v[offset:]) 27 | offset += w 28 | if unicode.IsSpace(r) { 29 | continue 30 | } 31 | if r == '{' { 32 | return lexModeJson 33 | } 34 | break 35 | } 36 | 37 | return lexModeHcl 38 | } 39 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/hashicorp/hcl/parse.go: -------------------------------------------------------------------------------- 1 | package hcl 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/hashicorp/hcl/hcl/ast" 7 | hclParser "github.com/hashicorp/hcl/hcl/parser" 8 | jsonParser "github.com/hashicorp/hcl/json/parser" 9 | ) 10 | 11 | // ParseBytes accepts as input byte slice and returns ast tree. 12 | // 13 | // Input can be either JSON or HCL 14 | func ParseBytes(in []byte) (*ast.File, error) { 15 | return parse(in) 16 | } 17 | 18 | // ParseString accepts input as a string and returns ast tree. 19 | func ParseString(input string) (*ast.File, error) { 20 | return parse([]byte(input)) 21 | } 22 | 23 | func parse(in []byte) (*ast.File, error) { 24 | switch lexMode(in) { 25 | case lexModeHcl: 26 | return hclParser.Parse(in) 27 | case lexModeJson: 28 | return jsonParser.Parse(in) 29 | } 30 | 31 | return nil, fmt.Errorf("unknown config format") 32 | } 33 | 34 | // Parse parses the given input and returns the root object. 35 | // 36 | // The input format can be either HCL or JSON. 37 | func Parse(input string) (*ast.File, error) { 38 | return parse([]byte(input)) 39 | } 40 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/magiconair/properties/integrate.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Frank Schroeder. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package properties 6 | 7 | import "flag" 8 | 9 | // MustFlag sets flags that are skipped by dst.Parse when p contains 10 | // the respective key for flag.Flag.Name. 11 | // 12 | // It's use is recommended with command line arguments as in: 13 | // flag.Parse() 14 | // p.MustFlag(flag.CommandLine) 15 | func (p *Properties) MustFlag(dst *flag.FlagSet) { 16 | m := make(map[string]*flag.Flag) 17 | dst.VisitAll(func(f *flag.Flag) { 18 | m[f.Name] = f 19 | }) 20 | dst.Visit(func(f *flag.Flag) { 21 | delete(m, f.Name) // overridden 22 | }) 23 | 24 | for name, f := range m { 25 | v, ok := p.Get(name) 26 | if !ok { 27 | continue 28 | } 29 | 30 | if err := f.Value.Set(v); err != nil { 31 | ErrorHandler(err) 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/magiconair/properties/rangecheck.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 Frank Schroeder. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package properties 6 | 7 | import ( 8 | "fmt" 9 | "math" 10 | ) 11 | 12 | // make this a var to overwrite it in a test 13 | var is32Bit = ^uint(0) == math.MaxUint32 14 | 15 | // intRangeCheck checks if the value fits into the int type and 16 | // panics if it does not. 17 | func intRangeCheck(key string, v int64) int { 18 | if is32Bit && (v < math.MinInt32 || v > math.MaxInt32) { 19 | panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) 20 | } 21 | return int(v) 22 | } 23 | 24 | // uintRangeCheck checks if the value fits into the uint type and 25 | // panics if it does not. 26 | func uintRangeCheck(key string, v uint64) uint { 27 | if is32Bit && v > math.MaxUint32 { 28 | panic(fmt.Sprintf("Value %d for key %s out of range", v, key)) 29 | } 30 | return uint(v) 31 | } 32 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/mailru/easyjson/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Mail.Ru Group 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 4 | 5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 8 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/mailru/easyjson/jlexer/error.go: -------------------------------------------------------------------------------- 1 | package jlexer 2 | 3 | import "fmt" 4 | 5 | // LexerError implements the error interface and represents all possible errors that can be 6 | // generated during parsing the JSON data. 7 | type LexerError struct { 8 | Reason string 9 | Offset int 10 | Data string 11 | } 12 | 13 | func (l *LexerError) Error() string { 14 | return fmt.Sprintf("parse error: %s near offset %d of '%s'", l.Reason, l.Offset, l.Data) 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/codelocation/code_location.go: -------------------------------------------------------------------------------- 1 | package codelocation 2 | 3 | import ( 4 | "regexp" 5 | "runtime" 6 | "runtime/debug" 7 | "strings" 8 | 9 | "github.com/onsi/ginkgo/types" 10 | ) 11 | 12 | func New(skip int) types.CodeLocation { 13 | _, file, line, _ := runtime.Caller(skip + 1) 14 | stackTrace := PruneStack(string(debug.Stack()), skip) 15 | return types.CodeLocation{FileName: file, LineNumber: line, FullStackTrace: stackTrace} 16 | } 17 | 18 | func PruneStack(fullStackTrace string, skip int) string { 19 | stack := strings.Split(fullStackTrace, "\n") 20 | if len(stack) > 2*(skip+1) { 21 | stack = stack[2*(skip+1):] 22 | } 23 | prunedStack := []string{} 24 | re := regexp.MustCompile(`\/ginkgo\/|\/pkg\/testing\/|\/pkg\/runtime\/`) 25 | for i := 0; i < len(stack)/2; i++ { 26 | if !re.Match([]byte(stack[i*2])) { 27 | prunedStack = append(prunedStack, stack[i*2]) 28 | prunedStack = append(prunedStack, stack[i*2+1]) 29 | } 30 | } 31 | return strings.Join(prunedStack, "\n") 32 | } 33 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/leafnodes/interfaces.go: -------------------------------------------------------------------------------- 1 | package leafnodes 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/types" 5 | ) 6 | 7 | type BasicNode interface { 8 | Type() types.SpecComponentType 9 | Run() (types.SpecState, types.SpecFailure) 10 | CodeLocation() types.CodeLocation 11 | } 12 | 13 | type SubjectNode interface { 14 | BasicNode 15 | 16 | Text() string 17 | Flag() types.FlagType 18 | Samples() int 19 | } 20 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor.go: -------------------------------------------------------------------------------- 1 | package remote 2 | 3 | /* 4 | The OutputInterceptor is used by the ForwardingReporter to 5 | intercept and capture all stdin and stderr output during a test run. 6 | */ 7 | type OutputInterceptor interface { 8 | StartInterceptingOutput() error 9 | StopInterceptingAndReturnOutput() (string, error) 10 | } 11 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/remote/output_interceptor_win.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package remote 4 | 5 | import ( 6 | "errors" 7 | ) 8 | 9 | func NewOutputInterceptor() OutputInterceptor { 10 | return &outputInterceptor{} 11 | } 12 | 13 | type outputInterceptor struct { 14 | intercepting bool 15 | } 16 | 17 | func (interceptor *outputInterceptor) StartInterceptingOutput() error { 18 | if interceptor.intercepting { 19 | return errors.New("Already intercepting output!") 20 | } 21 | interceptor.intercepting = true 22 | 23 | // not working on windows... 24 | 25 | return nil 26 | } 27 | 28 | func (interceptor *outputInterceptor) StopInterceptingAndReturnOutput() (string, error) { 29 | // not working on windows... 30 | interceptor.intercepting = false 31 | 32 | return "", nil 33 | } 34 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_linux_arm64.go: -------------------------------------------------------------------------------- 1 | // +build linux,arm64 2 | 3 | package remote 4 | 5 | import "syscall" 6 | 7 | // linux_arm64 doesn't have syscall.Dup2 which ginkgo uses, so 8 | // use the nearly identical syscall.Dup3 instead 9 | func syscallDup(oldfd int, newfd int) (err error) { 10 | return syscall.Dup3(oldfd, newfd, 0) 11 | } -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | 3 | package remote 4 | 5 | import "golang.org/x/sys/unix" 6 | 7 | func syscallDup(oldfd int, newfd int) (err error) { 8 | return unix.Dup2(oldfd, newfd) 9 | } -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/remote/syscall_dup_unix.go: -------------------------------------------------------------------------------- 1 | // +build !linux !arm64 2 | // +build !windows 3 | // +build !solaris 4 | 5 | package remote 6 | 7 | import "syscall" 8 | 9 | func syscallDup(oldfd int, newfd int) (err error) { 10 | return syscall.Dup2(oldfd, newfd) 11 | } -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/specrunner/random_id.go: -------------------------------------------------------------------------------- 1 | package specrunner 2 | 3 | import ( 4 | "crypto/rand" 5 | "fmt" 6 | ) 7 | 8 | func randomID() string { 9 | b := make([]byte, 8) 10 | _, err := rand.Read(b) 11 | if err != nil { 12 | return "" 13 | } 14 | return fmt.Sprintf("%x-%x-%x-%x", b[0:2], b[2:4], b[4:6], b[6:8]) 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/internal/writer/fake_writer.go: -------------------------------------------------------------------------------- 1 | package writer 2 | 3 | type FakeGinkgoWriter struct { 4 | EventStream []string 5 | } 6 | 7 | func NewFake() *FakeGinkgoWriter { 8 | return &FakeGinkgoWriter{ 9 | EventStream: []string{}, 10 | } 11 | } 12 | 13 | func (writer *FakeGinkgoWriter) AddEvent(event string) { 14 | writer.EventStream = append(writer.EventStream, event) 15 | } 16 | 17 | func (writer *FakeGinkgoWriter) Truncate() { 18 | writer.EventStream = append(writer.EventStream, "TRUNCATE") 19 | } 20 | 21 | func (writer *FakeGinkgoWriter) DumpOut() { 22 | writer.EventStream = append(writer.EventStream, "DUMP") 23 | } 24 | 25 | func (writer *FakeGinkgoWriter) DumpOutWithHeader(header string) { 26 | writer.EventStream = append(writer.EventStream, "DUMP_WITH_HEADER: "+header) 27 | } 28 | 29 | func (writer *FakeGinkgoWriter) Write(data []byte) (n int, err error) { 30 | return 0, nil 31 | } 32 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/reporter.go: -------------------------------------------------------------------------------- 1 | package reporters 2 | 3 | import ( 4 | "github.com/onsi/ginkgo/config" 5 | "github.com/onsi/ginkgo/types" 6 | ) 7 | 8 | type Reporter interface { 9 | SpecSuiteWillBegin(config config.GinkgoConfigType, summary *types.SuiteSummary) 10 | BeforeSuiteDidRun(setupSummary *types.SetupSummary) 11 | SpecWillRun(specSummary *types.SpecSummary) 12 | SpecDidComplete(specSummary *types.SpecSummary) 13 | AfterSuiteDidRun(setupSummary *types.SetupSummary) 14 | SpecSuiteDidEnd(summary *types.SuiteSummary) 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/README.md: -------------------------------------------------------------------------------- 1 | # go-colorable 2 | 3 | Colorable writer for windows. 4 | 5 | For example, most of logger packages doesn't show colors on windows. (I know we can do it with ansicon. But I don't want.) 6 | This package is possible to handle escape sequence for ansi color on windows. 7 | 8 | ## Too Bad! 9 | 10 | ![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/bad.png) 11 | 12 | 13 | ## So Good! 14 | 15 | ![](https://raw.githubusercontent.com/mattn/go-colorable/gh-pages/good.png) 16 | 17 | ## Usage 18 | 19 | ```go 20 | logrus.SetFormatter(&logrus.TextFormatter{ForceColors: true}) 21 | logrus.SetOutput(colorable.NewColorableStdout()) 22 | 23 | logrus.Info("succeeded") 24 | logrus.Warn("not correct") 25 | logrus.Error("something error") 26 | logrus.Fatal("panic") 27 | ``` 28 | 29 | You can compile above code on non-windows OSs. 30 | 31 | ## Installation 32 | 33 | ``` 34 | $ go get github.com/mattn/go-colorable 35 | ``` 36 | 37 | # License 38 | 39 | MIT 40 | 41 | # Author 42 | 43 | Yasuhiro Matsumoto (a.k.a mattn) 44 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-colorable/colorable_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package colorable 4 | 5 | import ( 6 | "io" 7 | "os" 8 | ) 9 | 10 | func NewColorable(file *os.File) io.Writer { 11 | if file == nil { 12 | panic("nil passed instead of *os.File to NewColorable()") 13 | } 14 | 15 | return file 16 | } 17 | 18 | func NewColorableStdout() io.Writer { 19 | return os.Stdout 20 | } 21 | 22 | func NewColorableStderr() io.Writer { 23 | return os.Stderr 24 | } 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) Yasuhiro MATSUMOTO 2 | 3 | MIT License (Expat) 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/README.md: -------------------------------------------------------------------------------- 1 | # go-isatty 2 | 3 | isatty for golang 4 | 5 | ## Usage 6 | 7 | ```go 8 | package main 9 | 10 | import ( 11 | "fmt" 12 | "github.com/mattn/go-isatty" 13 | "os" 14 | ) 15 | 16 | func main() { 17 | if isatty.IsTerminal(os.Stdout.Fd()) { 18 | fmt.Println("Is Terminal") 19 | } else { 20 | fmt.Println("Is Not Terminal") 21 | } 22 | } 23 | ``` 24 | 25 | ## Installation 26 | 27 | ``` 28 | $ go get github.com/mattn/go-isatty 29 | ``` 30 | 31 | # License 32 | 33 | MIT 34 | 35 | # Author 36 | 37 | Yasuhiro Matsumoto (a.k.a mattn) 38 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package isatty 4 | 5 | // IsTerminal returns true if the file descriptor is terminal which 6 | // is always false on on appengine classic which is a sandboxed PaaS. 7 | func IsTerminal(fd uintptr) bool { 8 | return false 9 | } 10 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TCGETS 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | var termio unix.Termio 14 | err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) 15 | return err == nil 16 | } 17 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/reporters/stenographer/support/go-isatty/isatty_windows.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | var kernel32 = syscall.NewLazyDLL("kernel32.dll") 12 | var procGetConsoleMode = kernel32.NewProc("GetConsoleMode") 13 | 14 | // IsTerminal return true if the file descriptor is terminal. 15 | func IsTerminal(fd uintptr) bool { 16 | var st uint32 17 | r, _, e := syscall.Syscall(procGetConsoleMode.Addr(), 2, fd, uintptr(unsafe.Pointer(&st)), 0) 18 | return r != 0 && e == 0 19 | } 20 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/types/code_location.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | 7 | type CodeLocation struct { 8 | FileName string 9 | LineNumber int 10 | FullStackTrace string 11 | } 12 | 13 | func (codeLocation CodeLocation) String() string { 14 | return fmt.Sprintf("%s:%d", codeLocation.FileName, codeLocation.LineNumber) 15 | } 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/ginkgo/types/synchronization.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | type RemoteBeforeSuiteState int 8 | 9 | const ( 10 | RemoteBeforeSuiteStateInvalid RemoteBeforeSuiteState = iota 11 | 12 | RemoteBeforeSuiteStatePending 13 | RemoteBeforeSuiteStatePassed 14 | RemoteBeforeSuiteStateFailed 15 | RemoteBeforeSuiteStateDisappeared 16 | ) 17 | 18 | type RemoteBeforeSuiteData struct { 19 | Data []byte 20 | State RemoteBeforeSuiteState 21 | } 22 | 23 | func (r RemoteBeforeSuiteData) ToJSON() []byte { 24 | data, _ := json.Marshal(r) 25 | return data 26 | } 27 | 28 | type RemoteAfterSuiteData struct { 29 | CanRun bool 30 | } 31 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2013-2014 Onsi Fakhouri 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/README.md: -------------------------------------------------------------------------------- 1 | ![Gomega: Ginkgo's Preferred Matcher Library](http://onsi.github.io/gomega/images/gomega.png) 2 | 3 | [![Build Status](https://travis-ci.org/onsi/gomega.png)](https://travis-ci.org/onsi/gomega) 4 | 5 | Jump straight to the [docs](http://onsi.github.io/gomega/) to learn about Gomega, including a list of [all available matchers](http://onsi.github.io/gomega/#provided-matchers). 6 | 7 | To discuss Gomega and get updates, join the [google group](https://groups.google.com/d/forum/ginkgo-and-gomega). 8 | 9 | ## [Ginkgo](http://github.com/onsi/ginkgo): a BDD Testing Framework for Golang 10 | 11 | Learn more about Ginkgo [here](http://onsi.github.io/ginkgo/) 12 | 13 | ## Community Matchers 14 | 15 | A collection of community matchers is available on the [wiki](https://github.com/onsi/gomega/wiki). 16 | 17 | ## License 18 | 19 | Gomega is MIT-Licensed 20 | 21 | The `ConsistOf` matcher uses [goraph](https://github.com/amitkgupta/goraph) which is embedded in the source to simplify distribution. goraph has an MIT license. 22 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/internal/oraclematcher/oracle_matcher.go: -------------------------------------------------------------------------------- 1 | package oraclematcher 2 | 3 | import "github.com/onsi/gomega/types" 4 | 5 | /* 6 | GomegaMatchers that also match the OracleMatcher interface can convey information about 7 | whether or not their result will change upon future attempts. 8 | 9 | This allows `Eventually` and `Consistently` to short circuit if success becomes impossible. 10 | 11 | For example, a process' exit code can never change. So, gexec's Exit matcher returns `true` 12 | for `MatchMayChangeInTheFuture` until the process exits, at which point it returns `false` forevermore. 13 | */ 14 | type OracleMatcher interface { 15 | MatchMayChangeInTheFuture(actual interface{}) bool 16 | } 17 | 18 | func MatchMayChangeInTheFuture(matcher types.GomegaMatcher, value interface{}) bool { 19 | oracleMatcher, ok := matcher.(OracleMatcher) 20 | if !ok { 21 | return true 22 | } 23 | 24 | return oracleMatcher.MatchMayChangeInTheFuture(value) 25 | } 26 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_an_existing_file.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "os" 6 | 7 | "github.com/onsi/gomega/format" 8 | ) 9 | 10 | type BeAnExistingFileMatcher struct { 11 | expected interface{} 12 | } 13 | 14 | func (matcher *BeAnExistingFileMatcher) Match(actual interface{}) (success bool, err error) { 15 | actualFilename, ok := actual.(string) 16 | if !ok { 17 | return false, fmt.Errorf("BeAnExistingFileMatcher matcher expects a file path") 18 | } 19 | 20 | if _, err = os.Stat(actualFilename); err != nil { 21 | switch { 22 | case os.IsNotExist(err): 23 | return false, nil 24 | default: 25 | return false, err 26 | } 27 | } 28 | 29 | return true, nil 30 | } 31 | 32 | func (matcher *BeAnExistingFileMatcher) FailureMessage(actual interface{}) (message string) { 33 | return format.Message(actual, fmt.Sprintf("to exist")) 34 | } 35 | 36 | func (matcher *BeAnExistingFileMatcher) NegatedFailureMessage(actual interface{}) (message string) { 37 | return format.Message(actual, fmt.Sprintf("not to exist")) 38 | } 39 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_empty_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "github.com/onsi/gomega/format" 6 | ) 7 | 8 | type BeEmptyMatcher struct { 9 | } 10 | 11 | func (matcher *BeEmptyMatcher) Match(actual interface{}) (success bool, err error) { 12 | length, ok := lengthOf(actual) 13 | if !ok { 14 | return false, fmt.Errorf("BeEmpty matcher expects a string/array/map/channel/slice. Got:\n%s", format.Object(actual, 1)) 15 | } 16 | 17 | return length == 0, nil 18 | } 19 | 20 | func (matcher *BeEmptyMatcher) FailureMessage(actual interface{}) (message string) { 21 | return format.Message(actual, "to be empty") 22 | } 23 | 24 | func (matcher *BeEmptyMatcher) NegatedFailureMessage(actual interface{}) (message string) { 25 | return format.Message(actual, "not to be empty") 26 | } 27 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_false_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "github.com/onsi/gomega/format" 6 | ) 7 | 8 | type BeFalseMatcher struct { 9 | } 10 | 11 | func (matcher *BeFalseMatcher) Match(actual interface{}) (success bool, err error) { 12 | if !isBool(actual) { 13 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 14 | } 15 | 16 | return actual == false, nil 17 | } 18 | 19 | func (matcher *BeFalseMatcher) FailureMessage(actual interface{}) (message string) { 20 | return format.Message(actual, "to be false") 21 | } 22 | 23 | func (matcher *BeFalseMatcher) NegatedFailureMessage(actual interface{}) (message string) { 24 | return format.Message(actual, "not to be false") 25 | } 26 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_nil_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import "github.com/onsi/gomega/format" 4 | 5 | type BeNilMatcher struct { 6 | } 7 | 8 | func (matcher *BeNilMatcher) Match(actual interface{}) (success bool, err error) { 9 | return isNil(actual), nil 10 | } 11 | 12 | func (matcher *BeNilMatcher) FailureMessage(actual interface{}) (message string) { 13 | return format.Message(actual, "to be nil") 14 | } 15 | 16 | func (matcher *BeNilMatcher) NegatedFailureMessage(actual interface{}) (message string) { 17 | return format.Message(actual, "not to be nil") 18 | } 19 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_true_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "github.com/onsi/gomega/format" 6 | ) 7 | 8 | type BeTrueMatcher struct { 9 | } 10 | 11 | func (matcher *BeTrueMatcher) Match(actual interface{}) (success bool, err error) { 12 | if !isBool(actual) { 13 | return false, fmt.Errorf("Expected a boolean. Got:\n%s", format.Object(actual, 1)) 14 | } 15 | 16 | return actual.(bool), nil 17 | } 18 | 19 | func (matcher *BeTrueMatcher) FailureMessage(actual interface{}) (message string) { 20 | return format.Message(actual, "to be true") 21 | } 22 | 23 | func (matcher *BeTrueMatcher) NegatedFailureMessage(actual interface{}) (message string) { 24 | return format.Message(actual, "not to be true") 25 | } 26 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/be_zero_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "github.com/onsi/gomega/format" 5 | "reflect" 6 | ) 7 | 8 | type BeZeroMatcher struct { 9 | } 10 | 11 | func (matcher *BeZeroMatcher) Match(actual interface{}) (success bool, err error) { 12 | if actual == nil { 13 | return true, nil 14 | } 15 | zeroValue := reflect.Zero(reflect.TypeOf(actual)).Interface() 16 | 17 | return reflect.DeepEqual(zeroValue, actual), nil 18 | 19 | } 20 | 21 | func (matcher *BeZeroMatcher) FailureMessage(actual interface{}) (message string) { 22 | return format.Message(actual, "to be zero-valued") 23 | } 24 | 25 | func (matcher *BeZeroMatcher) NegatedFailureMessage(actual interface{}) (message string) { 26 | return format.Message(actual, "not to be zero-valued") 27 | } 28 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/equal_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "reflect" 6 | 7 | "github.com/onsi/gomega/format" 8 | ) 9 | 10 | type EqualMatcher struct { 11 | Expected interface{} 12 | } 13 | 14 | func (matcher *EqualMatcher) Match(actual interface{}) (success bool, err error) { 15 | if actual == nil && matcher.Expected == nil { 16 | return false, fmt.Errorf("Refusing to compare to .\nBe explicit and use BeNil() instead. This is to avoid mistakes where both sides of an assertion are erroneously uninitialized.") 17 | } 18 | return reflect.DeepEqual(actual, matcher.Expected), nil 19 | } 20 | 21 | func (matcher *EqualMatcher) FailureMessage(actual interface{}) (message string) { 22 | return format.Message(actual, "to equal", matcher.Expected) 23 | } 24 | 25 | func (matcher *EqualMatcher) NegatedFailureMessage(actual interface{}) (message string) { 26 | return format.Message(actual, "not to equal", matcher.Expected) 27 | } 28 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/have_cap_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HaveCapMatcher struct { 10 | Count int 11 | } 12 | 13 | func (matcher *HaveCapMatcher) Match(actual interface{}) (success bool, err error) { 14 | length, ok := capOf(actual) 15 | if !ok { 16 | return false, fmt.Errorf("HaveCap matcher expects a array/channel/slice. Got:\n%s", format.Object(actual, 1)) 17 | } 18 | 19 | return length == matcher.Count, nil 20 | } 21 | 22 | func (matcher *HaveCapMatcher) FailureMessage(actual interface{}) (message string) { 23 | return fmt.Sprintf("Expected\n%s\nto have capacity %d", format.Object(actual, 1), matcher.Count) 24 | } 25 | 26 | func (matcher *HaveCapMatcher) NegatedFailureMessage(actual interface{}) (message string) { 27 | return fmt.Sprintf("Expected\n%s\nnot to have capacity %d", format.Object(actual, 1), matcher.Count) 28 | } 29 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/have_len_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | "github.com/onsi/gomega/format" 6 | ) 7 | 8 | type HaveLenMatcher struct { 9 | Count int 10 | } 11 | 12 | func (matcher *HaveLenMatcher) Match(actual interface{}) (success bool, err error) { 13 | length, ok := lengthOf(actual) 14 | if !ok { 15 | return false, fmt.Errorf("HaveLen matcher expects a string/array/map/channel/slice. Got:\n%s", format.Object(actual, 1)) 16 | } 17 | 18 | return length == matcher.Count, nil 19 | } 20 | 21 | func (matcher *HaveLenMatcher) FailureMessage(actual interface{}) (message string) { 22 | return fmt.Sprintf("Expected\n%s\nto have length %d", format.Object(actual, 1), matcher.Count) 23 | } 24 | 25 | func (matcher *HaveLenMatcher) NegatedFailureMessage(actual interface{}) (message string) { 26 | return fmt.Sprintf("Expected\n%s\nnot to have length %d", format.Object(actual, 1), matcher.Count) 27 | } 28 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/have_occurred_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type HaveOccurredMatcher struct { 10 | } 11 | 12 | func (matcher *HaveOccurredMatcher) Match(actual interface{}) (success bool, err error) { 13 | // is purely nil? 14 | if actual == nil { 15 | return false, nil 16 | } 17 | 18 | // must be an 'error' type 19 | if !isError(actual) { 20 | return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) 21 | } 22 | 23 | // must be non-nil (or a pointer to a non-nil) 24 | return !isNil(actual), nil 25 | } 26 | 27 | func (matcher *HaveOccurredMatcher) FailureMessage(actual interface{}) (message string) { 28 | return fmt.Sprintf("Expected an error to have occurred. Got:\n%s", format.Object(actual, 1)) 29 | } 30 | 31 | func (matcher *HaveOccurredMatcher) NegatedFailureMessage(actual interface{}) (message string) { 32 | return fmt.Sprintf("Expected error:\n%s\n%s\n%s", format.Object(actual, 1), format.IndentString(actual.(error).Error(), 1), "not to have occurred") 33 | } 34 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/not.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "github.com/onsi/gomega/internal/oraclematcher" 5 | "github.com/onsi/gomega/types" 6 | ) 7 | 8 | type NotMatcher struct { 9 | Matcher types.GomegaMatcher 10 | } 11 | 12 | func (m *NotMatcher) Match(actual interface{}) (bool, error) { 13 | success, err := m.Matcher.Match(actual) 14 | if err != nil { 15 | return false, err 16 | } 17 | return !success, nil 18 | } 19 | 20 | func (m *NotMatcher) FailureMessage(actual interface{}) (message string) { 21 | return m.Matcher.NegatedFailureMessage(actual) // works beautifully 22 | } 23 | 24 | func (m *NotMatcher) NegatedFailureMessage(actual interface{}) (message string) { 25 | return m.Matcher.FailureMessage(actual) // works beautifully 26 | } 27 | 28 | func (m *NotMatcher) MatchMayChangeInTheFuture(actual interface{}) bool { 29 | return oraclematcher.MatchMayChangeInTheFuture(m.Matcher, actual) // just return m.Matcher's value 30 | } 31 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/succeed_matcher.go: -------------------------------------------------------------------------------- 1 | package matchers 2 | 3 | import ( 4 | "fmt" 5 | 6 | "github.com/onsi/gomega/format" 7 | ) 8 | 9 | type SucceedMatcher struct { 10 | } 11 | 12 | func (matcher *SucceedMatcher) Match(actual interface{}) (success bool, err error) { 13 | // is purely nil? 14 | if actual == nil { 15 | return true, nil 16 | } 17 | 18 | // must be an 'error' type 19 | if !isError(actual) { 20 | return false, fmt.Errorf("Expected an error-type. Got:\n%s", format.Object(actual, 1)) 21 | } 22 | 23 | // must be nil (or a pointer to a nil) 24 | return isNil(actual), nil 25 | } 26 | 27 | func (matcher *SucceedMatcher) FailureMessage(actual interface{}) (message string) { 28 | return fmt.Sprintf("Expected success, but got an error:\n%s\n%s", format.Object(actual, 1), format.IndentString(actual.(error).Error(), 1)) 29 | } 30 | 31 | func (matcher *SucceedMatcher) NegatedFailureMessage(actual interface{}) (message string) { 32 | return "Expected failure, but got no error." 33 | } 34 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/support/goraph/node/node.go: -------------------------------------------------------------------------------- 1 | package node 2 | 3 | type Node struct { 4 | Id int 5 | } 6 | 7 | type NodeOrderedSet []Node 8 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/matchers/support/goraph/util/util.go: -------------------------------------------------------------------------------- 1 | package util 2 | 3 | import "math" 4 | 5 | func Odd(n int) bool { 6 | return math.Mod(float64(n), 2.0) == 1.0 7 | } 8 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/onsi/gomega/types/types.go: -------------------------------------------------------------------------------- 1 | package types 2 | 3 | type GomegaFailHandler func(message string, callerSkip ...int) 4 | 5 | //A simple *testing.T interface wrapper 6 | type GomegaTestingT interface { 7 | Errorf(format string, args ...interface{}) 8 | } 9 | 10 | //All Gomega matchers must implement the GomegaMatcher interface 11 | // 12 | //For details on writing custom matchers, check out: http://onsi.github.io/gomega/#adding_your_own_matchers 13 | type GomegaMatcher interface { 14 | Match(actual interface{}) (success bool, err error) 15 | FailureMessage(actual interface{}) (message string) 16 | NegatedFailureMessage(actual interface{}) (message string) 17 | } 18 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/pelletier/go-toml/clean.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # fail out of the script if anything here fails 3 | set -e 4 | 5 | # clear out stuff generated by test.sh 6 | rm -rf src test_program_bin toml-test 7 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/pelletier/go-toml/example-crlf.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML document. Boom. 2 | 3 | title = "TOML Example" 4 | 5 | [owner] 6 | name = "Tom Preston-Werner" 7 | organization = "GitHub" 8 | bio = "GitHub Cofounder & CEO\nLikes tater tots and beer." 9 | dob = 1979-05-27T07:32:00Z # First class dates? Why not? 10 | 11 | [database] 12 | server = "192.168.1.1" 13 | ports = [ 8001, 8001, 8002 ] 14 | connection_max = 5000 15 | enabled = true 16 | 17 | [servers] 18 | 19 | # You can indent as you please. Tabs or spaces. TOML don't care. 20 | [servers.alpha] 21 | ip = "10.0.0.1" 22 | dc = "eqdc10" 23 | 24 | [servers.beta] 25 | ip = "10.0.0.2" 26 | dc = "eqdc10" 27 | 28 | [clients] 29 | data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/pelletier/go-toml/example.toml: -------------------------------------------------------------------------------- 1 | # This is a TOML document. Boom. 2 | 3 | title = "TOML Example" 4 | 5 | [owner] 6 | name = "Tom Preston-Werner" 7 | organization = "GitHub" 8 | bio = "GitHub Cofounder & CEO\nLikes tater tots and beer." 9 | dob = 1979-05-27T07:32:00Z # First class dates? Why not? 10 | 11 | [database] 12 | server = "192.168.1.1" 13 | ports = [ 8001, 8001, 8002 ] 14 | connection_max = 5000 15 | enabled = true 16 | 17 | [servers] 18 | 19 | # You can indent as you please. Tabs or spaces. TOML don't care. 20 | [servers.alpha] 21 | ip = "10.0.0.1" 22 | dc = "eqdc10" 23 | 24 | [servers.beta] 25 | ip = "10.0.0.2" 26 | dc = "eqdc10" 27 | 28 | [clients] 29 | data = [ ["gamma", "delta"], [1, 2] ] # just an update to make sure parsers support it 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/pelletier/go-toml/position.go: -------------------------------------------------------------------------------- 1 | // Position support for go-toml 2 | 3 | package toml 4 | 5 | import ( 6 | "fmt" 7 | ) 8 | 9 | // Position of a document element within a TOML document. 10 | // 11 | // Line and Col are both 1-indexed positions for the element's line number and 12 | // column number, respectively. Values of zero or less will cause Invalid(), 13 | // to return true. 14 | type Position struct { 15 | Line int // line within the document 16 | Col int // column within the line 17 | } 18 | 19 | // String representation of the position. 20 | // Displays 1-indexed line and column numbers. 21 | func (p Position) String() string { 22 | return fmt.Sprintf("(%d, %d)", p.Line, p.Col) 23 | } 24 | 25 | // Invalid returns whether or not the position is valid (i.e. with negative or 26 | // null values) 27 | func (p Position) Invalid() bool { 28 | return p.Line <= 0 || p.Col <= 0 29 | } 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/satori/go.uuid/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (C) 2013-2016 by Maxim Bublis 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining 4 | a copy of this software and associated documentation files (the 5 | "Software"), to deal in the Software without restriction, including 6 | without limitation the rights to use, copy, modify, merge, publish, 7 | distribute, sublicense, and/or sell copies of the Software, and to 8 | permit persons to whom the Software is furnished to do so, subject to 9 | the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 18 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 19 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 20 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/afero/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: '{build}' 2 | clone_folder: C:\gopath\src\github.com\spf13\afero 3 | environment: 4 | GOPATH: C:\gopath 5 | build_script: 6 | - cmd: >- 7 | go version 8 | 9 | go env 10 | 11 | go get -v github.com/spf13/afero/... 12 | 13 | go build github.com/spf13/afero 14 | test_script: 15 | - cmd: go test -v github.com/spf13/afero 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/afero/const_bsds.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2016 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | // +build darwin openbsd freebsd netbsd dragonfly 15 | 16 | package afero 17 | 18 | import ( 19 | "syscall" 20 | ) 21 | 22 | const BADFD = syscall.EBADF 23 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/afero/const_win_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2016 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | // +build !darwin 14 | // +build !openbsd 15 | // +build !freebsd 16 | // +build !dragonfly 17 | // +build !netbsd 18 | 19 | package afero 20 | 21 | import ( 22 | "syscall" 23 | ) 24 | 25 | const BADFD = syscall.EBADFD 26 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/afero/mem/dir.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2014 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | package mem 15 | 16 | type Dir interface { 17 | Len() int 18 | Names() []string 19 | Files() []*FileData 20 | Add(*FileData) 21 | Remove(*FileData) 22 | } 23 | 24 | func RemoveFromMemDir(dir *FileData, f *FileData) { 25 | dir.memDir.Remove(f) 26 | } 27 | 28 | func AddToMemDir(dir *FileData, f *FileData) { 29 | dir.memDir.Add(f) 30 | } 31 | 32 | func InitializeDir(d *FileData) { 33 | if d.memDir == nil { 34 | d.dir = true 35 | d.memDir = &DirMap{} 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/afero/memradix.go: -------------------------------------------------------------------------------- 1 | // Copyright © 2014 Steve Francia . 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // http://www.apache.org/licenses/LICENSE-2.0 7 | // 8 | // Unless required by applicable law or agreed to in writing, software 9 | // distributed under the License is distributed on an "AS IS" BASIS, 10 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11 | // See the License for the specific language governing permissions and 12 | // limitations under the License. 13 | 14 | package afero 15 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/cast/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Steve Francia 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/cobra/command_notwin.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | 3 | package cobra 4 | 5 | var preExecHookFn func(*Command) 6 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/cobra/command_win.go: -------------------------------------------------------------------------------- 1 | // +build windows 2 | 3 | package cobra 4 | 5 | import ( 6 | "os" 7 | "time" 8 | 9 | "github.com/inconshreveable/mousetrap" 10 | ) 11 | 12 | var preExecHookFn = preExecHook 13 | 14 | // enables an information splash screen on Windows if the CLI is started from explorer.exe. 15 | var MousetrapHelpText string = `This is a command line tool 16 | 17 | You need to open cmd.exe and run it from there. 18 | ` 19 | 20 | func preExecHook(c *Command) { 21 | if mousetrap.StartedByExplorer() { 22 | c.Print(MousetrapHelpText) 23 | time.Sleep(5 * time.Second) 24 | os.Exit(1) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/github.com/spf13/viper/LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014 Steve Francia 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | TEXT ·use(SB),NOSPLIT,$0 10 | RET 11 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_darwin_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_darwin_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_darwin_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | // +build arm,darwin 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for ARM, Darwin 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-28 18 | B syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 21 | B syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 24 | B syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 27 | B syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 30 | B syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_darwin_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | // +build arm64,darwin 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for AMD64, Darwin 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-56 18 | B syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 21 | B syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 24 | B syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 27 | B syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 30 | B syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, DragonFly 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-64 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-88 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-112 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-64 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_freebsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_freebsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for 386, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 23 | JMP syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 26 | JMP syscall·RawSyscall6(SB) 27 | 28 | TEXT ·socketcall(SB),NOSPLIT,$0-36 29 | JMP syscall·socketcall(SB) 30 | 31 | TEXT ·rawsocketcall(SB),NOSPLIT,$0-36 32 | JMP syscall·rawsocketcall(SB) 33 | 34 | TEXT ·seek(SB),NOSPLIT,$0-28 35 | JMP syscall·seek(SB) 36 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for AMD64, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 23 | JMP syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 26 | JMP syscall·RawSyscall6(SB) 27 | 28 | TEXT ·gettimeofday(SB),NOSPLIT,$0-16 29 | JMP syscall·gettimeofday(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for arm, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 23 | B syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 26 | B syscall·RawSyscall6(SB) 27 | 28 | TEXT ·seek(SB),NOSPLIT,$0-32 29 | B syscall·seek(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build arm64 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 21 | B syscall·RawSyscall(SB) 22 | 23 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 24 | B syscall·RawSyscall6(SB) 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build mips64 mips64le 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for mips64, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | JMP syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | JMP syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | JMP syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | JMP syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build mips mipsle 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for mips, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-28 19 | JMP syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 22 | JMP syscall·Syscall6(SB) 23 | 24 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 25 | JMP syscall·Syscall9(SB) 26 | 27 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 28 | JMP syscall·RawSyscall(SB) 29 | 30 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 31 | JMP syscall·RawSyscall6(SB) 32 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build ppc64 ppc64le 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for ppc64, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | BR syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | BR syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | BR syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | BR syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_linux_s390x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build s390x 6 | // +build linux 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for s390x, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | BR syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | BR syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | BR syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | BR syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_netbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_netbsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_openbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-64 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | ) 27 | 28 | // Socketoption Level 29 | const ( 30 | SOL_BLUETOOTH = 0x112 31 | SOL_HCI = 0x0 32 | SOL_L2CAP = 0x6 33 | SOL_RFCOMM = 0x12 34 | SOL_SCO = 0x11 35 | ) 36 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/env_unset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Unsetenv(key string) error { 12 | // This was added in Go 1.4. 13 | return syscall.Unsetenv(key) 14 | } 15 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/flock.go: -------------------------------------------------------------------------------- 1 | // +build linux darwin freebsd openbsd netbsd dragonfly 2 | 3 | // Copyright 2014 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | // +build darwin dragonfly freebsd linux netbsd openbsd 8 | 9 | package unix 10 | 11 | import "unsafe" 12 | 13 | // fcntl64Syscall is usually SYS_FCNTL, but is overridden on 32-bit Linux 14 | // systems by flock_linux_32bit.go to be SYS_FCNTL64. 15 | var fcntl64Syscall uintptr = SYS_FCNTL 16 | 17 | // FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command. 18 | func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error { 19 | _, _, errno := Syscall(fcntl64Syscall, fd, uintptr(cmd), uintptr(unsafe.Pointer(lk))) 20 | if errno == 0 { 21 | return nil 22 | } 23 | return errno 24 | } 25 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/flock_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 linux,arm linux,mips linux,mipsle 2 | 3 | // Copyright 2014 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build gccgo,linux,amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build gccgo,linux,sparc64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern sysconf 12 | func realSysconf(name int) int64 13 | 14 | func sysconf(name int) (n int64, err syscall.Errno) { 15 | r := realSysconf(name) 16 | if r < 0 { 17 | return 0, syscall.GetErrno() 18 | } 19 | return r, 0 20 | } 21 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/mksysnum_darwin.pl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # Copyright 2009 The Go Authors. All rights reserved. 3 | # Use of this source code is governed by a BSD-style 4 | # license that can be found in the LICENSE file. 5 | # 6 | # Generate system call table for Darwin from sys/syscall.h 7 | 8 | use strict; 9 | 10 | if($ENV{'GOARCH'} eq "" || $ENV{'GOOS'} eq "") { 11 | print STDERR "GOARCH or GOOS not defined in environment\n"; 12 | exit 1; 13 | } 14 | 15 | my $command = "mksysnum_darwin.pl " . join(' ', @ARGV); 16 | 17 | print <){ 29 | if(/^#define\s+SYS_(\w+)\s+([0-9]+)/){ 30 | my $name = $1; 31 | my $num = $2; 32 | $name =~ y/a-z/A-Z/; 33 | print " SYS_$name = $num;" 34 | } 35 | } 36 | 37 | print <= 10 { 20 | buf[i] = byte(val%10 + '0') 21 | i-- 22 | val /= 10 23 | } 24 | buf[i] = byte(val + '0') 25 | return string(buf[i:]) 26 | } 27 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,linux 6 | // +build !gccgo 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //go:noescape 13 | func gettimeofday(tv *Timeval) (err syscall.Errno) 14 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build 386,netbsd 6 | 7 | package unix 8 | 9 | func Getpagesize() int { return 4096 } 10 | 11 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 12 | 13 | func NsecToTimespec(nsec int64) (ts Timespec) { 14 | ts.Sec = int64(nsec / 1e9) 15 | ts.Nsec = int32(nsec % 1e9) 16 | return 17 | } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = int32(nsec % 1e9 / 1e3) 22 | tv.Sec = int64(nsec / 1e9) 23 | return 24 | } 25 | 26 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 27 | k.Ident = uint32(fd) 28 | k.Filter = uint32(mode) 29 | k.Flags = uint32(flags) 30 | } 31 | 32 | func (iov *Iovec) SetLen(length int) { 33 | iov.Len = uint32(length) 34 | } 35 | 36 | func (msghdr *Msghdr) SetControllen(length int) { 37 | msghdr.Controllen = uint32(length) 38 | } 39 | 40 | func (cmsg *Cmsghdr) SetLen(length int) { 41 | cmsg.Len = uint32(length) 42 | } 43 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,netbsd 6 | 7 | package unix 8 | 9 | func Getpagesize() int { return 4096 } 10 | 11 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 12 | 13 | func NsecToTimespec(nsec int64) (ts Timespec) { 14 | ts.Sec = int64(nsec / 1e9) 15 | ts.Nsec = int64(nsec % 1e9) 16 | return 17 | } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = int32(nsec % 1e9 / 1e3) 22 | tv.Sec = int64(nsec / 1e9) 23 | return 24 | } 25 | 26 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 27 | k.Ident = uint64(fd) 28 | k.Filter = uint32(mode) 29 | k.Flags = uint32(flags) 30 | } 31 | 32 | func (iov *Iovec) SetLen(length int) { 33 | iov.Len = uint64(length) 34 | } 35 | 36 | func (msghdr *Msghdr) SetControllen(length int) { 37 | msghdr.Controllen = uint32(length) 38 | } 39 | 40 | func (cmsg *Cmsghdr) SetLen(length int) { 41 | cmsg.Len = uint32(length) 42 | } 43 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build arm,netbsd 6 | 7 | package unix 8 | 9 | func Getpagesize() int { return 4096 } 10 | 11 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 12 | 13 | func NsecToTimespec(nsec int64) (ts Timespec) { 14 | ts.Sec = int64(nsec / 1e9) 15 | ts.Nsec = int32(nsec % 1e9) 16 | return 17 | } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = int32(nsec % 1e9 / 1e3) 22 | tv.Sec = int64(nsec / 1e9) 23 | return 24 | } 25 | 26 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 27 | k.Ident = uint32(fd) 28 | k.Filter = uint32(mode) 29 | k.Flags = uint32(flags) 30 | } 31 | 32 | func (iov *Iovec) SetLen(length int) { 33 | iov.Len = uint32(length) 34 | } 35 | 36 | func (msghdr *Msghdr) SetControllen(length int) { 37 | msghdr.Controllen = uint32(length) 38 | } 39 | 40 | func (cmsg *Cmsghdr) SetLen(length int) { 41 | cmsg.Len = uint32(length) 42 | } 43 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_no_getwd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build dragonfly freebsd netbsd openbsd 6 | 7 | package unix 8 | 9 | const ImplementsGetwd = false 10 | 11 | func Getwd() (string, error) { return "", ENOTSUP } 12 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build 386,openbsd 6 | 7 | package unix 8 | 9 | func Getpagesize() int { return 4096 } 10 | 11 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 12 | 13 | func NsecToTimespec(nsec int64) (ts Timespec) { 14 | ts.Sec = int64(nsec / 1e9) 15 | ts.Nsec = int32(nsec % 1e9) 16 | return 17 | } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = int32(nsec % 1e9 / 1e3) 22 | tv.Sec = int64(nsec / 1e9) 23 | return 24 | } 25 | 26 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 27 | k.Ident = uint32(fd) 28 | k.Filter = int16(mode) 29 | k.Flags = uint16(flags) 30 | } 31 | 32 | func (iov *Iovec) SetLen(length int) { 33 | iov.Len = uint32(length) 34 | } 35 | 36 | func (msghdr *Msghdr) SetControllen(length int) { 37 | msghdr.Controllen = uint32(length) 38 | } 39 | 40 | func (cmsg *Cmsghdr) SetLen(length int) { 41 | cmsg.Len = uint32(length) 42 | } 43 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,openbsd 6 | 7 | package unix 8 | 9 | func Getpagesize() int { return 4096 } 10 | 11 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 12 | 13 | func NsecToTimespec(nsec int64) (ts Timespec) { 14 | ts.Sec = nsec / 1e9 15 | ts.Nsec = nsec % 1e9 16 | return 17 | } 18 | 19 | func NsecToTimeval(nsec int64) (tv Timeval) { 20 | nsec += 999 // round up to microsecond 21 | tv.Usec = nsec % 1e9 / 1e3 22 | tv.Sec = nsec / 1e9 23 | return 24 | } 25 | 26 | func SetKevent(k *Kevent_t, fd, mode, flags int) { 27 | k.Ident = uint64(fd) 28 | k.Filter = int16(mode) 29 | k.Flags = uint16(flags) 30 | } 31 | 32 | func (iov *Iovec) SetLen(length int) { 33 | iov.Len = uint64(length) 34 | } 35 | 36 | func (msghdr *Msghdr) SetControllen(length int) { 37 | msghdr.Controllen = uint32(length) 38 | } 39 | 40 | func (cmsg *Cmsghdr) SetLen(length int) { 41 | cmsg.Len = uint32(length) 42 | } 43 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,solaris 6 | 7 | package unix 8 | 9 | func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) } 10 | 11 | func NsecToTimespec(nsec int64) (ts Timespec) { 12 | ts.Sec = nsec / 1e9 13 | ts.Nsec = nsec % 1e9 14 | return 15 | } 16 | 17 | func NsecToTimeval(nsec int64) (tv Timeval) { 18 | nsec += 999 // round up to microsecond 19 | tv.Usec = nsec % 1e9 / 1e3 20 | tv.Sec = int64(nsec / 1e9) 21 | return 22 | } 23 | 24 | func (iov *Iovec) SetLen(length int) { 25 | iov.Len = uint64(length) 26 | } 27 | 28 | func (cmsg *Cmsghdr) SetLen(length int) { 29 | cmsg.Len = uint32(length) 30 | } 31 | 32 | func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { 33 | // TODO(aram): implement this, see issue 5847. 34 | panic("unimplemented") 35 | } 36 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | // +build !gccgo 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 16 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,solaris 6 | 7 | package unix 8 | 9 | // TODO(aram): remove these before Go 1.3. 10 | const ( 11 | SYS_EXECVE = 59 12 | SYS_FCNTL = 62 13 | ) 14 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/text/width/gen_trieval.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build ignore 6 | 7 | package main 8 | 9 | // elem is an entry of the width trie. The high byte is used to encode the type 10 | // of the rune. The low byte is used to store the index to a mapping entry in 11 | // the inverseData array. 12 | type elem uint16 13 | 14 | const ( 15 | tagNeutral elem = iota << typeShift 16 | tagAmbiguous 17 | tagWide 18 | tagNarrow 19 | tagFullwidth 20 | tagHalfwidth 21 | ) 22 | 23 | const ( 24 | numTypeBits = 3 25 | typeShift = 16 - numTypeBits 26 | 27 | // tagNeedsFold is true for all fullwidth and halfwidth runes except for 28 | // the Won sign U+20A9. 29 | tagNeedsFold = 0x1000 30 | 31 | // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide 32 | // variant. 33 | wonSign rune = 0x20A9 34 | ) 35 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/text/width/kind_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Kind"; DO NOT EDIT 2 | 3 | package width 4 | 5 | import "fmt" 6 | 7 | const _Kind_name = "NeutralEastAsianAmbiguousEastAsianWideEastAsianNarrowEastAsianFullwidthEastAsianHalfwidth" 8 | 9 | var _Kind_index = [...]uint8{0, 7, 25, 38, 53, 71, 89} 10 | 11 | func (i Kind) String() string { 12 | if i < 0 || i >= Kind(len(_Kind_index)-1) { 13 | return fmt.Sprintf("Kind(%d)", i) 14 | } 15 | return _Kind_name[_Kind_index[i]:_Kind_index[i+1]] 16 | } 17 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/golang.org/x/text/width/trieval.go: -------------------------------------------------------------------------------- 1 | // This file was generated by go generate; DO NOT EDIT 2 | 3 | package width 4 | 5 | // elem is an entry of the width trie. The high byte is used to encode the type 6 | // of the rune. The low byte is used to store the index to a mapping entry in 7 | // the inverseData array. 8 | type elem uint16 9 | 10 | const ( 11 | tagNeutral elem = iota << typeShift 12 | tagAmbiguous 13 | tagWide 14 | tagNarrow 15 | tagFullwidth 16 | tagHalfwidth 17 | ) 18 | 19 | const ( 20 | numTypeBits = 3 21 | typeShift = 16 - numTypeBits 22 | 23 | // tagNeedsFold is true for all fullwidth and halfwidth runes except for 24 | // the Won sign U+20A9. 25 | tagNeedsFold = 0x1000 26 | 27 | // The Korean Won sign is halfwidth, but SHOULD NOT be mapped to a wide 28 | // variant. 29 | wonSign rune = 0x20A9 30 | ) 31 | -------------------------------------------------------------------------------- /nlp/nlputil/vendor/gopkg.in/yaml.v2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2011-2016 Canonical Ltd. 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /opencontrol.yaml: -------------------------------------------------------------------------------- 1 | schema_version: "1.0.0" 2 | name: Docker Enterprise Edition 3 | metadata: 4 | description: | 5 | 'Docker Enterprise Edition (EE) is an integrated solution for developers and IT 6 | operations to collaborate as part of the enterprise software supply chain. 7 | It is an enterprise-grade secure container orchestration and application 8 | management platform built and maintained by Docker, Inc. The compliance 9 | documentation defined by this system has been mapped to five components of 10 | the Docker Enterprise Edition stack as follows: Docker Enterprise 11 | Edition Engine, Docker Trusted Registry (DTR), Universal Control Plane 12 | (UCP), integrated authentication and authorization service (eNZi) and Docker 13 | Security Scanning (DSS).' 14 | maintainers: 15 | - andrew.weiss@docker.com 16 | components: 17 | - ./opencontrol/components/Engine-EE 18 | - ./opencontrol/components/DSS 19 | - ./opencontrol/components/DTR 20 | - ./opencontrol/components/eNZi 21 | - ./opencontrol/components/UCP 22 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | pykwalify~=1.5.1 2 | pytest~=3.0.0 3 | PyYAML~=3.11 -------------------------------------------------------------------------------- /test_component_validity.py: -------------------------------------------------------------------------------- 1 | import logging 2 | from glob import iglob 3 | from pykwalify.core import Core 4 | from pykwalify.errors import SchemaError 5 | import yaml 6 | 7 | logging.basicConfig() 8 | 9 | def get_schema(version): 10 | """ Load contents of schema file """ 11 | path = 'v{}.yaml'.format(version) 12 | contents = open(path) 13 | return yaml.load(contents) 14 | 15 | def create_validator(source_data): 16 | """ Generate validator from PyKwalify """ 17 | version = source_data.get('schema_version', '3.1.0') 18 | schema = get_schema(version) 19 | validator = Core(source_data={}, schema_data=schema) 20 | validator.source = source_data 21 | return validator 22 | 23 | def test_component_validity(): 24 | """ Test component validity against the OpenControl schema """ 25 | for component_file in iglob('*/component.yaml'): 26 | print(component_file) 27 | source_data = yaml.load(open(component_file)) 28 | validator = create_validator(source_data) 29 | try: 30 | validator.validate(raise_exception=True) 31 | except SchemaError: 32 | assert False, "Error found in: {0}".format(component_file) 33 | -------------------------------------------------------------------------------- /validation/inspec/.dockerignore: -------------------------------------------------------------------------------- 1 | profile-attribute* 2 | README.md 3 | Makefile 4 | -------------------------------------------------------------------------------- /validation/inspec/FedRAMP/Moderate/inspec.lock: -------------------------------------------------------------------------------- 1 | --- 2 | lockfile_version: 1 3 | depends: [] 4 | -------------------------------------------------------------------------------- /validation/inspec/FedRAMP/Moderate/inspec.yml: -------------------------------------------------------------------------------- 1 | name: Docker EE FedRAMP Moderate 2 | title: Docker EE FedRAMP Moderate 3 | maintainer: Andrew Weiss 4 | copyright: Docker, Inc 5 | copyright_email: compliance@docker.com 6 | license: CC0-1.0 7 | summary: Docker EE FedRAMP Moderate InSpec Profile 8 | version: 0.1.0 9 | -------------------------------------------------------------------------------- /validation/inspec/FedRAMP/Moderate/libraries/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Mirantis/compliance/7278ba60b90d2f29a7ca57af99462dbd9a44c04e/validation/inspec/FedRAMP/Moderate/libraries/.gitkeep -------------------------------------------------------------------------------- /validation/inspec/FedRAMP/Moderate/libraries/Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | gem 'inspec' 3 | gem 'toml' 4 | -------------------------------------------------------------------------------- /validation/inspec/FedRAMP/Moderate/libraries/inspec.lock: -------------------------------------------------------------------------------- 1 | --- 2 | lockfile_version: 1 3 | depends: [] 4 | -------------------------------------------------------------------------------- /validation/inspec/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: FedRAMP 2 | 3 | default: validate-fedramp-moderate 4 | 5 | validate-fedramp-moderate: 6 | inspec exec FedRAMP/Moderate --attrs profile-attribute.yml 7 | 8 | validate-fedramp-high: 9 | inspec exec FedRAMP/High --attrs profile-attribute.yml 10 | 11 | build-docker: 12 | docker build -t docker/compliance-inspec . 13 | 14 | run-docker: build-docker 15 | docker run -it --rm -v /var/run/docker.sock:/var/run/docker.sock -v "$$PWD":/share docker/compliance-inspec exec FedRAMP/Moderate --attrs profile-attribute.yml 16 | -------------------------------------------------------------------------------- /validation/inspec/profile-attribute.example.yml: -------------------------------------------------------------------------------- 1 | ucpuri: '' # UCP URI 2 | username: '' # UCP username 3 | password: '' # UCP password 4 | clientbundlehost: '' # UCP client bundle Docker host 5 | clientbundlecacert: '' # UCP client bundle CA cert path 6 | clientbundlecert: '' # UCP client bundle cert path 7 | clientbundlekey: '' # UCP client bundle key path 8 | --------------------------------------------------------------------------------